Plex-FAWE/buildSrc/src/main/kotlin/CommonConfig.kt

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

82 lines
2.5 KiB
Kotlin
Raw Normal View History

2019-08-26 04:45:03 +00:00
import org.gradle.api.Project
import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.jvm.toolchain.JavaLanguageVersion
2021-05-14 21:42:37 +00:00
import org.gradle.jvm.toolchain.JvmVendorSpec
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.get
2019-08-26 04:45:03 +00:00
import org.gradle.kotlin.dsl.repositories
import org.gradle.kotlin.dsl.the
2019-08-26 04:45:03 +00:00
fun Project.applyCommonConfiguration() {
group = rootProject.group
version = rootProject.version
repositories {
mavenLocal()
maven {
2021-01-21 12:07:17 +00:00
name = "IntellectualSites"
url = uri("https://mvn.intellectualsites.com/content/groups/public/")
}
maven {
2021-01-21 12:34:33 +00:00
name = "EngineHub"
url = uri("https://maven.enginehub.org/repo/")
2021-01-21 12:07:17 +00:00
}
maven {
name = "OSS Sonatype Snapshots"
url = uri("https://oss.sonatype.org/content/repositories/snapshots/")
}
maven {
name = "OSS Sonatype Releases"
url = uri("https://oss.sonatype.org/content/repositories/releases/")
}
maven {
name = "Athion"
url = uri("https://ci.athion.net/plugin/repository/tools/")
}
2019-08-26 04:45:03 +00:00
}
2019-08-26 04:45:03 +00:00
configurations.all {
resolutionStrategy {
2020-07-14 02:50:59 +00:00
cacheChangingModulesFor(5, "MINUTES")
2019-08-26 04:45:03 +00:00
}
}
configurations.findByName("compileClasspath")?.apply {
resolutionStrategy.componentSelection {
withModule("org.slf4j:slf4j-api") {
reject("No SLF4J allowed on compile classpath")
}
}
}
plugins.withId("java") {
the<JavaPluginExtension>().toolchain {
2021-05-14 21:42:37 +00:00
languageVersion.set(JavaLanguageVersion.of(11))
vendor.set(JvmVendorSpec.ADOPTOPENJDK)
}
}
dependencies {
constraints {
for (conf in configurations) {
if (conf.isCanBeConsumed || conf.isCanBeResolved) {
// dependencies don't get declared in these
continue
}
add(conf.name, "com.google.guava:guava") {
version { strictly(Versions.GUAVA) }
because("Mojang provides Guava")
}
add(conf.name, "com.google.code.gson:gson") {
version { strictly(Versions.GSON) }
because("Mojang provides Gson")
}
add(conf.name, "it.unimi.dsi:fastutil") {
version { strictly(Versions.FAST_UTIL) }
because("Mojang provides FastUtil")
}
}
}
}
2019-08-26 04:45:03 +00:00
}