Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Platform-specific distribution packages #516

Merged
merged 12 commits into from
Mar 21, 2020

Conversation

skaldarnar
Copy link
Member

@skaldarnar skaldarnar commented Mar 20, 2020

Clean up and improve packaging for Windows and Linux.

Addressing #492

To test you can run:

./gradlew install<distributionName>Dist

to install the distribution to build/install/<distributionName>, e.g., ./gradlew installLinux64Dist.

Packaging for all platforms can be tested via ./gradlew createRelease.

@skaldarnar skaldarnar added Type: Enhancement New features or noticable improvements. Status: WIP Work in Progress (not ready for review) labels Mar 20, 2020
@skaldarnar skaldarnar added this to the v4.0.0 milestone Mar 20, 2020
@skaldarnar skaldarnar added Status: Actionable An issue or task that can immediately be worked on and removed Status: WIP Work in Progress (not ready for review) labels Mar 20, 2020
Copy link
Member

@jdrueckert jdrueckert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works fine for windows.
According to @praj-foss the .desktop would need to be copied to ~/.local/share/applications/.
We don't have a hard requirement for the .desktop file and it's easier to set this up with an installer script (which is one of our 4.x targets). So, let's only put the launcher start binary/script at the archive top-level and delay the .desktop file to after the v4.0 release.

}
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whitespaces

@jdrueckert
Copy link
Member

Works well for 64-bit Linux 👍
For 32-bit Linux I get the following error:

Exception in thread "main" java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.UnsupportedOperationException: Internal Error
	at com.sun.glass.ui.gtk.GtkApplication.lambda$new$5(GtkApplication.java:158)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.glass.ui.gtk.GtkApplication.<init>(GtkApplication.java:140)
	at com.sun.glass.ui.gtk.GtkPlatformFactory.createApplication(GtkPlatformFactory.java:41)
	at com.sun.glass.ui.Application.run(Application.java:146)
	at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:257)
	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:211)
	at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:675)
	at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:337)
	at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
	... 5 more

Could well be, though, that that's a flaw in my setup. @praj-foss could you double-check whether 32-bit works on your linux?

@praj-foss
Copy link
Member

I tested both Linux32 and Linux64 installs, and both seem to start alright. 👍
Verified the log file contents too. 👍

Linux32: OS: Linux i386 5.5.9-zen1-2-zen
Linux64: OS: Linux amd64 5.5.9-zen1-2-zen

Copy link
Member

@jdrueckert jdrueckert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully tested for 32- and 64-bit Windows 👍

@skaldarnar skaldarnar merged commit 7713ecb into master Mar 21, 2020
@skaldarnar skaldarnar deleted the topic/platform-specific-distributions branch March 21, 2020 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Actionable An issue or task that can immediately be worked on Type: Enhancement New features or noticable improvements.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants