From c5408ed5f8444bd642a1f71889277ef494e6abeb Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Tue, 18 Oct 2022 22:26:05 +0200 Subject: [PATCH] Test inputJar property overriding inputClassesDirs --- .../kotlinx/validation/test/InputJarTest.kt | 39 +++++++++++++++++++ .../classes/PropertiesJarTransformed.dump | 8 ++++ .../jarAsInput/inputJar.gradle.kts | 9 +++++ 3 files changed, 56 insertions(+) create mode 100644 src/functionalTest/kotlin/kotlinx/validation/test/InputJarTest.kt create mode 100644 src/functionalTest/resources/examples/classes/PropertiesJarTransformed.dump create mode 100644 src/functionalTest/resources/examples/gradle/configuration/jarAsInput/inputJar.gradle.kts diff --git a/src/functionalTest/kotlin/kotlinx/validation/test/InputJarTest.kt b/src/functionalTest/kotlin/kotlinx/validation/test/InputJarTest.kt new file mode 100644 index 00000000..61c03c42 --- /dev/null +++ b/src/functionalTest/kotlin/kotlinx/validation/test/InputJarTest.kt @@ -0,0 +1,39 @@ +/* + * Copyright 2016-2022 JetBrains s.r.o. + * Use of this source code is governed by the Apache 2.0 License that can be found in the LICENSE.txt file. + */ + +package kotlinx.validation.test + +import kotlinx.validation.api.* +import org.junit.* + +class InputJarTest : BaseKotlinGradleTest() { + + @Test + fun testOverrideInputJar() { + val runner = test { + buildGradleKts { + resolve("examples/gradle/base/withPlugin.gradle.kts") + resolve("examples/gradle/configuration/jarAsInput/inputJar.gradle.kts") + } + + kotlin("Properties.kt") { + resolve("examples/classes/Properties.kt") + } + + apiFile(projectName = rootProjectDir.name) { + resolve("examples/classes/PropertiesJarTransformed.dump") + } + + runner { + arguments.add(":apiCheck") + } + } + + runner.build().apply { + assertTaskSuccess(":jar") + assertTaskSuccess(":apiCheck") + } + } +} diff --git a/src/functionalTest/resources/examples/classes/PropertiesJarTransformed.dump b/src/functionalTest/resources/examples/classes/PropertiesJarTransformed.dump new file mode 100644 index 00000000..dc02831c --- /dev/null +++ b/src/functionalTest/resources/examples/classes/PropertiesJarTransformed.dump @@ -0,0 +1,8 @@ +public final class foo/ClassWithProperties { + public fun ()V + public final fun getBar1 ()I + public final fun getBar2 ()I + public final fun setBar1 (I)V + public final fun setBar2 (I)V +} + diff --git a/src/functionalTest/resources/examples/gradle/configuration/jarAsInput/inputJar.gradle.kts b/src/functionalTest/resources/examples/gradle/configuration/jarAsInput/inputJar.gradle.kts new file mode 100644 index 00000000..c96da59e --- /dev/null +++ b/src/functionalTest/resources/examples/gradle/configuration/jarAsInput/inputJar.gradle.kts @@ -0,0 +1,9 @@ +tasks { + jar { + exclude("foo/HiddenField.class") + exclude("foo/HiddenProperty.class") + } + apiBuild { + inputJar.value(jar.flatMap { it.archiveFile }) + } +} \ No newline at end of file