diff --git a/configs/jsactions/rollup-plugin-bigjs-import-replacer.mjs b/configs/jsactions/rollup-plugin-bigjs-import-replacer.mjs index 206a7bca6..c8d89eac7 100644 --- a/configs/jsactions/rollup-plugin-bigjs-import-replacer.mjs +++ b/configs/jsactions/rollup-plugin-bigjs-import-replacer.mjs @@ -5,7 +5,8 @@ export function bigJsImportReplacer() { const [filename] = Object.keys(bundle); const fileInfo = bundle[filename]; - fileInfo.code = fileInfo.code.replace("import { Big } from 'big.js';", `import { Big } from "big.js";`); + // Remove Big import entirely - mxbuild will add it in the header at line 8 + fileInfo.code = fileInfo.code.replace(/^import\s*\{\s*Big\s*\}\s*from\s*['"]big\.js['"];?\s*\r?\n/m, ""); } }; } diff --git a/packages/jsActions/mobile-resources-native/src/notifications/ScheduleNotification.ts b/packages/jsActions/mobile-resources-native/src/notifications/ScheduleNotification.ts index 457532ad4..7a3620770 100644 --- a/packages/jsActions/mobile-resources-native/src/notifications/ScheduleNotification.ts +++ b/packages/jsActions/mobile-resources-native/src/notifications/ScheduleNotification.ts @@ -14,6 +14,7 @@ import notifee, { Notification, AlarmType } from "react-native-notify-kit"; + // BEGIN EXTRA CODE // END EXTRA CODE diff --git a/packages/jsActions/nanoflow-actions-native/src/geolocation/GetStraightLineDistance.ts b/packages/jsActions/nanoflow-actions-native/src/geolocation/GetStraightLineDistance.ts index a013cb54f..6974922b1 100644 --- a/packages/jsActions/nanoflow-actions-native/src/geolocation/GetStraightLineDistance.ts +++ b/packages/jsActions/nanoflow-actions-native/src/geolocation/GetStraightLineDistance.ts @@ -8,12 +8,9 @@ import { Big } from "big.js"; // BEGIN EXTRA CODE -// END EXTRA CODE type DistanceUnit = "KILOMETER" | "STATUTE_MILE" | "NAUTICAL_MILE"; -// BEGIN EXTRA CODE - function deg2rad(deg: Big): Big { return deg.times(Math.PI / 180); } diff --git a/scripts/automation/mxbuild.Dockerfile b/scripts/automation/mxbuild.Dockerfile index 49d751b81..820e6dd1d 100644 --- a/scripts/automation/mxbuild.Dockerfile +++ b/scripts/automation/mxbuild.Dockerfile @@ -2,12 +2,14 @@ FROM mcr.microsoft.com/dotnet/runtime:8.0 ARG MENDIX_VERSION RUN \ - echo "Installing Java..." && \ + echo "Installing Java 21..." && \ apt-get -qq update && \ apt-get -qq install -y wget libgdiplus && \ - wget -q https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz -O /tmp/openjdk.tar.gz && \ - mkdir /usr/lib/jvm && \ + wget -q https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz -O /tmp/openjdk.tar.gz && \ + mkdir -p /usr/lib/jvm && \ tar xfz /tmp/openjdk.tar.gz --directory /usr/lib/jvm && \ + ls /usr/lib/jvm && \ + mv /usr/lib/jvm/jdk-21* /usr/lib/jvm/java-21-openjdk && \ rm /tmp/openjdk.tar.gz RUN \ echo "Downloading mxbuild ${MENDIX_VERSION}..." && \ @@ -20,9 +22,11 @@ RUN \ apt-get clean RUN \ echo "#!/bin/bash -x" >/bin/mxbuild && \ - echo "dotnet /tmp/mxbuild/modeler/mxbuild.dll --java-home=/usr/lib/jvm/jdk-11.0.2 --java-exe-path=/usr/lib/jvm/jdk-11.0.2/bin/java \$@" >>/bin/mxbuild && \ + echo "dotnet /tmp/mxbuild/modeler/mxbuild.dll --java-home=/usr/lib/jvm/java-21-openjdk --java-exe-path=/usr/lib/jvm/java-21-openjdk/bin/java \$@" >>/bin/mxbuild && \ chmod +x /bin/mxbuild RUN \ echo "#!/bin/bash -x" >/bin/mx && \ echo "dotnet /tmp/mxbuild/modeler/mx.dll \$@" >>/bin/mx && \ - chmod +x /bin/mx \ No newline at end of file + chmod +x /bin/mx + +ENV M2EE_TOOLS_JAR=/tmp/mxbuild/modeler/tools/m2ee-tools.jar \ No newline at end of file diff --git a/scripts/release/module-automation/commons.js b/scripts/release/module-automation/commons.js index fe3eac13b..313aedf95 100644 --- a/scripts/release/module-automation/commons.js +++ b/scripts/release/module-automation/commons.js @@ -78,11 +78,14 @@ async function createModuleMpkInDocker(sourceDir, moduleName, mendixVersion, exc ); } - // Build testProject via mxbuild + // Build testProject and regenerate JS actions + // 1. mx update-widgets: Updates widget files + // 2. mxbuild --target=package: Regenerates JS action files in Studio Pro format (prevents phantom diffs) + // 3. mx create-module-package: Packages the module with the regenerated files const projectFile = basename((await getFiles(sourceDir, [`.mpr`]))[0]); await execShellCommand( `docker run -t -v ${sourceDir}:/source ` + - `--rm mxbuild:${mendixVersion} bash -c "mx update-widgets --loose-version-check /source/${projectFile} && dotnet /tmp/mxbuild/modeler/mx.dll create-module-package ${ + `--rm mxbuild:${mendixVersion} bash -c "mx update-widgets --loose-version-check /source/${projectFile} && mxbuild --target=package /source/${projectFile} && dotnet /tmp/mxbuild/modeler/mx.dll create-module-package ${ excludeFilesRegExp ? `--exclude-files='${excludeFilesRegExp}'` : "" } /source/${projectFile} ${moduleName}"` );