Draft JEP proposal: JDK-8200758: Packaging Tool
Alan Bateman
Alan.Bateman at oracle.com
Fri Jun 1 07:53:59 UTC 2018
On 31/05/2018 01:10, Kevin Rushforth wrote:
> I would like to propose the following Draft JEP [1] for discussion.
>
> JDK-8200758: Packaging Tool
>
> This is intended as a JDK-scope replacement for the existing
> javapackager tool that ships with Oracle JDK 10 (and earlier Oracle
> JDK releases), and was delivered as part of the JavaFX build. The
> javapackager tool has been removed from Oracle JDK 11 along with the
> removal of JavaFX.
>
> Comments on this JEP are welcome. It is currently not targeted for a
> specific release, but we are aiming for JDK 12.
>
> -- Kevin
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8200758
>
I read through the draft.
The Goals and Non-Goals looks very reasonable.
The Summary includes "self-contained Java Server ... applications" but
the JEP doesn't say too much about that part. Can we assume it can be
started and stopped with /etc/init.d or equivalent scripts, logs with
the server output etc? A general observation is that most of the issues
around end-user/GUI applications are clearly documented in the draft,
the headless application environment case less so. It makes me wonder if
this JEP should be split so that it initially focuses on the former.
I think it would be useful if the JEP explained what an "application"
is. Is it a JAR file (with a Main-Class) that is deployed on the class
path? Can it be a module? What about modules and libraries that the
application uses. Users of javapackager might know these things but
readers of the JEP may not.
The JEP mentions that JavaFX will be removed in JDK 11. I assume this
should be clarified so that it's clear it will no longer be shipped in
Oracle's JDK. It's a none issue for those using OpenJDK builds as the
the JavaFX modules were never bundled/imported by default.
There are several references to "server JRE" that probably should be
clarified as this notion does not exist in OpenJDK. It may be that the
JEP just needs to clearer as to the modules that it links into the
run-time image.
There are several references to "application launcher" and "native
launcher". At some point we need to work out some issues with jlink as
it it will need to generate native launchers too. The JEP could list it
as an issue as the development of this JEP will at least touch on some
of this.
The draft doesn't have a section on testing. If someone is building
OpenJDK then will they will require additional tools in the build
environment and can the tests be run without manual interaction? Also
how about a developer using the tool, will the generated native packages
be easy to un-install so they can easily test in a local environment?
-Alan
More information about the core-libs-dev
mailing list