Skip to content

Commit a820e29

Browse files
committed
Merge remote-tracking branch 'origin/master' into datev-staging
# Conflicts: # code/languages/org.iets3.opensource/tests/test.in.expr.os/models/[email protected]
2 parents 207e4c7 + fe933fc commit a820e29

File tree

143 files changed

+12587
-7071
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

143 files changed

+12587
-7071
lines changed

build.gradle

Lines changed: 129 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,15 @@ def major = "2020"
6363
def minor = "3"
6464

6565
// Dependency versions
66-
ext.mpsVersion = '2020.3.1'
66+
ext.mpsVersion = '2020.3.4'
6767

6868
def mbeddrVersion = "2020.3+"
6969

7070
// if building a against a special branch from mbeddr is required add the name here
7171
// the name is enough no trailing "." is required, also the plain name from git can
7272
// be used here. No need to convert "/" the script will take care of that.
7373
def mbeddrBranch = ""
74+
def currentBranch = ""
7475

7576

7677
if (mbeddrBranch != null && !mbeddrBranch.trim().isEmpty()) {
@@ -85,10 +86,10 @@ if (project.hasProperty('iets3OpenSourceVersion')) {
8586
version = project.iets3OpenSourceVersion
8687
} else {
8788
if (ciBuild) {
88-
String branch = GitBasedVersioning.gitBranch
89+
currentBranch = GitBasedVersioning.gitBranch
8990

9091
def buildNumber = System.env.BUILD_NUMBER.toInteger()
91-
if (branch.startsWith("maintenance") || branch.startsWith("mps")) {
92+
if (currentBranch.startsWith("maintenance") || currentBranch.startsWith("mps")) {
9293
version = "$major.$minor.$buildNumber.${GitBasedVersioning.gitShortCommitHash}"
9394
} else {
9495
version = GitBasedVersioning.getVersionWithCount(major, minor, buildNumber)
@@ -134,12 +135,14 @@ configurations {
134135
mps
135136
languageLibs
136137
junitAnt
138+
pcollections // Synced to org.iets3.core.expr.base.collections.stubs/lib
137139
}
138140

139141
dependencies {
140142
mps "com.jetbrains:mps:$mpsVersion"
141143
languageLibs "com.mbeddr:platform:$mbeddrVersionSelector"
142144
junitAnt 'org.apache.ant:ant-junit:1.10.6'
145+
pcollections 'org.pcollections:pcollections:3.1.4'
143146
}
144147

145148
repositories {
@@ -158,21 +161,40 @@ repositories {
158161
mavenCentral()
159162
}
160163

161-
task resolveMps(type: Copy) {
164+
task resolveMps(type: Sync) {
162165
dependsOn configurations.mps
163166
from {
164167
configurations.mps.resolve().collect { zipTree(it) }
165168
}
166169
into "$buildDir/mps"
167170
}
168171

169-
task resolveLanguageLibs(type: Copy) {
172+
task resolveLanguageLibs(type: Sync) {
170173
from {
171174
configurations.languageLibs.resolve().collect { zipTree(it) }
172175
}
173176
into "$buildDir/dependencies"
174177
}
175178

179+
task resolvePcollections(type: Sync) {
180+
from configurations.pcollections
181+
into file('code/languages/org.iets3.opensource/solutions/org.iets3.core.expr.base.collections.stubs/lib')
182+
183+
// Strip version numbers from file names
184+
rename { filename ->
185+
def ra = configurations.pcollections.resolvedConfiguration.resolvedArtifacts.find { ResolvedArtifact ra -> ra.file.name == filename }
186+
String finalName
187+
if (ra.classifier != null) {
188+
finalName = "${ra.name}-${ra.classifier}.${ra.extension}"
189+
} else {
190+
finalName = "${ra.name}.${ra.extension}"
191+
}
192+
return finalName
193+
}
194+
}
195+
196+
task resolveDependencies(dependsOn: [resolveLanguageLibs, resolvePcollections])
197+
176198
// Default arguments for ant scripts
177199
def defaultScriptArgs = [
178200
'mps.home' : resolveMps.destinationDir,
@@ -193,7 +215,7 @@ ext["itemis.mps.gradle.ant.defaultScriptArgs"] = defaultScriptArgs.collect { "-D
193215
ext["itemis.mps.gradle.ant.defaultScriptClasspath"] = defaultScriptClasspath
194216
ext["itemis.mps.gradle.ant.defaultJavaExecutable"] = new File(jdk_home, 'bin/java')
195217

196-
task buildAllScripts(type: BuildLanguages, dependsOn: [resolveMps, resolveLanguageLibs]) {
218+
task buildAllScripts(type: BuildLanguages, dependsOn: [resolveMps, resolveDependencies]) {
197219
script "$buildDir/scripts/build-allScripts.xml"
198220
}
199221

@@ -217,12 +239,6 @@ task buildAndRunTests(type: TestLanguages, dependsOn: buildLanguages) {
217239

218240
check.dependsOn buildAndRunTests
219241

220-
task packageAllScripts(type: Zip, dependsOn: buildAllScripts) {
221-
archiveBaseName = 'org.iets3.opensource.allScripts'
222-
from artifactsDir
223-
include 'org.iets3.opensource.allScripts.build/**'
224-
}
225-
226242
task packageLanguages(type: Zip, dependsOn: buildLanguages) {
227243
archiveBaseName = 'org.iets3.opensource'
228244
from artifactsDir
@@ -246,7 +262,28 @@ task packageDistroWithDependencies(type: Zip, dependsOn: buildDistroWithDependen
246262
include 'org.iets3.opensource.distro/**'
247263
}
248264

249-
assemble.dependsOn packageAllScripts, packageLanguages, packageTests
265+
assemble.dependsOn packageLanguages, packageTests
266+
267+
static def addDependency(Object pom, Object groupId, Object artifactId, Object version, Object type = null) {
268+
pom.withXml { XmlProvider prov ->
269+
Node root = prov.asNode()
270+
Node deps = root.dependencies[0] ?: root.appendNode("dependencies")
271+
def dep = deps.appendNode("dependency")
272+
dep.appendNode("groupId", groupId)
273+
dep.appendNode("artifactId", artifactId)
274+
dep.appendNode("version", version)
275+
if (type != null) {
276+
dep.appendNode("type", type)
277+
}
278+
}
279+
}
280+
281+
static def addDependency(Object pom, Configuration config) {
282+
config.resolvedConfiguration.firstLevelModuleDependencies.each {
283+
addDependency(pom, it.moduleGroup, it.moduleName, it.moduleVersion, it.moduleArtifacts[0].type)
284+
}
285+
286+
}
250287

251288
publishing {
252289
repositories {
@@ -260,55 +297,100 @@ publishing {
260297
}
261298
}
262299
}
263-
publications {
264-
allScripts(MavenPublication) {
265-
groupId 'org.iets3.opensource'
266-
artifactId 'allScripts'
267-
artifact packageAllScripts
300+
repositories {
301+
if(currentBranch == "master" || currentBranch.startsWith("maintenance") || currentBranch.startsWith("mps")) {
302+
maven {
303+
name = "GitHubPackages"
304+
url = uri("https://maven.pkg.github.com/IETS3/iets3.opensource")
305+
if(project.hasProperty("gpr.token")) {
306+
credentials {
307+
username = project.findProperty("gpr.user")
308+
password = project.findProperty("gpr.token")
309+
}
310+
}
311+
}
312+
}
268313
}
314+
315+
publications {
269316
openSource(MavenPublication) {
270317
groupId 'org.iets3'
271318
artifactId 'opensource'
272319
artifact packageLanguages
273-
pom.withXml {
274-
def dependenciesNode = asNode().appendNode('dependencies')
275-
configurations.languageLibs.resolvedConfiguration.firstLevelModuleDependencies.each{
276-
def dependencyNode = dependenciesNode.appendNode('dependency')
277-
dependencyNode.appendNode('groupId', it.moduleGroup)
278-
dependencyNode.appendNode('artifactId', it.moduleName)
279-
dependencyNode.appendNode('version', it.moduleVersion)
280-
dependencyNode.appendNode('type', it.moduleArtifacts[0].type)
281-
}
282-
configurations.mps.resolvedConfiguration.firstLevelModuleDependencies.each{
283-
def dependencyNode = dependenciesNode.appendNode('dependency')
284-
dependencyNode.appendNode('groupId', it.moduleGroup)
285-
dependencyNode.appendNode('artifactId', it.moduleName)
286-
dependencyNode.appendNode('version', it.moduleVersion)
287-
dependencyNode.appendNode('type', it.moduleArtifacts[0].type)
288-
dependencyNode.appendNode('scope', 'provided')
289-
}
290-
}
320+
321+
addDependency(pom, configurations.languageLibs)
291322
}
323+
292324
tests(MavenPublication) {
293325
groupId 'org.iets3.opensource'
294326
artifactId 'tests'
295327
artifact packageTests
296-
pom.withXml {
297-
def dependenciesNode = asNode().appendNode('dependencies')
298-
configurations.mps.resolvedConfiguration.firstLevelModuleDependencies.each{
299-
def dependencyNode = dependenciesNode.appendNode('dependency')
300-
dependencyNode.appendNode('groupId', it.moduleGroup)
301-
dependencyNode.appendNode('artifactId', it.moduleName)
302-
dependencyNode.appendNode('version', it.moduleVersion)
303-
dependencyNode.appendNode('type', it.moduleArtifacts[0].type)
304-
}
328+
329+
addDependency(pom, 'org.iets3', 'opensource', project.version, 'zip')
330+
}
331+
332+
def runtimesDir = new File(artifactsDir, 'org.iets3.opensource/org.iets3.core.os/languages/iets3.core.os')
333+
334+
'org.iets3.core.expr.base.shared.runtime'(MavenPublication) {
335+
groupId 'org.iets3.core.expr.base.shared'
336+
artifactId 'shared-runtime'
337+
artifact(new File(runtimesDir, 'org.iets3.core.expr.base.shared.runtime.jar')) {
338+
builtBy buildLanguages
339+
}
340+
artifact(new File(runtimesDir, 'org.iets3.core.expr.base.shared.runtime-src.jar')) {
341+
builtBy buildLanguages
342+
classifier 'sources'
305343
}
306344
}
345+
346+
'org.iets3.core.expr.simpleTypes.runtime'(MavenPublication) {
347+
// GitHub Packages refuse uppercase artifactId (not sure about groupId) so use lower case here
348+
groupId 'org.iets3.core.expr.simpletypes'
349+
artifactId 'simpletypes-runtime'
350+
artifact(new File(runtimesDir, 'org.iets3.core.expr.simpleTypes.runtime.jar')) {
351+
builtBy buildLanguages
352+
}
353+
artifact(new File(runtimesDir, 'org.iets3.core.expr.simpleTypes.runtime-src.jar')) {
354+
builtBy buildLanguages
355+
classifier 'sources'
356+
}
357+
358+
addDependency(pom, 'org.iets3.core.expr.base.shared', 'shared-runtime', project.version)
359+
}
360+
361+
'org.iets3.core.expr.datetime.runtime'(MavenPublication) {
362+
groupId 'org.iets3.core.expr.datetime'
363+
artifactId 'datetime-runtime'
364+
artifact(new File(runtimesDir, 'org.iets3.core.expr.datetime.runtime.jar')) {
365+
builtBy buildLanguages
366+
}
367+
artifact(new File(runtimesDir, 'org.iets3.core.expr.datetime.runtime-src.jar')) {
368+
builtBy buildLanguages
369+
classifier 'sources'
370+
}
371+
372+
addDependency(pom, 'org.iets3.core.expr.base.shared', 'shared-runtime', project.version)
373+
}
374+
375+
'org.iets3.core.expr.temporal.runtime'(MavenPublication) {
376+
groupId 'org.iets3.core.expr.temporal'
377+
artifactId 'temporal-runtime'
378+
artifact(new File(runtimesDir, 'org.iets3.core.expr.temporal.runtime.jar')) {
379+
builtBy buildLanguages
380+
}
381+
artifact(new File(runtimesDir, 'org.iets3.core.expr.temporal.runtime-src.jar')) {
382+
builtBy buildLanguages
383+
classifier 'sources'
384+
}
385+
386+
addDependency(pom, 'org.iets3.core.expr.datetime', 'datetime-runtime', project.version)
387+
}
307388
}
308389
}
309390

391+
310392
task generateLibrariesXml(type: GenerateLibrariesXml) {
311-
dependsOn resolveLanguageLibs
393+
dependsOn resolveDependencies
312394
description "Will read project libraries from projectlibraries.properties and generate libraries.xml in .mps directory. Libraries are loaded in mps during start."
313395
defaults rootProject.file('projectlibraries.properties')
314396
overrides rootProject.file('projectlibraries.overrides.properties')
@@ -317,7 +399,7 @@ task generateLibrariesXml(type: GenerateLibrariesXml) {
317399

318400
task setup {
319401
dependsOn generateLibrariesXml
320-
dependsOn resolveLanguageLibs
402+
dependsOn resolveDependencies
321403
description 'Set up MPS project libraries. Libraries are read in from projectlibraries.properties file.'
322404
}
323405

code/languages/org.iets3.opensource/.mps/modules.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
<modulePath path="$PROJECT_DIR$/solutions/org.iets3.core.expr.base.collections.stubs/org.iets3.core.expr.base.collections.stubs.msd" folder="expr.lang-core" />
7979
<modulePath path="$PROJECT_DIR$/solutions/org.iets3.core.expr.base.interpreter/org.iets3.core.expr.base.interpreter.msd" folder="expr.lang-core" />
8080
<modulePath path="$PROJECT_DIR$/solutions/org.iets3.core.expr.base.runtime/org.iets3.core.expr.base.runtime.msd" folder="expr.lang-core" />
81+
<modulePath path="$PROJECT_DIR$/solutions/org.iets3.core.expr.base.shared.runtime/org.iets3.core.expr.base.shared.runtime.msd" folder="expr.lang-core" />
8182
<modulePath path="$PROJECT_DIR$/solutions/org.iets3.core.expr.collections.interpreter/org.iets3.core.expr.collections.interpreter.msd" folder="expr.lang-core" />
8283
<modulePath path="$PROJECT_DIR$/solutions/org.iets3.core.expr.data.interpreter/org.iets3.core.expr.data.interpreter.msd" folder="expr.lang-advanced" />
8384
<modulePath path="$PROJECT_DIR$/solutions/org.iets3.core.expr.dataflow.interpreter/org.iets3.core.expr.dataflow.interpreter.msd" folder="expr.lang-advanced" />
@@ -132,4 +133,4 @@
132133
<modulePath path="$PROJECT_DIR$/tests/test.ts.expr.os/test.ts.expr.os.msd" folder="expr.tests" />
133134
</projectModules>
134135
</component>
135-
</project>
136+
</project>

code/languages/org.iets3.opensource/_spreferences/CodeReviewPreferences/module.msd

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</facets>
1313
<sourcePath />
1414
<languageVersions>
15-
<language slang="l:d4280a54-f6df-4383-aa41-d1b2bffa7eb1:com.mbeddr.core.base" version="5" />
15+
<language slang="l:d4280a54-f6df-4383-aa41-d1b2bffa7eb1:com.mbeddr.core.base" version="6" />
1616
<language slang="l:7d323e61-8358-4656-a071-a2bb68438615:com.mbeddr.core.codereview" version="0" />
1717
<language slang="l:63e0e566-5131-447e-90e3-12ea330e1a00:com.mbeddr.mpsutil.blutil" version="1" />
1818
<language slang="l:d3a0fd26-445a-466c-900e-10444ddfed52:com.mbeddr.mpsutil.filepicker" version="0" />
@@ -23,6 +23,7 @@
2323
<language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" />
2424
<language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="1" />
2525
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="2" />
26+
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
2627
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
2728
</languageVersions>
2829
<dependencyVersions>

code/languages/org.iets3.opensource/_spreferences/TestExecutionPreferences/module.msd

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</facets>
1313
<sourcePath />
1414
<languageVersions>
15-
<language slang="l:d4280a54-f6df-4383-aa41-d1b2bffa7eb1:com.mbeddr.core.base" version="5" />
15+
<language slang="l:d4280a54-f6df-4383-aa41-d1b2bffa7eb1:com.mbeddr.core.base" version="6" />
1616
<language slang="l:63e0e566-5131-447e-90e3-12ea330e1a00:com.mbeddr.mpsutil.blutil" version="1" />
1717
<language slang="l:d3a0fd26-445a-466c-900e-10444ddfed52:com.mbeddr.mpsutil.filepicker" version="0" />
1818
<language slang="l:d09a16fb-1d68-4a92-a5a4-20b4b2f86a62:com.mbeddr.mpsutil.jung" version="0" />
@@ -22,6 +22,7 @@
2222
<language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" />
2323
<language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="1" />
2424
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="2" />
25+
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
2526
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
2627
<language slang="l:2022a471-10ba-4431-ba5d-622df898f3c6:org.iets3.core.expr.testExecution" version="0" />
2728
</languageVersions>

code/languages/org.iets3.opensource/devkits/org.iets3.core.expr.genjava.core.devkit/org.iets3.core.expr.genjava.core.devkit.devkit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<exported-solution>dbe08fb5-334d-4b64-86a0-622406fa0e87(org.iets3.core.expr.base.runtime)</exported-solution>
1717
<exported-solution>b76a0f63-5959-456b-993a-c796cc0d0c13(org.iets3.core.expr.base.collections.stubs)</exported-solution>
1818
<exported-solution>52a8c4c0-f4b0-4243-bf00-9dfac3472876(org.iets3.core.expr.simpleTypes.runtime)</exported-solution>
19+
<exported-solution>00ca1323-762b-4f39-ab5a-6a6bd602dc4b(org.iets3.core.expr.base.shared.runtime)</exported-solution>
1920
</exported-solutions>
2021
<generation-plan model="r:44582398-dfcf-40ad-bb09-b88bb3cc5de2(org.iets3.core.expr.genjava.core.genplan.genplan)" />
2122
</dev-kit>
Lines changed: 53 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)