Skip to content

Update jre-optional lists in build.xml for Java 8 #210

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

Closed
processing-bot opened this issue May 16, 2015 · 3 comments
Closed

Update jre-optional lists in build.xml for Java 8 #210

processing-bot opened this issue May 16, 2015 · 3 comments

Comments

@processing-bot
Copy link
Collaborator

Created by: benfry

In build.xml, we need to update the jre-optional lists based on the Java 8 release notes: http://www.oracle.com/technetwork/java/javase/jre-8-readme-2095710.html

For OS X, these need to happen inside our appbundler fork.

These lists are necessary to remove unused libraries and reduce the download size.

@processing-bot
Copy link
Collaborator Author

Created by: codeanticode

@benfry I went through the Java 8 release notes, and tested an expanded jre-optional list for windows and linux, which helped reduce the size of the java bundle in about 30MB, and without any apparent side effects (tested running, debugging, and exporting sketches).

For Linux, the list is:

  <fileset dir="linux/work/java" id="jre-optional-linux">
    <include name="lib/ext/*" />

    <include name="bin/rmid" />

    <include name="bin/rmiregistry" />
    <include name="bin/tnameserv" />
    <!-- <include name="bin/keytool" /> -->
    <include name="bin/kinit" />

    <include name="bin/klist" />

    <include name="bin/ktab" />
    <include name="bin/policytool" />
    <include name="bin/orbd" />
    <include name="bin/servertool" />

    <include name="bin/javaws" />
    <include name="lib/javaws.jar" />
   
    <include name="lib/jfr" />
    <include name="lib/jfr.jar" />

    <include name="lib/oblique-fonts/*" />
    <include name="lib/desktop/*" />
    <include name="plugin/*" />

  </fileset>

and Windows:

  <fileset dir="windows/work/java" id="jre-optional-windows">
    <include name="lib/ext/*" />

    <include name="bin/rmid.exe" />
    <include name="bin/rmid.dll" />

    <include name="bin/rmiregistry.exe" />
    <include name="bin/tnameserv.exe" />
    <!-- <include name="bin/keytool.exe" /> -->
    <include name="bin/kinit.exe" />

    <include name="bin/klist.exe" />

    <include name="bin/ktab.exe" />
    <include name="bin/policytool.exe" />
    <include name="bin/orbd.exe" />
    <include name="bin/servertool.exe" />

    <include name="bin/javaws.exe" />
    <include name="lib/javaws.jar" />
   
    <include name="lib/jfr/*" />
    <include name="lib/jfr.jar" />

    <include name="lib/oblique-fonts/*" />
    <include name="lib/desktop/*" />
    <include name="plugin/*" />

    <include name="bin/javaw.exe" />
    <include name="bin/javacpl.exe" />
    <include name="bin/jucheck.exe" />
    <include name="bin/dtplugin/*" />
    <include name="bin/jabswitch.exe" />
    <include name="bin/java_crw_demo.dll" />
    <include name="bin/JavaAccessBridge-*.dll" />
    <include name="bin/JavaAccessBridge.dll" />
    <include name="bin/JAWTAccessBridge-*.dll" />
    <include name="bin/JAWTAccessBridge.dll" />
    <include name="bin/WindowsAccessBridge-*.dll" />
    <include name="bin/WindowsAccessBridge.dll" />
    <include name="bin/wsdetect.dll" />
    <include name="bin/dtplugin\*" />
    <include name="bin/plugin2\*" />
    <include name="bin/deploy.dll" />
    <include name="bin/jfr.dll" />
    <include name="bin/javacpl.cpl" />
    <include name="lib/deploy.jar" />
    <include name="lib/plugin.jar" />
    <include name="lib/deploy/*" />

  </fileset>

Note that in both cases I left keytool in, because no having it causes problem for users without a system installation of the JDK or the JRE who are working on Android, see processing/processing-android#254. (the JDK bundled on Mac does currently include keytool)

According to the release notes, the list of optional files for Mac should be similar to Linux.

@processing-bot
Copy link
Collaborator Author

Created by: benfry

Moving to the Processing 4 repo since it's been resolved there with dfcda06

And by resolved, just not going to bother with this. As noted in build.xml

Before 4.0a5, these included longer lists of files to remove in order
to keep downloads and exported applications smaller. With Java 11,
it's a losing battle, so we're only removing the worst offenders.

@processing-bot
Copy link
Collaborator Author

Created by: github-actions[bot]

This issue has been automatically locked. To avoid confusion with reports that have already been resolved, closed issues are automatically locked 30 days after the last comment. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant