Skip to content

Support JVM toolchain for Clojure tasks #185

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

Merged
merged 1 commit into from
Aug 3, 2022
Merged

Support JVM toolchain for Clojure tasks #185

merged 1 commit into from
Aug 3, 2022

Conversation

ajoberstar
Copy link
Member

@ajoberstar ajoberstar commented Aug 3, 2022

Allow all Clojure tasks to specify a JavaLauncher. This is part of Gradle's JVM toolchain [1] feature allowing decoupling the JVM version Gradle uses from the JVM used for tasks.

Now all tasks Clojurephant provides have a common base interface ClojureTask the support fork options and java launcher.

This also picks up the JavaToolchain on the JavaPluginExtension and applies it by default to all ClojureTasks.

Fixes #174

[1] https://docs.gradle.org/current/userguide/toolchains.html
Add JavaLauncher to all tasks

Related issues:

Contributor Checklist

  • Review Contributing Guidelines.
  • Commits contain discrete changes, messages include context about why the change was made and reference the relevant issues.
  • Commit messages should be prefixed with one of the following (these are used to determine the next version we release):
    • patch: if the change added no new functionality and is backwards compatible
    • minor: if the change added new functionality and is backwards compatible
    • major: if the change is not backwards compatible
    • chore: if the change doesn't affect plugin logic/behavior at all (and obviously still backwards compatible)
    • Any of these can optionally specify an area of the plugin they affected in parentheses (e.g. patch(clojurescript): )
      • build
      • docs
      • clojure
      • clojurescript
      • common
      • repl
  • Provide functional tests. (under clojurephant-plugin/src/compatTest)
  • Update documentation for user-facing changes. (under docs/)
  • Ensure all verification tasks pass locally. (./gradlew check)
  • Ensure CI builds pass on all Java versions. (watch the checks tab once the PR is opened)

TIP: If troubleshooting a CI failure, look for the build scan URL in the workflow run summary.

@ajoberstar ajoberstar self-assigned this Aug 3, 2022
@ajoberstar ajoberstar force-pushed the toolchain branch 3 times, most recently from 675a889 to edb8540 Compare August 3, 2022 02:08
Allow all Clojure tasks to specify a JavaLauncher. This is part of
Gradle's JVM toolchain [1] feature allowing decoupling the JVM version
Gradle uses from the JVM used for tasks.

Now all tasks Clojurephant provides have a common base interface
ClojureTask the support fork options and java launcher.

This also picks up the JavaToolchain on the JavaPluginExtension and
applies it by default to all ClojureTasks.

Fixes #174

[1] https://docs.gradle.org/current/userguide/toolchains.html
Add JavaLauncher to all tasks
@ajoberstar ajoberstar merged commit 2af0680 into main Aug 3, 2022
@ajoberstar ajoberstar deleted the toolchain branch August 3, 2022 02:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow Clojure tasks to be run with a JavaToolchain
1 participant