Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
785fa8b
build: prepare for publishing snapshots
sergej-koscejev Apr 22, 2026
2b2fb88
build: set SNAPSHOT version
sergej-koscejev Apr 22, 2026
ae969fa
build: remove unused 'mps' configuration
sergej-koscejev Apr 22, 2026
234ed26
Remove old plugins (generate-models, modelcheck, run-migrations, down…
sergej-koscejev Apr 13, 2026
d2e6805
Restore ErrorMessages object
sergej-koscejev Apr 13, 2026
726fd02
Define MpsTask and MpsProjectTask interfaces
sergej-koscejev Apr 13, 2026
e27396c
Implement MpsProjectTask on MpsGenerate, remove varMacros
sergej-koscejev Apr 13, 2026
df7d914
Implement MpsProjectTask on MpsCheck
sergej-koscejev Apr 13, 2026
105a1b8
Implement MpsProjectTask on MpsExecute
sergej-koscejev Apr 13, 2026
32bfb50
Implement MpsProjectTask on MpsMigrate
sergej-koscejev Apr 13, 2026
f9989b5
Add javaLauncher to MpsTask interface
sergej-koscejev Apr 13, 2026
b92c41b
Implement MpsProjectTask on Remigrate
sergej-koscejev Apr 13, 2026
576d40a
Implement MpsTask on RunAntScript
sergej-koscejev Apr 13, 2026
268e6b7
Remove addVarMacros and dead addPluginRoots overload
sergej-koscejev Apr 13, 2026
2a1cb7d
Add integration tests for MpsTask and MpsProjectTask withType configu…
sergej-koscejev Apr 13, 2026
f0450f8
Regenerate API file for MpsTask/MpsProjectTask interfaces
sergej-koscejev Apr 13, 2026
71f6750
Add 3.0.0 changelog entries
sergej-koscejev Apr 14, 2026
e80418b
Update docs for 3.0.0 changes
sergej-koscejev Apr 14, 2026
c3561af
Use Kotlin property assignment syntax for Gradle properties
sergej-koscejev Apr 14, 2026
cea5bde
Move mpsVersion to MpsTask and add task annotations to interfaces
sergej-koscejev Apr 14, 2026
b39c120
build: remove .java-version
sergej-koscejev Apr 22, 2026
4e059ab
Move plugin into :mps-gradle-plugin subproject
sergej-koscejev Apr 22, 2026
f80262d
Extract MpsTask and MpsProjectTask into :mps-gradle-plugin-api includ…
sergej-koscejev Apr 22, 2026
d47b0a4
Fix flaky RemigrateTest by applying foojay resolver in its test settings
sergej-koscejev Apr 22, 2026
2ff3304
Add Renovate config with custom managers for versions in test sources
sergej-koscejev Apr 22, 2026
fe64e76
Remove macOS packaging tasks and DownloadJbrForPlatform
sergej-koscejev Apr 22, 2026
3af6615
Remove GetMpsInBrowser
sergej-koscejev Apr 22, 2026
7dd4110
Upgrade to Gradle 9.4.1 and simplify Kotlin setup
sergej-koscejev Apr 22, 2026
576a4f8
Fix Renovate regex managers for test-file versions
sergej-koscejev Apr 22, 2026
b8aa069
Extract test MPS version into a single constant
sergej-koscejev Apr 22, 2026
9566218
Add aggregating tasks to the root project
sergej-koscejev Apr 22, 2026
0bdbacb
Bump MPS version in tests to 2025.1.2
sergej-koscejev Apr 22, 2026
2be70ca
Extract foojay-resolver-convention version used by tests
sergej-koscejev Apr 22, 2026
f6c7c24
Rewrite mps-gradle-plugin-api in Java
sergej-koscejev Apr 22, 2026
f466326
build: only run on Java 17 but provision 21 for migration tests
sergej-koscejev Apr 22, 2026
0335cef
Update dependency org.gradle.toolchains.foojay-resolver-convention to v1
renovate[bot] Apr 22, 2026
1241745
Release mps-gradle-plugin-api 1.0.0
sergej-koscejev Apr 23, 2026
04d02e2
Add README for mps-gradle-plugin-api, clarify jbr-toolchain replacement
sergej-koscejev Apr 23, 2026
30d5dcc
Move shared task properties from MpsProjectTask to MpsTask
sergej-koscejev Apr 23, 2026
0b54d97
RunAntScript: use inherited logLevel and javaLauncher; require mpsHome
sergej-koscejev Apr 23, 2026
4a5ff01
RunAntScript: convert to lazy properties; drop ext-property defaults
sergej-koscejev Apr 23, 2026
4a1c1be
RunAntScript: script as RegularFileProperty, extract workingDirectory
sergej-koscejev Apr 23, 2026
a149d5a
RunAntScript: drop incremental build support
sergej-koscejev Apr 23, 2026
33113fe
CHANGELOG: drop stale incremental mention from RunAntScript lazy-prop…
sergej-koscejev Apr 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 11 additions & 16 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,36 +19,31 @@ concurrency:

jobs:
build:
name: Build (JDK ${{ matrix.java }})
name: Build
runs-on: ubuntu-latest
permissions:
contents: read
strategy:
matrix:
java: [ 11, 17, 21 ]
steps:
- uses: actions/checkout@v4
# Java 11 is always needed to run the tests because they use MPS 2021.x
- name: Set up Java 11
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
- uses: actions/setup-java@v3
- uses: actions/checkout@v6

# Set up Java to run Gradle. Gradle will then download the appropriate version(s) to compile the projects or run
# tests.
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: ${{ matrix.java }}
- uses: gradle/actions/setup-gradle@v3
java-version: 17

- uses: gradle/actions/setup-gradle@v6
- name: Build with Gradle
run: ./gradlew build
- name: Upload JUnit XMLs
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
if: failure()
with:
name: junit-xmls
path: '**/build/test-results/**/TEST-*.xml'
retention-days: 7
- uses: mikepenz/action-junit-report@v5
- uses: mikepenz/action-junit-report@v6
if: success() || failure()
with:
report_paths: '**/build/test-results/**/TEST-*.xml'
Expand Down
1 change: 0 additions & 1 deletion .java-version

This file was deleted.

416 changes: 0 additions & 416 deletions api/mps-gradle-plugin.api

This file was deleted.

166 changes: 6 additions & 160 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,163 +1,9 @@
import de.itemis.mps.gradle.GitBasedVersioning
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion

buildscript {
configurations.classpath {
resolutionStrategy.activateDependencyLocking()
}

dependencies {
classpath("de.itemis.mps.gradle:git-based-versioning")
}
}

plugins {
groovy
`java-gradle-plugin`
`kotlin-dsl`
`maven-publish`
kotlin("jvm") version libs.versions.kotlin
alias(libs.plugins.kotlin.compatibility.validator)
}

group = "de.itemis.mps"

val baseVersion = "3.0.0-dev"
val currentBranch : String? = GitBasedVersioning.getGitBranch()

version = if (!project.hasProperty("useSnapshot") &&
(project.hasProperty("forceCI") || project.hasProperty("teamcity"))
) {
val prefix = when (currentBranch) {
null, "", "v1.x", "HEAD", "master", "main" -> ""
else -> "$currentBranch."
}

val suffix = ".${GitBasedVersioning.getGitCommitCount()}.${GitBasedVersioning.getGitShortCommitHash()}"

prefix + baseVersion + suffix
} else {
"$baseVersion-SNAPSHOT"
}

val mpsConfiguration = configurations.create("mps")

repositories {
mavenCentral()
// For mps-build-backends, during tests
maven(url = "https://artifacts.itemis.cloud/repository/maven-mps")
}

dependencyLocking {
lockAllConfigurations()
}

dependencies {
api(libs.itemis.gradle.git.based.versioning)
implementation(libs.kotlin.stdlib)
implementation(libs.swiftzer.semver)
implementation(libs.itemis.gradle.build.backends.launcher)
testImplementation(libs.junit)
}

tasks.test {
useJUnit()
}

gradlePlugin {
plugins {
register("generate-models") {
id = "generate-models"
implementationClass = "de.itemis.mps.gradle.generate.GenerateMpsProjectPlugin"
}
register("modelcheck") {
id = "modelcheck"
implementationClass = "de.itemis.mps.gradle.modelcheck.ModelcheckMpsProjectPlugin"
}
register("migrations-executor") {
id = "run-migrations"
implementationClass = "de.itemis.mps.gradle.runmigrations.RunMigrationsMpsProjectPlugin"
}
register("download-jbr") {
id = "download-jbr"
implementationClass = "de.itemis.mps.gradle.downloadJBR.DownloadJbrProjectPlugin"
}
}
}

tasks.register("setTeamCityBuildNumber") {
doLast {
println("##teamcity[buildNumber '$version']")
}
}

publishing {
repositories {
maven {
name = "itemisCloud"
url = uri("https://artifacts.itemis.cloud/repository/maven-mps-releases/")
if (project.hasProperty("artifacts.itemis.cloud.user") && project.hasProperty("artifacts.itemis.cloud.pw")) {
credentials {
username = project.findProperty("artifacts.itemis.cloud.user") as String?
password = project.findProperty("artifacts.itemis.cloud.pw") as String?
}
}
}
if (currentBranch == "master" || currentBranch == "v1.x") {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/mbeddr/mps-gradle-plugin")
if(project.hasProperty("gpr.token")) {
credentials {
username = project.findProperty("gpr.user") as String?
password = project.findProperty("gpr.token") as String?
}
}
}
}
}

publications.withType<MavenPublication>().configureEach {
versionMapping {
allVariants {
fromResolutionResult()
}
}
pom {
url.set("https://github.com/mbeddr/mps-gradle-plugin")
licenses {
license {
name.set("The Apache License, Version 2.0")
url.set("https://www.apache.org/licenses/LICENSE-2.0.txt")
}
}
scm {
connection.set("scm:git:git://github.com/mbeddr/mps-gradle-plugin.git")
developerConnection.set("scm:git:ssh://github.com/mbeddr/mps-gradle-plugin.git")
url.set("https://github.com/mbeddr/mps-gradle-plugin")
}
}
}
}

java {
targetCompatibility = JavaVersion.VERSION_11
withSourcesJar()
}

kotlin {
compilerOptions {
jvmTarget = JvmTarget.fromTarget(libs.versions.kotlinJvmTarget.get())
apiVersion = KotlinVersion.fromVersion(libs.versions.kotlinApi.get())
allWarningsAsErrors = true
}
}

apiValidation {
ignoredClasses.add("de.itemis.mps.gradle.Common_gradle")
tasks.register("build") {
description = "Aggregates the build task of each included build."
dependsOn(gradle.includedBuilds.map { it.task(":build") })
}

tasks.test {
maxParallelForks = (Runtime.getRuntime().availableProcessors() * 2 / 3).coerceAtLeast(1)
tasks.register("publishToMavenLocal") {
description = "Aggregates the publishToMavenLocal task of each included build."
dependsOn(gradle.includedBuilds.map { it.task(":publishToMavenLocal") })
}
35 changes: 0 additions & 35 deletions buildscript-gradle.lockfile

This file was deleted.

57 changes: 0 additions & 57 deletions docs/plugins/download-jbr.md

This file was deleted.

67 changes: 0 additions & 67 deletions docs/plugins/generate.md

This file was deleted.

Loading