diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java index a10f7e070d4..4f411008224 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java @@ -91,6 +91,11 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { runTest("jps-plugin/testData/incremental/multiModule/common/exportedDependency/"); } + @TestMetadata("functionFromDifferentPackageChanged") + public void testFunctionFromDifferentPackageChanged() throws Exception { + runTest("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/"); + } + @TestMetadata("inlineFunctionInlined") public void testInlineFunctionInlined() throws Exception { runTest("jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/"); @@ -302,6 +307,19 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { } } + @TestMetadata("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class FunctionFromDifferentPackageChanged extends AbstractIncrementalJpsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath); + } + + public void testAllFilesPresentInFunctionFromDifferentPackageChanged() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, true); + } + } + @TestMetadata("jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJsJpsTestGenerated.java b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJsJpsTestGenerated.java index 770a9e50031..2fe1638c77e 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJsJpsTestGenerated.java +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJsJpsTestGenerated.java @@ -89,6 +89,11 @@ public class IncrementalJsJpsTestGenerated extends AbstractIncrementalJsJpsTest runTest("jps-plugin/testData/incremental/multiModule/common/exportedDependency/"); } + @TestMetadata("functionFromDifferentPackageChanged") + public void testFunctionFromDifferentPackageChanged() throws Exception { + runTest("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/"); + } + @TestMetadata("inlineFunctionInlined") public void testInlineFunctionInlined() throws Exception { runTest("jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/"); @@ -300,6 +305,19 @@ public class IncrementalJsJpsTestGenerated extends AbstractIncrementalJsJpsTest } } + @TestMetadata("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class FunctionFromDifferentPackageChanged extends AbstractIncrementalJsJpsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath); + } + + public void testAllFilesPresentInFunctionFromDifferentPackageChanged() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, true); + } + } + @TestMetadata("jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/build.log b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/build.log new file mode 100644 index 00000000000..676df623651 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/build.log @@ -0,0 +1,26 @@ +================ Step #1 ================= + +Building module1 +Cleaning output files: + out/production/module1/META-INF/module1.kotlin_module + out/production/module1/module1/FooKt.class +End of files +Compiling files: + module1/src/foo.kt +End of files +Marked as dirty by Kotlin: + module2/src/useFoo.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Exit code: NOTHING_DONE +------------------------------------------ +Building module2 +Cleaning output files: + out/production/module2/META-INF/module2.kotlin_module + out/production/module2/module2/UseFooKt.class +End of files +Compiling files: + module2/src/useFoo.kt +End of files +Exit code: OK +------------------------------------------ \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/dependencies.txt b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/dependencies.txt new file mode 100644 index 00000000000..827bf04cc58 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/dependencies.txt @@ -0,0 +1,2 @@ +module1-> +module2->module1 diff --git a/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/js-jps-build.log b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/js-jps-build.log new file mode 100644 index 00000000000..af9ede2d99b --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/js-jps-build.log @@ -0,0 +1,28 @@ +================ Step #1 ================= + +Building module1 +Cleaning output files: + out/production/module1/module1.js + out/production/module1/module1.meta.js + out/production/module1/module1/module1/module1.kjsm +End of files +Compiling files: + module1/src/foo.kt +End of files +Marked as dirty by Kotlin: + module2/src/useFoo.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Exit code: NOTHING_DONE +------------------------------------------ +Building module2 +Cleaning output files: + out/production/module2/module2.js + out/production/module2/module2.meta.js + out/production/module2/module2/module2/module2.kjsm +End of files +Compiling files: + module2/src/useFoo.kt +End of files +Exit code: OK +------------------------------------------ \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module1_dummy.kt b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module1_dummy.kt new file mode 100644 index 00000000000..26ea6e9d58a --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module1_dummy.kt @@ -0,0 +1,3 @@ +package module1 + +fun dummy() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module1_foo.kt b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module1_foo.kt new file mode 100644 index 00000000000..9c6131fe8fb --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module1_foo.kt @@ -0,0 +1,3 @@ +package module1 + +fun foo(): Int = 0 \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module1_foo.kt.new b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module1_foo.kt.new new file mode 100644 index 00000000000..f1f757a169f --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module1_foo.kt.new @@ -0,0 +1,3 @@ +package module1 + +fun foo(): String = "0" \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module2_dummy.kt b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module2_dummy.kt new file mode 100644 index 00000000000..69525319a1b --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module2_dummy.kt @@ -0,0 +1,3 @@ +package module2 + +fun dummy() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module2_useFoo.kt b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module2_useFoo.kt new file mode 100644 index 00000000000..b1d079fc39f --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/module2_useFoo.kt @@ -0,0 +1,5 @@ +package module2 + +import module1.foo + +fun useFoo() = foo() \ No newline at end of file