diff --git a/README.md b/README.md index 9c1ac0c..2a464d9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![License](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Java](https://img.shields.io/badge/java-17%2B-blue)](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) -[![Kotlin](https://img.shields.io/badge/kotlin-1.9.24-7f52ff.svg)](https://kotlinlang.org) +[![Kotlin](https://img.shields.io/badge/kotlin-2.0.0-7f52ff.svg)](https://kotlinlang.org) [![bld](https://img.shields.io/badge/1.9.1-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) [![Release](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/releases/com/uwyn/rife2/bld-kotlin/maven-metadata.xml?color=blue)](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-kotlin) [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-kotlin/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-kotlin) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 81004ac..066d395 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,6 +1,6 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extensions=com.uwyn.rife2:bld-kotlin:0.9.5 +bld.extensions=com.uwyn.rife2:bld-kotlin:0.9.6 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/examples/src/bld/java/com/example/ExampleBuild.java b/examples/src/bld/java/com/example/ExampleBuild.java index 71edf27..5cccf1a 100644 --- a/examples/src/bld/java/com/example/ExampleBuild.java +++ b/examples/src/bld/java/com/example/ExampleBuild.java @@ -34,7 +34,7 @@ public class ExampleBuild extends Project { repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES); - final var kotlin = version(1, 9, 24); + final var kotlin = version(2, 0, 0); scope(compile) .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin)); scope(test) diff --git a/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java b/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java index f24da97..fe52487 100644 --- a/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java @@ -33,7 +33,7 @@ public class CompileKotlinOperationBuild extends Project { public CompileKotlinOperationBuild() { pkg = "rife.bld.extension"; name = "bld-kotlin"; - version = version(0, 9, 5); + version = version(0, 9, 6); javaRelease = 17; downloadSources = true; @@ -41,7 +41,7 @@ public class CompileKotlinOperationBuild extends Project { repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES); var dokka = version(1, 9, 20); - var kotlin = version(1, 9, 24); + var kotlin = version(2, 0, 0); scope(compile) .include(dependency("org.jetbrains.kotlin", "kotlin-compiler", kotlin)) .include(dependency("org.jetbrains.kotlin", "kotlin-annotation-processing", kotlin)) diff --git a/src/main/java/rife/bld/extension/CompileKotlinOptions.java b/src/main/java/rife/bld/extension/CompileKotlinOptions.java index 343d1ba..778a9a5 100644 --- a/src/main/java/rife/bld/extension/CompileKotlinOptions.java +++ b/src/main/java/rife/bld/extension/CompileKotlinOptions.java @@ -65,6 +65,17 @@ public class CompileKotlinOptions { return this; } + /** + * Allow using declarations only from the specified version of Kotlin bundled libraries. + * + * @param version the api version + * @return this operation instance + */ + public CompileKotlinOptions apiVersion(int version) { + apiVersion_ = String.valueOf(version); + return this; + } + /** * Read the compiler options from the given files. *

diff --git a/src/test/java/rife/bld/extension/CompileKotlinOptionsTest.java b/src/test/java/rife/bld/extension/CompileKotlinOptionsTest.java index f19663d..6324765 100644 --- a/src/test/java/rife/bld/extension/CompileKotlinOptionsTest.java +++ b/src/test/java/rife/bld/extension/CompileKotlinOptionsTest.java @@ -19,6 +19,7 @@ package rife.bld.extension; import org.junit.jupiter.api.Test; import java.io.File; +import java.util.ArrayList; import java.util.List; import java.util.stream.IntStream; @@ -54,7 +55,7 @@ class CompileKotlinOptionsTest { @Test void argsTest() { - var args = new CompileKotlinOptions() + var options = new CompileKotlinOptions() .apiVersion("11") .argFile("file.txt", "file2.txt") .classpath("path1", "path2") @@ -76,8 +77,7 @@ class CompileKotlinOptionsTest { .progressive(true) .scriptTemplates("name", "name2") .verbose(true) - .wError(true) - .args(); + .wError(true); var matches = List.of( "-api-version", "11", @@ -105,8 +105,13 @@ class CompileKotlinOptionsTest { "-verbose", "-Werror"); - assertThat(args).hasSize(matches.size()); + var args = new ArrayList>(); + args.add(options.args()); + args.add(options.apiVersion(11).jvmTarget(11).args()); - IntStream.range(0, args.size()).forEach(i -> assertThat(args.get(i)).isEqualTo(matches.get(i))); + for (var a: args) { + assertThat(a).hasSize(matches.size()); + IntStream.range(0, a.size()).forEach(i -> assertThat(a.get(i)).isEqualTo(matches.get(i))); + } } }