jamesnetherton commented on a change in pull request #1098: Docs navigation 
improvements, docs wording
URL: https://github.com/apache/camel-quarkus/pull/1098#discussion_r409412409
 
 

 ##########
 File path: docs/modules/ROOT/pages/create-new-extension.adoc
 ##########
 @@ -0,0 +1,79 @@
+[[create-a-new-extension]]
+= Create a new extension
+
+1. You should know link:#how-to-build[how to build].
+
+2. Go through the https://quarkus.io/guides/extension-authors-guide[Quarkus 
extension author's guide] to get an idea
+   what is expecting you.
+
+3. Make sure that nobody else works on the same extension already by searching 
through the
+   https://github.com/apache/camel-quarkus/issues[GitHub issues].
+
+4. Let others know that you work on the given extension by either creating a
+   https://github.com/apache/camel-quarkus/issues/new[new issue] or asking to 
assign an existing one to you.
+
+5. Scaffold the necessary Maven modules using `quarkus-maven-plugin`. As an 
example let's add a new extension for
+   supporting an imaginary Camel component `foo-abc`:
++
+[source,shell]
+----
+$ cd camel-quarkus
+$ mvn cq:create -N -Dcq.artifactIdBase=foo-abc
+----
++
+where:
++
+* `foo-abc` is the unique part of the new extension's `artifactId` without the 
`camel-quarkus-` prefix
++
+The above sequence of commands does the following:
+* It creates three new Maven modules under the `extensions` directory: 
`camel-quarkus-foo-abc-parent`, `camel-quarkus-foo-abc`
+  (a.k.a. the runtime module) and `camel-quarkus-foo-abc-deployment`.
+* These three modules are linked where necessary:
+** `camel-quarkus-foo-abc-parent` is added to the `<modules>` of 
`camel-quarkus-extensions`
+** `camel-quarkus-foo-abc` is added to the `<dependencyManagement>` of the 
runtime BOM (Bill of Materials) `poms/bom/pom.xml`
+** `camel-quarkus-foo-abc-deployment` is added to the `<dependencyManagement>` 
of the deployment BOM (Bill of Materials) `poms/bom-deployment/pom.xml`
+* It creates a basic `FooAbcProcessor` class in the deployment module.
+* It also creates a stub of an integration test module under 
`integration-tests/foo-abc`.
++
+A compilation performed immediately after generating the modules should pass 
flawlessly but running the tests will fail
+because the test project needs to get finished. You need to build `poms/bom` 
and `poms/bom-deployment` one time first.
+
+6. Review the generated
+   
`extensions/foo-abc/runtime/src/main/resources/META-INF/quarkus-extension.yaml` 
file. If you
+   see improper description or keyword,
 
 Review comment:
   Better as: `see an improper description or keyword`.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to