This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch dataformat-arch-docs in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git
commit 26773f54c34edf206d068ba7cb962b9954fd038c Author: Andrea Cosentino <[email protected]> AuthorDate: Mon Nov 30 09:22:32 2020 +0100 Added dataformat archetype documentation --- .../ROOT/pages/archetype-dataformat-connector.adoc | 184 +++++++++++++++++++++ 1 file changed, 184 insertions(+) diff --git a/docs/modules/ROOT/pages/archetype-dataformat-connector.adoc b/docs/modules/ROOT/pages/archetype-dataformat-connector.adoc new file mode 100644 index 0000000..d930dcc --- /dev/null +++ b/docs/modules/ROOT/pages/archetype-dataformat-connector.adoc @@ -0,0 +1,184 @@ +[[ArchetypeDataformatConnector-ArchetypeDataformatConnector]] += Dataformat connector Archetypes + +In camel-kafka-connector we provide the camel-kafka-connector-extensible-dataformat-archetype for extending the features of a connector with a dataformat and make it extensible. + +You can create a camel-kafka-connector project ready to be extended. + +You can do that through the following command. + +[source,bash] +---- +> mvn archetype:generate -DarchetypeGroupId=org.apache.camel.kafkaconnector.archetypes -DarchetypeArtifactId=camel-kafka-connector-extensible-dataformat-archetype -DarchetypeVersion=0.7.0-SNAPSHOT +[INFO] Scanning for projects... +[INFO] +[INFO] ------------------< org.apache.maven:standalone-pom >------------------- +[INFO] Building Maven Stub Project (No POM) 1 +[INFO] --------------------------------[ pom ]--------------------------------- +[INFO] +[INFO] >>> maven-archetype-plugin:3.1.2:generate (default-cli) > generate-sources @ standalone-pom >>> +[INFO] +[INFO] <<< maven-archetype-plugin:3.1.2:generate (default-cli) < generate-sources @ standalone-pom <<< +[INFO] +[INFO] +[INFO] --- maven-archetype-plugin:3.1.2:generate (default-cli) @ standalone-pom --- +[INFO] Generating project in Interactive mode +[INFO] Archetype repository not defined. Using the one from [org.apache.camel.kafkaconnector.archetypes:camel-kafka-connector-extensible-dataformat-archetype:0.7.0-SNAPSHOT] found in catalog local +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: : +Define value for property 'camel-dataformat-name': camel-jackson +Define value for property 'camel-kafka-connector-name': camel-aws2-s3-kafka-connector +[INFO] Using property: camel-kafka-connector-version = 0.7.0-SNAPSHOT +[INFO] Using property: camel-version = 3.6.0 +Confirm properties configuration: +groupId: org.apache.camel.kafkaconnector.extended +artifactId: myconnector-extended +version: 1.0-SNAPSHOT +package: org.apache.camel.kafkaconnector.extended +camel-dataformat-name: camel-jackson +camel-kafka-connector-name: camel-aws2-s3-kafka-connector +camel-kafka-connector-version: 0.7.0-SNAPSHOT +camel-version: 3.6.0 + Y: : Y +[INFO] ---------------------------------------------------------------------------- +[INFO] Using following parameters for creating project from Archetype: camel-kafka-connector-extensible-dataformat-archetype:0.7.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: camel-dataformat-name, Value: camel-jackson +[INFO] Parameter: package, Value: org.apache.camel.kafkaconnector.extended +[INFO] Parameter: version, Value: 1.0-SNAPSHOT +[INFO] Parameter: camel-version, Value: 3.6.0 +[INFO] Parameter: groupId, Value: org.apache.camel.kafkaconnector.extended +[INFO] Parameter: camel-kafka-connector-name, Value: camel-aws2-s3-kafka-connector +[INFO] Parameter: camel-kafka-connector-version, Value: 0.7.0-SNAPSHOT +[INFO] Parameter: artifactId, Value: myconnector-extended +[INFO] Project created from Archetype in dir: /home/workspace/myconnector-extended + +---- + +In the pom of the created project you can add the dependencies you need. + +This is the resulting POM + +[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> + + <parent> + <groupId>org.apache.camel.kafkaconnector</groupId> + <artifactId>parent</artifactId> + <version>0.7.0-SNAPSHOT</version> + </parent> + + <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> + <camel-kafka-connector-version>${project.version}</camel-kafka-connector-version> + <camel-version>${camel.version}</camel-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.7.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.camel.kafkaconnector</groupId> + <artifactId>camel-aws2-s3-kafka-connector</artifactId> + <version>0.7.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-jackson</artifactId> + <version>3.6.0</version> + </dependency> + <!-- Add your optional dependencies here --> + </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.
