@@ -42,6 +42,66 @@ void test_kotlin(SupportedGradleVersion gradleVersion) {
4242 .hasNoMutableStateWarnings ();
4343 }
4444
45+ @ ParameterizedTest
46+ @ EnumSource (SupportedGradleVersion .class )
47+ void test_multiproject (SupportedGradleVersion gradleVersion ) {
48+ final TestProjectBuilder builder = TestProjectBuilder .testProject (projectDir );
49+ builder .rootProject ().plugins ().id ("com.netflix.nebula.contacts" );
50+ builder .rootProject ()
51+ .rawBuildScript (
52+ //language=kotlin
53+ """
54+ contacts {
55+ addPerson("example@example.com") {
56+ moniker = "Nebula-Plugins maintainers"
57+ github = "nebula-plugins"
58+ role("owner")
59+ }
60+ }
61+ """ );
62+ final var subProject1 = builder .subProject ("sub1" );
63+ subProject1 .plugins ().id ("com.netflix.nebula.contacts" );
64+ subProject1 .rawBuildScript (
65+ //language=kotlin
66+ """
67+ afterEvaluate {
68+ plugins.withType<nebula.plugin.contacts.BaseContactsPlugin>() {
69+ println("sub1 contacts: " + getAllContacts().size)
70+ }
71+ }
72+ """ );
73+
74+ final var subProject2 = builder .subProject ("sub2" );
75+ subProject2 .plugins ().id ("com.netflix.nebula.contacts" );
76+ subProject2 .rawBuildScript (
77+ //language=kotlin
78+ """
79+ contacts {
80+ addPerson("example2@example.com") {
81+ moniker = "Nebula-Plugins maintainers"
82+ github = "nebula-plugins"
83+ role("owner")
84+ }
85+ }
86+ afterEvaluate {
87+ plugins.withType<nebula.plugin.contacts.BaseContactsPlugin>() {
88+ println("sub2 contacts: " + getAllContacts().size)
89+ }
90+ }
91+ """ );
92+ final var runner = builder .build (BuildscriptLanguage .KOTLIN );
93+
94+ BuildResult result = runner .run (
95+ GradleRunner .create ().forwardOutput ().withGradleVersion (gradleVersion .version ),
96+ "build" );
97+ assertThat (result )
98+ .hasNoDeprecationWarnings ()
99+ .hasNoMutableStateWarnings ();
100+ assertThat (result .getOutput ())
101+ .contains ("sub1 contacts: 1" )
102+ .contains ("sub2 contacts: 2" );
103+ }
104+
45105 @ ParameterizedTest
46106 @ EnumSource (SupportedGradleVersion .class )
47107 void test_groovy (SupportedGradleVersion gradleVersion ) {
0 commit comments