Clojure and Clojurescript support for Gradle
APACHE-2.0 License
Bot releases are hidden (Show)
This release adds support for Gradle 8, but is focused on improving the ClojureScript REPL support. Added ClojureScriptBuild,figwheel {}
to configure figwheel-main options. These aren't used directly by Clojurephant, but are exposed over the tooling API for use by the clojurephant-tooling library in your REPL.
build.gradle
dependencies {
devImplementation("dev.clojurephant:clojurephant-tooling:0.1.0-rc.2") {
capabilities {
requireCapability("dev.clojurephant:clojurephant-tooling-figwheel-main")
}
}
}
clojurescript {
builds {
dev {
figwheel {
openUrl = "http://localhost:9500/index.html"
}
}
}
}
In your REPL:
(do (require '[dev.clojurephant.tooling.figwheel-main :as fig]) (fig/start :dev))
Since beta.2, we no longer test for compatibility with Gradle's configuration cache feature and have removed any code previously in place to support it. Given the moving target of some of Gradle's related APIs and behaviors, this isn't a feature I have capacity to maintain compatibility with.
Since beta.3, added license metadata to the POM file to comply with Clojars requirements.
Since beta.4, resolved a race condition in the prepl client used in many tasks.
(beta.5 and beta.6 had publishing issues, so you can ignore those)
None
None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.6.3, 8.0.2, 8.5, 8.6-rc-1 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.6.3, 8.0.2, 8.5, 8.6-rc-1 |
17 | 7.3.3, 7.6.3, 8.0.2, 8.5, 8.6-rc-1 |
21 | 8.5, 8.6-rc.1 |
This release adds support for Gradle 8, but is focused on improving the ClojureScript REPL support. Added ClojureScriptBuild,figwheel {}
to configure figwheel-main options. These aren't used directly by Clojurephant, but are exposed over the tooling API for use by the clojurephant-tooling library in your REPL.
build.gradle
dependencies {
devImplementation("dev.clojurephant:clojurephant-tooling:0.1.0-beta.1") {
capabilities {
requireCapability("dev.clojurephant:clojurephant-tooling-figwheel-main")
}
}
}
clojurescript {
builds {
dev {
figwheel {
openUrl = "http://localhost:8000/index.html"
}
}
}
}
In your REPL:
(do (require '[dev.clojurephant.tooling.figwheel-main :as fig]) (fig/start :dev))
Since beta.2, we no longer test for compatibility with Gradle's configuration cache feature and have removed any code previously in place to support it. Given the moving target of some of Gradle's related APIs and behaviors, this isn't a feature I have capacity to maintain compatibility with.
Since beta.3, added license metadata to the POM file to comply with Clojars requirements.
None
None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.6.3, 8.0.2, 8.5, 8.6-rc-1 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.6.3, 8.0.2, 8.5, 8.6-rc-1 |
17 | 7.3.3, 7.6.3, 8.0.2, 8.5, 8.6-rc-1 |
This release adds support for Gradle 8, but is focused on improving the ClojureScript REPL support. Added ClojureScriptBuild,figwheel {}
to configure figwheel-main options. These aren't used directly by Clojurephant, but are exposed over the tooling API for use by the clojurephant-tooling library in your REPL.
build.gradle
dependencies {
devImplementation("dev.clojurephant:clojurephant-tooling:0.1.0-beta.1") {
capabilities {
requireCapability("dev.clojurephant:clojurephant-tooling-figwheel-main")
}
}
}
clojurescript {
builds {
dev {
figwheel {
openUrl = "http://localhost:8000/index.html"
}
}
}
}
In your REPL:
(do (require '[dev.clojurephant.tooling.figwheel-main :as fig]) (fig/start :dev))
Since beta.2, we no longer test for compatibility with Gradle's configuration cache feature and have removed any code previously in place to support it. Given the moving target of some of Gradle's related APIs and behaviors, this isn't a feature I have capacity to maintain compatibility with.
None
None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.6.3, 8.0.2, 8.5, 8.6-rc-1 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.6.3, 8.0.2, 8.5, 8.6-rc-1 |
17 | 7.3.3, 7.6.3, 8.0.2, 8.5, 8.6-rc-1 |
This release adds support for Gradle 8, but is focused on improving the ClojureScript REPL support. Added ClojureScriptBuild,figwheel {}
to configure figwheel-main options. These aren't used directly by Clojurephant, but are exposed over the tooling API for use by the clojurephant-tooling library in your REPL.
build.gradle
dependencies {
devImplementation("dev.clojurephant:clojurephant-tooling:0.1.0-beta.1") {
capabilities {
requireCapability("dev.clojurephant:clojurephant-tooling-figwheel-main")
}
}
}
clojurescript {
builds {
dev {
figwheel {
openUrl = "http://localhost:8000/index.html"
}
}
}
}
In your REPL:
(do (require '[dev.clojurephant.tooling.figwheel-main :as fig]) (fig/start :dev))
None
None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.6.1, 8.0.2, 8.1 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.6.1, 8.0.2, 8.1 |
17 | 7.3.3, 7.6.1, 8.0.2, 8.1 |
This release is focused on improving the ClojureScript REPL support. Added ClojureScriptBuild,figwheel {}
to configure figwheel-main options. These aren't used directly by Clojurephant, but are exposed over the tooling API for use by the clojurephant-tooling library in your REPL.
build.gradle
dependencies {
devImplementation("dev.clojurephant:clojurephant-tooling:0.1.0-beta.1") {
capabilities {
requireCapability("dev.clojurephant:clojurephant-tooling-figwheel-main")
}
}
}
clojurescript {
builds {
dev {
figwheel {
openUrl = "http://localhost:8000/index.html"
}
}
}
}
In your REPL:
(do (require '[dev.clojurephant.tooling.figwheel-main :as fig]) (fig/start :dev))
None
None
None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.5.1 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.5.1 |
17 | 7.3.3, 7.5.1 |
The big theme is improved editor/IDE support, with dependency "Jack-In" now supported by Clojurephant (will be working on sending PRs to Cider and Calva to take advantage of this). Also some cleanup of issues that caused problems in Intellij/Cursive and Eclipse.
Clojurephant projects can now take advantage of Gradle's toolchain feature to set the JVM used by tasks:
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
Otherwise, trying to get up-to-date with the latest Gradle versions and best practices, including support for Gradle's configuration cache.
This release also prepares for the clojurephant-tooling library which will be useful in the REPL, in particular for starting ClojureScript REPLs.
clojure {}
and clojurescript {}
extensions changed to take advantage of Gradle decorating the types for DSL use. Our tests projects didn't require changes, but we don't have full coverage, so you could encounter some issues with mismatched property types.ClojureBuild.getSourceSet()
and ClojureScriptBuild.getSourceSet()
due to incompatibility with Gradle's configuration cache #169-Pdev.clojurephant.jack-in.nrepl=dep1,dep2
(where dep*
are the typical Gradle group:artifact:version
notation) #179clojureRepl
classpath is now enriched with sources/javadoc JARs of your dependencies (useful in CIDER).clojureRepl
depends on fewer other tasks, meaning it should start up a smidge faster #173AsynchronousCloseExceptions
that could be triggered when any of the Clojure related tasks shut down #173None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.5.1 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.5.1 |
17 | 7.3.3, 7.5.1 |
The big theme is improved editor/IDE support, with dependency "Jack-In" now supported by Clojurephant (will be working on sending PRs to Cider and Calva to take advantage of this). Also some cleanup of issues that caused problems in Intellij/Cursive and Eclipse.
Clojurephant projects can now take advantage of Gradle's toolchain feature to set the JVM used by tasks:
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
Otherwise, trying to get up-to-date with the latest Gradle versions and best practices, including support for Gradle's configuration cache.
clojure {}
and clojurescript {}
extensions changed to take advantage of Gradle decorating the types for DSL use. Our tests projects didn't require changes, but we don't have full coverage, so you could encounter some issues with mismatched property types.ClojureBuild.getSourceSet()
and ClojureScriptBuild.getSourceSet()
due to incompatibility with Gradle's configuration cache #169-Pdev.clojurephant.jack-in.nrepl=dep1,dep2
(where dep*
are the typical Gradle group:artifact:version
notation) #179clojureRepl
classpath is now enriched with sources/javadoc JARs of your dependencies (useful in CIDER).clojureRepl
depends on fewer other tasks, meaning it should start up a smidge faster #173AsynchronousCloseExceptions
that could be triggered when any of the Clojure related tasks shut down #173None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
17 | 7.3.3, 7.5 |
The big theme is improved editor/IDE support, with dependency "Jack-In" now supported by Clojurephant (will be working on sending PRs to Cider and Calva to take advantage of this). Also some cleanup of issues that caused problems in Intellij/Cursive and Eclipse.
Otherwise, trying to get up-to-date with the latest Gradle versions and best practices, including support for Gradle's configuration cache.
clojure {}
and clojurescript {}
extensions changed to take advantage of Gradle decorating the types for DSL use. Our tests projects didn't require changes, but we don't have full coverage, so you could encounter some issues with mismatched property types.ClojureBuild.getSourceSet()
and ClojureScriptBuild.getSourceSet()
due to incompatibility with Gradle's configuration cache #169clojureRepl
depends on fewer other tasks, meaning it should start up a smidge faster #173-Pdev.clojurephant.jack-in.nrepl=dep1,dep2
(where dep*
are the typical Gradle group:artifact:version
notation) #179clojureRepl
classpath is now enriched with sources/javadoc JARs of your dependencies (useful in CIDER).AsynchronousCloseExceptions
that could be triggered when any of the Clojure related tasks shut down #173None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
17 | 7.3.3, 7.5 |
The big theme is improved editor/IDE support, with dependency "Jack-In" now supported by Clojurephant (will be working on sending PRs to Cider and Calva to take advantage of this). Also some cleanup of issues that caused problems in Intellij/Cursive and Eclipse.
Otherwise, trying to get up-to-date with the latest Gradle versions and best practices, including support for Gradle's configuration cache.
clojure {}
and clojurescript {}
extensions changed to take advantage of Gradle decorating the types for DSL use. Our tests projects didn't require changes, but we don't have full coverage, so you could encounter some issues with mismatched property types.ClojureBuild.getSourceSet()
and ClojureScriptBuild.getSourceSet()
due to incompatibility with Gradle's configuration cache #169clojureRepl
depends on fewer other tasks, meaning it should start up a smidge faster #173-Pdev.clojurephant.jack-in.nrepl=dep1,dep2
(where dep*
are the typical Gradle group:artifact:version
notation) #179AsynchronousCloseExceptions
that could be triggered when any of the Clojure related tasks shut down #173None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
17 | 7.3.3, 7.5 |
Largely trying to get up-to-date with the latest Gradle versions and best practices, including support for Gradle's configuration cache. Also fixed a number of issues with usage of Clojurephant with Intellij/Cursive and Eclipse.
clojure {}
and clojurescript {}
extensions changed to take advantage of Gradle decorating the types for DSL use. Our tests projects didn't require changes, but we don't have full coverage, so you could encounter some issues with mismatched property types.dev
source set's compiled ClojureScript on the nREPL classpath (part of our replacement for Figwheel support) #167ClojureBuild.getSourceSet()
and ClojureScriptBuild.getSourceSet()
due to incompatibility with Gradle's configuration cache #169clojureRepl
depends on fewer other tasks, meaning it should start up a smidge faster #173AsynchronousCloseExceptions
that could be triggered when any of the Clojure related tasks shut down #173None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
17 | 7.3.3, 7.5 |
Largely trying to get up-to-date with the latest Gradle versions and best practices, including support for Gradle's configuration cache.
clojure {}
and clojurescript {}
extensions changed to take advantage of Gradle decorating the types for DSL use. Our tests projects didn't require changes, but we don't have full coverage, so you could encounter some issues with mismatched property types.dev
source set's compiled ClojureScript on the nREPL classpath (part of our replacement for Figwheel support) #167ClojureBuild.getSourceSet()
and ClojureScriptBuild.getSourceSet()
due to incompatibility with Gradle's configuration cache #169clojureRepl
depends on fewer other tasks, meaning it should start up a smidge faster #173AsynchronousCloseExceptions
that could be triggered when any of the Clojure related tasks shut down #173None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
17 | 7.3.3, 7.5 |
Largely trying to get up-to-date with the latest Gradle versions and best practices, including support for Gradle's configuration cache.
clojure {}
and clojurescript {}
extensions changed to take advantage of Gradle decorating the types for DSL use. Our tests projects didn't require changes, but we don't have full coverage, so you could encounter some issues with mismatched property types.dev
source set's compiled ClojureScript on the nREPL classpath (part of our replacement for Figwheel support) #167ClojureBuild.getSourceSet()
and ClojureScriptBuild.getSourceSet()
due to incompatibility with Gradle's configuration cache #169None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
17 | 7.3.3, 7.5 |
Largely trying to get up-to-date with the latest Gradle versions and best practices.
clojure {}
and clojurescript {}
extensions changed to take advantage of Gradle decorating the types for DSL use. Our tests projects didn't require changes, but we don't have full coverage, so you could encounter some issues with mismatched property types.dev
source set's compiled ClojureScript on the nREPL classpath (part of our replacement for Figwheel support) #167None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.5 |
17 | 7.3.3, 7.5 |
Largely trying to get up-to-date with the latest Gradle versions and best practices.
clojure {}
and clojurescript {}
extensions changed to take advantage of Gradle decorating the types for DSL use. Our tests projects didn't require changes, but we don't have full coverage, so you could encounter some issues with mismatched property types.None
Tested on the following version:
Requires Clojure 1.10+ (due to use of prepl)
Java Version | Gradle Versions |
---|---|
8 | 6.4.1, 6.9.2, 7.0.2, 7.4 |
11 | 6.4.1, 6.9.2, 7.0.2, 7.4 |
17 | 7.3.3, 7.4 |
Highlights are better multi-project support, nREPL support, and Java 15 compatibility. Built-in Figwheel support was dropped as part of the nREPL updates that caused complications with the old Figwheel approach. I expect to replace it with a cleaner integration, but it's non-trivial so it was easier to drop it for now.
JUnit integration for clojure.test
has also changed to use JUnit Platform (via jovial) instead of JUnit 4, which provides a cleaner API. The documentation has been updated with examples, so please review this before upgrading.
clojure.test
integration now requires jovial and use of the JUnit Platform. See documentation for examples.clojurephant-tools
JAR has been removed (#155), which avoids the requirement to use Clojars and avoids an issue where the JAR would get included in your runtime dependencies (#147).nrepl-port
is now created (by virtue of using nrepl.main instead of our old launcher) #138None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 5.0, 5.6.4, 6.0.1, 6.8 |
11 | 5.0, 5.6.4, 6.0.1, 6.8 |
15 | 6.3 6.8 |
Highlights are better multi-project support, nREPL support, and Java 15 compatibility. Built-in Figwheel support was dropped as part of the nREPL updates that caused complications with the old Figwheel approach. I expect to replace it with a cleaner integration, but it's non-trivial so it was easier to drop it for now.
JUnit integration for clojure.test
has also changed to use JUnit Platform (via jovial) instead of JUnit 4, which provides a cleaner API. The documentation has been updated with examples, so please review this before upgrading.
clojure.test
integration now requires jovial and use of the JUnit Platform. See documentation for examples.clojurephant-tools
JAR has been removed (#155), which avoids the requirement to use Clojars and avoids an issue where the JAR would get included in your runtime dependencies (#147).nrepl-port
is now created (by virtue of using nrepl.main instead of our old launcher) #138None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 5.0, 5.6.4, 6.0.1, 6.8 |
11 | 5.0, 5.6.4, 6.0.1, 6.8 |
15 | 6.3 6.8 |
0.6.0 is still in progress, but want to make some fixes available.
Highlights are better multi-project support, nREPL support, and Java 15 compatibility. Built-in Figwheel support was dropped as part of the nREPL updates that caused complications with the old Figwheel approach. I expect to replace it with a cleaner integration, but it's non-trivial so it was easier to drop it for now.
JUnit integration for clojure.test
has also changed to use JUnit Platform instead of JUnit 4, which provides a cleaner API. The documentation has been updated with examples, so please review this before upgrading.
clojure.test
integration now requires jovial and use of the JUnit Platform. See documentation for examples..nrepl-port
is now created (by virtue of using nrepl.main instead of our old launcher) #138None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 5.0, 5.6.4, 6.0.1, 6.8 |
11 | 5.0, 5.6.4, 6.0.1, 6.8 |
15 | 6.3 6.8 |
0.6.0 is still in progress, but want to make some fixes available.
Highlights are better multi-project support, nREPL support, and Java 15 compatibility. Built-in Figwheel support was dropped as part of the nREPL updates that caused complications with the old Figwheel approach. I expect to replace it with a cleaner integration, but it's non-trivial so it was easier to drop it for now.
.nrepl-port
is now created (by virtue of using nrepl.main instead of our old launcher) #138None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 5.0, 5.6.4, 6.0.1, 6.8 |
11 | 5.0, 5.6.4, 6.0.1, 6.8 |
15 | 6.3 6.8 |
This release is just a small step on the way to 0.6.0. Since we got a few fixes together, this is meant to get them into people's hands while work on the rest of 0.6.0 continues.
Highlights are better multi-project support, nREPL support, and Java 14 compatibility. Built-in Figwheel support was dropped as part of the nREPL updates that caused complications with the old Figwheel approach. I expect to replace it with a cleaner integration, but it's non-trivial so it was easier to drop it for now.
.nrepl-port
is now created (by virtue of using nrepl.main instead of our old launcher) #138None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 5.0, 5.6.4, 6.0.1, 6.3, 6.4-rc-4 |
11 | 5.0, 5.6.4, 6.0.1, 6.3, 6.4-rc-4 |
14 | 6.3 6.4-rc-4 |
This release is just a small step on the way to 0.6.0. Since we got a few fixes together, this is meant to get them into people's hands while work on the rest of 0.6.0 continues.
Highlights are better multi-project support and Java 14 compatibility.
None
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 5.0, 5.6.4, 6.0.1, 6.3, 6.4-rc-4 |
11 | 5.0, 5.6.4, 6.0.1, 6.3, 6.4-rc-4 |
14 | 6.3 6.4-rc-4 |