diff --git a/.github/actions/bootstrap/action.yml b/.github/actions/bootstrap/action.yml
index c6aea0f6f07..8ab22735c47 100644
--- a/.github/actions/bootstrap/action.yml
+++ b/.github/actions/bootstrap/action.yml
@@ -6,15 +6,15 @@ inputs:
description: "kie-tools path"
required: false
default: "."
- pnpm_filter_string:
- description: "pnpm filter string to choose what to bootstrap"
+ turbo_filter_string:
+ description: "turbo filter string to choose what to bootstrap"
required: false
default: ""
outputs:
- pnpm_filter_string:
+ turbo_filter_string:
description: "Same as the input"
- value: ${{ inputs.pnpm_filter_string }}
+ value: ${{ inputs.turbo_filter_string }}
runs:
using: "composite"
@@ -31,7 +31,7 @@ runs:
run: |
echo "STEP: Bootstrap"
cd ${{ inputs.working_dir }}
- pnpm bootstrap ${{ inputs.pnpm_filter_string }}
+ turbo bootstrap -- ${{ inputs.turbo_filter_string }}
- name: "Print storage usage (after bootstrap)"
shell: bash
diff --git a/.github/actions/setup-ci-patterns/action.yml b/.github/actions/setup-ci-patterns/action.yml
index 6261751e347..e5fa62b2bee 100644
--- a/.github/actions/setup-ci-patterns/action.yml
+++ b/.github/actions/setup-ci-patterns/action.yml
@@ -52,7 +52,7 @@ runs:
const cwd = process.env["CWD"];
- const pnpmWorkspacePackagesRootPaths = ["packages", "examples"].map(p => path.join(cwd, p)).join("\n");
+ const pnpmWorkspacePackagesRootPaths = ["packages", "examples", "scripts"].map(p => path.join(cwd, p)).join("\n");
const nonSourceFilesPatterns = fs.readFileSync(path.join(cwd, "./.github/supporting-files/ci/non-source-files-patterns.txt"), "utf-8");
const nonSourceFilesPatternsForGitDiff = nonSourceFilesPatterns.split("\n").filter(p => p.trim() !== "").map(p => `':!${p}'`).join(" ");
diff --git a/.github/actions/setup-env/action.yml b/.github/actions/setup-env/action.yml
index 95cc66b252f..abc29333d36 100644
--- a/.github/actions/setup-env/action.yml
+++ b/.github/actions/setup-env/action.yml
@@ -52,6 +52,11 @@ runs:
with:
node-version: 18.14.0
+ - name: "Setup turbo"
+ shell: bash
+ run: |
+ npm -g install turbo
+
- name: "Setup JDK 17"
uses: actions/setup-java@v3
with:
diff --git a/.github/workflows/ci_build.yml b/.github/workflows/ci_build.yml
index ef5a5b98253..17c384d8031 100644
--- a/.github/workflows/ci_build.yml
+++ b/.github/workflows/ci_build.yml
@@ -13,6 +13,7 @@ concurrency:
env:
TMPDIR: "/tmp"
+ DO_NOT_TRACK: 1
jobs:
run:
@@ -80,7 +81,7 @@ jobs:
PLAYWRIGHT_BASE__installDeps: "true"
uses: ./.github/actions/bootstrap
- - name: "FULL → Build (without some images)"
+ - name: "FULL → Build"
if: steps.setup_build_mode.outputs.mode == 'full'
env:
WEBPACK__minimize: "false"
@@ -96,99 +97,7 @@ jobs:
START_SERVER_AND_TEST_INSECURE: "true"
NODE_OPTIONS: "--max_old_space_size=4096"
run: >-
- pnpm
- -F='!@kie-tools/serverless-logic-web-tools-swf-dev-mode-image'
- -F='!@kie-tools/dev-deployment-base-image'
- -F='!@kie-tools/dev-deployment-kogito-quarkus-blank-app-image'
- -F='!@kie-tools/dev-deployment-dmn-form-webapp-image'
- -F='!@kie-tools/serverless-logic-web-tools-base-builder-image'
- -F='!@kie-tools/dashbuilder-viewer-image'
- -r --workspace-concurrency=1 build:prod
-
- - name: "FULL → Build → serverless-logic-web-tools-swf-dev-mode-image"
- if: steps.setup_build_mode.outputs.mode == 'full' && runner.os == 'Linux'
- env:
- KIE_TOOLS_BUILD__runTests: "true"
- KIE_TOOLS_BUILD__runEndToEndTests: "true"
- KIE_TOOLS_BUILD__buildContainerImages: "true"
- run: |
- echo "Clean up container image resources"
- if command -v docker &> /dev/null; then
- docker system prune -af
- fi
- if command -v podman &> /dev/null; then
- podman system prune --all --force
- fi
- echo "Build @kie-tools/serverless-logic-web-tools-swf-dev-mode-image"
- pnpm -F @kie-tools/serverless-logic-web-tools-swf-dev-mode-image... --workspace-concurrency=1 build:prod
-
- - name: "FULL → Build → dev-deployment-base-image and dev-deployment-kogito-quarkus-blank-app"
- if: steps.setup_build_mode.outputs.mode == 'full' && runner.os == 'Linux'
- env:
- KIE_TOOLS_BUILD__runTests: "true"
- KIE_TOOLS_BUILD__runEndToEndTests: "true"
- KIE_TOOLS_BUILD__buildContainerImages: "true"
- run: |
- echo "Clean up container image resources"
- if command -v docker &> /dev/null; then
- docker system prune -af
- fi
- if command -v podman &> /dev/null; then
- podman system prune --all --force
- fi
- echo "Build @kie-tools/dev-deployment-base-image"
- pnpm -F @kie-tools/dev-deployment-base-image... -F @kie-tools/dev-deployment-kogito-quarkus-blank-app... --workspace-concurrency=1 build:prod
-
- - name: "FULL → Build → dev-deployment-dmn-form-webapp-image"
- if: steps.setup_build_mode.outputs.mode == 'full' && runner.os == 'Linux'
- env:
- KIE_TOOLS_BUILD__runTests: "true"
- KIE_TOOLS_BUILD__runEndToEndTests: "true"
- KIE_TOOLS_BUILD__buildContainerImages: "true"
- run: |
- echo "Clean up container image resources"
- if command -v docker &> /dev/null; then
- docker system prune -af
- fi
- if command -v podman &> /dev/null; then
- podman system prune --all --force
- fi
- echo "Build @kie-tools/dev-deployment-dmn-form-webapp-image"
- pnpm -F @kie-tools/dev-deployment-dmn-form-webapp-image... --workspace-concurrency=1 build:prod
-
- - name: "FULL → Build → serverless-logic-web-tools-base-builder-image"
- if: steps.setup_build_mode.outputs.mode == 'full' && runner.os == 'Linux'
- env:
- KIE_TOOLS_BUILD__runTests: "true"
- KIE_TOOLS_BUILD__runEndToEndTests: "true"
- KIE_TOOLS_BUILD__buildContainerImages: "true"
- run: |
- echo "Clean up container image resources"
- if command -v docker &> /dev/null; then
- docker system prune -af
- fi
- if command -v podman &> /dev/null; then
- podman system prune --all --force
- fi
- echo "Build @kie-tools/serverless-logic-web-tools-base-builder-image"
- pnpm -F @kie-tools/serverless-logic-web-tools-base-builder-image... --workspace-concurrency=1 build:prod
-
- - name: "FULL → Build → dashbuilder-viewer-image"
- if: steps.setup_build_mode.outputs.mode == 'full' && runner.os == 'Linux'
- env:
- KIE_TOOLS_BUILD__runTests: "true"
- KIE_TOOLS_BUILD__runEndToEndTests: "true"
- KIE_TOOLS_BUILD__buildContainerImages: "true"
- run: |
- echo "Clean up container image resources"
- if command -v docker &> /dev/null; then
- docker system prune -af
- fi
- if command -v podman &> /dev/null; then
- podman system prune --all --force
- fi
- echo "Build @kie-tools/dashbuilder-viewer-image"
- pnpm -F @kie-tools/dashbuilder-viewer-image... --workspace-concurrency=1 build:prod
+ turbo -F boxed-expression-component... build test test-e2e
- name: "PARTIAL → Bootstrap"
if: steps.setup_build_mode.outputs.mode == 'partial'
@@ -196,7 +105,7 @@ jobs:
PLAYWRIGHT_BASE__installDeps: "true"
uses: ./.github/actions/bootstrap
with:
- pnpm_filter_string: -F "...[${{ steps.checkout_pr.outputs.base_sha }}]..."
+ turbo_filter_string: -F "...[${{ steps.checkout_pr.outputs.base_sha }}]..."
- name: "PARTIAL → Build dependencies"
if: steps.setup_build_mode.outputs.mode == 'partial'
@@ -209,7 +118,7 @@ jobs:
export CHANGED_PKGS_EXCLUSION_FILTER=$(pnpm -F="...[${{ steps.checkout_pr.outputs.base_sha }}]" exec bash -c 'echo -n " -F='"'"'!$(jq --raw-output .name package.json)'"'"'"')
echo $ALL_DEPENDENCIES_FILTER
echo $CHANGED_PKGS_EXCLUSION_FILTER
- eval "pnpm $ALL_DEPENDENCIES_FILTER $CHANGED_PKGS_EXCLUSION_FILTER build:dev"
+ eval "turbo $ALL_DEPENDENCIES_FILTER $CHANGED_PKGS_EXCLUSION_FILTER build build-tests"
- name: "PARTIAL → Build changed and dependents"
if: steps.setup_build_mode.outputs.mode == 'partial'
@@ -224,7 +133,7 @@ jobs:
START_SERVER_AND_TEST_INSECURE: "true"
NODE_OPTIONS: "--max_old_space_size=4096"
run: |
- pnpm -F "...[${{ steps.checkout_pr.outputs.base_sha }}]" --workspace-concurrency=1 build:prod
+ turbo -F "...[${{ steps.checkout_pr.outputs.base_sha }}]" --workspace-concurrency=1 lint build test test-e2e
- name: "Check tests result (`main` only)"
if: always() && !cancelled() && steps.setup_build_mode.outputs.mode != 'none'
diff --git a/.github/workflows/ci_check_code_formatting.yml b/.github/workflows/ci_check_code_formatting.yml
index 6b39b7f13cc..a58a6490e1a 100644
--- a/.github/workflows/ci_check_code_formatting.yml
+++ b/.github/workflows/ci_check_code_formatting.yml
@@ -30,5 +30,5 @@ jobs:
shell: bash
run: |
export NODE_OPTIONS=--max_old_space_size=6144
- pnpm bootstrap:root
- pnpm format:check
+ turbo bootstrap:root
+ turbo format:check
diff --git a/.github/workflows/ci_check_dependencies_consistency.yaml b/.github/workflows/ci_check_dependencies_consistency.yaml
index 1dcb2f170c5..16b9be1308c 100644
--- a/.github/workflows/ci_check_dependencies_consistency.yaml
+++ b/.github/workflows/ci_check_dependencies_consistency.yaml
@@ -29,5 +29,5 @@ jobs:
- name: "Check dependencies mismatches"
shell: bash
run: |
- pnpm bootstrap:root
+ turbo bootstrap:root
npx --yes syncpack@6.2.0 list-mismatches
diff --git a/.github/workflows/release_build_extended_services.yml b/.github/workflows/release_build_extended_services.yml
index 1818f7af300..55ab0fea45d 100644
--- a/.github/workflows/release_build_extended_services.yml
+++ b/.github/workflows/release_build_extended_services.yml
@@ -57,12 +57,12 @@ jobs:
id: bootstrap
uses: ./.github/actions/bootstrap
with:
- pnpm_filter_string: -F @kie-tools/extended-services...
+ turbo_filter_string: -F @kie-tools/extended-services...
- name: "Build"
shell: bash
run: |
- pnpm ${{ steps.bootstrap.outputs.pnpm_filter_string }} build:prod
+ turbo ${{ steps.bootstrap.outputs.turbo_filter_string }} lint build test test-e2e
- name: "Upload Extended Services for macOS (macOS only)"
if: ${{ runner.os == 'macOS' && !inputs.dry_run }}
diff --git a/.github/workflows/staging_build_extended_services.yml b/.github/workflows/staging_build_extended_services.yml
index 77e748d85c2..7afee7324c9 100644
--- a/.github/workflows/staging_build_extended_services.yml
+++ b/.github/workflows/staging_build_extended_services.yml
@@ -57,14 +57,14 @@ jobs:
uses: ./kie-tools/.github/actions/bootstrap
with:
working_dir: kie-tools
- pnpm_filter_string: -F @kie-tools/extended-services...
+ turbo_filter_string: -F @kie-tools/extended-services...
- name: "Build Extended Services"
working-directory: ${{ github.workspace }}/kie-tools
env:
EXTENDED_SERVICES__kieSandboxUrl: "https://kiegroup.github.io/kogito-online-staging/${{ inputs.tag }}-prerelease"
run: >-
- pnpm ${{ steps.bootstrap.outputs.pnpm_filter_string }} build:prod
+ turbo ${{ steps.bootstrap.outputs.turbo_filter_string }} lint build test test-e2e
- name: "STAGING: Upload Extended Services for macOS (macOS only)"
if: ${{ runner.os == 'macOS' && !inputs.dry_run }}
diff --git a/.gitignore b/.gitignore
index 24a344a6244..fb14e73de2c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -271,3 +271,6 @@ fabric.properties
packages/bpmn-marshaller/**/ts-gen
packages/dmn-marshaller/**/ts-gen
packages/scesim-marshaller/**/ts-gen
+
+# turborepo
+.turbo
\ No newline at end of file
diff --git a/packages/boxed-expression-component/package.json b/packages/boxed-expression-component/package.json
index 36c6cbf894b..078a70904bd 100644
--- a/packages/boxed-expression-component/package.json
+++ b/packages/boxed-expression-component/package.json
@@ -5,20 +5,20 @@
"license": "Apache-2.0",
"keywords": [],
"scripts": {
- "build:dev": "rimraf dist && pnpm copy:css && tsc -p tsconfig.json",
- "build:prod": "rimraf dist && pnpm copy:css && pnpm lint && tsc -p tsconfig.json && pnpm test && pnpm test:e2e",
- "build:storybook": "storybook build -o dist-storybook",
+ "build:caching": "pnpm copy:css && tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:dev-webapp": "storybook build -o dist-storybook",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
"copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css}\" dist/",
- "deploy": "gh-pages -d dist-dev",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
+ "deploy:dev-webapp": "gh-pages -d dist-dev",
+ "lint": "kie-tools--eslint ./src",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command",
"start": "run-script-os",
- "start:linux:darwin": "cross-env STORYBOOK_PORT=$(build-env boxedExpressionComponent.storybook.port) pnpm storybook-base --storybookArgs=\"dev --no-open\"",
- "start:win32": "pnpm powershell \"cross-env STORYBOOK_PORT=$(build-env boxedExpressionComponent.storybook.port) pnpm storybook-base --storybookArgs='dev --no-open'",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"",
- "test:e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm rimraf ./dist-e2e-tests\" \"pnpm test:e2e:run\"",
- "test:e2e:open": "pnpm exec playwright show-report dist-e2e-tests/reports",
- "test:e2e:run": "pnpm exec playwright test"
+ "start:linux:darwin": "cross-env STORYBOOK_PORT=$(build-env boxedExpressionComponent.storybook.port) pnpm storybook-base --storybookArgs=\"dev\"",
+ "start:win32": "pnpm powershell \"cross-env STORYBOOK_PORT=$(build-env boxedExpressionComponent.storybook.port) pnpm storybook-base --storybookArgs='dev'",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\"",
+ "test-e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool true --then \"pnpm exec playwright test\""
},
"dependencies": {
"@kie-tools-core/i18n": "workspace:*",
diff --git a/packages/chrome-extension-test-helper/package.json b/packages/chrome-extension-test-helper/package.json
index cbcdbc6ad87..59443a99994 100644
--- a/packages/chrome-extension-test-helper/package.json
+++ b/packages/chrome-extension-test-helper/package.json
@@ -14,8 +14,8 @@
"url": "https://github.com/apache/incubator-kie-tools/issues"
},
"scripts": {
- "build": "rimraf dist && tsc",
- "prepare": "pnpm run build"
+ "build:dev": "rimraf dist && tsc",
+ "build:prod": "rimraf dist && tsc"
},
"devDependencies": {
"@kie-tools/tsconfig": "workspace:*",
diff --git a/packages/dashbuilder/package.json b/packages/dashbuilder/package.json
index 2456b22b250..a70ddd4575c 100644
--- a/packages/dashbuilder/package.json
+++ b/packages/dashbuilder/package.json
@@ -32,7 +32,7 @@
"build:prod:win32": "pnpm powershell \"mvn clean install `-Dgwt.compiler.skip=true `-DskipTests\"",
"copy:components": "pnpm delete:components && copyfiles -u 3 \"../dashbuilder-component-assembler/dist/**/*\" ./dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/webapp/dashbuilder/component",
"delete:components": "rimraf ./dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/webapp/dashbuilder/component",
- "install": "node install.js",
+ "install": "node install.js && mvn dependency:tree",
"lint": "echo 'Linting'",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command"
},
diff --git a/packages/dev-deployment-base-image/package.json b/packages/dev-deployment-base-image/package.json
index 2cf3a0972c1..8247f73e159 100644
--- a/packages/dev-deployment-base-image/package.json
+++ b/packages/dev-deployment-base-image/package.json
@@ -25,7 +25,7 @@
"create-test-image:openshift": "kie-tools--image-builder openshift -r \"$(build-env devDeploymentBaseImage.registry)\" -a \"$(build-env devDeploymentBaseImage.account)\" -n \"$(build-env devDeploymentBaseImage.name)\" -t \"$(build-env devDeploymentBaseImage.tags)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentBaseImage.builderImage)\"",
"image:docker:build": "kie-tools--image-builder build -r \"$(build-env devDeploymentBaseImage.registry)\" -a \"$(build-env devDeploymentBaseImage.account)\" -n \"$(build-env devDeploymentBaseImage.name)\" -t \"$(build-env devDeploymentBaseImage.tags)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentBaseImage.builderImage)\" --build-arg USER_ID_ARG=\"$(build-env devDeploymentBaseImage.userId)\" --build-arg HOME_PATH_ARG=\"$(build-env devDeploymentBaseImage.homePath)\"",
"image:podman:build": "kie-tools--image-builder build -r \"$(build-env devDeploymentBaseImage.registry)\" -a \"$(build-env devDeploymentBaseImage.account)\" -n \"$(build-env devDeploymentBaseImage.name)\" -t \"$(build-env devDeploymentBaseImage.tags)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentBaseImage.builderImage)\" --build-arg USER_ID_ARG=\"$(build-env devDeploymentBaseImage.userId)\" --build-arg HOME_PATH_ARG=\"$(build-env devDeploymentBaseImage.homePath)\" -e podman",
- "install": "node install.js",
+ "install": "node install.js && mvn dependency:tree",
"install:mvnw": "run-script-os",
"install:mvnw:darwin:linux": "mvn wrapper:wrapper",
"install:mvnw:win32": "pnpm powershell \"mvn wrapper:wrapper\"",
diff --git a/packages/dev-deployment-kogito-quarkus-blank-app/package.json b/packages/dev-deployment-kogito-quarkus-blank-app/package.json
index 58f2c1f1aab..2538f8bc914 100644
--- a/packages/dev-deployment-kogito-quarkus-blank-app/package.json
+++ b/packages/dev-deployment-kogito-quarkus-blank-app/package.json
@@ -13,21 +13,14 @@
"url": "https://github.com/apache/incubator-kie-tools/issues"
},
"scripts": {
- "build:dev": "run-script-os",
- "build:dev:darwin:linux": "pnpm install:mvnw && mvn clean install -DskipTests",
- "build:dev:win32": "pnpm install:mvnw && pnpm powershell \"mvn clean install `-DskipTests\"",
- "build:prod": "pnpm lint && run-script-os",
- "build:prod:darwin:linux": "pnpm install:mvnw && mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
- "build:prod:win32": "pnpm install:mvnw && pnpm powershell \"mvn clean install `-DskipTests=$(build-env tests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
- "install": "node install.js",
- "install:mvnw": "run-script-os",
- "install:mvnw:darwin:linux": "mvn wrapper:wrapper",
- "install:mvnw:win32": "pnpm powershell \"mvn wrapper:wrapper\"",
+ "build": "mvn source:jar source:test-jar jar:jar jar:test-jar install:install",
+ "build:caching": "run-script-os",
+ "build:caching:darwin:linux": "mvn package -DskipTests=$(build-env tests.run --not) -DskipITs=$(build-env endToEndTests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
+ "build:caching:win32": "pnpm powershell \"mvn package `-DskipTests=$(build-env tests.run --not) `-DskipITs=$(build-env endToEndTests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
+ "clean": "mvn clean",
+ "install": "node install.js && mvn dependency:tree",
"lint": "echo 'Linting'",
- "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command",
- "quarkus:dev": "run-script-os",
- "quarkus:dev:darwin:linux": "mvn clean package quarkus:dev -DskipTests",
- "quarkus:dev:win32": "mvn clean package quarkus:dev `-DskipTests"
+ "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command"
},
"devDependencies": {
"@kie-tools/maven-config-setup-helper": "workspace:*",
diff --git a/packages/dev-deployment-kogito-quarkus-blank-app/turbo.json b/packages/dev-deployment-kogito-quarkus-blank-app/turbo.json
new file mode 100644
index 00000000000..61e0b8b49aa
--- /dev/null
+++ b/packages/dev-deployment-kogito-quarkus-blank-app/turbo.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://turbo.build/schema.json",
+ "extends": ["//"],
+ "pipeline": {
+ "build:caching": {
+ "outputs": ["**/target/**", "**/.flattened-pom.xml", "mvnw", "mvnw.cmd"]
+ }
+ }
+}
diff --git a/packages/dmn-feel-antlr4-parser/package.json b/packages/dmn-feel-antlr4-parser/package.json
index 28af574458a..1a373a99180 100644
--- a/packages/dmn-feel-antlr4-parser/package.json
+++ b/packages/dmn-feel-antlr4-parser/package.json
@@ -19,10 +19,12 @@
"src"
],
"scripts": {
- "build:dev": "rimraf dist && tsc -p tsconfig.json",
- "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {
"@kie-tools/dmn-marshaller": "workspace:*",
diff --git a/packages/dmn-language-service/package.json b/packages/dmn-language-service/package.json
index 448fbc97434..7470cd74cd7 100644
--- a/packages/dmn-language-service/package.json
+++ b/packages/dmn-language-service/package.json
@@ -19,10 +19,12 @@
"src"
],
"scripts": {
- "build:dev": "rimraf dist && tsc -p tsconfig.json",
- "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {
"@kie-tools/dmn-feel-antlr4-parser": "workspace:*",
diff --git a/packages/dmn-marshaller/package.json b/packages/dmn-marshaller/package.json
index b713141179c..6e467e2e60e 100644
--- a/packages/dmn-marshaller/package.json
+++ b/packages/dmn-marshaller/package.json
@@ -19,18 +19,20 @@
"src"
],
"scripts": {
- "build:codegen": "pnpm build:codegen:dmn10 && pnpm build:codegen:dmn11 && pnpm build:codegen:dmn12 && pnpm build:codegen:dmn13 && pnpm build:codegen:dmn14 && pnpm build:codegen:dmn15 && pnpm build:codegen:kie10",
- "build:codegen:dmn10": "xml-parser-ts-codegen ./src/schemas/dmn-1_0/dmn3.xsd Definitions",
- "build:codegen:dmn11": "xml-parser-ts-codegen ./src/schemas/dmn-1_1/dmn.xsd definitions",
- "build:codegen:dmn12": "xml-parser-ts-codegen ./src/schemas/dmn-1_2/DMN12.xsd definitions",
- "build:codegen:dmn13": "xml-parser-ts-codegen ./src/schemas/dmn-1_3/DMN13.xsd definitions",
- "build:codegen:dmn14": "xml-parser-ts-codegen ./src/schemas/dmn-1_4/DMN14.xsd definitions",
- "build:codegen:dmn15": "xml-parser-ts-codegen ./src/schemas/dmn-1_5/DMN15.xsd definitions",
- "build:codegen:kie10": "xml-parser-ts-codegen ./src/schemas/kie-1_0/KIE.xsd ComponentsWidthsExtension",
- "build:dev": "rimraf dist && pnpm build:codegen && tsc -p tsconfig.json",
- "build:prod": "pnpm lint && rimraf dist && pnpm build:codegen && tsc -p tsconfig.json && pnpm test",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist* src/schemas/*/ts-gen",
+ "codegen": "pnpm codegen:dmn10 && pnpm codegen:dmn11 && pnpm codegen:dmn12 && pnpm codegen:dmn13 && pnpm codegen:dmn14 && pnpm codegen:dmn15 && pnpm codegen:kie10",
+ "codegen:dmn10": "xml-parser-ts-codegen ./src/schemas/dmn-1_0/dmn3.xsd Definitions",
+ "codegen:dmn11": "xml-parser-ts-codegen ./src/schemas/dmn-1_1/dmn.xsd definitions",
+ "codegen:dmn12": "xml-parser-ts-codegen ./src/schemas/dmn-1_2/DMN12.xsd definitions",
+ "codegen:dmn13": "xml-parser-ts-codegen ./src/schemas/dmn-1_3/DMN13.xsd definitions",
+ "codegen:dmn14": "xml-parser-ts-codegen ./src/schemas/dmn-1_4/DMN14.xsd definitions",
+ "codegen:dmn15": "xml-parser-ts-codegen ./src/schemas/dmn-1_5/DMN15.xsd definitions",
+ "codegen:kie10": "xml-parser-ts-codegen ./src/schemas/kie-1_0/KIE.xsd ComponentsWidthsExtension",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {
"@kie-tools/xml-parser-ts": "workspace:*"
diff --git a/packages/dmn-marshaller/turbo.json b/packages/dmn-marshaller/turbo.json
new file mode 100644
index 00000000000..6c0163cab03
--- /dev/null
+++ b/packages/dmn-marshaller/turbo.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://turbo.build/schema.json",
+ "extends": ["//"],
+ "pipeline": {
+ "codegen": {
+ "outputs": ["dist*", "src/schemas/**/ts-gen"]
+ }
+ }
+}
diff --git a/packages/envelope-bus/package.json b/packages/envelope-bus/package.json
index 069e140ea5a..4981396c173 100644
--- a/packages/envelope-bus/package.json
+++ b/packages/envelope-bus/package.json
@@ -18,11 +18,13 @@
"src"
],
"scripts": {
- "build:dev": "rimraf dist && tsc -p tsconfig.json && pnpm build:tests",
- "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm build:tests && pnpm test",
- "build:tests": "rimraf dist-tests && tsc -p tsconfig.tests.json",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build-tests": "tsc -p tsconfig.tests.json",
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {
"react": "^17.0.2",
diff --git a/packages/envelope/package.json b/packages/envelope/package.json
index 2f149195e3a..6dcef67429c 100644
--- a/packages/envelope/package.json
+++ b/packages/envelope/package.json
@@ -19,10 +19,12 @@
"src"
],
"scripts": {
- "build:dev": "rimraf dist && tsc -p tsconfig.json",
- "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {
"@kie-tools-core/envelope-bus": "workspace:*",
diff --git a/packages/extended-services-java/package.json b/packages/extended-services-java/package.json
index 03ea848c18a..d2f38ed3336 100644
--- a/packages/extended-services-java/package.json
+++ b/packages/extended-services-java/package.json
@@ -26,7 +26,7 @@
"copy:app:linux:darwin": "copyfiles -u 1 \"target/quarkus-app/**/*\" dist/",
"copy:app:win32": "copyfiles -u 1 \"target/quarkus-app/**\" dist/",
"dist": "rimraf dist && mkdir dist && pnpm copy:app && pnpm rename:app",
- "install": "node install.js",
+ "install": "node install.js && mvn dependency:tree",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command",
"rename:app": "run-script-os",
"rename:app:linux:darwin": "mv dist/quarkus-app dist/extended-services-java",
diff --git a/packages/feel-input-component/package.json b/packages/feel-input-component/package.json
index 1d27b557a4b..98e6ccf85b4 100644
--- a/packages/feel-input-component/package.json
+++ b/packages/feel-input-component/package.json
@@ -7,14 +7,16 @@
"types": "./dist/index.d.ts",
"main": "dist/index.js",
"scripts": {
- "build:dev": "rimraf dist && pnpm copy:css && tsc -p tsconfig.json",
- "build:prod": "rimraf dist && pnpm copy:css && pnpm lint && tsc -p tsconfig.json && pnpm test",
- "build:showcase": "rimraf ./dist-dev && webpack -c ./showcase/webpack.config.js --env prod",
+ "build:caching": "pnpm copy:css && tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:dev-webapp": "webpack -c ./showcase/webpack.config.js --env prod",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
"copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css}\" dist/",
- "deploy": "gh-pages -d dist-dev",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
+ "deploy:dev-webapp": "gh-pages -d dist-dev",
+ "lint": "kie-tools--eslint ./src",
"start": "webpack serve -c ./showcase/webpack.config.js --host 0.0.0.0 --env dev",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {
"@kie-tools-core/i18n": "workspace:*",
diff --git a/packages/i18n-common-dictionary/package.json b/packages/i18n-common-dictionary/package.json
index d928fb578a4..8430bcadf67 100644
--- a/packages/i18n-common-dictionary/package.json
+++ b/packages/i18n-common-dictionary/package.json
@@ -18,10 +18,12 @@
"dist"
],
"scripts": {
- "build:dev": "rimraf dist && tsc -p tsconfig.json",
- "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {
"@kie-tools-core/i18n": "workspace:*"
diff --git a/packages/i18n/package.json b/packages/i18n/package.json
index bbdc86d3972..b188e1ecff4 100644
--- a/packages/i18n/package.json
+++ b/packages/i18n/package.json
@@ -17,10 +17,12 @@
"src"
],
"scripts": {
- "build:dev": "rimraf dist && tsc -p tsconfig.json",
- "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {
"react": "^17.0.2",
diff --git a/packages/jbpm-quarkus-devui/package.json b/packages/jbpm-quarkus-devui/package.json
index c6b62f532cc..9ea429a8b1c 100644
--- a/packages/jbpm-quarkus-devui/package.json
+++ b/packages/jbpm-quarkus-devui/package.json
@@ -19,7 +19,7 @@
"build:prod": "pnpm lint && run-script-os",
"build:prod:darwin:linux": "mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
"build:prod:win32": "pnpm powershell \"mvn clean install `-DskipTests `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
- "install": "node install.js",
+ "install": "node install.js && mvn dependency:tree",
"lint": "echo 'Linting'",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command",
"quarkus:dev": "run-script-os",
diff --git a/packages/jbpm-quarkus-devui/pom.xml b/packages/jbpm-quarkus-devui/pom.xml
index 48c40bf1cdc..56fee1070c3 100644
--- a/packages/jbpm-quarkus-devui/pom.xml
+++ b/packages/jbpm-quarkus-devui/pom.xml
@@ -29,7 +29,7 @@
org.kie
kie-tools-maven-base
${revision}
- ../maven-base/pom.xml
+ ./node_modules/@kie-tools/maven-base/pom.xml
4.0.0
diff --git a/packages/maven-base/package.json b/packages/maven-base/package.json
index ab18e994e1d..b6fd0833119 100644
--- a/packages/maven-base/package.json
+++ b/packages/maven-base/package.json
@@ -19,7 +19,7 @@
"build:prod": "pnpm lint && run-script-os",
"build:prod:darwin:linux": "mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
"build:prod:win32": "pnpm powershell \"mvn clean install `-DskipTests `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
- "install": "node install.js",
+ "install": "node install.js && mvn dependency:tree",
"lint": "echo 'Linting'",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command"
},
diff --git a/packages/monaco-editor/package.json b/packages/monaco-editor/package.json
index cb21297607b..4d87deda91d 100644
--- a/packages/monaco-editor/package.json
+++ b/packages/monaco-editor/package.json
@@ -12,10 +12,12 @@
"dist/standalone"
],
"scripts": {
- "build:dev": "rimraf dist && webpack --mode development",
- "build:prod": "rimraf dist && webpack --mode production",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "pnpm build:dev",
+ "build:dev": "webpack --mode development",
+ "build:prod": "webpack --mode production",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {
"monaco-editor": "^0.39.0"
diff --git a/packages/operating-system/package.json b/packages/operating-system/package.json
index 8437c99d9c8..ade84f7e8cb 100644
--- a/packages/operating-system/package.json
+++ b/packages/operating-system/package.json
@@ -19,10 +19,12 @@
"src"
],
"scripts": {
- "build:dev": "rimraf dist && tsc -p tsconfig.json",
- "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"devDependencies": {
"@babel/core": "^7.16.0",
diff --git a/packages/root-env/env/index.js b/packages/root-env/env/index.js
index 0e3e5b8e1be..7e1fcaccbe0 100644
--- a/packages/root-env/env/index.js
+++ b/packages/root-env/env/index.js
@@ -27,7 +27,7 @@ module.exports = composeEnv([], {
description: "Enables/disables running linters during the build.",
},
KIE_TOOLS_BUILD__runTests: {
- default: `${true}`,
+ default: `${false}`,
description: "Enables/disables running tests during the build.",
},
KIE_TOOLS_BUILD__ignoreTestFailures: {
diff --git a/packages/serverless-logic-web-tools-swf-deployment-quarkus-app/package.json b/packages/serverless-logic-web-tools-swf-deployment-quarkus-app/package.json
index 692c4d3da2e..9d91dd26fba 100644
--- a/packages/serverless-logic-web-tools-swf-deployment-quarkus-app/package.json
+++ b/packages/serverless-logic-web-tools-swf-deployment-quarkus-app/package.json
@@ -19,7 +19,7 @@
"build:prod": "pnpm lint && run-script-os",
"build:prod:darwin:linux": "mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
"build:prod:win32": "pnpm powershell \"mvn clean install `-DskipTests=$(build-env tests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
- "install": "node install.js",
+ "install": "node install.js && mvn dependency:tree",
"lint": "echo 'Linting'",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command",
"quarkus:dev": "run-script-os",
diff --git a/packages/serverless-workflow-diagram-editor/package.json b/packages/serverless-workflow-diagram-editor/package.json
index cd60a9e8af4..5040bb6f2de 100644
--- a/packages/serverless-workflow-diagram-editor/package.json
+++ b/packages/serverless-workflow-diagram-editor/package.json
@@ -17,13 +17,12 @@
"dist"
],
"scripts": {
- "build:dev": "run-script-os",
- "build:dev:linux:darwin": "mvn clean install -DskipTests -DskipITs -Pno-showcase",
- "build:dev:win32": "pnpm powershell \"mvn clean install `-DskipTests `-DskipITs `-Pno-showcase\"",
- "build:prod": "run-script-os",
- "build:prod:linux:darwin": "pnpm lint && mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) -DskipITs=$(build-env endToEndTests.run --not) -Pno-showcase",
- "build:prod:win32": "pnpm lint && pnpm powershell \"mvn clean install `-DskipTests=$(build-env tests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) `-DskipITs=$(build-env endToEndTests.run --not) `-Pno-showcase\"",
- "install": "node install.js",
+ "build": "mvn source:jar source:test-jar jar:jar jar:test-jar install:install",
+ "build:caching": "run-script-os",
+ "build:caching:darwin:linux": "mvn package -DskipTests=$(build-env tests.run --not) -DskipITs=$(build-env endToEndTests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
+ "build:caching:win32": "pnpm powershell \"mvn package `-DskipTests=$(build-env tests.run --not) `-DskipITs=$(build-env endToEndTests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
+ "clean": "mvn clean",
+ "install": "node install.js && mvn dependency:tree",
"lint": "echo 'Linting'",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command"
},
diff --git a/packages/serverless-workflow-diagram-editor/turbo.json b/packages/serverless-workflow-diagram-editor/turbo.json
new file mode 100644
index 00000000000..61e0b8b49aa
--- /dev/null
+++ b/packages/serverless-workflow-diagram-editor/turbo.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://turbo.build/schema.json",
+ "extends": ["//"],
+ "pipeline": {
+ "build:caching": {
+ "outputs": ["**/target/**", "**/.flattened-pom.xml", "mvnw", "mvnw.cmd"]
+ }
+ }
+}
diff --git a/packages/sonataflow-quarkus-devui/package.json b/packages/sonataflow-quarkus-devui/package.json
index c1d9bd09606..8792357ccb3 100644
--- a/packages/sonataflow-quarkus-devui/package.json
+++ b/packages/sonataflow-quarkus-devui/package.json
@@ -19,7 +19,7 @@
"build:prod": "pnpm lint && run-script-os",
"build:prod:darwin:linux": "mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
"build:prod:win32": "pnpm powershell \"mvn clean install `-DskipTests `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
- "install": "node install.js",
+ "install": "node install.js && mvn dependency:tree",
"lint": "echo 'Linting'",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command",
"quarkus:dev": "run-script-os",
diff --git a/packages/sonataflow-quarkus-devui/pom.xml b/packages/sonataflow-quarkus-devui/pom.xml
index c7ea653f42a..b06db076419 100644
--- a/packages/sonataflow-quarkus-devui/pom.xml
+++ b/packages/sonataflow-quarkus-devui/pom.xml
@@ -29,7 +29,7 @@
org.kie
kie-tools-maven-base
${revision}
- ../maven-base/pom.xml
+ ./node_modules/@kie-tools/maven-base/pom.xml
4.0.0
diff --git a/packages/storybook-base/package.json b/packages/storybook-base/package.json
index af50cf2a9b5..8bfe51fbbc6 100644
--- a/packages/storybook-base/package.json
+++ b/packages/storybook-base/package.json
@@ -21,10 +21,12 @@
"src"
],
"scripts": {
- "build:dev": "rimraf dist && tsc -p tsconfig.json",
- "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"devDependencies": {
"@babel/core": "^7.16.0",
diff --git a/packages/stunner-editors/package.json b/packages/stunner-editors/package.json
index 8e8c79887a3..0b3958abca5 100644
--- a/packages/stunner-editors/package.json
+++ b/packages/stunner-editors/package.json
@@ -28,7 +28,7 @@
"dist:bpmn": "symlink-dir kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/target/kie-wb-common-stunner-bpmn-kogito-runtime ./dist/bpmn",
"dist:dmn": "symlink-dir kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/target/kie-wb-common-dmn-webapp-kogito-runtime ./dist/dmn",
"dist:scesim": "symlink-dir drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/target/drools-wb-scenario-simulation-editor-kogito-runtime ./dist/scesim",
- "install": "node install.js",
+ "install": "node install.js && mvn dependency:tree",
"lint": "echo 'Linting'",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command"
},
diff --git a/packages/vscode-java-code-completion-extension-plugin/package.json b/packages/vscode-java-code-completion-extension-plugin/package.json
index 639541c2b64..54e33da9252 100644
--- a/packages/vscode-java-code-completion-extension-plugin/package.json
+++ b/packages/vscode-java-code-completion-extension-plugin/package.json
@@ -23,7 +23,7 @@
"build:prod": "pnpm lint && run-script-os",
"build:prod:darwin:linux": "pnpm install:mvnw && mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
"build:prod:win32": "pnpm install:mvnw && pnpm powershell \"mvn clean install `-DskipTests=$(build-env tests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
- "install": "node install.js",
+ "install": "node install.js && mvn dependency:tree",
"install:mvnw": "mvn wrapper:wrapper -f ./",
"lint": "echo 'Linting'",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command"
diff --git a/packages/xml-parser-ts-codegen/package.json b/packages/xml-parser-ts-codegen/package.json
index a6239ed569d..34c4087ace2 100644
--- a/packages/xml-parser-ts-codegen/package.json
+++ b/packages/xml-parser-ts-codegen/package.json
@@ -20,10 +20,12 @@
"src"
],
"scripts": {
- "build:dev": "rimraf dist && tsc -p tsconfig.json",
- "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {
"@kie-tools/xml-parser-ts": "workspace:*",
diff --git a/packages/xml-parser-ts/package.json b/packages/xml-parser-ts/package.json
index fa814c30507..936606898bb 100644
--- a/packages/xml-parser-ts/package.json
+++ b/packages/xml-parser-ts/package.json
@@ -20,10 +20,12 @@
"src"
],
"scripts": {
- "build:dev": "rimraf dist && tsc -p tsconfig.json",
- "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test",
- "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"",
- "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\""
+ "build:caching": "tsc -p tsconfig.json",
+ "build:dev": "pnpm build:caching",
+ "build:prod": "pnpm build:caching",
+ "clean": "rimraf dist*",
+ "lint": "kie-tools--eslint ./src",
+ "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool true --then \"jest --silent --verbose --passWithNoTests\""
},
"dependencies": {},
"devDependencies": {
diff --git a/packages/yard-model/package.json b/packages/yard-model/package.json
index 6c23d04b87f..927921a1f8f 100644
--- a/packages/yard-model/package.json
+++ b/packages/yard-model/package.json
@@ -14,16 +14,12 @@
"url": "https://github.com/apache/incubator-kie-tools/issues"
},
"scripts": {
- "build:dev": "run-script-os",
- "build:dev:darwin:linux": "pnpm install:mvnw && mvn clean install -DskipTests",
- "build:dev:win32": "pnpm install:mvnw && pnpm powershell \"mvn clean install `-DskipTests\"",
- "build:prod": "pnpm lint && run-script-os",
- "build:prod:darwin:linux": "pnpm install:mvnw && mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
- "build:prod:win32": "pnpm install:mvnw && pnpm powershell \"mvn clean install `-DskipTests=$(build-env tests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
- "install": "node install.js",
- "install:mvnw": "run-script-os",
- "install:mvnw:darwin:linux": "mvn wrapper:wrapper",
- "install:mvnw:win32": "pnpm powershell \"mvn wrapper:wrapper\"",
+ "build": "mvn source:jar source:test-jar jar:jar jar:test-jar install:install",
+ "build:caching": "run-script-os",
+ "build:caching:darwin:linux": "mvn package -DskipTests=$(build-env tests.run --not) -DskipITs=$(build-env endToEndTests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
+ "build:caching:win32": "pnpm powershell \"mvn package `-DskipTests=$(build-env tests.run --not) `-DskipITs=$(build-env endToEndTests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
+ "clean": "mvn clean",
+ "install": "node install.js && mvn dependency:tree",
"lint": "echo 'Linting'",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command"
},
diff --git a/packages/yard-model/turbo.json b/packages/yard-model/turbo.json
new file mode 100644
index 00000000000..61e0b8b49aa
--- /dev/null
+++ b/packages/yard-model/turbo.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://turbo.build/schema.json",
+ "extends": ["//"],
+ "pipeline": {
+ "build:caching": {
+ "outputs": ["**/target/**", "**/.flattened-pom.xml", "mvnw", "mvnw.cmd"]
+ }
+ }
+}
diff --git a/packages/yard-validator-worker/package.json b/packages/yard-validator-worker/package.json
index f5e2fc2c08d..d51e4b63ddb 100644
--- a/packages/yard-validator-worker/package.json
+++ b/packages/yard-validator-worker/package.json
@@ -21,7 +21,7 @@
"build:prod:darwin:linux": "pnpm install:mvnw && mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)",
"build:prod:win32": "pnpm install:mvnw && pnpm powershell \"mvn clean install `-DskipTests=$(build-env tests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"",
"copy:webworker": "copyfiles -f target/worker/yard-validator-worker/yard-validator-worker.js dist",
- "install": "node install.js",
+ "install": "node install.js && mvn dependency:tree",
"install:mvnw": "run-script-os",
"install:mvnw:darwin:linux": "mvn wrapper:wrapper",
"install:mvnw:win32": "pnpm powershell \"mvn wrapper:wrapper\"",
diff --git a/packages/yard-validator/package.json b/packages/yard-validator/package.json
index ef41d51c611..7b2d07df3f6 100644
--- a/packages/yard-validator/package.json
+++ b/packages/yard-validator/package.json
@@ -17,8 +17,6 @@
"build:dev": "rimraf dist && tsc -p tsconfig.json && pnpm copy:webworker",
"build:prod": "pnpm lint && tsc -p tsconfig.json && pnpm copy:webworker",
"copy:webworker": "copyfiles -f node_modules/@kie-tools/yard-validator-worker/dist/yard-validator-worker.js dist",
- "install": "node install.js",
- "install:mvnw": "run-script-os",
"lint": "echo 'Linting'",
"powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command"
},
@@ -34,11 +32,5 @@
"rimraf": "^3.0.2",
"run-script-os": "^1.1.6",
"typescript": "^4.6.2"
- },
- "kieTools": {
- "requiredPreinstalledCliCommands": [
- "java",
- "mvn"
- ]
}
}
\ No newline at end of file
diff --git a/scripts/bootstrap/bootstrap.js b/scripts/bootstrap/bootstrap.js
index d29192f49b5..b763d3e34a0 100755
--- a/scripts/bootstrap/bootstrap.js
+++ b/scripts/bootstrap/bootstrap.js
@@ -53,6 +53,9 @@ execSync(`node ${require.resolve("./check_required_preinstalled_cli_commands.mjs
console.info("\n\n[bootstrap] Checking packages dependencies...");
execSync(`node ${require.resolve("./check_packages_dependencies.js")}`, execOpts);
+console.info("\n\n[bootstrap] Checking structure...");
+execSync(`node ${require.resolve("./check_structure.mjs")}`, execOpts);
+
console.info("\n\n[bootstrap] Formatting pnpm-lock.yaml...");
execSync(`pnpm pretty-quick --pattern pnpm-lock.yaml`, execOpts);
diff --git a/packages/yard-validator/install.js b/scripts/bootstrap/check_structure.mjs
similarity index 56%
rename from packages/yard-validator/install.js
rename to scripts/bootstrap/check_structure.mjs
index 4247286a3fc..295ceaa72ba 100644
--- a/packages/yard-validator/install.js
+++ b/scripts/bootstrap/check_structure.mjs
@@ -17,9 +17,19 @@
* under the License.
*/
-const buildEnv = require("./env");
-const { setup } = require("@kie-tools/maven-config-setup-helper");
+async function main() {
+ // 1. all folders inside packages/examples must have a valid package.json file on it
+ // 2. there can't be files inside packages/examples directories
+ // 3. prettierignore is always a superset of gitignore
-setup(`
- -Drevision=${buildEnv.env.yardValidator.version}
-`);
+ console.info(`[check-structure] Checking if all package directories have a a valid package.json file...`);
+
+ console.info(`[check-structure] Checking if there's dangling files outside packages directories...`);
+
+ console.info(`[check-structure] Checking if .prettierignore is a superset of .gitignore...`);
+
+ console.info(`[check-structure] Done.`);
+ process.exit(0);
+}
+
+main();
diff --git a/scripts/sparse-checkout/run.sh b/scripts/sparse-checkout/run.sh
index 327aaadfd8a..e18894a7256 100755
--- a/scripts/sparse-checkout/run.sh
+++ b/scripts/sparse-checkout/run.sh
@@ -4,7 +4,7 @@ ARGV=("$@")
KIE_TOOLS_ORG=$1
KIE_TOOLS_BRANCH=$2
KIE_TOOLS_PACKAGE_NAMES_TO_BUILD=("${ARGV[@]:2}")
-KIE_TOOLS_PACKAGES_PNPM_FILTER_STRING=$(echo ${KIE_TOOLS_PACKAGE_NAMES_TO_BUILD[@]} | xargs -n1 -I{} echo -n "-F {}... " | xargs)
+KIE_TOOLS_PACKAGES_TURBO_FILTER_STRING=$(echo ${KIE_TOOLS_PACKAGE_NAMES_TO_BUILD[@]} | xargs -n1 -I{} echo -n "-F {}... " | xargs)
KIE_TOOLS_GIT_REMOTE_URL="https://github.com/$KIE_TOOLS_ORG/incubator-kie-tools"
KIE_TOOLS_CLONE_DIR_PATH='incubator-kie-tools'
KIE_TOOLS_PATHS_INCLUDED_BY_DEFAULT='scripts repo docs patches'
@@ -13,7 +13,7 @@ echo "[kie-tools-sparse-checkout] Starting..."
echo "KIE_TOOLS_ORG: $KIE_TOOLS_ORG"
echo "KIE_TOOLS_BRANCH: $KIE_TOOLS_BRANCH"
echo "KIE_TOOLS_PACKAGE_NAMES_TO_BUILD: ${KIE_TOOLS_PACKAGE_NAMES_TO_BUILD[@]}"
-echo "KIE_TOOLS_PACKAGES_PNPM_FILTER_STRING: $KIE_TOOLS_PACKAGES_PNPM_FILTER_STRING"
+echo "KIE_TOOLS_PACKAGES_TURBO_FILTER_STRING: $KIE_TOOLS_PACKAGES_TURBO_FILTER_STRING"
echo "KIE_TOOLS_GIT_REMOTE_URL: $KIE_TOOLS_GIT_REMOTE_URL"
echo "KIE_TOOLS_CLONE_DIR_PATH: $KIE_TOOLS_CLONE_DIR_PATH"
echo "KIE_TOOLS_PATHS_INCLUDED_BY_DEFAULT: $KIE_TOOLS_PATHS_INCLUDED_BY_DEFAULT"
@@ -28,7 +28,7 @@ git sparse-checkout set $KIE_TOOLS_PATHS_INCLUDED_BY_DEFAULT
echo ""
echo "[kie-tools-sparse-checkout] Installing scripts and root dependencies..."
-pnpm bootstrap:root --frozen-lockfile
+turbo bootstrap:root -- --frozen-lockfile
echo ""
echo "[kie-tools-sparse-checkout] Listing paths of packages to fetch for (${KIE_TOOLS_PACKAGE_NAMES_TO_BUILD[@]})..."
@@ -41,7 +41,7 @@ eval "git sparse-checkout set $KIE_TOOLS_PATHS_INCLUDED_BY_DEFAULT $KIE_TOOLS_PA
echo ""
echo "[kie-tools-sparse-checkout] Installing packages dependencies..."
-eval "pnpm bootstrap:packages $KIE_TOOLS_PACKAGES_PNPM_FILTER_STRING --frozen-lockfile"
+eval "turbo bootstrap:packages -- $KIE_TOOLS_PACKAGES_TURBO_FILTER_STRING --frozen-lockfile"
echo ""
echo "[kie-tools-sparse-checkout] Done."
diff --git a/turbo.json b/turbo.json
new file mode 100644
index 00000000000..f1293d223f4
--- /dev/null
+++ b/turbo.json
@@ -0,0 +1,73 @@
+{
+ "$schema": "https://turbo.build/schema.json",
+ "pipeline": {
+ // Root
+ "//#bootstrap": {
+ "cache": false
+ },
+ "//#bootstrap:root": {
+ "cache": false
+ },
+ "//#bootstrap:packages": {
+ "cache": false
+ },
+ "//#format": {
+ "cache": false
+ },
+ "//#format:check": {
+ "cache": false
+ },
+ "//#update-version-to": {
+ "cache": false
+ },
+
+ // Packages
+ "clean": {
+ "cache": false
+ },
+ "lint": {
+ "cache": false
+ },
+ "codegen": {
+ "cache": false,
+ "dependsOn": ["^build"]
+ },
+ "build:caching": {
+ "dependsOn": ["^build", "codegen"],
+ "cache": true,
+ "inputs": ["src/**"],
+ "outputs": ["dist/**"]
+ },
+ "build": {
+ "cache": false,
+ "dependsOn": ["build:caching"]
+ },
+ "codegen-tests": {
+ "cache": false,
+ "dependsOn": ["build"]
+ },
+ "build-tests": {
+ "cache": true,
+ "dependsOn": ["^build-tests", "codegen-tests"],
+ "inputs": ["src-tests/**"],
+ "outputs": ["dist-tests/**"]
+ },
+ "test": {
+ "cache": true,
+ "dependsOn": ["build-tests"],
+ "inputs": ["tests/**"],
+ "outputs": ["dist-tests/**"]
+ },
+ "test-e2e": {
+ "cache": true,
+ "dependsOn": ["build"],
+ "inputs": ["tests/e2e/**"], // FIXME: I think this should be e2e-tests or tests-e2e
+ "outputs": ["dist-e2e-tests/**"] // FIXME: I think this should be dist-e2e-tests or dist-tests-e2e
+ },
+ "start": {
+ "cache": false,
+ "dependsOn": ["^build"],
+ "persistent": true
+ }
+ }
+}