diff --git a/README.md b/README.md index 9c1ac0c..2a464d9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [](https://opensource.org/licenses/Apache-2.0) [](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) -[](https://kotlinlang.org) +[](https://kotlinlang.org) [](https://rife2.com/bld) [](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-kotlin) [](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)));
+ }
}
}