umlet
umlet copied to clipboard
Remove generated EXE from repository (umlet-standalone)
Commit generated binary resources into source code repository isn't best practice.
Did you ever play around with https://github.com/lukaszlenart/launch4j-maven-plugin to generate the EXE file while maven package phase?
Maybe launch4j_project.xml
should moved into src/assembly
, because this file is another descriptor for assemble a distribution.
I didn't knew that this maven plugin exists so thanks for the info!
I agree that it would be the cleaner approach to generate the file during the build, but on the practical side it's just one more step during the build process which may fail on some OS or java version (after checking the issues page of the plugin there are issues with 64bit linux which requires to install additional libraries and so on)
So I tend to avoid complicating the build and introduce potential errors for users which may want to checkout and build umlet on their local machine, because the build process is already quite complicated with the multiple platforms (eclipse plugin, swing, gwt), especially for this case where umlet.exe
is just a simple wrapper around java -jar umlet.jar
without being influenced by any code change to umlet.
You refers to https://github.com/lukaszlenart/launch4j-maven-plugin/issues/4, right?
It's possible to add a non-active-by-default profile in the pom.xml
.
The normal build will not be compromised.
If someone has to generate the EXE file, this profile has to be activate while the Maven build.
$ mvn clean install -Pgenerate-exe
On the CI, this profile could be always active.
For now I need these libraries too, if I like to generate the EXE via launch4j directly.
You're right an optional profile would be a solution, but it's still just a simple exe which wraps an icon and executes the jar file which is external from the exe, so I'm not sure if we would gain anything by replacing the static file with a dynamic creation.
Perhaps I will take a look at it if I find some time, but I would say it's not a high priority issue.
it's not a high priority issue.
That's fine. I'll build an example for the macOS app (#497) and we will see if it is useful for the EXE too.