Hi all 👋
I recently tried to publish my macOS app to the App Store and the
publishing failed because I wasn't including an Intel version
<img width="609" alt="Screenshot 2024-02-04 at 17 31 52"
src="https://github.com/JetBrains/compose-multiplatform/assets/9467705/a3f421ed-ca77-460b-bc2e-7ceafb3ca1c0">
The alternative could be publishing a Universal binary, but it's not
quite supported now (see #1599). But by setting the minimum version of
macOS to 12, it's possible to upload only arm version.
So, I've added the possibility of changing the minimum macOS version.
Previously Compose Multiplatform Gradle plugin required
JDK 15+ for distribution packaging. However, fixing #2867 required
always passing --mac-entitlements to jpackage, which is
only available with JDK 17+.
* Add a mention in the packaging tutorial about Conveyor, with a feature comparison on a separate page.
Remove the link from the main page to the signing/notarization tutorial as it's already linked to from the main packaging tutorial in any case.
* Address review comments.
- Don't talk about jpackage.
- Put the features of the built in tasks first on the comparisons page.
- Remove discussion of JNI.
Additionally:
- Reformat the feature list so the summary comes first in bold.
- Point out that the feature list isn't complete.
* Add appStore option
* Fix "--app-image" option
* Add appCategory option
* Document signing for the Apple App Store
* Fix system version in the Product Definition Property List
* fixup! Fix "--app-image" option
* fixup! Document signing for the Apple App Store
* fixup! Add appStore option
* fixup! Add appCategory option
* Add provisioningProfile option
* Add entitlementsFile option (needs to be customised if your Mac app uses entitlements not in the default file)
Updates Native Distributions documentation to include a note about Java Modules, and how to determine necessary modules and provide them to the Gradle plugin configuration
This change removes `org.jetbrains.compose.desktop.application` plugin id
in favor of doing everything in `org.jetbrains.compose`.
The change simplifies configuring Compose Desktop projects.
Now, just one plugin dependency is needed.
To avoid task name conflicts with common task names such as `package` and `run`,
the plugin creates tasks lazily only if `application` block/property is used in a script.