The directory extensions-jvm
contains extensions that have not been tested in
native mode yet. Configuring the
native build and implementing integration tests for
them may open the door to even faster startup and lower memory footprint.
Please find some guiding steps below to start this quest:
Make sure that nobody else works on promoting the same extension by searching through the GitHub issues.
Let others know that you work on promoting the given extension by either creating a new issue or asking to assign an existing one to you.
Use the promote
mojo of cq-maven-plugin
to perform the automatable steps:
cd camel-quarkus
mvn -N cq:promote -Dcq.artifactIdBase=...
where cq.artifactIdBase
needs to be set to the unique part of the artifactId
of the extension you are
promoting. E.g. if you are promoting an extension with artifactId
camel-quarkus-foo
, you need to set
-Dcq.artifactIdBase=foo
.
The promote
mojo does the following for you:
Copies the test module from extensions-jvm/foo/integration-test
to integration-tests/foo
Adjusts the name
and artifactId
of the test module
Adds native
profile to the test module
Creates a native test class extending the existing JVM mode test class
Copies the rest of the extension code from extensions-jvm/foo
to extensions/foo
Removes the warning build step from the processor class in the deployment module
Assign the integration test to an existing or new test category in tooling/scripts/test-categories.yaml
so that
it gets executed by the CI.
Add some meaningful tests to FooTest
and make sure they pass in both JVM and native mode:
cd integration-tests/foo
mvn clean verify -Pnative
Consider shifting some tasks from runtime to build time. The Quarkus extension author’s guide may be a good ally for this.
Unify source files format, update docs and rebuild the whole project:
mvn clean install -DskipTests -Pformat
Squash your commits before sending a pull request.
Good luck!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。