Skip to content

Commit fbe07d6

Browse files
author
Alexander Pann
committed
Merge remote-tracking branch 'refs/remotes/origin/master' into feature/mps_preleases
# Conflicts: # build.gradle
2 parents 2f4226f + 4bcee95 commit fbe07d6

File tree

14 files changed

+227
-189
lines changed

14 files changed

+227
-189
lines changed

.github/workflows/vulnerability-scanning.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
- name: Checkout
99
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
1010
- name: Setup Java
11-
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4
11+
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4
1212
with:
1313
distribution: temurin
1414
java-version: 17

build.gradle

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

9697

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

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

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

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

122184

@@ -135,41 +197,8 @@ task resolveLanguageLibs(type: Sync) {
135197
into "$buildDir/dependencies"
136198
}
137199

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

174203
ext.mpsHomeDir = resolveMps.destinationDir
175204

@@ -318,10 +347,14 @@ afterEvaluate { project ->
318347
}
319348

320349

321-
task packageLanguages(type: Zip, dependsOn: buildLanguages) {
350+
task packageLanguages(type: Zip, dependsOn: [buildLanguages, cyclonedxBom]) {
322351
archiveBaseName = 'org.iets3.opensource'
323-
from artifactsDir
324-
include 'org.iets3.opensource/**'
352+
from(artifactsDir) {
353+
include 'org.iets3.opensource/**'
354+
}
355+
from(reportsDir) {
356+
include 'sbom.json'
357+
}
325358
}
326359

327360
task packageTests(type: Zip, dependsOn: buildAndRunTests) {
@@ -539,15 +572,11 @@ tasks.named('githubRelease').configure {
539572

540573
cyclonedxBom {
541574
// SBOM destination directory
542-
destination = file("build/reports")
575+
destination = reportsDir
543576
// The file name for the generated SBOMs (before the file format suffix)
544577
outputName = "sbom"
545578
// The file format generated, can be xml, json or all for generating both
546579
outputFormat = "json"
547580
// Don't include license texts in generated SBOMs
548581
includeLicenseText = false
549582
}
550-
551-
assemble {
552-
dependsOn('cyclonedxBom')
553-
}

build/scripts/build-allScripts.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@
164164
<classpath>
165165
<fileset file="${artifacts.mps}/lib/mps-references.jar" />
166166
<pathelement path="${build.tmp}/java/out/org.iets3.opensource.build.gentests.rt" />
167-
<fileset file="${iets3.lang.opensource}/solutions/org.iets3.opensource.build.gentests.rt/lib/takari-cpsuite-1.2.7.jar" />
167+
<fileset file="${iets3.lang.opensource}/solutions/org.iets3.opensource.build.gentests.rt/lib/takari-cpsuite.jar" />
168168
<fileset file="${artifacts.com.mbeddr.platform}/com.mbeddr.platform.jar" />
169169
<fileset file="${artifacts.com.mbeddr.platform}/de.itemis.mps.extensions.build/languages/de.itemis.mps.extensions.build/de.itemis.mps.extensions.build.jar" />
170170
</classpath>
@@ -326,7 +326,7 @@
326326
</src>
327327
<classpath>
328328
<fileset file="${artifacts.mps}/lib/mps-references.jar" />
329-
<fileset file="${iets3.lang.opensource}/solutions/org.iets3.opensource.build.gentests.rt/lib/takari-cpsuite-1.2.7.jar" />
329+
<fileset file="${iets3.lang.opensource}/solutions/org.iets3.opensource.build.gentests.rt/lib/takari-cpsuite.jar" />
330330
<fileset file="${artifacts.mps}/lib/junit4.jar" />
331331
</classpath>
332332
</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

0 commit comments

Comments
 (0)