Skip to content

Commit 600640f

Browse files
committed
conceptually restore commits
9b6473f 9b6473f
1 parent 6f0bfd7 commit 600640f

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

build.gradle.kts

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ dependencies {
4949
pcollections(libs.pcollections) { isTransitive = false }
5050
bigMath(libs.bigMath) { isTransitive = false }
5151
functionalJava(libs.functionalJava) { isTransitive = false }
52-
cpSuite(libs.cpSuite) { isTransitive = false }
52+
// we need to explicitly state the jar type for this dependency
53+
cpSuite(libs.cpSuite.get().toString() + "@jar") { isTransitive = false }
5354
}
5455

5556
tasks.wrapper {
@@ -92,16 +93,20 @@ val artifactsDir by extra(project.layout.buildDirectory.dir("artifacts").get())
9293
val reportsDir by extra(project.layout.buildDirectory.dir("reports").get())
9394
val scriptsDir by extra(project.layout.buildDirectory.dir("scripts").get())
9495

95-
val bundledDependencyResolveTasks = listOf(
96-
pcollections.registerTaskToResolveBundledDependency("org.iets3.core.expr.base.collections.stubs"),
97-
bigMath.registerTaskToResolveBundledDependency("org.iets3.core.expr.math.interpreter"),
98-
functionalJava.registerTaskToResolveBundledDependency("org.iets3.core.expr.genjava.functionalJava"),
99-
cpSuite.registerTaskToResolveBundledDependency("org.iets3.opensource.build.gentests.rt", "takari-cpsuite.jar")
96+
val bundledDepsToLibSolution = mapOf(
97+
pcollections to "org.iets3.core.expr.base.collections.stubs",
98+
bigMath to "org.iets3.core.expr.math.interpreter",
99+
functionalJava to "org.iets3.core.expr.genjava.functionalJava",
100+
cpSuite to "org.iets3.opensource.build.gentests.rt"
100101
)
101102

103+
val bundledDependencies = bundledDepsToLibSolution.keys.toList()
104+
val bundledDependencyResolveTasks = bundledDepsToLibSolution.map { (conf, libSolutionName) ->
105+
conf.registerTaskToResolveBundledDependency(libSolutionName)
106+
}
107+
102108
fun Configuration.registerTaskToResolveBundledDependency(
103-
libSolutionName: String,
104-
jarNameOverride: String? = null
109+
libSolutionName: String
105110
): TaskProvider<Sync> {
106111
val configName = this@registerTaskToResolveBundledDependency.name
107112
return tasks.register<Sync>("resolve_${configName}_bundled") {
@@ -114,8 +119,7 @@ fun Configuration.registerTaskToResolveBundledDependency(
114119
configurations.getByName(configName).resolvedConfiguration.resolvedArtifacts
115120
.find { resolvedArtifact: ResolvedArtifact -> resolvedArtifact.file.name == filename })
116121

117-
return@rename jarNameOverride
118-
?: if (resolvedArtifact.classifier != null) {
122+
return@rename if (resolvedArtifact.classifier != null) {
119123
"${resolvedArtifact.name}-${resolvedArtifact.classifier}.${resolvedArtifact.extension}"
120124
} else {
121125
"${resolvedArtifact.name}.${resolvedArtifact.extension}"
@@ -323,13 +327,13 @@ val packageDistroWithDependencies by tasks.registering(Zip::class) {
323327
include("org.iets3.opensource.distro/**")
324328
}
325329

326-
fun MavenPom.addDependency(configuration: Configuration) {
330+
fun MavenPom.addDependency(configuration: Configuration, scope: String? = null) {
327331
configuration.resolvedConfiguration.firstLevelModuleDependencies.forEach {
328-
addDependency(it.moduleGroup, it.moduleName, it.moduleVersion, it.moduleArtifacts.first().type)
332+
addDependency(it.moduleGroup, it.moduleName, it.moduleVersion, it.moduleArtifacts.first().type, scope)
329333
}
330334
}
331335

332-
fun MavenPom.addDependency(moduleGroup: String, moduleName: String, moduleVersion: String, type: String? = null) {
336+
fun MavenPom.addDependency(moduleGroup: String, moduleName: String, moduleVersion: String, type: String? = null, scope: String? = null) {
333337
withXml {
334338
val root = asNode()
335339
val dependencies =
@@ -339,6 +343,7 @@ fun MavenPom.addDependency(moduleGroup: String, moduleName: String, moduleVersio
339343
appendNode("artifactId", moduleName)
340344
appendNode("version", moduleVersion)
341345
type?.let { appendNode("type", it) }
346+
scope?.let { appendNode("scope", it) }
342347
}
343348
}
344349
}
@@ -364,6 +369,8 @@ fun MavenPom.includeAdditionalInfo() {
364369
}
365370
}
366371

372+
fun MavenPom.addBundledDependencies() = bundledDependencies.forEach { addDependency(it, "provided") }
373+
367374
publishing {
368375
repositories {
369376
maven {
@@ -413,6 +420,7 @@ publishing {
413420
moduleVersion = project.version.toString(),
414421
type = "zip"
415422
)
423+
pom.addBundledDependencies()
416424
pom.includeAdditionalInfo()
417425
}
418426
val runtimesDir = file(artifactsDir).resolve("org.iets3.opensource/org.iets3.core.os/languages/iets3.core.os")
@@ -515,5 +523,5 @@ tasks.cyclonedxBom {
515523
// Don't include license texts in generated SBOMs
516524
includeLicenseText.set(false)
517525
// Included bundled runtime dependencies
518-
includeConfigs.set(listOf(pcollections, bigMath, functionalJava, cpSuite).map { it.name })
526+
includeConfigs.set(bundledDependencies.map { it.name })
519527
}

0 commit comments

Comments
 (0)