visual-driver
/
build.gradle.kts
87 строк · 2.6 Кб
1@file:Suppress("UnstableApiUsage")
2
3import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
4
5plugins {
6java
7`java-library`
8`maven-publish`
9kotlin("jvm") apply false
10id("org.jetbrains.kotlinx.binary-compatibility-validator")
11}
12
13allprojects {
14group = "me.func.visual-driver"
15
16// Версия генерируется автоматически
17val release = project.properties["buildVersion"]
18
19if (release != null) {
20val build = release.toString().toInt()
21project.version = "" + build / 100 + "." + (build / 10) % 10 + "." + build % 10 + ".RELEASE"
22} else {
23project.version = "3.3.13.TEST"
24}
25}
26
27subprojects {
28apply(plugin = "java")
29apply(plugin = "java-library")
30apply(plugin = "org.jetbrains.kotlin.jvm")
31apply(plugin = "maven-publish")
32
33dependencies {
34implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21")
35}
36
37java {
38toolchain.languageVersion.set(JavaLanguageVersion.of(8))
39withSourcesJar()
40}
41
42tasks {
43withType<JavaCompile>().configureEach { options.encoding = "UTF-8" }
44withType<Jar>().configureEach { duplicatesStrategy = DuplicatesStrategy.EXCLUDE }
45withType<KotlinCompile>().configureEach {
46kotlinOptions {
47jvmTarget = "1.8"
48freeCompilerArgs = listOf(
49"-Xlambdas=indy",
50"-Xno-param-assertions",
51"-Xno-receiver-assertions",
52"-Xno-call-assertions",
53"-Xbackend-threads=0",
54"-Xassertions=always-disable",
55"-Xuse-fast-jar-file-system",
56"-Xsam-conversions=indy"
57)
58}
59}
60}
61
62publishing {
63repositories {
64mavenLocal()
65maven {
66name = "func"
67url = uri(
68"https://repo.c7x.dev/repository/maven-${
69if (project.version.toString().contains("SNAPSHOT")) "snapshots" else "releases"
70}/"
71)
72credentials {
73username = System.getenv("CRI_REPO_LOGIN") ?: System.getenv("CRISTALIX_REPO_USERNAME")
74?: System.getenv("REPO_C7X_USERNAME")
75password =
76System.getenv("CRI_REPO_PASSWORD") ?: System.getenv("CRISTALIX_REPO_PASSWORD") ?: System.getenv(
77"REPO_C7X_PASSWORD"
78)
79}
80}
81}
82}
83}
84
85apiValidation {
86ignoredProjects.addAll(listOf("mod", "graffiti", "graffiti-service"))
87}
88