Skip to content

Commit ee61490

Browse files
author
Alexander Pann
authored
Merge pull request #1280 from IETS3/merge/mps20232
Merge maintenance/mps20232 into master
2 parents d1502eb + 19df4eb commit ee61490

File tree

13 files changed

+226
-188
lines changed

13 files changed

+226
-188
lines changed

build.gradle

Lines changed: 77 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import de.itemis.mps.gradle.*
22
import de.itemis.mps.gradle.tasks.MpsMigrate
33
import de.itemis.mps.gradle.tasks.Remigrate
44
import de.itemis.mps.gradle.downloadJBR.DownloadJbrForPlatform
5+
import groovy.transform.TupleConstructor
56
import groovy.xml.XmlSlurper
67
import java.time.LocalDate
78
import java.time.format.DateTimeFormatter
@@ -95,17 +96,24 @@ ext.snapshotRepository = 'https://artifacts.itemis.cloud/repository/maven-mps-sn
9596
ext.publishingRepository = version.toString().endsWith("-SNAPSHOT") ? snapshotRepository : releaseRepository
9697

9798

99+
def buildDirPath(pathUnderBuildDir) {
100+
project.layout.buildDirectory.dir(pathUnderBuildDir).get().asFile
101+
}
98102

99103
// 'artifacts' is used in the generated ant scripts as build output directory
100-
ext.artifactsDir = new File(buildDir, 'artifacts')
104+
ext.artifactsDir = buildDirPath('artifacts')
105+
ext.reportsDir = buildDirPath('reports')
106+
107+
wrapper {
108+
gradleVersion '8.13'
109+
distributionType Wrapper.DistributionType.ALL
110+
}
101111

102112
configurations {
103113
mps
104114
rerunMigrationsBackend
105115
languageLibs
106116
junitAnt
107-
pcollections // Synced to org.iets3.core.expr.base.collections.stubs/lib
108-
bigMath // Synced to org.iets3.core.expr.math.interpreter/lib
109117
}
110118

