-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: implement Jlink plugin #951
Conversation
Introduce jlink plugin to create Java runtime for the application. canonical#891
Add initial documentation for the jlink plugin.
The JAVA_HOME is prepended to the classpath and if defined overrides JDK that is used by jlink plugin. The jlink_java_version option is dropped as the version is determined by the jar version.
- Add JAVA_HOME usage - drop jlink_java_version
The property is dropped from the plugin. Drop the test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work, this is looking good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some remaining YAML indentation quirks.
Co-authored-by: Callahan <[email protected]>
Co-authored-by: Callahan <[email protected]>
Co-authored-by: Michael DuBelko <[email protected]>
Co-authored-by: Michael DuBelko <[email protected]>
Co-authored-by: Callahan <[email protected]>
Co-authored-by: Callahan <[email protected]>
Move changelog entry to the new version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
@vpa1977, have you tested building a simple snap, rock, or charm with the jlink plugin? I'm happy to publish a version of snapcraft with this plugin to make it easy.
explicitly disable debug symbols, headers and man pages in the runtime image.
I have made a test PR canonical/rockcraft#797 that adds a smoke for jlink plugin to rockcraft. I had to push some amendment to docs and default jlink options, so it is probably worth looking at. |
Signed-off-by: Callahan Kovacs <[email protected]>
…ks in Rockcraft. (#993) * style: autoformat * style: fix spelling * build(deps): fix dependencies to make tests succeed * style: adjust pylint configuration to make lint pass * ci: install chisel v0.10.0 * fix: chisel tests on 20.04 * style: autoformat * style: fix spelling * build(deps): fix dependencies to make tests succeed * style: adjust pylint configuration to make lint pass * ci: install chisel v0.10.0 * fix: chisel tests on 20.04 * fix: pyright * fix(ci): 20.04 packages * tests: create integration tests for talking to snapd * build(deps): replace requests-unixsocket with requests-unixsocket2 Fixes #852 * fix: bump python version * chore: bump version to 1.19.8 * tests: create integration tests for talking to snapd * build(deps): replace requests-unixsocket with requests-unixsocket2 * fix: bump python version * Bump version: 1.25.2 → 1.25.3 * style: fix linting errors * feat: add an API for registering source types (#927) This provides a pair of functions (sources.register, sources.unregister) for registering and unregistering source types. This differs slightly from plugin registration in current sources cannot be removed. * build: migrate to pyproject.toml (#902) Removes dependency on bumpversion in favor of git tags for versioning. Co-authored-by: Sergio Schvezov <[email protected]> * build(deps): update dependency myst-parser to v4 (#871) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat: use "craft.git" for git where possible (#925) If "craft.git" is available on the PATH, use it. Otherwise, fallback to "git". Fixes #900 * doc: create new how-to on creating a plugin (#928) * feat: add uv plugin (#930) * fix: remove captured message on error (#937) Signed-off-by: Sergio Schvezov <[email protected]> * docs: move changelog, add PR task (#942) * docs: move changelog to reference Signed-off-by: Callahan Kovacs <[email protected]> * ci: add PR task for changelog updates Signed-off-by: Callahan Kovacs <[email protected]> --------- Signed-off-by: Callahan Kovacs <[email protected]> * feat(plugins/poetry): add poetry and pip extra args (#940) This allows more customisation of the poetry and pip commands for advanced users. * docs(changelog): add 2.2.0 changes (#941) Signed-off-by: Callahan Kovacs <[email protected]> * doc: update docs with extra ref anchors (#945) * tests: deduplicate tests for python-based plugins (#947) * docs: clarify poetry-with field (#946) Co-authored-by: Alex Lowe <[email protected]> * chore: fix some small pyproject errors, include uv.lock (#955) The pyproject file referenced some deprecated Ruff linter rules and incorrectly formatted the git describe command parameter, which had to be an array. This commit fixes both * fix: make uv plugin re-entrant on code changes (#956) * fix: correct git versioning error (#957) * build(deps): update dependency mypy to ~=1.14.1 (#958) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(docs): include poetry links as a target (#960) This allows applications that have their own custom poetry reference to include all the default links by adding the following to the bottom of their poetry plugin reference: .. include:: /common/craft-parts/reference/plugins/poetry_plugin.rst :start-after: .. _craft_parts_poetry_links: Signed-off-by: Alex Lowe <[email protected]> * style: fix linting issues for ruff 0.9 (#969) * build(deps): update bugfixes (#952) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * ci: replace Renovate config with starflow (#968) Co-authored-by: Callahan <[email protected]> * docs: update docstring for maven plugin (#971) Co-authored-by: Callahan <[email protected]> Co-authored-by: Alex Lowe <[email protected]> * feat(executor): allow capturing error message from scriptlets (#966) * change craftctl channel to socket Change to craftctl communication channel from named pipes to unix sockets to make it easier to consolidate the ctl server and error stream capture. * allow using process selector with custom handlers Process execution runs a selector to obtain data from i/o streams to obtain the isolated error output. Allow this selection loop run on a caller-specified selector with handlers registered to also process interactions with craftctl. * change scriptlet environment script name Step execution environment is step-specific, and the existing environment.sh script is for the build step only. Rename the file containing the scriptlet environment to avoid confusion with the existing file (which may potentially have a different payload). * force select selector Using DefaultSelector fails in jammy with Python 3.10. It seems that this specific version picks a different selector, or there's some problem with SelectSelector that prevents it from working as expected. --------- Signed-off-by: Claudio Matsuoka <[email protected]> * docs: update changelog (#984) Signed-off-by: Claudio Matsuoka <[email protected]> * fix: use source-subdir in go-use plugin It's possible, and somewhat common, for a go module to be defined inside a repo's subdir; in this case we can define source-subdir, but the go-use plugin needs to use this - otherwise the repo root gets used. Fixes #978 * docs: fix changelog, add go-use bugfix * feat(PartSpec): add source-channel attribute (#981) Signed-off-by: Dariusz Duda <[email protected]> * docs(changelog): finalize changelog for 2.4.0 (#988) Signed-off-by: Dariusz Duda <[email protected]> * fix: don't modify 'prefix' for relocatable pkg-config files (#977) A relocatable `.pc` file has a `prefix` key beginning with `${pcfiledir}`. The `prefix` key is not modified if the `.pc` file is relocatable. * fix(tests): don't fail if you have additional JREs (#986) Fixes #985 * docs(changelog): finalize changelog for 2.4.1 (#990) Signed-off-by: Callahan Kovacs <[email protected]> * feat: craftctl chroot command * docs: update and complete the step execution environment (#949) * docs: update and complete the step execution environment This adds a large number of missing environment variables from the step execution environment and updates the information about CRAFT_TARGET_ARCH and CRAFT_ARCH_TRIPLET being deprecated. Co-authored-by: Callahan <[email protected]> Co-authored-by: JJ Coldiron <[email protected]> * fix(craft_parts/executor/step_handler.py): adjust subprocess command to stream output * fix:adjustments for linter * fix(tests/integration/lifecycle/test_craftctl.py): update expected error description * feat: add Jlink plugin (#951) Co-authored-by: Tiago Nobrega <[email protected]> Co-authored-by: Michael DuBelko <[email protected]> Co-authored-by: Callahan Kovacs <[email protected]> Signed-off-by: Callahan Kovacs <[email protected]> * docs: correct the lifecycle step for `organize` (#996) Co-authored-by: Callahan <[email protected]> * fix(craft_parts/utils/process.py): migrate subprocess.run to internal process.run --------- Signed-off-by: Sergio Schvezov <[email protected]> Signed-off-by: Callahan Kovacs <[email protected]> Signed-off-by: Alex Lowe <[email protected]> Signed-off-by: Claudio Matsuoka <[email protected]> Signed-off-by: Dariusz Duda <[email protected]> Co-authored-by: Alex Lowe <[email protected]> Co-authored-by: Sergio Schvezov <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tiago Nobrega <[email protected]> Co-authored-by: Imani Pelton <[email protected]> Co-authored-by: Callahan <[email protected]> Co-authored-by: Carl Csaposs <[email protected]> Co-authored-by: Yanks Yoon <[email protected]> Co-authored-by: Claudio Matsuoka <[email protected]> Co-authored-by: Dariusz Duda <[email protected]> Co-authored-by: Sergio Costas <[email protected]> Co-authored-by: JJ Coldiron <[email protected]> Co-authored-by: Vladimir Petko <[email protected]> Co-authored-by: Michael DuBelko <[email protected]> Co-authored-by: Michael DuBelko <[email protected]>
This MR resolves #891
It adds jlink plugin along with unit and integration tests and plugin documentation.
docs/reference/changelog.rst
)?