Skip to content

Commit 04086d7

Browse files
committed
Decoupled derivation for supertypes from configs
1 parent 6829211 commit 04086d7

File tree

2 files changed

+16
-18
lines changed

2 files changed

+16
-18
lines changed

libs/init/gradle/exportplugin/src/mill/main/gradle/BuildModelBuilder.scala

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -129,15 +129,15 @@ class BuildModelBuilder(ctx: GradleBuildCtx, workspace: os.Path) extends Tooling
129129
runModuleDeps = moduleDeps("testRuntimeOnly"),
130130
javacOptions = inheritedOptions(testJavacOptions, mainJavacOptions)
131131
)
132-
val testConfigs = testJavaModule +: testErrorProneModule.toSeq
133-
val testSupertypes = "MavenTests" +: testConfigs.collect {
134-
case _: ErrorProneModule => "ErrorProneModule"
135-
}
132+
133+
val testSupertypes = Seq("MavenTests") ++
134+
Option.when(testErrorProneModule.nonEmpty)("ErrorProneModule")
135+
val testConfigs = Seq(testJavaModule) ++ testErrorProneModule ++ defaultTestConfigs
136136
ModuleSpec(
137137
name = "test",
138138
supertypes = testSupertypes,
139139
mixins = Seq(testModuleMixin),
140-
configs = testConfigs ++ defaultTestConfigs
140+
configs = testConfigs
141141
)
142142
}
143143
} else None
@@ -150,10 +150,9 @@ class BuildModelBuilder(ctx: GradleBuildCtx, workspace: os.Path) extends Tooling
150150
).flatten
151151
val mainModule = if (mainConfigs.isEmpty && testModule.isEmpty) ModuleSpec(moduleDir.last)
152152
else {
153-
val mainSupertypes = "MavenModule" +: mainConfigs.collect {
154-
case _: PublishModule => "PublishModule"
155-
case _: ErrorProneModule => "ErrorProneModule"
156-
}
153+
val mainSupertypes = Seq("MavenModule") ++
154+
Option.when(mainPublishModule.nonEmpty)("PublishModule") ++
155+
Option.when(mainErrorProneModule.nonEmpty)("ErrorProneModule")
157156
ModuleSpec(
158157
name = moduleDir.last,
159158
supertypes = mainSupertypes,

libs/init/maven/src/mill/main/maven/MavenBuildGenMain.scala

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,28 +97,27 @@ object MavenBuildGenMain {
9797
)
9898
// ErrorProne is applied to test sources by default
9999
val testErrorProneModule = mainErrorProneModule
100-
val testConfigs = testJavaModule +: testErrorProneModule.toSeq
101-
val testSupertypes = "MavenTests" +: testConfigs.collect {
102-
case _: ErrorProneModule => "ErrorProneModule"
103-
}
100+
101+
val testSupertypes = Seq("MavenTests") ++
102+
Option.when(testErrorProneModule.nonEmpty)("ErrorProneModule")
103+
val testConfigs = Seq(testJavaModule) ++ testErrorProneModule ++ defaultTestConfigs
104104
ModuleSpec(
105105
name = "test",
106106
supertypes = testSupertypes,
107107
mixins = Seq(testModuleMixin),
108-
configs = testConfigs ++ defaultTestConfigs
108+
configs = testConfigs
109109
)
110110
}
111111
else None
112112

113+
val mainSupertypes = Seq("MavenModule") ++
114+
Option.when(mainPublishModule.nonEmpty)("PublishModule") ++
115+
Option.when(mainErrorProneModule.nonEmpty)("ErrorProneModule")
113116
val mainConfigs = JavaHomeModule.system +: mainJavaModule +: Seq(
114117
mainCoursierModule,
115118
mainPublishModule,
116119
mainErrorProneModule
117120
).flatten
118-
val mainSupertypes = "MavenModule" +: mainConfigs.collect {
119-
case _: PublishModule => "PublishModule"
120-
case _: ErrorProneModule => "ErrorProneModule"
121-
}
122121
val mainModule = ModuleSpec(
123122
name = segments.lastOption.getOrElse(os.pwd.last),
124123
supertypes = mainSupertypes,

0 commit comments

Comments
 (0)