Browse Source

Запретить использование отличной от единой версии Kotlin

https://clubs.at.yandex-team.ru/java/1397
pazus 1 year ago
parent
commit
a5b9f69f1f
1 changed files with 71 additions and 0 deletions
  1. 71 0
      build/conf/java.conf

+ 71 - 0
build/conf/java.conf

@@ -660,6 +660,47 @@ macro JAVA_RESOURCE(JAR, SOURCES="") {
 # tag:java-specific tag:fbs
 JAVA_FLATBUFFERS_VERSION = 23.5.26
 
+_KOTLIN_ALLOWED_VERSIONS = contrib/java/org/jetbrains/kotlin/kotlin-allopen/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-allopen-compiler-plugin/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-annotation-processing/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-compiler/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-compiler-embeddable/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-daemon-client/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-daemon-embeddable/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-gradle-plugin-api/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-gradle-plugin-model/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-lombok-compiler-plugin/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-main-kts/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-maven-allopen/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-maven-lombok/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-maven-noarg/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-maven-serialization/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-noarg-compiler-plugin/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-osgi-bundle/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-reflect/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-scripting-common/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-scripting-ide-services/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-scripting-jsr223/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm-host/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-script-runtime/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-script-util/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-serialization-compiler-plugin/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-stdlib/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-stdlib-common/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk7/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk8/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-stdlib-js/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-test/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-test-annotations-common/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-test-common/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-test-js/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-test-junit/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-test-junit5/${KOTLIN_VERSION} \
+        contrib/java/org/jetbrains/kotlin/kotlin-test-testng/${KOTLIN_VERSION}
+
 # tag:java-specific
 module _COMPILABLE_JAR_BASE : _JAR_BASE {
     _GHOST_PEERDIR($_FORCED_DEPENDENCY_MANAGEMENT_VALUE)
@@ -680,9 +721,39 @@ module _COMPILABLE_JAR_BASE : _JAR_BASE {
     DEPENDENCY_MANAGEMENT(contrib/java/com/google/protobuf/protobuf-java-util/${JAVA_PROTO_RUNTIME_VERSION})
     CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/com/google/protobuf/protobuf-java-util EXCEPT contrib/java/com/google/protobuf/protobuf-java-util/${JAVA_PROTO_RUNTIME_VERSION})
 
+    # protobuf-kotlin
     DEPENDENCY_MANAGEMENT(contrib/java/com/google/protobuf/protobuf-kotlin/${JAVA_PROTO_RUNTIME_VERSION})
     CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/com/google/protobuf/protobuf-kotlin EXCEPT contrib/java/com/google/protobuf/protobuf-kotlin/${JAVA_PROTO_RUNTIME_VERSION})
 
+    # kotlin
+    DEPENDENCY_MANAGEMENT($_KOTLIN_ALLOWED_VERSIONS)
+    
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-stdlib EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-stdlib/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk7 EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk7/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk8 EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk8/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-stdlib-js EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-stdlib-js/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-stdlib-common EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-stdlib-common/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-reflect EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-reflect/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-osgi-bundle EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-osgi-bundle/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-junit EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-junit/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-junit5 EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-junit5/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-testng EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-testng/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-js EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-js/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-common EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-common/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-annotations-common EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-annotations-common/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-main-kts EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-main-kts/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-script-runtime EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-script-runtime/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-script-util EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-script-util/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-scripting-common EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-scripting-common/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-scripting-jsr223 EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-scripting-jsr223/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm-host EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm-host/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-scripting-ide-services EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-scripting-ide-services/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-compiler EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-compiler/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-compiler-embeddable EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-compiler-embeddable/${KOTLIN_VERSION})
+    CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-daemon-client EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-daemon-client/${KOTLIN_VERSION})
+
 }
 
 _JAR_MAIN_CLASS=