build.gradle.kts (78 lines of code) (raw):
plugins {
java
idea
`java-library`
`maven-publish`
}
var annotationsVersion: String by rootProject.ext
var protobufVersion: String by rootProject.ext
var antlrVersion: String by rootProject.ext
annotationsVersion = "24.0.1"
protobufVersion = "3.24.0"
antlrVersion = "4.10"
allprojects {
group = "org.arend"
version = "1.10.0"
repositories {
mavenCentral()
}
apply {
plugin("java")
plugin("idea")
}
java {
// toolchain.languageVersion.set(JavaLanguageVersion.of(17))
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
idea {
module {
outputDir = file("$buildDir/classes/java/main")
testOutputDir = file("$buildDir/classes/java/test")
}
}
tasks.withType<JavaCompile>().configureEach {
options.encoding = "UTF-8"
options.isDeprecation = true
options.release.set(17)
// options.compilerArgs.add("-Xlint:unchecked")
}
}
subprojects {
apply {
plugin("maven-publish")
plugin("java-library")
}
java {
withSourcesJar()
// Enable on-demand
// withJavadocJar()
}
publishing {
publications {
create<MavenPublication>("maven") {
groupId = this@subprojects.group.toString()
version = this@subprojects.version.toString()
artifactId = this@subprojects.name
from(components["java"])
pom {
url.set("https://arend-lang.github.io")
licenses {
license {
name.set("Apache-2.0")
url.set("https://github.com/JetBrains/Arend/blob/master/LICENSE")
}
}
}
}
}
}
}
tasks.withType<Wrapper> {
gradleVersion = "8.5"
}
dependencies {
testImplementation("org.jetbrains:annotations:$annotationsVersion")
testImplementation("org.antlr:antlr4-runtime:$antlrVersion")
testImplementation(project(":base"))
testImplementation(project(":parser"))
testImplementation(project(":cli"))
testImplementation("junit:junit:4.13.1")
testImplementation("org.hamcrest:hamcrest-library:1.3")
}