From dcd4fd9cebbeee4b3387660579d516c448c6b4bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergej=20Ko=C5=A1=C4=8Dejev?= Date: Fri, 10 Jan 2025 17:53:33 +0100 Subject: [PATCH 1/4] Add empty build-logic project --- .gitignore | 2 +- build-logic/build.gradle.kts | 3 +++ build-logic/settings.gradle.kts | 0 settings.gradle.kts | 2 ++ 4 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 build-logic/build.gradle.kts create mode 100644 build-logic/settings.gradle.kts diff --git a/.gitignore b/.gitignore index 186e81410e8..9074feb0dcc 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ /build/ /artifacts/ /scripts/ -/.gradle/ +.gradle/ /MPS/ /tmp/ diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts new file mode 100644 index 00000000000..46f9c3f71d9 --- /dev/null +++ b/build-logic/build.gradle.kts @@ -0,0 +1,3 @@ +plugins { + `kotlin-dsl` +} \ No newline at end of file diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle.kts new file mode 100644 index 00000000000..e69de29bb2d diff --git a/settings.gradle.kts b/settings.gradle.kts index fe5590b300f..839abe5a870 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -3,6 +3,8 @@ pluginManagement { maven("https://artifacts.itemis.cloud/repository/maven-mps/") gradlePluginPortal() } + + includeBuild("build-logic") } val subprojectPaths = listOf("com.mbeddr", From bb20417099c957af21f8776527bc1c0dfa5b1462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergej=20Ko=C5=A1=C4=8Dejev?= Date: Fri, 10 Jan 2025 21:33:57 +0100 Subject: [PATCH 2/4] Upgrade Gradle to 8.12 --- gradle/wrapper/gradle-wrapper.jar | Bin 43504 -> 43583 bytes gradle/wrapper/gradle-wrapper.properties | 4 ++-- gradlew | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 2c3521197d7c4586c843d1d3e9090525f1898cde..a4b76b9530d66f5e68d973ea569d8e19de379189 100644 GIT binary patch delta 3990 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 68e8816d71c..e1b837a19c2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionSha256Sum=7a00d51fb93147819aab76024feece20b6b84e420694101f276be952e08bef03 +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index f5feea6d6b1..f3b75f3b0d4 100755 --- a/gradlew +++ b/gradlew @@ -86,8 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s -' "$PWD" ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum From 3be982c1a97964b9962ecadaa9a0b697642835a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergej=20Ko=C5=A1=C4=8Dejev?= Date: Mon, 13 Jan 2025 17:05:25 +0100 Subject: [PATCH 3/4] build: add build-logic, use jbr-toolchain * Specify the version and type of the JBR to use in the version catalog. * Use jbr-toolchain plugin to resolve the JBR. This makes it possible to share the JBR between subprojects without special tasks and task dependencies (as these are discouraged by Gradle). --- .gitignore | 2 +- build-logic/.gitignore | 3 +++ build-logic/build.gradle.kts | 13 ++++++++++++- build-logic/settings.gradle.kts | 7 +++++++ build-logic/src/main/kotlin/LazyString.kt | 13 +++++++++++++ .../kotlin/buildlogic.mps-conventions.gradle.kts | 16 ++++++++++++++++ build.gradle | 12 ------------ gradle/libs.versions.toml | 6 ++++++ subprojects/com.mbeddr/build.gradle | 16 +++++----------- subprojects/com.mbeddr/languages/build.gradle | 1 + subprojects/com.mbeddr/platform/build.gradle | 1 + 11 files changed, 65 insertions(+), 25 deletions(-) create mode 100644 build-logic/.gitignore create mode 100644 build-logic/src/main/kotlin/LazyString.kt create mode 100644 build-logic/src/main/kotlin/buildlogic.mps-conventions.gradle.kts create mode 100644 gradle/libs.versions.toml diff --git a/.gitignore b/.gitignore index 9074feb0dcc..186e81410e8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ /build/ /artifacts/ /scripts/ -.gradle/ +/.gradle/ /MPS/ /tmp/ diff --git a/build-logic/.gitignore b/build-logic/.gitignore new file mode 100644 index 00000000000..f5e40e24f7c --- /dev/null +++ b/build-logic/.gitignore @@ -0,0 +1,3 @@ +/.gradle/ +/build/ +/.kotlin/ diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index 46f9c3f71d9..d18c23e03fb 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -1,3 +1,14 @@ plugins { `kotlin-dsl` -} \ No newline at end of file +} + +dependencies { + fun plugin(alias: Provider) = alias.map { "${it.pluginId}:${it.pluginId}.gradle.plugin:${it.version}" } + implementation(plugin(libs.plugins.common)) + implementation(plugin(libs.plugins.jbr.toolchain)) +} + +repositories { + maven("https://artifacts.itemis.cloud/repository/maven-mps") + gradlePluginPortal() +} diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle.kts index e69de29bb2d..b5a0fabf664 100644 --- a/build-logic/settings.gradle.kts +++ b/build-logic/settings.gradle.kts @@ -0,0 +1,7 @@ +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + from(files("../gradle/libs.versions.toml")) + } + } +} diff --git a/build-logic/src/main/kotlin/LazyString.kt b/build-logic/src/main/kotlin/LazyString.kt new file mode 100644 index 00000000000..2054df5df55 --- /dev/null +++ b/build-logic/src/main/kotlin/LazyString.kt @@ -0,0 +1,13 @@ +import org.gradle.api.provider.Provider +import java.io.Serializable + +/** + * Allow using a Provider for properties that accept an Object and call toString() on it, + * such as [de.itemis.mps.gradle.RunAntScript.executable]. + */ +class LazyString(private val source: Lazy) : Serializable { + constructor(source: () -> String) : this(lazy(source)) + constructor(source: Provider) : this(source::get) + + override fun toString() = source.value +} diff --git a/build-logic/src/main/kotlin/buildlogic.mps-conventions.gradle.kts b/build-logic/src/main/kotlin/buildlogic.mps-conventions.gradle.kts new file mode 100644 index 00000000000..4aab2826628 --- /dev/null +++ b/build-logic/src/main/kotlin/buildlogic.mps-conventions.gradle.kts @@ -0,0 +1,16 @@ +import de.itemis.mps.gradle.RunAntScript + +plugins { + id("com.specificlanguages.jbr-toolchain") + id("de.itemis.mps.gradle.common") +} + +// Use the JBR dependency from the version catalog +dependencies { + jbr(versionCatalogs.named("libs").findLibrary("jbr").get()) +} + +// Use the specified JBR for all RunAntScript tasks +tasks.withType().configureEach { + executable = LazyString(jbrToolchain.javaLauncher.map { it.executablePath.toString() }) +} diff --git a/build.gradle b/build.gradle index 9b274402742..a7892b3f822 100644 --- a/build.gradle +++ b/build.gradle @@ -1,20 +1,14 @@ import de.itemis.mps.gradle.GitBasedVersioning -import de.itemis.mps.gradle.RunAntScript plugins { id 'de.itemis.mps.gradle.common' version '1.28.+' - id 'download-jbr' version '1.28.+' } repositories { maven { url 'https://artifacts.itemis.cloud/repository/maven-mps' } } -downloadJbr { - jbrVersion = '17.0.6-b653.34' -} - ext.defaultSnapshotRepository = 'https://artifacts.itemis.cloud/repository/maven-mps-snapshots/' ext.defaultReleaseRepository = 'https://artifacts.itemis.cloud/repository/maven-mps-releases/' @@ -29,10 +23,6 @@ ext.artifactsDir = new File(rootDir, 'artifacts') ext.ciBuild = project.findProperty("forceCI") ?: !project.findProperty('mpsHomeDir') && project.hasProperty("teamcity") -afterEvaluate { - ext["itemis.mps.gradle.ant.defaultJavaExecutable"] = tasks.getByName('downloadJbr').javaExecutable -} - def hasNonEmptyProperty(property) { return project.hasProperty(property) && !project.getProperty(property).empty } @@ -138,7 +128,5 @@ subprojects { println "Local build detected. mbeddr version $ext.mbeddrBuildNumber, mbeddr platform version $ext.mbeddrPlatformBuildNumber" } - tasks.withType(RunAntScript).configureEach(task -> { task.dependsOn(':downloadJbr') }) - } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000000..9c500ec074b --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,6 @@ +[plugins] +common = "de.itemis.mps.gradle.common:1.28.+" +jbr-toolchain = "com.specificlanguages.jbr-toolchain:1.0.0" + +[libraries] +jbr = "com.jetbrains.jdk:jbr_jcef:17.0.8.1-b1000.32" diff --git a/subprojects/com.mbeddr/build.gradle b/subprojects/com.mbeddr/build.gradle index 5f328461469..29ce84bf8ab 100755 --- a/subprojects/com.mbeddr/build.gradle +++ b/subprojects/com.mbeddr/build.gradle @@ -1,16 +1,10 @@ import de.itemis.mps.gradle.tasks.MpsMigrate import de.itemis.mps.gradle.tasks.Remigrate -import de.itemis.mps.gradle.downloadJBR.DownloadJbrForPlatform plugins { - id 'de.itemis.mps.gradle.common' + id 'buildlogic.mps-conventions' } -apply plugin: 'download-jbr' - -downloadJbr { - jbrVersion = '17.0.8.1-b1000.32' -} // path variables // If mpsHomeDir is set explicitly, skip the MPS resolution step and use the explicit path (which may be relative from // the root directory). @@ -185,8 +179,8 @@ List projectDirectoriesInDependencyOrder = projectsInDependencyOrder.colle } tasks.register('migrate', MpsMigrate) { - dependsOn(':com.mbeddr:platform:generate_platform_languages', 'downloadJbr') - javaLauncher = tasks.named('downloadJbr', DownloadJbrForPlatform).flatMap { it.javaLauncher } + dependsOn(':com.mbeddr:platform:generate_platform_languages') + javaLauncher = jbrToolchain.javaLauncher mpsHome = mpsHomeDir projectDirectories.from(projectDirectoriesInDependencyOrder) @@ -199,8 +193,8 @@ tasks.register('migrate', MpsMigrate) { } tasks.register('remigrate', Remigrate) { - dependsOn(':com.mbeddr:platform:generate_platform_languages', 'downloadJbr') - javaLauncher = tasks.named('downloadJbr', DownloadJbrForPlatform).flatMap { it.javaLauncher } + dependsOn(':com.mbeddr:platform:generate_platform_languages') + javaLauncher = jbrToolchain.javaLauncher mpsHome = mpsHomeDir projectDirectories.from(projectDirectoriesInDependencyOrder) diff --git a/subprojects/com.mbeddr/languages/build.gradle b/subprojects/com.mbeddr/languages/build.gradle index db84b69971e..ea204307846 100755 --- a/subprojects/com.mbeddr/languages/build.gradle +++ b/subprojects/com.mbeddr/languages/build.gradle @@ -3,6 +3,7 @@ import de.itemis.mps.gradle.* plugins { id 'base' id 'maven-publish' + id 'buildlogic.mps-conventions' } // :com.mbeddr.build diff --git a/subprojects/com.mbeddr/platform/build.gradle b/subprojects/com.mbeddr/platform/build.gradle index 775780603a4..2226c5b73f1 100755 --- a/subprojects/com.mbeddr/platform/build.gradle +++ b/subprojects/com.mbeddr/platform/build.gradle @@ -1,6 +1,7 @@ plugins { id 'base' id 'maven-publish' + id 'buildlogic.mps-conventions' } import de.itemis.mps.gradle.* From 48be38eff4120b67626833a3fa81b93ba9558062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergej=20Ko=C5=A1=C4=8Dejev?= Date: Sun, 12 Jan 2025 12:59:32 +0100 Subject: [PATCH 4/4] build(distribution): remove unused properties --- subprojects/com.mbeddr/distribution/build.gradle | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/subprojects/com.mbeddr/distribution/build.gradle b/subprojects/com.mbeddr/distribution/build.gradle index b942e242076..6f2a96971d7 100644 --- a/subprojects/com.mbeddr/distribution/build.gradle +++ b/subprojects/com.mbeddr/distribution/build.gradle @@ -1,19 +1,15 @@ import de.itemis.mps.gradle.* configurations { - junitAnt mbeddr - jreWin } -ext.jdkVersion = '17.0.3-b469.32' dependencies { mbeddr "com.mbeddr:mbeddr:$mbeddrBuildNumber" - jreWin "com.jetbrains.jdk:jbr:${jdkVersion}:windows-x64@tgz" } task resolve_mbeddr() { - doLast { + doLast { copy { from { configurations.mbeddr.resolve().collect { zipTree(it) }