dmusican / Elegit

A GUI client for people who want to learn Git.
MIT License
30 stars 7 forks source link

Need a new release process for Linux builds #496

Closed dmusican closed 6 years ago

dmusican commented 7 years ago

Our current Linux release process uses jfx:native, as we do for all of the other OSes. This doesn't work well for Linux; binary releases under Linux are a significant quagmire because of inconsistent libc versions, etc. Case in point: the binary release I generate on my laptop running Ubuntu 16.04 doesn't run on the dept VMs running Ubuntu 14.04. Looking around at other Java projects, the standard approach seems to be to release only a jar for Linux, and instruct people to make sure they have a proper JVM running on their machines.

So, we need a new release process for Linux that includes a shell script for starting up the jar. Look at other projects that distribute Java code for inspiration. (BlueJ, jGRASP, IntelliJ, lots of others)

dmusican commented 7 years ago

jar -jar filename.jar will do it. That's really all we need. So what do other distributable Java systems do in their shell scripts?

  1. Make sure that an appropriate Java JRE is in fact installed, and produce a reasonable error message if it isn't.

  2. Prioritize which version of Java to use if multiple ones are present.

  3. Set necessary classpaths.

DrJava, incidentally, doesn't bother with the above at all, and purely distributes a jar.

For the time being, I'm just going to do a one line shell script that runs the java command. We can improve this later if it becomes a priority.

dmusican commented 7 years ago

Done. Appropriate updates are in; build seems to be working.

dmusican commented 6 years ago

@MarthanielX is going to test the build process

dmusican commented 6 years ago

I'm considering this to be done.