This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch archetypes-docs in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git
commit eff789bbbf45d7774c82061f2e635851252363d1 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Fri Jul 24 14:39:54 2020 +0200 Added archetypes documentation --- docs/modules/ROOT/pages/archetypes.adoc | 155 ++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/docs/modules/ROOT/pages/archetypes.adoc b/docs/modules/ROOT/pages/archetypes.adoc new file mode 100644 index 0000000..9237643 --- /dev/null +++ b/docs/modules/ROOT/pages/archetypes.adoc @@ -0,0 +1,155 @@ +[[Archetypes-Archetypes]] += Archetypes + +There are scenarios in Camel-Kafka-connector and in the Kafka Connect world in general, where an end users needs to extend a connector by adding, for example, a converter or a transformer (or in the camel-kafka-connector case an aggregator). + +In camel-kafka-connector we provide the camel-kafka-connector-extensible-archetype for this purpose. + +You can create a camel-kafka-connector project ready to be extended. + +You can do that through the following command. + +[source,bash] +---- +mvn arch': mvn archetype:generate -DarchetypeGroupId=org.apache.camel.kafkaconnector.archetypes -DarchetypeArtifactId=camel-kafka-connector-extensible-archetype -DarchetypeVersion=0.4.0-SNAPSHOT +sible-archetype-0.4.0-20200723.181654-5.jar (16 kB at 80 kB/s) +Define value for property 'groupId': org.apache.camel.kafkaconnector.extended +Define value for property 'artifactId': myconnector-extended +Define value for property 'version' 1.0-SNAPSHOT: : +Define value for property 'package' org.apache.camel.kafkaconnector.extended: : +[INFO] Using property: camel-kafka-connector-version = 0.4.0-SNAPSHOT +Confirm properties configuration: +groupId: org.apache.camel.kafkaconnector.extended +artifactId: myconnector-extended +version: 1.0-SNAPSHOT +package: org.apache.camel.kafkaconnector.extended +camel-kafka-connector-version: 0.4.0-SNAPSHOT + Y: : Y +[INFO] ---------------------------------------------------------------------------- +[INFO] Using following parameters for creating project from Archetype: camel-kafka-connector-extensible-archetype:0.4.0-SNAPSHOT +[INFO] ---------------------------------------------------------------------------- +[INFO] Parameter: groupId, Value: org.apache.camel.kafkaconnector.extended +[INFO] Parameter: artifactId, Value: myconnector-extended +[INFO] Parameter: version, Value: 1.0-SNAPSHOT +[INFO] Parameter: package, Value: org.apache.camel.kafkaconnector.extended +[INFO] Parameter: packageInPathFormat, Value: org/apache/camel/kafkaconnector/extended +[INFO] Parameter: package, Value: org.apache.camel.kafkaconnector.extended +[INFO] Parameter: version, Value: 1.0-SNAPSHOT +[INFO] Parameter: groupId, Value: org.apache.camel.kafkaconnector.extended +[INFO] Parameter: camel-kafka-connector-version, Value: 0.4.0-SNAPSHOT +[INFO] Parameter: artifactId, Value: myconnector-extended +[INFO] Project created from Archetype in dir: /home/workspace/apache-camel/camel-kafka-connector/docs/modules/ROOT/pages/myconnector-extended +[INFO] ------------------------------------------------------------------------ +[INFO] BUILD SUCCESS +[INFO] ------------------------------------------------------------------------ +[INFO] Total time: 45.630 s +[INFO] Finished at: 2020-07-24T14:31:43+02:00 +[INFO] ------------------------------------------------------------------------ +---- + +In the pom of the created project you have to add the camel-kafka-connector you want to extend (in the example we want to extend the aws2-s3 connector). + +[source,xml] +---- +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.camel.kafkaconnector.extended</groupId> + <artifactId>myconnector-extended</artifactId> + <packaging>jar</packaging> + <version>1.0-SNAPSHOT</version> + + <name>A Camel Kafka Connector extended</name> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <kafka-version>2.5.0</kafka-version> + <camel-kafka-connector-version>${project.version}</camel-kafka-connector-version> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.kafka</groupId> + <artifactId>connect-api</artifactId> + <scope>provided</scope> + <version>${kafka-version}</version> + </dependency> + <dependency> + <groupId>org.apache.kafka</groupId> + <artifactId>connect-transforms</artifactId> + <scope>provided</scope> + <version>${kafka-version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel.kafkaconnector</groupId> + <artifactId>camel-kafka-connector</artifactId> + <version>0.4.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.camel.kafkaconnector</groupId> + <artifactId>camel-aws2-s3-kafka-connector</artifactId> + <version>0.4.0-SNAPSHOT</version> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>3.0.0-M4</version> + <configuration> + <failIfNoTests>false</failIfNoTests> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <version>3.1.0</version> + <configuration> + <archive> + <manifest> + <addDefaultImplementationEntries>true</addDefaultImplementationEntries> + <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> + </manifest> + </archive> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>2.5.1</version> + <inherited>true</inherited> + <configuration> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.5.3</version> + <configuration> + <descriptors> + <descriptor>src/main/assembly/package.xml</descriptor> + </descriptors> + </configuration> + <executions> + <execution> + <id>make-assembly</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> +---- + +Now, you are able to add whatever you need in the project, at the end you'll need just to build and you'll get a zipped or tar.gz connector.