Skip to content

Remove generated EXE from repository (umlet-standalone) #496

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

Open
barthel opened this issue Mar 24, 2018 · 4 comments
Open

Remove generated EXE from repository (umlet-standalone) #496

barthel opened this issue Mar 24, 2018 · 4 comments

Comments

@barthel
Copy link
Contributor

barthel commented Mar 24, 2018

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.

@afdia
Copy link
Collaborator

afdia commented Mar 25, 2018

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.

@barthel
Copy link
Contributor Author

barthel commented Mar 25, 2018

You refers to orphan-oss/launch4j-maven-plugin#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.

@afdia
Copy link
Collaborator

afdia commented Mar 25, 2018

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.

@barthel
Copy link
Contributor Author

barthel commented Mar 25, 2018

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants