Repository navigation
Update the install4j installer project for 4.7.0 and install4j 13 - #491
Merged
Merged
Conversation
install4j does not keep a project file's existing line endings. It rewrites the whole file with the platform's endings on save, so saving on Linux turned every line of the CRLF file into a change. Mark *.install4j as text so git stores it with LF and checks it out with native endings. A save on either platform then shows only the real changes. This commit only converts the stored file from CRLF to LF. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Tony Germano <[email protected]>
List commits that only change formatting or line endings so git blame skips them. GitHub uses this file automatically. Locally, set blame.ignoreRevsFile to use it. Start with the line-ending normalization of the install4j project file. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Tony Germano <[email protected]>
The installer project sets backupOnSave, so every save in install4j leaves a copy of the previous version next to the project file with a trailing ~. Ignore those backups so they are not committed by mistake. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Tony Germano <[email protected]>
Open the project in install4j 13.1.1 and save it. There are no manual
edits. install4j migrated the project file as follows:
- Numeric overwrite modes become named values ("never", "alwaysAsk").
- The update alert form component becomes a streamlined installation
chooser set to UPDATE_ONLY, and conditions on
sys.confirmedUpdateInstallation now check
sys.streamlinedInstallation.
- The updateInstallationDirectory property on the startup action is
replaced by a separate SetInstallationDirectoryAction.
- CreateProgramGroupAction becomes CreateDefaultStartMenuEntriesAction.
The custom uninstaller menu name is dropped in favor of folderName
and linkDirectory.
- Screen title font settings move into widget styles, with a default
"Standard" widget style added.
- The wizard image edge colors are moved and slightly adjusted, and
the imageEdgeBorder property is dropped.
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Tony Germano <[email protected]>
Bring over the installer changes that were made to build the 4.6.0 release, and update the project for the 4.7.0 build output. From the 4.6.0 build: - Run an UninstallPreviousAction before installing files, so an upgrade removes the old installation's files first. Files installed with uninstallMode "never", such as conf, are kept. - Drop buildAll="false" from buildIds. For 4.7.0: - Set mediaRoot to "../.." so it resolves to the repository root from tools/install4j. The old "../../../engine" value only worked when the repository was checked out into a directory named "engine". - Bundle the Adoptium JDK 21.0.12.1+1 instead of Zulu 17.0.15. The minimum Java version stays at 17. - Raise javaMaxVersion from 25 to 999 so newer Java releases are not rejected. Fixes OpenIntegrationEngine#341. - Fix the publisher URL to openintegrationengine.org. - Exclude the oieserver and oieserver.ps1 scripts from both file sets so they are not installed. They conflict with the oieserver launcher that install4j generates. - Exclude configure-from-env from the file set that is never overwritten or uninstalled. It was in both file sets, which caused an error. It is now only in the main file set, so an upgrade removes the old copy and installs the new one. - Remove the oiemanager launcher and the per-media-set exclusions of it. Its mirth-manager-launcher.jar is no longer built, and the Windows x64 archive was the only media set that did not exclude it. - Drop the webapps, manager-lib and mirth-manager-launcher.jar file exclusions. These are no longer in the server/setup build output. - Update the installer readme for upgrades. It now says that the installer can upgrade an existing installation and what an upgrade keeps, and it shows the version from ${compiler:sys.version} so it does not need to be edited for each release. The note on defaults now points to the conf directory, since log paths are set in log4j2.properties rather than mirth.properties. - Remove the stale inline "Preview Release" text from the readme screen. The screen reads readme.html, so the inline copy was never shown. install4j also renumbered the default widget style and added an id to the screen title's label widget style when it saved the project. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Tony Germano <[email protected]>
tonygermano
requested review from
a team,
gibson9583,
jonbartels,
kayyagari,
kpalang,
mgaffigan,
pacmano1 and
ssrowe
October 16, 2026 03:38
mgaffigan
approved these changes
Oct 16, 2026
gibson9583
approved these changes
Oct 16, 2026
jonbartels
approved these changes
Oct 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bring the installer project in
tools/install4jup to date for 4.7.0. It converts the project to install4j 13.1.1, applies the changes used to build the 4.6.0 installers, and fixes problems with the 4.7.0 build output. It also makes the project file easier to review. Line endings are normalized, so a save in install4j no longer rewrites every line.Fixes #341.
Changes
Repository housekeeping
*.install4jfiles to LF in git and mark them as text. install4j rewrites the whole file with the platform's line endings on save, so the CRLF file showed every line as changed after a save on Linux..git-blame-ignore-revslisting the normalization commit, sogit blameand GitHub skip it.*.install4j~backups that install4j writes on every save.install4j 11 → 13
Installer changes
UninstallPreviousActionbefore installing files, so the installer can upgrade an existing installation. Files inconfare kept. (From the 4.6.0 build.)javaMaxVersionfrom 25 to 999 so newer Java releases are accepted ([BUG] 4.6.0 does not allow running on java versions higher than 25 #341).mediaRootto../..so the project builds no matter what the checkout directory is called.openintegrationengine.org.oieserverandoieserver.ps1scripts, which conflict with theoieserverlauncher that install4j generates.configure-from-envonly from the main file set, so upgrades replace it. It was in both file sets, which caused an error.oiemanagerlauncher and stale exclusions for files that are no longer built (webapps,manager-lib,mirth-manager-launcher.jar).${compiler:sys.version}. Remove the unused inline "Preview Release" text from the readme screen.Merging
Please merge this with a fast-forward, not squash or rebase.
.git-blame-ignore-revsrefers to the normalization commit by its hash, and squashing or rebasing would change that hash.Testing
${compiler:sys.version}is substituted in the readme screen in install4j's preview mode.🤖 Generated with Claude Code