Skip to content

fix for #1507 - mac signing issues for release builds#1510

Open
kjhollen wants to merge 1 commit intoprocessing:mainfrom
kjhollen:fix-mac-release-1507
Open

fix for #1507 - mac signing issues for release builds#1510
kjhollen wants to merge 1 commit intoprocessing:mainfrom
kjhollen:fix-mac-release-1507

Conversation

@kjhollen
Copy link
Copy Markdown
Member

@kjhollen kjhollen commented Apr 27, 2026

fixes issue #1507 with Mac app notarization failure by signing the whole app again after fileAssocations are made. Adds an extra step called 'signApp' to the build process for ./gradlew -m packageDistributionForCurrentOS which depends on createDistributable and setExecutablePermissions.

Previously, release builds were failing because the .icns files for .pde, .pdex, and .pdez were added to the .app file after signing, when fileAssocation was called in nativeDistributions.

Most of this code was generated with Copilot, then I edited it for legibility. I asked Copilot a lot of questions about the order of operations for the build system and where the fileAssociations occurred, and feel confident that this is the right place in the process to re-sign the app. I also prodded Copilot to see if there were any other simpler options that didn't involve signing things a second time (outside of when jpackage does this automatically), but wasn't able to produce any other successful solutions.

I have only tested this on Mac, but the file type associations work and the app notarization completed successfully (though it took nearly 30 minutes to run the notarization).

pinging @catilac for review!

fixes issue with Mac app notarization failure by signing the whole app again
after fileAssocations are made. previously, release builds were failing because
the .icns files for .pde, .pdex, and .pdez were added to the .app file after
signing.
@Stefterv
Copy link
Copy Markdown
Member

Stefterv commented Apr 27, 2026

It ain't pretty, but if it works, it works!

I created a release here to test if it works in the CI: https://github.com/Stefterv/processing4/releases/tag/processing-1448-4.5.18

And yes, notarisation always takes around 15-25 minutes

Looks like it works!

@kjhollen kjhollen requested a review from catilac April 27, 2026 21:22
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.

2 participants