Comments (9)
@fvarrui I'm going to give jpackage
a little more time to improve, then if I'm still having problems, I'll open a PR.
from javapackager.
@fvarrui Hey thanks for looking into this. It looks like you're using the mojo-executor library for the following reasons: create runnable jar, copy jar dependencies, launch4j, and a deb package installer plugin. For the runnable jar and jar dependencies part, you can use the Gradle application plugin which does both of those easily. There is a Gradle launch4j plugin too located here and for debian packages, see this plugin (which might be a bit out of date though).
Also, have you looked into create-dmg for creating DMGs for macOS? It allows for more configuration beyond just calling hdiutil
to create a basic disk image so may want to look into that if you want a more configurable DMG installer (add icon, background image, etc.)
As a side note, it seems as though you're storing your maven plugin artifacts in this repo which isn't the best practice. Binaries and Git don't work well over time. You should consider putting those in maven central so users don't have to add this repo as a plugin repo and so you don't have to use git for binaries.
Anyways, I've gotten jpackage
to work with OpenJDK14 so I'll be using that for now. However, if in the future I want more control of creating images and installers, I'll be sure to help out with this project. Thanks.
from javapackager.
Following your advice, I've published JavaPackager in Maven Central. Thanks!
from javapackager.
Hi @Petersoj,
I've looked into create-dmg, and taked some ideas to enhance DMG creation. This is a sample of a generated DMG with JavaPackager 0.9.6-SNAPSHOT, by default, without any config.
As soon as I add properties to configure the DMG (background image, windows size and location, icons location), I'll publish 0.9.6.
I've been researching about Gradle plugins and I'm going to try to make a hybrid plugin (same JAR for Maven and Gradle), reusing as much functionality as possible, so I don't have to maintain two plugins. I'm not sure if it's a good idea, but I'll try it.
Thanks again for your feedback!!
from javapackager.
JavaPackager was born because of a need. I haven't yet taken the step towards Gradle, because all my projects use Maven. Maybe you could help me to migrate it to Gradle; all help would be welcome in this task.
Thanks @Petersoj for your comment!
from javapackager.
Hi @Petersoj,
I've been researching a bit about the migration of the plugin to Gradle, and the main problem I see
is that JavaPackager has dependencies on other Maven plugins. JavaPackager uses the mojo-executor library to invoke other Maven plugins, but it is only possible to use it within a Maven context. Therefore, we would have to build a large part of the plugin from scratch, or find something that performs these functions in Gradle. Not to mention, the effort to maintain both versions of the plugin (Maven and Gradle). For this situation, a good approach could be to separate the core functionality of the plugin in a separate library, which could then be invoked independently from Maven and Gradle plugins. However, I'll continue researching because it might be interesting.
from javapackager.
Thanks @Petersoj! Your comments are very helpful
from javapackager.
Hi @Petersoj!
I'm happy to announce that JavaPackager version 1.2.0 is also available for Gradle.
At the moment it is only available in Maven Central (using legacy mode plugin application), but I'll publish it soon in Gradle's plugin portal.
Thanks!
from javapackager.
Awesome! Good work!
from javapackager.
Related Issues (20)
- package error “Unresolved reference” HOT 4
- JavaPackager ignoring runnableJar setting HOT 2
- After turning on administrator Required, there is no response after entering the password when starting under mac. HOT 14
- With "org.apache.poi" in my project, there is always "module not found" error occured HOT 17
- How to exclude certain jars from copyDependencies task (duplicate handling strategy) HOT 9
- mis/exe installation package custom installation path HOT 3
- Fat Jar doesn't seem to work as expected HOT 13
- How to make a clean terminal app for MacOS? HOT 5
- How can I set the singleInstance property of launch4j through a plugin HOT 3
- About GraalVM HOT 2
- when I try tro execute the .exe file, it repots "The application requires a java Runtime Environment" HOT 21
- How can I package for macOS with the demo ? https://github.com/fvarrui/JavaPackager/issues/409 HOT 1
- Erro “require java runtime environment......” in 1.7.6-SNAPSHOT HOT 2
- Question (or bug) about PKCS11 keystore type HOT 13
- How to keep old data files when upgrading? HOT 10
- Resource loading exception HOT 5
- javapackager packaging and security HOT 1
- Plugin searches for some library `tool.jar` on Mac under hard coded, non-existing path and fails right away HOT 12
- I need help about that HOT 1
- Path resolution causes bundled jre to not be found on linux when building from windows HOT 15
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from javapackager.