{{ message }}
This repository was archived by the owner on Nov 6, 2025. It is now read-only.
Cleanup default classpaths for Clojure/ClojureScript and make them more configurable#173
Merged
Conversation
This removes the need to provide a separate source set for Clojure code that the main source set depends on. This may be related to #172, but doesn't test for Clojure depending on Groovy/Kotlin/etc.
Porting the approach used to wire up the source from the Clojure plugins. This is primarily for consistency, don't expect any user-visible changes.
We need to ensure that the compile task was registered before we call compiledBy on the SourceDirectorySet. This new ordering should be solid.
This was legacy from the way we generated templates. It could be considered a breaking change for some if they relied on this, so should document it if they still want it.
It seems I'm getting a wider exception in the Prepl input loop sometimes, this AsynchronousCloseException instead of the ClosedByInterrupteException (which is a subclass) we used to get and were handling. This just caused some harmless, but confusing, stack traces in the Gradle output. This change should help clean that up.
This removes special logic we had to disable Clojure tasks when the repl was the only task requested at the command line. Instead, we're just being more explicit about which stuff we put on the classpath, and avoid having dependencies on any of the *classes tasks that pulled in all language compile tasks. The breaking change here is that compiled test Java classes will not be on the classpath anymore, however that doesn't seem like a common need. It will also be a little more fiddly to get other language classes on the classpath, but won't be terrible. This does revert b151ff1, so it will require some other solution to allow you to get your ClojureScript compiles on the classpath. I think this involves outputting to build/tmp/clojureRepl, but need to make that easier and let people get access to all of their build configurations.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This removes the need to provide a separate source set for Clojure code
that the main source set depends on.
This may be related to #172, but doesn't test for Clojure depending on
Groovy/Kotlin/etc.
Related issues:
Contributor Checklist
patch:if the change added no new functionality and is backwards compatibleminor:if the change added new functionality and is backwards compatiblemajor:if the change is not backwards compatiblechore:if the change doesn't affect plugin logic/behavior at all (and obviously still backwards compatible)patch(clojurescript):)builddocsclojureclojurescriptcommonreplclojurephant-plugin/src/compatTest)docs/)./gradlew check)TIP: If troubleshooting a CI failure, look for the build scan URL in the workflow run summary.