$ mkdir my-project $ cd my-project $ gradle init
$ mkdir my-project $ cd my-project $ gradle init
Also see Gradle’s Learning the Basics.
To include plugins from Gradle’s Plugin Portal you’ll use a plugins {} block. This should be at the top of your build.gradle.
plugins {
id 'dev.clojurephant.clojure' version '0.7.0-alpha.1'
// any additional plugins declared here
}
Also see Gradle’s Using Plugins.
group = 'my.example' // the group ID your artifacts should be published under
version = '0.1.0-SNAPSHOT' // the version your artifacts should be published under
No repositories are specified by default, so you must list any repositories you want to search for your dependencies.
| clojurephant currently requires Clojars be included in your repository list. |
repositories {
maven {
name = 'Clojars' // name can be ommitted, but is helpful in troubleshooting
url = 'https://repo.clojars.org/'
}
}
Also see Gradle’s Declaring Repositories.
Unless you have a reason to do otherwise, use Gradle’s shorthand syntax <configuration> '<group>:<artifact>:<version>' (e.g. compile 'org.clojure:clojure:1.9.0') to specify dependencies.
Dependencies are put in different configurations (somewhat similar to Maven scopes). For Clojure’s purposes, the three main ones to be aware of are:
implementation - dependencies of your main application code
testImplementation - dependencies of your test code
devImplementation - dependencies used only in the REPL
dependencies {
implementation 'org.clojure:clojure:1.11.1'
// due to how clojure.test is executed, a JUnit test engine (Jovial) is needed
testRuntimeOnly 'org.ajoberstar:jovial:0.3.0'
// due to the way Gradle's REPL is started, if you need tools.namespace, you must be on 0.3+
devImplementation 'org.clojure:tools.namespace:1.3.0'
}
// due to how clojure.test is executed, the JUnit platform is needed
tasks.withType(Test) {
useJUnitPlatform()
}
Also see Gradle’s Declaring Dependencies
Full build.gradle example:
plugins {
id 'dev.clojurephant.clojure' version '0.7.0-alpha.1'
}
group = 'my.example'
version = '0.1.0-SNAPSHOT'
repositories {
jcenter()
}
dependencies {
implementation 'org.clojure:clojure:1.11.1'
testRuntimeOnly 'org.ajoberstar:jovial:0.3.0'
devImplementation 'org.clojure:tools.namespace:1.3.0'
}
tasks.withType(Test) {
useJUnitPlatform()
}
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |