diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 321262a513..5a9d66b1af 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -23,6 +23,9 @@ jobs: steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' - name: Set up JDK uses: actions/setup-java@v4 with: @@ -61,7 +64,7 @@ jobs: # exceeds this limit. Therefore, we combine the individual runs in the SARIF files. - uses: actions/setup-node@v4 with: - node-version: '20.x' + node-version-file: '.nvmrc' - name: Combine SARIF files run: | npx @microsoft/sarif-multitool merge --merge-runs --output-file merged.sarif $(find . -iname '*.sarif*') diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 8d264b19a2..416be040a9 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -10,6 +10,9 @@ jobs: steps: - name: Checkout Project uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' - name: Set up JDK uses: actions/setup-java@v4 with: diff --git a/.github/workflows/dry-run-release.yml b/.github/workflows/dry-run-release.yml index 9e7f76b678..fce3390c7f 100644 --- a/.github/workflows/dry-run-release.yml +++ b/.github/workflows/dry-run-release.yml @@ -30,7 +30,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version-file: '.nvmrc' - name: Cache Node packages uses: actions/cache@v4 with: diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index c01acfc966..9c2b8604ea 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: 20 + node-version-file: '.nvmrc' - uses: actions/cache@v4 with: path: node_modules diff --git a/.github/workflows/mps-compatibility.yaml b/.github/workflows/mps-compatibility.yaml index d4d61713b1..4e69c17427 100644 --- a/.github/workflows/mps-compatibility.yaml +++ b/.github/workflows/mps-compatibility.yaml @@ -28,6 +28,9 @@ jobs: steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' - name: Set up JDK uses: actions/setup-java@v4 with: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f64ebb2def..14285a1580 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: '18.3.0' + node-version-file: '.nvmrc' registry-url: 'https://artifacts.itemis.cloud/repository/npm-open/' scope: '<@modelix>' - name: Set up JDK diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 27f2a3eb3d..d9830ab941 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -15,10 +15,9 @@ jobs: with: fetch-depth: 0 token: ${{ secrets.RELEASE_TOKEN }} - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/setup-node@v4 with: - node-version: 20 + node-version-file: '.nvmrc' - name: Cache Node packages uses: actions/cache@v4 with: diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000000..1d9b7831ba --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +22.12.0 diff --git a/build-logic/src/main/kotlin/org/modelix/GenerateVersion.kt b/build-logic/src/main/kotlin/org/modelix/GenerateVersion.kt index 8c4481683f..8c5199623b 100644 --- a/build-logic/src/main/kotlin/org/modelix/GenerateVersion.kt +++ b/build-logic/src/main/kotlin/org/modelix/GenerateVersion.kt @@ -52,6 +52,10 @@ fun Project.registerVersionGenerationTask(packageName: String) { } } + tasks.withType().all { + dependsOn(generateVersionVariable) + } + tasks.withType().all { dependsOn(generateVersionVariable) } diff --git a/model-client/build.gradle.kts b/model-client/build.gradle.kts index 65219ab581..da3144d437 100644 --- a/model-client/build.gradle.kts +++ b/model-client/build.gradle.kts @@ -1,3 +1,4 @@ +import dev.petuska.npm.publish.task.NodeExecTask import dev.petuska.npm.publish.task.NpmPackTask plugins { @@ -152,4 +153,6 @@ npmPublish { } } -tasks.named("packJsPackage") { dependsOn(":setupNodeEverywhere") } +tasks.withType(NodeExecTask::class) { + dependsOn(":setupNodeEverywhere") +} diff --git a/renovate.json5 b/renovate.json5 index 121fbefb3f..3b4b1e4740 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -11,5 +11,6 @@ enabledManagers: [ "pre-commit", "gradle-wrapper", + "nvm", ], } diff --git a/ts-model-api/build.gradle.kts b/ts-model-api/build.gradle.kts index 1a1d393c24..66c3486a2e 100644 --- a/ts-model-api/build.gradle.kts +++ b/ts-model-api/build.gradle.kts @@ -1,3 +1,6 @@ +import dev.petuska.npm.publish.task.NodeExecTask +import org.gradle.kotlin.dsl.withType + plugins { base alias(libs.plugins.node) @@ -80,4 +83,6 @@ npmPublish { } } -tasks.named("packJsPackage") { dependsOn(":setupNodeEverywhere") } +tasks.withType(NodeExecTask::class) { + dependsOn(":setupNodeEverywhere") +} diff --git a/vue-model-api/build.gradle.kts b/vue-model-api/build.gradle.kts index 529ef91756..1f395f3901 100644 --- a/vue-model-api/build.gradle.kts +++ b/vue-model-api/build.gradle.kts @@ -1,7 +1,9 @@ import com.github.gradle.node.npm.task.NpmTask +import dev.petuska.npm.publish.task.NodeExecTask import dev.petuska.npm.publish.task.NpmPackTask import groovy.json.JsonOutput import groovy.json.JsonSlurper +import org.gradle.kotlin.dsl.withType plugins { base @@ -135,4 +137,6 @@ tasks.assemble { dependsOn("packJsPackage") } -tasks.named("packJsPackage") { dependsOn(":setupNodeEverywhere") } +tasks.withType(NodeExecTask::class) { + dependsOn(":setupNodeEverywhere") +}