-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle.kts
110 lines (92 loc) · 2.52 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
plugins {
id("dev.clojurephant.clojure")
id("java-library")
id("maven-publish")
}
group = "dev.clojurephant"
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(8))
}
withSourcesJar()
registerFeature("figwheelRepl") {
usingSourceSet(sourceSets["main"])
}
registerFeature("figwheelMain") {
usingSourceSet(sourceSets["main"])
}
}
dependencies {
// clojure
api("org.clojure:clojure:1.11.1")
// gradle
compileOnly("org.gradle:gradle-tooling-api:8.5")
// clojurescript and nrepl
api("org.clojure:clojurescript:1.11.121")
api("nrepl:nrepl:1.1.0")
api("cider:piggieback:0.5.3")
// figwheel repl
"figwheelReplApi"("com.bhauman:figwheel-repl:0.2.18")
"figwheelReplApi"("ring:ring-jetty-adapter:1.9.5")
"figwheelReplApi"("org.eclipse.jetty.websocket:websocket-server:9.4.7.v20180619")
// figwheel main
"figwheelMainApi"("com.bhauman:figwheel-main:0.2.18")
// testing
testRuntimeOnly("dev.clojurephant:jovial:0.4.2")
devRuntimeOnly("org.slf4j:slf4j-simple:2.0.10")
}
tasks.withType<Test>() {
useJUnitPlatform()
}
tasks.named<Jar>("jar") {
from(configurations.compileClasspath.get().map {
if (it.isDirectory()) {
it
} else {
zipTree(it).matching { include("org/gradle/**/*") }
}
})
}
publishing {
repositories {
maven {
name = "Clojars"
url = uri("https://repo.clojars.org")
credentials {
username = System.getenv("CLOJARS_USER")
password = System.getenv("CLOJARS_TOKEN")
}
}
}
publications {
create<MavenPublication>("main") {
from(components["java"])
versionMapping {
usage("java-api") { fromResolutionOf("runtimeClasspath") }
usage("java-runtime") { fromResolutionResult() }
}
pom {
name.set(project.name)
description.set(project.description)
url.set("https://github.com/clojurephant/clojurephant-tooling")
developers {
developer {
name.set("Andrew Oberstar")
email.set("[email protected]")
}
}
licenses {
license {
name.set("Apache-2.0")
url.set("https://github.com/clojurephant/jovial/blob/main/LICENSE")
}
}
scm {
url.set("https://github.com/clojurephant/clojurephant-tooling")
connection.set("scm:git:[email protected]:clojurephant/clojurephant-tooling.git")
developerConnection.set("scm:git:[email protected]:clojurephant/clojurephant-tooling.git")
}
}
}
}
}