111119
dependencies {
@@ -114,8 +122,62 @@ dependencies {
114122
languageLibs "org.mpsqa:all-in-one:$mpsQAVersion"
115123
languageLibs "com.mbeddr:platform:$mbeddrVersion"
116124
junitAnt 'org.apache.ant:ant-junit:1.10.15'
117-
pcollections 'org.pcollections:pcollections:4.0.2'
118-
bigMath 'ch.obermuhlner:big-math:2.3.2'
125+
}
126+
127+
@TupleConstructor
128+
class BundledDep {
129+
String name
130+
List<String> entries
131+
String libSolutionName
132+
Closure configClosure = { transitive = false }
133+
// in case a legacy dependency has a broken artifact name, e.g. w/o extension
134+
String jarNameOverride
135+
String getConfigName() {
136+
name + '_bundled'
137+
}
138+
String getResolveTaskName() {
139+
'resolve_' + this.configName
140+
}
141+
BundledDep overrideArtifactName(String artifactName) {
142+
this.jarNameOverride = artifactName
143+
this
144+
}
145+
}
146+
147+
def bundledDeps = [
148+
new BundledDep('pcollections', ['org.pcollections:pcollections:4.0.2'], 'org.iets3.core.expr.base.collections.stubs'),
149+
new BundledDep('bigMath', ['ch.obermuhlner:big-math:2.3.2'], 'org.iets3.core.expr.math.interpreter'),
150+
new BundledDep('functionalJava', ['org.functionaljava:functionaljava:4.8.1'], 'org.iets3.core.expr.genjava.functionalJava'),
151+
new BundledDep('cpsSuite', ['io.takari.junit:takari-cpsuite:1.2.7'], 'org.iets3.opensource.build.gentests.rt').overrideArtifactName('takari-cpsuite.jar')
152+
]
153+
154+
bundledDeps.each { dep ->
155+
configurations {
156+
create(dep.configName)
157+
}
158+
dependencies {
159+
dep.entries.each {entry ->
160+
add(dep.configName, entry, dep.configClosure)
161+
}
162+
}
163+
tasks.create(dep.resolveTaskName, Sync.class) {
164+
from configurations.getByName(dep.configName)
165+
into file("code/languages/org.iets3.opensource/solutions/${dep.libSolutionName}/lib")
166+
167+
// Strip version numbers from file names
168+
rename { filename ->
169+
def ra = configurations.getByName(dep.configName).resolvedConfiguration.resolvedArtifacts.find { ResolvedArtifact ra -> ra.file.name == filename }
170+
String finalName
171+
if (dep.jarNameOverride != null) {
172+
finalName = dep.jarNameOverride
173+
} else if (ra.classifier != null) {
174+
finalName = "${ra.name}-${ra.classifier}.${ra.extension}"
175+
} else {
176+
finalName = "${ra.name}.${ra.extension}"
177+
}
178+
return finalName
179+
}
180+
}
119181
}
120182

121183

@@ -134,41 +196,8 @@ task resolveLanguageLibs(type: Sync) {
134196
into "$buildDir/dependencies"
135197
}
136198

137-
task resolvePcollections(type: Sync) {
138-
from configurations.pcollections
139-
into file('code/languages/org.iets3.opensource/solutions/org.iets3.core.expr.base.collections.stubs/lib')
140-
141-
// Strip version numbers from file names
142-
rename { filename ->
143-
def ra = configurations.pcollections.resolvedConfiguration.resolvedArtifacts.find { ResolvedArtifact ra -> ra.file.name == filename }
144-
String finalName
145-
if (ra.classifier != null) {
146-
finalName = "${ra.name}-${ra.classifier}.${ra.extension}"
147-
} else {
148-
finalName = "${ra.name}.${ra.extension}"
149-
}
150-
return finalName
151-
}
152-
}
153-
154-
task resolveBigMath(type: Sync) {
155-
from configurations.bigMath
156-
into file('code/languages/org.iets3.opensource/solutions/org.iets3.core.expr.math.interpreter/lib')
157-
158-
// Strip version numbers from file names
159-
rename { filename ->
160-
def ra = configurations.bigMath.resolvedConfiguration.resolvedArtifacts.find { ResolvedArtifact ra -> ra.file.name == filename }
161-
String finalName
162-
if (ra.classifier != null) {
163-
finalName = "${ra.name}-${ra.classifier}.${ra.extension}"
164-
} else {
165-
finalName = "${ra.name}.${ra.extension}"
166-
}
167-
return finalName
168-
}
169-
}
170-
171-
task resolveDependencies(dependsOn: ['downloadJbr', resolveMps, resolveLanguageLibs, resolvePcollections, resolveBigMath])
199+
task resolveDependencies(dependsOn: ['downloadJbr', resolveMps, resolveLanguageLibs])
200+
resolveDependencies.dependsOn << bundledDeps.collect {it.resolveTaskName }
172201

173202
ext.mpsHomeDir = resolveMps.destinationDir
174203

@@ -321,10 +350,14 @@ checkmodels {
321350
dependsOn(resolveMps)
322351
}
323352

324-
task packageLanguages(type: Zip, dependsOn: buildLanguages) {
353+
task packageLanguages(type: Zip, dependsOn: [buildLanguages, cyclonedxBom]) {
325354
archiveBaseName = 'org.iets3.opensource'
326-
from artifactsDir
327-
include 'org.iets3.opensource/**'
355+
from(artifactsDir) {
356+
include 'org.iets3.opensource/**'
357+
}
358+
from(reportsDir) {
359+
include 'sbom.json'
360+
}
328361
}
329362

330363
task packageTests(type: Zip, dependsOn: buildAndRunTests) {
@@ -542,15 +575,11 @@ tasks.named('githubRelease').configure {
542575

543576
cyclonedxBom {
544577
// SBOM destination directory
545-
destination = file("build/reports")
578+
destination = reportsDir
546579
// The file name for the generated SBOMs (before the file format suffix)
547580
outputName = "sbom"
548581
// The file format generated, can be xml, json or all for generating both
549582
outputFormat = "json"
550583
// Don't include license texts in generated SBOMs
551584
includeLicenseText = false
552585
}
553-
554-
assemble {
555-
dependsOn('cyclonedxBom')
556-
}

build/scripts/build-allScripts.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@
162162
<classpath>
163163
<fileset file="${artifacts.mps}/lib/mps-references.jar" />
164164
<pathelement path="${build.tmp}/java/out/org.iets3.opensource.build.gentests.rt" />
165-
<fileset file="${iets3.lang.opensource}/solutions/org.iets3.opensource.build.gentests.rt/lib/takari-cpsuite-1.2.7.jar" />
165+
<fileset file="${iets3.lang.opensource}/solutions/org.iets3.opensource.build.gentests.rt/lib/takari-cpsuite.jar" />
166166
<fileset file="${artifacts.com.mbeddr.platform}/com.mbeddr.platform.jar" />
167167
<fileset file="${artifacts.com.mbeddr.platform}/de.itemis.mps.extensions.build/languages/de.itemis.mps.extensions.build/de.itemis.mps.extensions.build.jar" />
168168
</classpath>
@@ -324,7 +324,7 @@
324324
</src>
325325
<classpath>
326326
<fileset file="${artifacts.mps}/lib/mps-references.jar" />
327-
<fileset file="${iets3.lang.opensource}/solutions/org.iets3.opensource.build.gentests.rt/lib/takari-cpsuite-1.2.7.jar" />
327+
<fileset file="${iets3.lang.opensource}/solutions/org.iets3.opensource.build.gentests.rt/lib/takari-cpsuite.jar" />
328328
<fileset file="${artifacts.mps}/lib/junit4.jar" />
329329
</classpath>
330330
</javac>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*
2+
!.gitignore
-729 KB
Binary file not shown.

code/languages/org.iets3.opensource/solutions/org.iets3.core.expr.genjava.functionalJava/org.iets3.core.expr.genjava.functionalJava.msd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<solution name="org.iets3.core.expr.genjava.functionalJava" uuid="708a03ad-8699-43c9-821a-6cd00b68e9f8" moduleVersion="0">
33
<models>
4-
<modelRoot contentPath="${module}" type="java_classes">
5-
<sourceRoot location="lib/functionaljava_1.8-4.8-SNAPSHOT.jar" />
4+
<modelRoot type="java_classes" contentPath="${module}/lib">
5+
<sourceRoot location="functionaljava.jar" />
66
</modelRoot>
77
</models>
88
<facets>
9-
<facet type="java" compile="mps" classes="mps" ext="no">
9+
<facet type="java" compile="ext" classes="mps" ext="no">
1010
<classes generated="true" path="${module}/classes_gen" />
11-
<library location="${module}/lib/functionaljava_1.8-4.8-SNAPSHOT.jar" />
11+
<library location="${module}/lib/functionaljava.jar" />
1212
</facet>
1313
</facets>
1414
<dependencies>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
*
1+
*
22
!.gitignore
-56.8 KB
Binary file not shown.

code/languages/org.iets3.opensource/solutions/org.iets3.opensource.allScripts.build/models/org/iets3/opensource/allScripts/build/build.mps

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
</concept>
9090
<concept id="868032131020265945" name="jetbrains.mps.build.mps.structure.BuildMPSPlugin" flags="ng" index="3b7kt6" />
9191
<concept id="5253498789149381388" name="jetbrains.mps.build.mps.structure.BuildMps_Module" flags="ng" index="3bQrTs">
92+
<property id="2928402740576877067" name="javaCode" index="3vZFNd" />
9293
<child id="5253498789149547825" name="sources" index="3bR31x" />
9394
<child id="5253498789149547704" name="dependencies" index="3bR37C" />
9495
</concept>
@@ -403,6 +404,7 @@
403404
<property role="BnDLt" value="true" />
404405
<property role="TrG5h" value="org.iets3.opensource.build.gentests.rt" />
405406
<property role="3LESm3" value="e70ad515-8ff0-4a50-8cb4-41406f14e348" />
407+
<property role="3vZFNd" value="3kCd1ud3JDD/compile_ext" />
406408
<node concept="398BVA" id="3ZBI8Awh4x5" role="3LF7KH">
407409
<ref role="398BVh" node="5wLtKNeTaqD" resolve="iets3.lang.opensource" />
408410
<node concept="2Ry0Ak" id="3ZBI8Awh4x6" role="iGT6I">
@@ -463,18 +465,18 @@
463465
</node>
464466
</node>
465467
</node>
466-
<node concept="1SiIV0" id="67tIbohRuGz" role="3bR37C">
467-
<node concept="1BurEX" id="67tIbohRuG$" role="1SiIV1">
468-
<node concept="398BVA" id="67tIbohRuGm" role="1BurEY">
468+
<node concept="1SiIV0" id="5C16jUTWDYH" role="3bR37C">
469+
<node concept="1BurEX" id="5C16jUTWDYI" role="1SiIV1">
470+
<node concept="398BVA" id="5C16jUTWDYw" role="1BurEY">
469471
<ref role="398BVh" node="5wLtKNeTaqD" resolve="iets3.lang.opensource" />
470-
<node concept="2Ry0Ak" id="67tIbohRuGn" role="iGT6I">
472+
<node concept="2Ry0Ak" id="5C16jUTWDYx" role="iGT6I">
471473
<property role="2Ry0Am" value="solutions" />
472-
<node concept="2Ry0Ak" id="67tIbohRuGo" role="2Ry0An">
474+
<node concept="2Ry0Ak" id="5C16jUTWDYy" role="2Ry0An">
473475
<property role="2Ry0Am" value="org.iets3.opensource.build.gentests.rt" />
474-
<node concept="2Ry0Ak" id="67tIbohRuGp" role="2Ry0An">
476+
<node concept="2Ry0Ak" id="5C16jUTWDYz" role="2Ry0An">
475477
<property role="2Ry0Am" value="lib" />
476-
<node concept="2Ry0Ak" id="67tIbohRuGq" role="2Ry0An">
477-
<property role="2Ry0Am" value="takari-cpsuite-1.2.7.jar" />
478+
<node concept="2Ry0Ak" id="5C16jUTWDY$" role="2Ry0An">
479+
<property role="2Ry0Am" value="takari-cpsuite.jar" />
478480
</node>
479481
</node>
480482
</node>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*
2+
!.gitignore
-22 KB
Binary file not shown.

0 commit comments

Comments
 (0)