Skip to content

fix(mendix-7,8): wire Mono for the Windows-only mxbuild toolchain - #10

Merged
hjonck merged 1 commit into
mainfrom
fix/mx7-mx8-mono-mxbuild
Jul 10, 2026
Merged

fix(mendix-7,8): wire Mono for the Windows-only mxbuild toolchain#10
hjonck merged 1 commit into
mainfrom
fix/mx7-mx8-mono-mxbuild

Conversation

@hjonck

@hjonck hjonck commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Problem

Building ontologylabs/mendix-mxbuild:7 and :8 fails at the toolchain layer: the MX7/MX8 CDN tarball mxbuild-<version>.tar.gz ships Windows .exe binaries (.NET Framework) — there is no native Linux modeler/mxbuild. The mendix-7/build and mendix-8/build Dockerfiles were copied from the MX9+ template (native self-contained .NET Core binary): they install no Mono runtime and hard-assert test -f modeler/mxbuild, so the build dies. MX9/10/11 are unaffected.

Fix

In both crates/mendix-{7,8}/build/Dockerfile:

  1. add mono-complete to the apt layer;
  2. replace the native-only assert with an adaptive step: use modeler/mxbuild if native; else if modeler/mxbuild.exe exists, write a wrapper #!/bin/sh; exec mono …mxbuild.exe "$@" (and the same for mx when mx.exe is present — MX7 ships none); else fail with an inventory.

The native path (MX9+) is byte-for-byte unchanged.

Verification (Ubuntu jammy, amd64)

  • docker build succeeds for :7 (7.23.8.58888) and :8 (8.18.35.97).
  • docker run --entrypoint …/mxbuild <img> --help loads under Mono and prints the MxBuild banner.
  • A real .mpr build (MoneyWorksPortal MX7/MX8) reaches the model consistency-check stage — mxbuild parses, synchronizes, and reports CE errors exactly like native mxbuild.

🤖 Generated with Claude Code

The MX7/MX8 CDN mxbuild tarball ships Windows .NET Framework .exe binaries (no
native Linux modeler/mxbuild), so the MX9+-derived Dockerfiles died at the
toolchain assert. Add mono-complete + an adaptive step: use modeler/mxbuild if
native, else wrap modeler/mxbuild.exe (and mx.exe) via mono, else fail with an
inventory. MX9/10/11 native path byte-for-byte unchanged.

Verified: docker build :7 (7.23.8) + :8 (8.18.35) succeed; mxbuild --help loads
under Mono; a real .mpr build (MoneyWorksPortal MX7/MX8) reaches consistency-check.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@hjonck
hjonck merged commit 53fa8c1 into main Jul 10, 2026
1 check passed
@hjonck
hjonck deleted the fix/mx7-mx8-mono-mxbuild branch July 10, 2026 07:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant