Add module-info.java for standard Kotlin libraries

Using the new multi-release jar feature, store compiled
module-info.class files into META-INF/versions/9 instead of the artifact
root. Hopefully, this will break fewer tools which do not support
module-info.class files because any sane tool should not do anything
with files in META-INF because before Java 9 that directory only
contained resources.

Upgrade some Maven plugins to newer versions which do not fail on
module-info.class files

 #KT-21266 In Progress
This commit is contained in:
Alexander Udalov
2017-08-29 11:02:45 +03:00
parent 650e97f200
commit 2d41c7d462
15 changed files with 140 additions and 19 deletions
+9 -1
View File
@@ -29,10 +29,18 @@ sourceSets {
}
}
}
java9 {
java {
srcDirs = ['java9']
}
}
}
createCompileJava9Task(project, "compileJava9", "kotlin.stdlib.jdk8")
jar {
manifestAttributes(manifest, project, 'Main')
manifestAttributes(manifest, project, 'Main', true)
from compileJava9.outputs
}
artifacts {
@@ -0,0 +1,7 @@
module kotlin.stdlib.jdk8 {
requires transitive kotlin.stdlib;
exports kotlin.collections.jdk8;
exports kotlin.streams.jdk8;
exports kotlin.text.jdk8;
}