changeset 11037:1c41a955fdea

Merge
author kcr
date Thu, 23 Aug 2018 04:06:04 -0700
parents 428db1432904 6c6e1b30a3f4
children 20a8447c71c6 5ef044b5fa3c
files .hgtags .idea/fxpackager.iml build.gradle dependencies/java.base/module-info.java.extra dependencies/jdk.jlink/module-info.java.extra modules/jdk.packager.services/make/build.properties modules/jdk.packager.services/src/main/java/jdk/packager/services/UserJvmOptionsService.java modules/jdk.packager.services/src/main/java/jdk/packager/services/package.html modules/jdk.packager.services/src/main/java/jdk/packager/services/singleton/SingleInstanceImpl.java modules/jdk.packager.services/src/main/java/jdk/packager/services/singleton/SingleInstanceListener.java modules/jdk.packager.services/src/main/java/jdk/packager/services/singleton/SingleInstanceNewActivation.java modules/jdk.packager.services/src/main/java/jdk/packager/services/singleton/SingleInstanceService.java modules/jdk.packager.services/src/main/java/jdk/packager/services/userjvmoptions/LauncherUserJvmOptions.java modules/jdk.packager.services/src/main/java/jdk/packager/services/userjvmoptions/PreferencesUserJvmOptions.java modules/jdk.packager.services/src/main/java/module-info.java modules/jdk.packager/.classpath modules/jdk.packager/.project modules/jdk.packager/lib/java-coffee-cup-23x20.png modules/jdk.packager/lib/splash.gif modules/jdk.packager/make/build.properties modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/AntLog.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Application.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/CSSToBinTask.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Callback.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Callbacks.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/DeployFXTask.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/FXJar.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/FXSignJarTask.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/FileAssociation.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/FileSet.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Info.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/JavaVersion.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Permissions.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Platform.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Preferences.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Resources.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Runtime.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/SecondaryLauncher.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Utils.java modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/VersionCheck.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/AbstractBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/AbstractImageBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/BasicBundlers.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/Bundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/BundlerParamInfo.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/Bundlers.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/ConfigException.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/EnumeratedBundlerParam.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/IOUtils.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/InvalidBundlerParamException.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/JreUtils.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/Log.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/Platform.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/RelativeFileSet.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/StandardBundlerParam.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/UnsupportedPlatformException.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/jnlp/JNLPBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/linux/LinuxAppBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/linux/LinuxDebBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/linux/LinuxResources.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/linux/LinuxRpmBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/mac/MacAppBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/mac/MacAppStoreBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/mac/MacBaseInstallerBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/mac/MacDaemonBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/mac/MacDmgBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/mac/MacPkgBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/mac/MacResources.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/windows/WinAppBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/windows/WinExeBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/windows/WinMsiBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/windows/WinResources.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/windows/WinServiceBundler.java modules/jdk.packager/src/main/java/com/oracle/tools/packager/windows/WindowsBundlerParam.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/CachingPrintStream.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/CommonParams.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/CreateBSSParams.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/CreateJarParams.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/DeployParams.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/HtmlParam.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/JSCallback.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/JarSignature.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/Log.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/Main.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/MakeAllParams.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/PackagerException.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/PackagerLib.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/Param.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/SignJarParams.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/TemplatePlaceholders.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/bundlers/BundleParams.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/bundlers/Bundler.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/bundlers/ConfigException.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/bundlers/RelativeFileSet.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/packager/bundlers/UnsupportedPlatformException.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/resource/ConsolidatedResources.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/resource/DeployResource.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/resource/DetailedResourceTraversal.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/resource/PackagerResource.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/resource/ResourceFilter.java modules/jdk.packager/src/main/java/com/sun/javafx/tools/resource/ResourceTraversal.java modules/jdk.packager/src/main/java/jdk/packager/internal/JavaPackagerToolProvider.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/JDepHelper.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/JLinkBundlerHelper.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/Module.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/ModuleManager.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/RedistributableModules.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/builders/AbstractAppImageBuilder.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/builders/linux/LinuxAppImageBuilder.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/builders/mac/MacAppImageBuilder.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/builders/windows/WindowsAppImageBuilder.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/mac/MacCertificate.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/windows/WindowsDefender.java modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/windows/WindowsRegistry.java modules/jdk.packager/src/main/java/module-info.java modules/jdk.packager/src/main/man/ja_JP.UTF-8/man1/javapackager.1 modules/jdk.packager/src/main/man/man1/javapackager.1 modules/jdk.packager/src/main/native/javapackager/shell/javapackager modules/jdk.packager/src/main/native/javapackager/win/ByteBuffer.cpp modules/jdk.packager/src/main/native/javapackager/win/ByteBuffer.h modules/jdk.packager/src/main/native/javapackager/win/IconSwap.cpp modules/jdk.packager/src/main/native/javapackager/win/IconSwap.h modules/jdk.packager/src/main/native/javapackager/win/VersionInfoSwap.cpp modules/jdk.packager/src/main/native/javapackager/win/VersionInfoSwap.h modules/jdk.packager/src/main/native/javapackager/win/javapackager.cpp modules/jdk.packager/src/main/native/javapackager/win/javapackager.manifest modules/jdk.packager/src/main/native/javapackager/win/javapackager.rc modules/jdk.packager/src/main/native/launcher/linux/launcher.cpp modules/jdk.packager/src/main/native/launcher/linux/test/CppApplication_1/.dep.inc modules/jdk.packager/src/main/native/launcher/linux/test/CppApplication_1/Makefile modules/jdk.packager/src/main/native/launcher/linux/test/CppApplication_1/nbproject/Makefile-Debug.mk modules/jdk.packager/src/main/native/launcher/linux/test/CppApplication_1/nbproject/Makefile-Release.mk modules/jdk.packager/src/main/native/launcher/linux/test/CppApplication_1/nbproject/Makefile-impl.mk modules/jdk.packager/src/main/native/launcher/linux/test/CppApplication_1/nbproject/Makefile-variables.mk modules/jdk.packager/src/main/native/launcher/linux/test/CppApplication_1/nbproject/Package-Debug.bash modules/jdk.packager/src/main/native/launcher/linux/test/CppApplication_1/nbproject/Package-Release.bash modules/jdk.packager/src/main/native/launcher/linux/test/CppApplication_1/nbproject/configurations.xml modules/jdk.packager/src/main/native/launcher/linux/test/CppApplication_1/nbproject/project.xml modules/jdk.packager/src/main/native/launcher/mac/main.m modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncher.xcodeproj/project.pbxproj modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncher.xcodeproj/project.xcworkspace/contents.xcworkspacedata modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncher/AppDelegate.h modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncher/AppDelegate.m modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncher/Base.lproj/MainMenu.xib modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncher/Images.xcassets/AppIcon.appiconset/Contents.json modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncher/en.lproj/Credits.rtf modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncher/en.lproj/InfoPlist.strings modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncher/testlauncher-Info.plist modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncher/testlauncher-Prefix.pch modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncherTests/en.lproj/InfoPlist.strings modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncherTests/testlauncherTests-Info.plist modules/jdk.packager/src/main/native/launcher/mac/test/testlauncher/testlauncherTests/testlauncherTests.m modules/jdk.packager/src/main/native/launcher/win/WinLauncher.cpp modules/jdk.packager/src/main/native/library/common/Exports.cpp modules/jdk.packager/src/main/native/library/common/Exports.h modules/jdk.packager/src/main/native/library/common/FilePath.cpp modules/jdk.packager/src/main/native/library/common/FilePath.h modules/jdk.packager/src/main/native/library/common/GenericPlatform.cpp modules/jdk.packager/src/main/native/library/common/GenericPlatform.h modules/jdk.packager/src/main/native/library/common/Helpers.cpp modules/jdk.packager/src/main/native/library/common/Helpers.h modules/jdk.packager/src/main/native/library/common/IniFile.cpp modules/jdk.packager/src/main/native/library/common/IniFile.h modules/jdk.packager/src/main/native/library/common/Java.cpp modules/jdk.packager/src/main/native/library/common/Java.h modules/jdk.packager/src/main/native/library/common/JavaUserPreferences.cpp modules/jdk.packager/src/main/native/library/common/JavaUserPreferences.h modules/jdk.packager/src/main/native/library/common/JavaVirtualMachine.cpp modules/jdk.packager/src/main/native/library/common/JavaVirtualMachine.h modules/jdk.packager/src/main/native/library/common/LinuxPlatform.cpp modules/jdk.packager/src/main/native/library/common/LinuxPlatform.h modules/jdk.packager/src/main/native/library/common/Lock.cpp modules/jdk.packager/src/main/native/library/common/Lock.h modules/jdk.packager/src/main/native/library/common/MacPlatform.h modules/jdk.packager/src/main/native/library/common/MacPlatform.mm modules/jdk.packager/src/main/native/library/common/Macros.cpp modules/jdk.packager/src/main/native/library/common/Macros.h modules/jdk.packager/src/main/native/library/common/Messages.cpp modules/jdk.packager/src/main/native/library/common/Messages.h modules/jdk.packager/src/main/native/library/common/OrderedMap.h modules/jdk.packager/src/main/native/library/common/Package.cpp modules/jdk.packager/src/main/native/library/common/Package.h modules/jdk.packager/src/main/native/library/common/Platform.cpp modules/jdk.packager/src/main/native/library/common/Platform.h modules/jdk.packager/src/main/native/library/common/PlatformString.cpp modules/jdk.packager/src/main/native/library/common/PlatformString.h modules/jdk.packager/src/main/native/library/common/PlatformThread.cpp modules/jdk.packager/src/main/native/library/common/PlatformThread.h modules/jdk.packager/src/main/native/library/common/PosixPlatform.cpp modules/jdk.packager/src/main/native/library/common/PosixPlatform.h modules/jdk.packager/src/main/native/library/common/PropertyFile.cpp modules/jdk.packager/src/main/native/library/common/PropertyFile.h modules/jdk.packager/src/main/native/library/common/WindowsPlatform.cpp modules/jdk.packager/src/main/native/library/common/WindowsPlatform.h modules/jdk.packager/src/main/native/library/common/main.cpp modules/jdk.packager/src/main/native/service/win/WinLauncherSvc.cpp modules/jdk.packager/src/main/native/tests/DevTest/DevTest/build.xml modules/jdk.packager/src/main/native/tests/DevTest/DevTest/manifest.mf modules/jdk.packager/src/main/native/tests/DevTest/DevTest/nbproject/build-impl.xml modules/jdk.packager/src/main/native/tests/DevTest/DevTest/nbproject/genfiles.properties modules/jdk.packager/src/main/native/tests/DevTest/DevTest/nbproject/project.properties modules/jdk.packager/src/main/native/tests/DevTest/DevTest/nbproject/project.xml modules/jdk.packager/src/main/native/tests/DevTest/DevTest/src/DebugExports.java modules/jdk.packager/src/main/native/tests/DevTest/DevTest/src/hello/TestPackager.java modules/jdk.packager/src/main/native/tests/linux/launcher/launcher/.dep.inc modules/jdk.packager/src/main/native/tests/linux/launcher/launcher/Makefile modules/jdk.packager/src/main/native/tests/linux/launcher/launcher/nbproject/Makefile-Debug.mk modules/jdk.packager/src/main/native/tests/linux/launcher/launcher/nbproject/Makefile-Release.mk modules/jdk.packager/src/main/native/tests/linux/launcher/launcher/nbproject/Makefile-impl.mk modules/jdk.packager/src/main/native/tests/linux/launcher/launcher/nbproject/Makefile-variables.mk modules/jdk.packager/src/main/native/tests/linux/launcher/launcher/nbproject/Package-Debug.bash modules/jdk.packager/src/main/native/tests/linux/launcher/launcher/nbproject/Package-Release.bash modules/jdk.packager/src/main/native/tests/linux/launcher/launcher/nbproject/configurations.xml modules/jdk.packager/src/main/native/tests/linux/launcher/launcher/nbproject/project.xml modules/jdk.packager/src/main/native/tests/linux/library/packager/.dep.inc modules/jdk.packager/src/main/native/tests/linux/library/packager/Makefile modules/jdk.packager/src/main/native/tests/linux/library/packager/nbproject/Makefile-Debug.mk modules/jdk.packager/src/main/native/tests/linux/library/packager/nbproject/Makefile-Release.mk modules/jdk.packager/src/main/native/tests/linux/library/packager/nbproject/Makefile-impl.mk modules/jdk.packager/src/main/native/tests/linux/library/packager/nbproject/Makefile-variables.mk modules/jdk.packager/src/main/native/tests/linux/library/packager/nbproject/Package-Debug.bash modules/jdk.packager/src/main/native/tests/linux/library/packager/nbproject/Package-Release.bash modules/jdk.packager/src/main/native/tests/linux/library/packager/nbproject/configurations.xml modules/jdk.packager/src/main/native/tests/linux/library/packager/nbproject/project.xml modules/jdk.packager/src/main/native/tests/mac/launcher/launcher.xcodeproj/project.pbxproj modules/jdk.packager/src/main/native/tests/mac/launcher/launcher/launcher-Info.plist modules/jdk.packager/src/main/native/tests/mac/launcher/launcher/launcher-Prefix.pch modules/jdk.packager/src/main/native/tests/mac/library/packager/libpackager.xcodeproj/project.pbxproj modules/jdk.packager/src/main/native/tests/mac/library/packager/libpackager.xcodeproj/project.xcworkspace/contents.xcworkspacedata modules/jdk.packager/src/main/native/tests/mac/library/packager/packager/libpackager-Prefix.pch modules/jdk.packager/src/main/native/tests/mac/library/packager/packagerTests/en.lproj/InfoPlist.strings modules/jdk.packager/src/main/native/tests/mac/library/packager/packagerTests/libpackagerTests-Info.plist modules/jdk.packager/src/main/native/tests/mac/library/packager/packagerTests/packagerTests.m modules/jdk.packager/src/main/native/tests/win/iconswap/IconSwap.vcxproj modules/jdk.packager/src/main/native/tests/win/javapackager/javapackager.sln modules/jdk.packager/src/main/native/tests/win/javapackager/javapackager.vcxproj modules/jdk.packager/src/main/native/tests/win/launcher/launcher.sln modules/jdk.packager/src/main/native/tests/win/launcher/launcher.vcxproj modules/jdk.packager/src/main/native/tests/win/library/library.def modules/jdk.packager/src/main/native/tests/win/library/library.sln modules/jdk.packager/src/main/native/tests/win/library/library.vcxproj modules/jdk.packager/src/main/native/tests/win/library/main.def modules/jdk.packager/src/main/resources/com/oracle/tools/packager/AbstractBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/AbstractBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/AbstractBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/AbstractImageBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/AbstractImageBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/AbstractImageBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/StandardBundlerParam.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/StandardBundlerParam_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/StandardBundlerParam_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/jnlp/JNLPBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/jnlp/JNLPBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/jnlp/JNLPBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxAppBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxAppBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxAppBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxDebBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxDebBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxDebBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxRpmBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxRpmBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxRpmBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/javalogo_white_16.png modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/javalogo_white_32.png modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/javalogo_white_48.png modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/template.control modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/template.copyright modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/template.deb.init.script modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/template.desktop modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/template.postinst modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/template.postrm modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/template.preinst modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/template.prerm modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/template.rpm.init.script modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/template.spec modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/DMGsetup.scpt modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/GenericApp.icns modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/GenericAppHiDPI.icns modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/Info-lite.plist.template modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/Info.plist.template modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacAppBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacAppBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacAppBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacAppStore.entitlements modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacAppStoreBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacAppStoreBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacAppStoreBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacAppStore_Inherit.entitlements modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacBaseInstallerBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacBaseInstallerBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacBaseInstallerBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacDaemonBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacDaemonBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacDaemonBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacDmgBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacDmgBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacDmgBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacPkgBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacPkgBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacPkgBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/Runtime-Info.plist.template modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/background_dmg.png modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/background_pkg.png modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/launchd.plist.template modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/lic_template.plist modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/postinstall.template modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/preinstall.template modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinAppBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinAppBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinAppBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinExeBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinExeBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinExeBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinLauncher.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinMsiBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinMsiBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinMsiBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinServiceBundler.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinServiceBundler_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinServiceBundler_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WindowsBundlerParam.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WindowsBundlerParam_ja.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WindowsBundlerParam_zh_CN.properties modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/icon_inno_setup.bmp modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/javalogo_white_16.ico modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/javalogo_white_32.ico modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/javalogo_white_48.ico modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/template.iss modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/template.wxs modules/jdk.packager/src/main/resources/com/sun/javafx/tools/ant/DeployFXTask.properties modules/jdk.packager/src/main/resources/com/sun/javafx/tools/ant/DeployFXTask_ja.properties modules/jdk.packager/src/main/resources/com/sun/javafx/tools/ant/DeployFXTask_zh_CN.properties modules/jdk.packager/src/main/resources/com/sun/javafx/tools/ant/antlib.xml modules/jdk.packager/src/main/resources/com/sun/javafx/tools/packager/Bundle.properties modules/jdk.packager/src/main/resources/com/sun/javafx/tools/packager/Bundle_ja.properties modules/jdk.packager/src/main/resources/com/sun/javafx/tools/packager/Bundle_zh_CN.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/JLinkBundlerHelper.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/JLinkBundlerHelper_ja.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/JLinkBundlerHelper_zh_CN.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/AbstractAppImageBuilder.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/AbstractAppImageBuilder_ja.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/AbstractAppImageBuilder_zh_CN.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/linux/LinuxAppImageBuilder.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/linux/LinuxAppImageBuilder_ja.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/linux/LinuxAppImageBuilder_zh_CN.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/mac/MacAppImageBuilder.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/mac/MacAppImageBuilder_ja.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/mac/MacAppImageBuilder_zh_CN.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/windows/WindowsAppImageBuilder.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/windows/WindowsAppImageBuilder_ja.properties modules/jdk.packager/src/main/resources/jdk/packager/internal/legacy/builders/windows/WindowsAppImageBuilder_zh_CN.properties modules/jdk.packager/src/test/apps/MinesweeperFX/build.xml modules/jdk.packager/src/test/apps/MinesweeperFX/lib/nblibraries.properties modules/jdk.packager/src/test/apps/MinesweeperFX/manifest.mf modules/jdk.packager/src/test/apps/MinesweeperFX/nbproject/build-impl.xml modules/jdk.packager/src/test/apps/MinesweeperFX/nbproject/configs/Run_as_WebStart.properties modules/jdk.packager/src/test/apps/MinesweeperFX/nbproject/configs/Run_in_Browser.properties modules/jdk.packager/src/test/apps/MinesweeperFX/nbproject/genfiles.properties modules/jdk.packager/src/test/apps/MinesweeperFX/nbproject/jfx-impl.xml modules/jdk.packager/src/test/apps/MinesweeperFX/nbproject/project.properties modules/jdk.packager/src/test/apps/MinesweeperFX/nbproject/project.xml modules/jdk.packager/src/test/apps/MinesweeperFX/src/minesweeperfx/Board.java modules/jdk.packager/src/test/apps/MinesweeperFX/src/minesweeperfx/Game.java modules/jdk.packager/src/test/apps/MinesweeperFX/src/minesweeperfx/Globals.java modules/jdk.packager/src/test/apps/MinesweeperFX/src/minesweeperfx/Location.java modules/jdk.packager/src/test/apps/MinesweeperFX/src/minesweeperfx/MinesweeperFX.java modules/jdk.packager/src/test/apps/MinesweeperFX/src/minesweeperfx/Point.java modules/jdk.packager/src/test/apps/MinesweeperFX/src/minesweeperfx/Rectangle.java modules/jdk.packager/src/test/apps/MinesweeperFX/src/minesweeperfx/Resources.java modules/jdk.packager/src/test/apps/MinesweeperFX/src/minesweeperfx/Tile.java modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/MinesweeperFX.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/blank.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/blankover.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/exposed.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/flag.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/hitmine.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/mine.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/number1.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/number2.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/number3.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/number4.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/number5.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/number6.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/number7.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/number8.png modules/jdk.packager/src/test/apps/MinesweeperFX/src/resources/wrongmine.png modules/jdk.packager/src/test/examples/APITest/Tester.java modules/jdk.packager/src/test/examples/APITest/package.sh modules/jdk.packager/src/test/examples/Ensemble/clean.sh modules/jdk.packager/src/test/examples/Ensemble/package.sh modules/jdk.packager/src/test/examples/Ensemble/resources/Ensemble.ai modules/jdk.packager/src/test/examples/Ensemble/resources/Ensemble.png modules/jdk.packager/src/test/examples/MinesweeperFX/clean.sh modules/jdk.packager/src/test/examples/MinesweeperFX/compile.sh modules/jdk.packager/src/test/examples/MinesweeperFX/package.sh modules/jdk.packager/src/test/examples/antsingletonapp/build.xml modules/jdk.packager/src/test/examples/antsingletonapp/clean.sh modules/jdk.packager/src/test/examples/antsingletonapp/package.sh modules/jdk.packager/src/test/examples/antsingletonapp/src/HelloWorld.java modules/jdk.packager/src/test/examples/antswingapp/build.xml modules/jdk.packager/src/test/examples/antswingapp/clean.sh modules/jdk.packager/src/test/examples/antswingapp/package.sh modules/jdk.packager/src/test/examples/antswingapp/src/HelloWorld.java modules/jdk.packager/src/test/examples/cleanall.sh modules/jdk.packager/src/test/examples/execall.sh modules/jdk.packager/src/test/examples/fxapp/clean.sh modules/jdk.packager/src/test/examples/fxapp/compile.sh modules/jdk.packager/src/test/examples/fxapp/package.sh modules/jdk.packager/src/test/examples/fxmodularapp/clean.sh modules/jdk.packager/src/test/examples/fxmodularapp/compile.sh modules/jdk.packager/src/test/examples/fxmodularapp/package.sh modules/jdk.packager/src/test/examples/fxmodularapp/src/minesweeperfx/Resources.java modules/jdk.packager/src/test/examples/fxmodularapp/src/module-info.java modules/jdk.packager/src/test/examples/mixedantswing/build.xml modules/jdk.packager/src/test/examples/mixedantswing/clean.sh modules/jdk.packager/src/test/examples/mixedantswing/package.sh modules/jdk.packager/src/test/examples/mixedantswing/src/my.jar/HelloWorld.java modules/jdk.packager/src/test/examples/mixedantswing/src/my.module/com/greetings/HelloWorld.java modules/jdk.packager/src/test/examples/mixedantswing/src/my.module/module-info.java modules/jdk.packager/src/test/examples/modularantswingapp/build.xml modules/jdk.packager/src/test/examples/modularantswingapp/clean.sh modules/jdk.packager/src/test/examples/modularantswingapp/package.sh modules/jdk.packager/src/test/examples/modularantswingapp/src/hello.world/com/greetings/HelloWorld.java modules/jdk.packager/src/test/examples/modularantswingapp/src/hello.world/module-info.java modules/jdk.packager/src/test/examples/modularswingapp/clean.sh modules/jdk.packager/src/test/examples/modularswingapp/compile.sh modules/jdk.packager/src/test/examples/modularswingapp/package.sh modules/jdk.packager/src/test/examples/modularswingapp/src/hello.world/com/greetings/HelloWorld.java modules/jdk.packager/src/test/examples/modularswingapp/src/hello.world/module-info.java modules/jdk.packager/src/test/examples/packageall.sh modules/jdk.packager/src/test/examples/pngtoicns.sh modules/jdk.packager/src/test/examples/runall.sh modules/jdk.packager/src/test/examples/singletonapp/clean.sh modules/jdk.packager/src/test/examples/singletonapp/compile.sh modules/jdk.packager/src/test/examples/singletonapp/package.sh modules/jdk.packager/src/test/examples/swingapp/clean.sh modules/jdk.packager/src/test/examples/swingapp/compile.sh modules/jdk.packager/src/test/examples/swingapp/package.sh modules/jdk.packager/src/test/examples/swingapp/src/HelloWorld.java modules/jdk.packager/src/test/examples/swingapp/src/HelloWorld.manifest modules/jdk.packager/src/test/examples/whichplatform.sh modules/jdk.packager/src/test/java/com/oracle/tools/packager/APITest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/BundleParamsTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/BundlersTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/CLITest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/EnumeratedBundlerParamTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/jnlp/JNLPBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/linux/LinuxAppBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/linux/LinuxDebBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/linux/LinuxRpmBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/mac/MacAppBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/mac/MacAppStoreBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/mac/MacDaemonBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/mac/MacDmgBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/mac/MacPkgBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/windows/WinAppBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/windows/WinExeBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/windows/WinMsiBundlerTest.java modules/jdk.packager/src/test/java/com/oracle/tools/packager/windows/WinServiceBundlerTest.java modules/jdk.packager/src/test/java/com/sun/javafx/tools/ant/FXJarTest.java modules/jdk.packager/src/test/java/com/sun/javafx/tools/packager/PackagerLibTest.java modules/jdk.packager/src/test/java/hello/HelloPreloader.java modules/jdk.packager/src/test/java/hello/HelloRectangle.java modules/jdk.packager/src/test/java/hello/HelloService.java modules/jdk.packager/src/test/java/hello/HelloToolProvider.java modules/jdk.packager/src/test/java/hello/SimpleBundle.java modules/jdk.packager/src/test/java/hello/TestPackager.java modules/jdk.packager/src/test/resources/TestResource.java modules/jdk.packager/src/test/resources/com/sun/javafx/tools/ant/BAservicehint.xml modules/jdk.packager/src/test/resources/com/sun/javafx/tools/ant/SecondaryLaunchers_1.xml modules/jdk.packager/src/test/resources/com/sun/javafx/tools/ant/bundleargs.xml modules/jdk.packager/src/test/resources/com/sun/javafx/tools/ant/fileAssoc.xml modules/jdk.packager/src/test/resources/hello/LICENSE-RTF.rtf modules/jdk.packager/src/test/resources/hello/java-logo2.gif modules/jdk.packager/src/test/resources/hello/small.ico modules/jdk.packager/src/test/resources/hello/test.icns modules/jdk.packager/src/tools/java/legacy/jre.list netbeans/antplugin/build.xml netbeans/antplugin/manifest.mf netbeans/antplugin/nbproject/build-impl.xml netbeans/antplugin/nbproject/genfiles.properties netbeans/antplugin/nbproject/project.properties netbeans/antplugin/nbproject/project.xml netbeans/fxpackager/build.xml netbeans/fxpackager/manifest.mf netbeans/fxpackager/nbproject/build-impl.xml netbeans/fxpackager/nbproject/genfiles.properties netbeans/fxpackager/nbproject/project.properties netbeans/fxpackager/nbproject/project.xml netbeans/fxpackagerTests/build.xml netbeans/fxpackagerTests/manifest.mf netbeans/fxpackagerTests/nbproject/build-impl.xml netbeans/fxpackagerTests/nbproject/genfiles.properties netbeans/fxpackagerTests/nbproject/project.properties netbeans/fxpackagerTests/nbproject/project.xml netbeans/jdk.packager.services/build.xml netbeans/jdk.packager.services/manifest.mf netbeans/jdk.packager.services/nbproject/build-impl.xml netbeans/jdk.packager.services/nbproject/genfiles.properties netbeans/jdk.packager.services/nbproject/project.properties netbeans/jdk.packager.services/nbproject/project.xml netbeans/jdk.packager/build.xml netbeans/jdk.packager/manifest.mf netbeans/jdk.packager/nbproject/build-impl.xml netbeans/jdk.packager/nbproject/genfiles.properties netbeans/jdk.packager/nbproject/project.properties netbeans/jdk.packager/nbproject/project.xml
diffstat 534 files changed, 40 insertions(+), 80607 deletions(-) [+]
line wrap: on
line diff
--- a/.classpath	Thu Aug 23 09:32:08 2018 +0200
+++ b/.classpath	Thu Aug 23 04:06:04 2018 -0700
@@ -2,7 +2,6 @@
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
   <classpathentry kind="src" exported="true" path="/web"/>
   <classpathentry kind="src" exported="true" path="/fxml"/>
-  <classpathentry kind="src" exported="true" path="/fxpackager"/>
   <classpathentry kind="src" exported="true" path="/swt"/>
   <classpathentry kind="src" exported="true" path="/swing"/>
   <classpathentry kind="src" exported="true" path="/media"/>
--- a/.hgtags	Thu Aug 23 09:32:08 2018 +0200
+++ b/.hgtags	Thu Aug 23 04:06:04 2018 -0700
@@ -506,5 +506,6 @@
 21b47529863d9817c2ece0ce1a397eedd10f57ea 11+20
 3527ff907f43f6f0779a70acd23d4e8defa33734 11+21
 15326b4db60723d8323f2f0ea65e5ebd709075e5 11+22
+812efc1ce8017dcc0c5e150ad91a7e99f25a2d80 12+0
 15770e65250e465e67848f2d1b8016b134e3046c 11+23
 bf4a59920c38bb12404d504b0ced6bede615df4a 11+24
--- a/.idea/fxpackager.iml	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$/modules/jdk.packager">
-      <sourceFolder url="file://$MODULE_DIR$/modules/jdk.packager/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/modules/jdk.packager/src/main/resources" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/modules/jdk.packager/src/test/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/modules/jdk.packager/src/test/resources" type="java-test-resource" />
-      <excludeFolder url="file://$MODULE_DIR$/modules/jdk.packager/build" />
-    </content>
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="controls" exported="" />
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="library" scope="TEST" name="junit4" level="application" />
-  </component>
-</module>
\ No newline at end of file
--- a/.idea/modules.xml	Thu Aug 23 09:32:08 2018 +0200
+++ b/.idea/modules.xml	Thu Aug 23 04:06:04 2018 -0700
@@ -25,7 +25,6 @@
       <module fileurl="file://$PROJECT_DIR$/.idea/buildSrc.iml" filepath="$PROJECT_DIR$/.idea/buildSrc.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/controls.iml" filepath="$PROJECT_DIR$/.idea/controls.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/fxml.iml" filepath="$PROJECT_DIR$/.idea/fxml.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/fxpackager.iml" filepath="$PROJECT_DIR$/.idea/fxpackager.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/graphics.iml" filepath="$PROJECT_DIR$/.idea/graphics.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/media.iml" filepath="$PROJECT_DIR$/.idea/media.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/rt.iml" filepath="$PROJECT_DIR$/.idea/rt.iml" />
--- a/.idea/rt.iml	Thu Aug 23 09:32:08 2018 +0200
+++ b/.idea/rt.iml	Thu Aug 23 04:06:04 2018 -0700
@@ -8,7 +8,6 @@
     </content>
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="module" module-name="fxml" exported="" />
-    <orderEntry type="module" module-name="fxpackager" exported="" />
     <orderEntry type="module" module-name="swt" exported="" />
     <orderEntry type="module" module-name="swing" exported="" />
     <orderEntry type="module" module-name="media" exported="" />
--- a/build.gradle	Thu Aug 23 09:32:08 2018 +0200
+++ b/build.gradle	Thu Aug 23 04:06:04 2018 -0700
@@ -396,20 +396,6 @@
 defineProperty("COMPILE_PARFAIT", "false")
 ext.IS_COMPILE_PARFAIT = Boolean.parseBoolean(COMPILE_PARFAIT)
 
-// BUILD_FXPACKAGER enables building the packager modules and native code
-defineProperty("BUILD_FXPACKAGER", "false")
-ext.IS_BUILD_FXPACKAGER = Boolean.parseBoolean(BUILD_FXPACKAGER)
-
-// RETAIN_PACKAGER_TESTS specifies whether the tests in fxpackager should
-// keep generated files instead of attempting to automatically delete them
-defineProperty("RETAIN_PACKAGER_TESTS", "false")
-ext.IS_RETAIN_PACKAGER_TESTS = Boolean.parseBoolean(RETAIN_PACKAGER_TESTS)
-
-// TEST_PACKAGER_DMG whether tests that create DMG files via hdiutil
-// should be run.  On OSX 10.7 this tends to hang automated builds
-defineProperty("TEST_PACKAGER_DMG", "false")
-ext.IS_TEST_PACKAGER_DMG = Boolean.parseBoolean(TEST_PACKAGER_DMG)
-
 // Define the SWT.jar that we are going to have to download during the build process based
 // on what platform we are compiling from (not based on our target).
 ext.SWT_FILE_NAME = IS_MAC ? "org.eclipse.swt.cocoa.macosx.x86_64_3.105.3.v20170228-0512" :
@@ -1149,25 +1135,23 @@
     if (!project.hasProperty(t.upper)) throw new Exception("ERROR: Incorrectly configured compile flags file, missing ${t.name} property")
     def props = project.ext[t.upper];
     // TODO: we could remove libDest in favor of modLibDest
-    ["compileSwing", "compileSWT", "compileFXPackager", "libDest"].each { prop ->
+    ["compileSwing", "compileSWT", "libDest"].each { prop ->
         if (!props.containsKey(prop)) throw new Exception("ERROR: Incorrectly configured compile flags file, missing ${prop} property on ${t.name}")
     }
 }
 
 // Various build flags may be set by the different target files, such as
-// whether to build Swing, SWT, FXPackager, etc. We iterate over all
+// whether to build Swing, SWT, etc. We iterate over all
 // compile targets and look for these settings in our properties. Note that
 // these properties cannot be set from the command line, but are set by
 // the target build files such as armv6hf.gradle or mac.gradle.
 ext.COMPILE_SWING = false;
 ext.COMPILE_SWT = false;
-ext.COMPILE_FXPACKAGER = false;
 compileTargets { t ->
     def targetProperties = project.rootProject.ext[t.upper]
 
     if (targetProperties.compileSwing) COMPILE_SWING = true
     if (targetProperties.compileSWT) COMPILE_SWT = true
-    if (IS_BUILD_FXPACKAGER && HAS_JAVAFX_MODULES && targetProperties.compileFXPackager) COMPILE_FXPACKAGER = true
 
     if (!targetProperties.containsKey('compileWebnodeNative')) {
         // unless specified otherwise, we will compile native Webnode if IS_COMPILE_WEBKIT
@@ -2551,620 +2535,6 @@
 
 }
 
-project(":fxpackagerservices") {
-    project.ext.buildModule = COMPILE_FXPACKAGER
-    project.ext.includeSources = true
-    project.ext.moduleRuntime = false
-    project.ext.moduleName = "jdk.packager.services"
-
-    sourceSets {
-        main
-        //shims // no test shims needed
-        test
-    }
-
-    project.ext.moduleSourcePath = defaultModuleSourcePath
-    project.ext.moduleSourcePathShim = defaultModuleSourcePathShim
-
-    commonModuleSetup(project, [ 'base', 'graphics', 'controls' ])
-
-    tasks.all {
-        if (!COMPILE_FXPACKAGER) it.enabled = false
-    }
-
-
-    compileTestJava.enabled = false // FIXME: JIGSAW -- support this with modules
-
-    test {
-        enabled = false // FIXME: JIGSAW -- support this with modules
-        logger.info("JIGSAW Testing disabled for fxpackagerservices")
-    }
-}
-
-project(":fxpackager") {
-    project.ext.buildModule = COMPILE_FXPACKAGER
-    project.ext.includeSources = true
-    project.ext.moduleRuntime = false
-    project.ext.moduleName = "jdk.packager"
-
-    sourceSets {
-        main
-        //shims // no test shims needed
-        antplugin {
-            java {
-                compileClasspath += main.output
-                runtimeClasspath += main.output
-            }
-        }
-        test
-    }
-
-    project.ext.moduleSourcePath = defaultModuleSourcePath
-    project.ext.moduleSourcePathShim = defaultModuleSourcePathShim
-
-    commonModuleSetup(project, [ 'base', 'graphics', 'controls', 'fxpackagerservices', 'fxpackager' ])
-
-    manifest {
-        attributes(
-                "Main-Class": "com.sun.javafx.tools.packager.Main"
-        )
-    }
-
-    tasks.all {
-        if (!COMPILE_FXPACKAGER) it.enabled = false
-    }
-
-    // fxpackager has a dependency on ant in order to build the ant jar,
-    // and as such needs to point to the apache binary repository
-    if (JFX_DEPS_URL == "") {
-        repositories {
-            maven {
-                url "https://repository.apache.org"
-            }
-        }
-    }
-
-    dependencies {
-        antpluginCompile group: "org.apache.ant", name: "ant", version: "1.8.2"
-
-        testCompile project(":controls"),
-            group: "org.apache.ant", name: "ant", version: "1.8.2",
-            sourceSets.antplugin.output
-    }
-
-    //Note: these should be reflected in the module-info additions passed to the JDK
-    compileJava.options.compilerArgs.addAll([
-            "--add-exports=java.base/sun.security.timestamp=jdk.packager",
-            "--add-exports=java.base/sun.security.x509=jdk.packager",
-
-            // Note: retain jdk.jlink qualified export for cases where the JDK does
-            // not contain the jdk.packager module.
-            "--add-exports=jdk.jlink/jdk.tools.jlink.internal.packager=jdk.packager",
-
-            // Note: not in extras...
-            "--add-exports=java.base/sun.security.pkcs=jdk.packager",
-            "--add-exports=java.logging/java.util.logging=jdk.packager",
-            ])
-
-    compileAntpluginJava.dependsOn([ compileJava, processResources ])
-    compileAntpluginJava.options.compilerArgs.addAll(
-        computeModulePathArgs("antlib", project.moduleChain, false))
-
-    task buildVersionFile() {
-        File dir = new File("${project.projectDir}/build/resources/antplugin/resources");
-        File versionFile = new File(dir, "/version.properties");
-        doLast {
-            dir.mkdirs()
-            if (!versionFile.exists()) {
-                versionFile << "version=$RELEASE_VERSION\n"
-            }
-        }
-        outputs.file(versionFile)
-    }
-
-    // When producing the ant-javafx.jar, we need to relocate a few class files
-    // from their normal location to a resources/classes or resources/web-files
-    // location
-    task antpluginJar(type: Jar, dependsOn: [ compileJava, jar, compileAntpluginJava, buildVersionFile ]) {
-        includeEmptyDirs = false
-        archiveName = "ant-javafx.jar"
-
-        from (sourceSets.antplugin.output) {
-            eachFile { FileCopyDetails details ->
-                if (details.path.startsWith("com/javafx/main")) {
-                    details.path = "resources/classes/$details.path"
-                }
-            }
-        }
-
-        from (sourceSets.main.resources) {
-            includes = [ "com/sun/javafx/tools/ant/**" ]
-        }
-
-        from (sourceSets.main.output.resourcesDir) {
-            includes = [ "resources/web-files/**" ]
-        }
-    }
-
-    assemble.dependsOn(antpluginJar)
-
-    // The "man" task will create a $buildDir/man containing the man
-    // files for the system being built
-    task man(type: Copy) {
-        includeEmptyDirs = false
-        enabled = (IS_LINUX || IS_MAC) && COMPILE_FXPACKAGER
-        from "src/main/man"
-        into "$buildDir/man"
-        exclude "**/*.html"
-        if (IS_MAC) exclude "**/ja_JP.UTF-8/**"
-    }
-    processResources.dependsOn man
-
-    String buildClassesDir = "${sourceSets.main.java.outputDir}/${moduleName}"
-
-    // Compile the native launchers. These are included in jdk.packager.jmod.
-    if (IS_WINDOWS && COMPILE_FXPACKAGER) {
-        task buildWinLauncher(type: CCTask, group: "Build") {
-            description = "Compiles native sources for the application co-bundle launcher";
-            matches = "WinLauncher\\.cpp";
-            params.addAll(WIN.launcher.ccFlags);
-            output(file("$buildDir/native/WinLauncher"));
-            source(file("src/main/native/launcher/win"));
-            compiler = WIN.launcher.compiler
-            exe = true;
-            linkerOptions.addAll(WIN.launcher.linkFlags);
-        }
-
-        task copyWinLauncher(type: Copy, group: "Build", dependsOn: buildWinLauncher) {
-            from "$buildDir/native/WinLauncher/WinLauncher.exe"
-            from "$MSVCR"
-            from "$MSVCP"
-            into "${buildClassesDir}/com/oracle/tools/packager/windows"
-        }
-
-        task compileWinLibrary(type: CCTask, group: "Build") {
-            description = "Compiles native sources for the application co-bundle launcher library";
-            matches = ".*\\.cpp"
-            source(file("src/main/native/library/common"));
-            params.addAll(WIN.launcherlibrary.ccFlags)
-            output(file("$buildDir/native/WinLauncher/obj"));
-            compiler = WIN.launcherlibrary.compiler
-        }
-
-        task linkWinLibrary(type: LinkTask, group: "Build", dependsOn: compileWinLibrary) {
-            description = "Links native sources for the application co-bundle launcher library";
-            objectDir = file("$buildDir/native/WinLauncher/obj")
-            linkParams.addAll(WIN.launcherlibrary.linkFlags);
-            lib = file("$buildDir/native/WinLauncher/packager.dll")
-            linker = WIN.launcherlibrary.linker
-        }
-
-        task copyWinLibrary(type: Copy, group: "Build", dependsOn: linkWinLibrary) {
-            from "$buildDir/native/WinLauncher/packager.dll"
-            into "${buildClassesDir}/com/oracle/tools/packager/windows"
-        }
-
-        task buildWinLauncherSvc(type: CCTask, group: "Build") {
-            description = "Compiles native sources for the application co-bundle launcher";
-            matches = "WinLauncherSvc\\.cpp";
-            params.addAll(WIN.launcher.ccFlags);
-            output(file("$buildDir/native/WinLauncherSvc"));
-            source(file("src/main/native/service/win"));
-            compiler = WIN.launcher.compiler
-            exe = true;
-            linkerOptions.addAll(WIN.launcher.linkFlags);
-        }
-
-        task copyWinLauncherSvc(type: Copy, group: "Build", dependsOn: buildWinLauncherSvc) {
-            from "$buildDir/native/WinLauncherSvc/WinLauncherSvc.exe"
-            into "${buildClassesDir}/com/oracle/tools/packager/windows"
-        }
-
-        task compileLauncher(dependsOn: [copyWinLauncher, copyWinLibrary, copyWinLauncherSvc])
-    } else if (IS_MAC && COMPILE_FXPACKAGER) {
-        task buildMacLauncher(type: CCTask, group: "Build") {
-            description = "Compiles native sources for the application co-bundle launcher"
-            matches = ".*\\.m"
-            source file("src/main/native/launcher/mac")
-            params.addAll(MAC.launcher.ccFlags)
-            compiler = MAC.launcher.compiler
-            output(file("${buildClassesDir}/com/oracle/tools/packager/mac"))
-            outputs.file(file("${buildClassesDir}/main/com/oracle/tools/packager/mac/JavaAppLauncher"))
-            eachOutputFile = { f ->
-                return new File(f.getParent(), "JavaAppLauncher")
-            }
-        }
-        task compileMacLibrary(type: CCTask, group: "Build") {
-            description = "Compiles native sources for the application co-bundle launcher library"
-            matches = ".*\\.cpp|.*\\.mm"
-            source file("src/main/native/library/common");
-            params.addAll(MAC.launcherlibrary.ccFlags)
-            compiler = MAC.launcherlibrary.compiler
-            output(file("$buildDir/native/maclauncher/obj"))
-        }
-        task linkMacLibrary(type: LinkTask, group: "Build", dependsOn: compileMacLibrary) {
-            description = "Links native sources for the application co-bundle launcher library"
-            objectDir = file("$buildDir/native/maclauncher/obj")
-            linkParams.addAll(MAC.launcherlibrary.linkFlags)
-            linker = MAC.launcherlibrary.linker
-            lib = file("${buildClassesDir}/com/oracle/tools/packager/mac/libpackager.dylib")
-        }
-        task compileLauncher(dependsOn: [buildMacLauncher, linkMacLibrary])
-    } else if (IS_LINUX && COMPILE_FXPACKAGER) {
-        task compileLinuxLauncher(type: CCTask, group: "Build") {
-            description = "Compiles native sources for the application co-bundle launcher"
-            matches = ".*\\.cpp"
-            source file("src/main/native/launcher/linux")
-            params.addAll(LINUX.launcher.ccFlags)
-            compiler = LINUX.launcher.compiler
-            output(file("$buildDir/native/linuxlauncher/launcherobj"))
-        }
-        task linkLinuxLauncher(type: LinkTask, dependsOn: compileLinuxLauncher, group: "Build") {
-            description = "Links native dynamic library for the application co-bundle launcher"
-            objectDir = file("$buildDir/native/linuxlauncher/launcherobj")
-            linkParams.addAll(LINUX.launcher.linkFlags)
-            linker = LINUX.launcher.linker
-            lib = file("${buildClassesDir}/com/oracle/tools/packager/linux/JavaAppLauncher")
-        }
-        task compileLinuxLibrary(type: CCTask, group: "Build") {
-            description = "Compiles native sources for the application co-bundle launcher library"
-            matches = ".*\\.cpp"
-            source file("src/main/native/library/common")
-            params.addAll(LINUX.launcherlibrary.ccFlags)
-            compiler = LINUX.launcherlibrary.compiler
-            output(file("$buildDir/native/linuxlauncher/obj"))
-        }
-        task linkLinuxLibrary(type: LinkTask, dependsOn: compileLinuxLibrary, group: "Build") {
-            description = "Links native dynamic library for the application co-bundle launcher library"
-            objectDir = file("$buildDir/native/linuxlauncher/obj")
-            linkParams.addAll(LINUX.launcherlibrary.linkFlags)
-            linker = LINUX.launcherlibrary.linker
-            lib = file("${buildClassesDir}/com/oracle/tools/packager/linux/libpackager.so")
-        }
-        task compileLauncher(dependsOn: [linkLinuxLauncher, linkLinuxLibrary])
-    }
-
-    // Builds the javapackager executable. For everything other than windows,
-    // this is simply moving the existing shell script and ensuring it has proper
-    // permissions. For Windows, this includes compiling the native executable
-    if (IS_WINDOWS && COMPILE_FXPACKAGER){
-        task setupCompileJavaPackager(type: Copy, group: "Build") {
-            mkdir "$buildDir/native"
-            mkdir "$buildDir/native/javapackager"
-            from file("src/main/native/javapackager/win/javapackager.manifest")
-            into file("$buildDir/native/javapackager")
-            filter { line->
-                line = line.replace("FXVERSION", RELEASE_VERSION_PADDED)
-            }
-        }
-
-        task compileJavaPackager(type: CCTask, group: "Build", dependsOn: setupCompileJavaPackager) {
-            description = "Compiles native sources for javapackager.exe"
-            matches = ".*\\.cpp"
-            params.addAll(WIN.fxpackager.ccFlags)
-            compiler = WIN.fxpackager.compiler
-            output(file("$buildDir/native/javapackager/obj"))
-            source WIN.fxpackager.nativeSource
-            doLast {
-                mkdir "$buildDir/native"
-                exec {
-                    environment(WINDOWS_NATIVE_COMPILE_ENVIRONMENT)
-                    commandLine(WIN.fxpackager.rcCompiler)
-                    args(WIN.fxpackager.rcFlags)
-                    args("/fo$buildDir/native/javapackager/javapackager.res")
-                    args(WIN.fxpackager.rcSource)
-                }
-            }
-        }
-
-        task linkJavaPackager(type: LinkTask, dependsOn: compileJavaPackager, group: "Build") {
-            description = "Links javapackager.exe"
-            objectDir = file("$buildDir/native/javapackager/obj")
-            linkParams.addAll(WIN.fxpackager.linkFlags);
-            lib = file("$buildDir/native/javapackager/javapackager.exe")
-            linker = WIN.fxpackager.linker
-            doLast {
-                exec({
-                    commandLine("$MC", "-manifest",
-                                       "$buildDir/native/javapackager/javapackager.manifest",
-                                       "-outputresource:$buildDir/native/javapackager/javapackager.exe")
-                    environment(WINDOWS_NATIVE_COMPILE_ENVIRONMENT)
-                })
-            }
-        }
-
-        task copyJavaPackager(type: Copy, group: "Build", dependsOn: linkJavaPackager) {
-            from file("$buildDir/native/javapackager/javapackager.exe")
-            into file("$buildDir/javapackager")
-        }
-
-        task buildJavaPackager(dependsOn: [copyJavaPackager])
-    } else {
-        task buildJavaPackager(type: Copy, group: "Build") {
-            enabled = COMPILE_FXPACKAGER
-            from "src/main/native/javapackager/shell"
-            into "$buildDir/javapackager"
-            fileMode = 0755
-        }
-    }
-
-    if (COMPILE_FXPACKAGER) {
-        assemble.dependsOn compileLauncher;
-        assemble.dependsOn buildJavaPackager
-    }
-
-    classes {
-        doLast {
-            // Copy all of the download libraries to libs directory for the sake of the IDEs
-            File libsDir = rootProject.file("build/libs");
-            File antLib = new File(libsDir, "ant-1.8.2.jar")
-            libsDir.mkdirs();
-
-            // Skip copy if file is present.
-            if (antLib.exists()) return;
-
-            for (File f : configurations.compile.files) {
-                copy {
-                    into libsDir
-                    from f.getParentFile()
-                    include "**/ant-1.8.2.jar"
-                    includeEmptyDirs = false
-                }
-            }
-        }
-    }
-
-    task setupPackagerFakeJar(type: Copy) {
-        from "$projectDir/src/main/resources/com/oracle/tools/packager/linux/javalogo_white_48.png"
-        from "$projectDir/src/main/resources/com/oracle/tools/packager/mac/GenericAppHiDPI.icns"
-        from "$projectDir/src/main/resources/com/oracle/tools/packager/windows/javalogo_white_48.ico"
-        from "$projectDir/src/test/resources/hello/java-logo2.gif"
-        from "$projectDir/src/test/resources/hello/small.ico"
-        from "$projectDir/src/test/resources/hello/test.icns"
-        from "$projectDir/src/test/resources/hello/LICENSE-RTF.rtf"
-        from "$projectDir/../../LICENSE"
-        into project.file("$projectDir/build/tmp/tests/appResources")
-    }
-
-    task setupPackagerFakeJarLicense(type: Copy) {
-        from "$projectDir/../../LICENSE"
-        into project.file("$projectDir/build/tmp/tests/appResources")
-        rename '(.*)LICENSE', '$1LICENSE2'
-    }
-
-    task packagerFakeJar(type: Jar, dependsOn: [setupPackagerFakeJar, setupPackagerFakeJarLicense]) {
-        dependsOn compileTestJava
-        from compileTestJava.destinationDir
-        include "hello/**"
-
-        destinationDir project.file("build/tmp/tests/appResources")
-        archiveName "mainApp.jar"
-
-        manifest {
-            attributes(
-                    "Main-Class": "hello.HelloRectangle",
-                    "Custom-Attribute": " Is it stripped?"
-            )
-        }
-    }
-
-    task packagerFXPackagedJar(type: Jar) {
-        dependsOn packagerFakeJar
-        from compileTestJava.destinationDir
-        include "hello/**"
-
-        destinationDir project.file("build/tmp/tests/appResources")
-        archiveName "packagedMainApp.jar"
-
-        manifest {
-            attributes(
-                "JavaFX-Application-Class": "hello.TestPackager",
-            )
-        }
-    }
-
-    if (!DO_BUILD_SDK_FOR_TEST) {
-        def antJavafxJar = new File(rootProject.buildDir,
-            "modular-sdk/modules_libs/${project.ext.moduleName}/ant-javafx.jar")
-        [compileTestJava, test].each {
-            it.classpath = files(antJavafxJar) + it.classpath
-        }
-    }
-
-    compileTestJava.enabled = false // FIXME: JIGSAW -- support this with modules
-    test {
-        enabled = false // FIXME: JIGSAW -- support this with modules
-        logger.info("JIGSAW Testing disabled for fxpackager")
-
-        dependsOn packagerFXPackagedJar
-        systemProperty "RETAIN_PACKAGER_TESTS", RETAIN_PACKAGER_TESTS
-        systemProperty "TEST_PACKAGER_DMG", TEST_PACKAGER_DMG
-        systemProperty "FULL_TEST", FULL_TEST
-        executable = JAVA;
-    }
-
-    def packagerDevOpts = []
-    try {
-        packagerDevOpts.addAll(PACKAGER_DEV_OPTS.split(' '))
-    } catch (MissingPropertyException ignore) {
-        packagerDevOpts.addAll("image")
-    }
-
-    task packagerDev(dependsOn: [jar, testClasses, packagerFakeJar], type:JavaExec) {
-        workingDir = project.file("build/tmp/tests/appResources/")
-        executable = JAVA
-        classpath = project.files("build/libs/ant-javafx.jar", "build/classes/test", "build/resources/test")
-        main = "hello.SimpleBundle"
-        args = [
-                '--module-path', JDK_JMODS,
-                '-o', "$projectDir/build/dev",
-                '-all',
-                packagerDevOpts
-        ].flatten()
-    }
-
-    task createPackagerServicesModule(type: Jar) {
-        if (project.hasProperty("DEBUGJDK_HOME")) {
-            def dir = file("$DEBUGJDK_HOME/newmodules")
-            dir.mkdirs()
-
-            includeEmptyDirs = false
-            archiveName = "jdk.packager.services.jar"
-            destinationDir = dir
-
-            from (project.file("$rootProject.buildDir/modular-sdk/modules/jdk.packager.services")) {
-                include "**"
-            }
-
-            from (project.file("$rootProject.buildDir/../modules/jdk.packager/build/classes/java/main/jdk.packager.services")) {
-                include "module-info.class"
-            }
-        }
-    }
-
-    task createPackagerModule(type: Jar) {
-        if (project.hasProperty("DEBUGJDK_HOME")) {
-            def dir = file("$DEBUGJDK_HOME/newmodules")
-            dir.mkdirs()
-
-            includeEmptyDirs = false
-            archiveName = "jdk.packager.jar"
-            destinationDir = dir
-
-            from (project.file("$rootProject.buildDir/modular-sdk/modules/jdk.packager")) {
-                include "**"
-            }
-
-            from (project.file("$rootProject.buildDir/../modules/jdk.packager/build/classes/java/main/jdk.packager")) {
-                include "module-info.class"
-            }
-        }
-    }
-
-    task createRunScript() {
-        def TEXT = "DEBUG_ARG=\"-J-Xdebug:\"\n" +
-"\n" +
-"# Argument parsing.\n" +
-"ARGS=()\n" +
-"for i in \"\$@\"; do\n" +
-"    if [[ \"\$i\" == \${DEBUG_ARG}* ]]; then\n" +
-"        ADDRESS=\${i:\${#DEBUG_ARG}}\n" +
-"        DEBUG=\"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=\${ADDRESS}\"\n" +
-"    else\n" +
-"        ARGS+=(\"\$i\")\n" +
-"    fi\n" +
-"done\n" +
-"\n" +
-"\${JAVA_HOME}/bin/java.original --upgrade-module-path \${JAVA_HOME}/newmodules \$(IFS=\$\' \'; echo \"\${ARGS[*]}\")\n"
-
-        doLast {
-            new File("$DEBUGJDK_HOME/bin").mkdirs()
-            def runscript = new File("$DEBUGJDK_HOME/bin/java")//.withWriter('utf-8') //{
-            runscript.write(TEXT)
-        }
-
-        doLast {
-            exec {
-                commandLine('chmod',  '+x', "$DEBUGJDK_HOME/bin/java")
-            }
-        }
-    }
-
-    task createBuildScript() {
-        def TEXT = "DEBUG_ARG=\"-J-Xdebug:\"\n" +
-"\n" +
-"# Argument parsing.\n" +
-"ARGS=()\n" +
-"for i in \"\$@\"; do\n" +
-"    if [[ \"\$i\" == \${DEBUG_ARG}* ]]; then\n" +
-"        ADDRESS=\${i:\${#DEBUG_ARG}}\n" +
-"        DEBUG=\"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=\${ADDRESS}\"\n" +
-"    else\n" +
-"        ARGS+=(\"\$i\")\n" +
-"    fi\n" +
-"done\n" +
-"\n" +
-"\${JAVA_HOME}/bin/javac.original --upgrade-module-path \${JAVA_HOME}/newmodules \$(IFS=\$\' \'; echo \"\${ARGS[*]}\")\n"
-
-        doLast {
-            new File("$DEBUGJDK_HOME/bin").mkdirs()
-            def buildscript = new File("$DEBUGJDK_HOME/bin/javac")//.withWriter('utf-8') //{
-            buildscript.write(TEXT)
-        }
-
-        doLast {
-            exec {
-                commandLine('chmod',  '+x', "$DEBUGJDK_HOME/bin/javac")
-            }
-        }
-    }
-
-    task createDebugJDK(dependsOn: [createPackagerModule, createPackagerServicesModule, createRunScript, createBuildScript]) {
-        def EXE = IS_WINDOWS ? ".exe" : ""
-
-        doLast {
-            copy {
-                from SOURCEJDK_HOME
-                into DEBUGJDK_HOME
-                exclude("*/ant-javafx.jar")
-                exclude("*/javapackager$EXE")
-                exclude("*/java$EXE")
-                exclude("*/javac$EXE")
-                exclude("*/jdk.packager.services.jmod")
-            }
-
-            copy {
-              from "$SOURCEJDK_HOME/bin/java$EXE"
-              into "$DEBUGJDK_HOME/bin"
-              rename "java$EXE", "java.original$EXE"
-            }
-
-            copy {
-              from "$SOURCEJDK_HOME/bin/javac$EXE"
-              into "$DEBUGJDK_HOME/bin"
-              rename "javac$EXE", "javac.original$EXE"
-            }
-
-            copy {
-              from "$rootProject.buildDir/modular-sdk/modules_libs/jdk.packager/ant-javafx.jar"
-              into "$DEBUGJDK_HOME/lib"
-            }
-
-            copy {
-              from "$rootProject.buildDir/modular-sdk/modules_cmds/jdk.packager/javapackager$EXE"
-              into "$DEBUGJDK_HOME/bin"
-            }
-
-            copy {
-              from "$DEBUGJDK_HOME/newmodules/jdk.packager.services.jar"
-              into "$DEBUGJDK_HOME/jmods"
-            }
-        }
-    }
-
-    task copyRedistributableFiles(type: Copy) {
-        def projectDir = "tools/java/legacy"
-        def sourceDir = "src/$projectDir"
-        def buildDir = "build/$projectDir"
-        def resourceDir = "${moduleDir}/jdk/packager/internal/resources/tools/legacy"
-
-        from "$sourceDir/jre.list"
-        into project.file("$resourceDir")
-    }
-
-    processResources.dependsOn copyRedistributableFiles
-
-    task copyDTtoPackager(type: Copy) {
-        def destDt = "${moduleDir}/com/sun/javafx/tools/resource"
-        from (sourceSets.main.output.resourcesDir) {
-            includes = [ "resources/web-files/**" ]
-        }
-        into new File("$destDt", "dtoolkit")
-    }
-
-    processResources.dependsOn copyDTtoPackager
-}
-
 project(":media") {
     configurations {
         media
@@ -5266,11 +4636,6 @@
 
         def swtProject = project(":swt");
 
-        def packagerProject = project(":fxpackager");
-        dependsOn(packagerProject.assemble)
-        dependsOn(packagerProject.jar)
-        dependsOn(project(":fxpackagerservices").jar)
-
         def library = targetProperties.library
 
         def useLipo = targetProperties.containsKey('useLipo') ? targetProperties.useLipo : false
@@ -5422,37 +4787,12 @@
             into "${graphicsProject.buildDir}/${platformPrefix}module-lib"
         }
 
-        def buildModulePackagerLibs = task("buildModulePackagerLibs$t.capital",
-                type: Copy,
-                dependsOn: [ packagerProject.assemble, project(":fxpackagerservices").assemble ]) {
-            group = "Basic"
-            description = "copies jdk.packager libraries"
-
-            from "${packagerProject.buildDir}/libs"
-            into "${packagerProject.buildDir}/${platformPrefix}module-lib"
-        }
-
-        def buildModulePackagerExes = task("buildModulePackagerExe$t.capital",
-                type: Copy,
-                dependsOn: [ packagerProject.assemble, project(":fxpackagerservices").assemble ]) {
-            group = "Basic"
-            description = "copies jdk.packager executable"
-
-            // Copy over the javapackager executable
-            enabled = (t.name == "win" || t.name == "linux" || t.name == "mac")
-
-            from "${packagerProject.buildDir}/javapackager"
-            into "${packagerProject.buildDir}/${platformPrefix}module-bin"
-        }
-
         dependsOn(
             buildModuleBaseTask,
             buildModuleGraphicsTask,
             buildModuleMediaTask,
             buildModuleWeb,
             buildModuleSWT,
-            buildModulePackagerLibs,
-            buildModulePackagerExes
             )
     }
     buildModulesTask.dependsOn(buildModuleLibsTask)
--- a/build.properties	Thu Aug 23 09:32:08 2018 +0200
+++ b/build.properties	Thu Aug 23 04:06:04 2018 -0700
@@ -39,7 +39,7 @@
 jfx.release.suffix=-ea
 
 # UPDATE THE FOLLOWING VALUES FOR A NEW RELEASE
-jfx.release.major.version=11
+jfx.release.major.version=12
 jfx.release.minor.version=0
 jfx.release.security.version=0
 jfx.release.patch.version=0
@@ -56,8 +56,8 @@
 
 javadoc.bottom=<small><a href="http://bugreport.java.com/bugreport/">Report a bug or suggest an enhancement</a><br> Copyright &copy; 2008, 2018, Oracle and/or its affiliates. All rights reserved.</small>
 
-javadoc.title=JavaFX 11
-javadoc.header=JavaFX&nbsp;11
+javadoc.title=JavaFX 12
+javadoc.header=JavaFX&nbsp;12
 
 ##############################################################################
 #
--- a/buildSrc/android.gradle	Thu Aug 23 09:32:08 2018 +0200
+++ b/buildSrc/android.gradle	Thu Aug 23 04:06:04 2018 -0700
@@ -98,7 +98,6 @@
 ANDROID = [:]
 ANDROID.compileSwing = false;
 ANDROID.compileSWT = false;
-ANDROID.compileFXPackager = false;
 ANDROID.glassPlatform = "android"
 ANDROID.armArch = armArchs[0]
 ANDROID.libDest = "lib"
--- a/buildSrc/armv6hf.gradle	Thu Aug 23 09:32:08 2018 +0200
+++ b/buildSrc/armv6hf.gradle	Thu Aug 23 04:06:04 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -77,7 +77,6 @@
 
 ARMV6HF.compileSwing = false;
 ARMV6HF.compileSWT = false;
-ARMV6HF.compileFXPackager = false;
 ARMV6HF.compileWebnodeNative = false;
 ARMV6HF.compileMediaNative = false;
 
--- a/buildSrc/dalvik.gradle	Thu Aug 23 09:32:08 2018 +0200
+++ b/buildSrc/dalvik.gradle	Thu Aug 23 04:06:04 2018 -0700
@@ -100,7 +100,6 @@
 ext.DALVIK = [:]
 DALVIK.compileSwing = false;
 DALVIK.compileSWT = false;
-DALVIK.compileFXPackager = false;
 DALVIK.compileDesignTime = false;
 DALVIK.glassPlatform = "android"
 DALVIK.armArch = armArchs[0]
--- a/buildSrc/ios.gradle	Thu Aug 23 09:32:08 2018 +0200
+++ b/buildSrc/ios.gradle	Thu Aug 23 04:06:04 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,7 +37,6 @@
 
 IOS.compileSwing = false;
 IOS.compileSWT = false;
-IOS.compileFXPackager = false;
 
 defineProperty("USE_LIPO", "false")
 IOS.useLipo = Boolean.parseBoolean(USE_LIPO)
--- a/buildSrc/linux.gradle	Thu Aug 23 09:32:08 2018 +0200
+++ b/buildSrc/linux.gradle	Thu Aug 23 04:06:04 2018 -0700
@@ -32,7 +32,6 @@
 // All desktop related packages should be built
 LINUX.compileSwing = true;
 LINUX.compileSWT = true;
-LINUX.compileFXPackager = true;
 
 // Libraries end up in the lib/$OS_ARCH directory for Linux
 LINUX.libDest = "lib"
@@ -258,26 +257,6 @@
 LINUX.prismSW.linkFlags = [linkFlags].flatten()
 LINUX.prismSW.lib = "prism_sw"
 
-LINUX.launcher = [:]
-LINUX.launcher.compiler = compiler
-LINUX.launcher.ccFlags = ["-Wextra", "-Wformat", "-Wformat-security", "-DJAVAARCH=\"$OS_ARCH\"", "-I$JDK_HOME/include", "-I$JDK_HOME/include/linux", "-c"]
-LINUX.launcher.linker = linker
-LINUX.launcher.linkFlags = ["-ldl"]
-if (!IS_64) {
-    LINUX.launcher.ccFlags += "-m32"
-    LINUX.launcher.linkFlags += "-m32"
-}
-
-LINUX.launcherlibrary = [:]
-LINUX.launcherlibrary.compiler = compiler
-LINUX.launcherlibrary.ccFlags = ["-Wextra", "-Wformat", "-Wformat-security", "-DJAVAARCH=\"$OS_ARCH\"", "-I$JDK_HOME/include", "-I$JDK_HOME/include/linux", "-c", "-fPIC", "-std=gnu++98", "-ffunction-sections", "-fdata-sections"]
-LINUX.launcherlibrary.linker = linker
-LINUX.launcherlibrary.linkFlags = ["-ldl", "-lpthread", "-shared", "-static-libgcc", "-static-libstdc++", "-Wl,--gc-sections"]
-if (!IS_64) {
-    LINUX.launcherlibrary.ccFlags += "-m32"
-    LINUX.launcherlibrary.linkFlags += "-m32"
-}
-
 LINUX.iio = [:]
 LINUX.iio.nativeSource = [
     file("${project("graphics").projectDir}/src/main/native-iio"),
--- a/buildSrc/mac.gradle	Thu Aug 23 09:32:08 2018 +0200
+++ b/buildSrc/mac.gradle	Thu Aug 23 04:06:04 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,6 @@
 // All desktop related packages should be built
 MAC.compileSwing = true;
 MAC.compileSWT = true;
-MAC.compileFXPackager = true;
 
 MAC.includeNull3d = true
 
@@ -168,28 +167,6 @@
 MAC.prismSW.linkFlags = [MAC.prism.linkFlags].flatten()
 MAC.prismSW.lib = "prism_sw"
 
-MAC.launcher = [:]
-MAC.launcher.compiler = compiler
-MAC.launcher.ccFlags = [
-        "-std=c99",
-        ccBaseFlags,
-        "-framework", "Cocoa",
-        IS_DEBUG_NATIVE ? ["-DDEBUG", "-O0"] : ["-O3", "-DNDEBUG"]].flatten()
-MAC.launcher.linker = linker
-MAC.launcher.linkFlags = ["-ldl"]
-
-MAC.launcherlibrary = [:]
-MAC.launcherlibrary.compiler = compiler
-MAC.launcherlibrary.ccFlags = [
-        "-c",
-        ccBaseFlags,
-        IS_DEBUG_NATIVE ? ["-DDEBUG", "-O0"] : ["-O3", "-DNDEBUG"]].flatten()
-    MAC.launcherlibrary.ccFlags += "-stdlib=libstdc++"
-MAC.launcherlibrary.linker = linker
-MAC.launcherlibrary.linkFlags = ["-ldl", "-dynamiclib",
-        "-framework", "Cocoa",
-        "-stdlib=libstdc++"]
-
 MAC.iio = [:]
 MAC.iio.javahInclude = ["com/sun/javafx/iio/**/*"]
 MAC.iio.nativeSource = [
--- a/buildSrc/win.gradle	Thu Aug 23 09:32:08 2018 +0200
+++ b/buildSrc/win.gradle	Thu Aug 23 04:06:04 2018 -0700
@@ -30,7 +30,6 @@
 
 WIN.compileSwing = true;
 WIN.compileSWT = true;
-WIN.compileFXPackager = true;
 
 WIN.includeNull3d = true
 
@@ -104,7 +103,7 @@
 }
 
 
-// Common set of flags for all modules except fxpackager
+// Common set of flags for all modules
 def ccFlags = ["/nologo", "/W3", "/EHsc", "/c",
         "/D_STATIC_CPPLIB", "/D_DISABLE_DEPRECATE_STATIC_CPPLIB", "/DINLINE=__inline",
         "/DUNICODE", "/D_UNICODE", "/DWIN32", "/DIAL", "/D_LITTLE_ENDIAN", "/DWIN32_LEAN_AND_MEAN",
@@ -365,45 +364,6 @@
 WIN.prismD3D.rcSource = defaultRcSource
 WIN.prismD3D.rcFlags = ["/d", "JFX_FNAME=prism_d3d.dll", "/d", "JFX_INTERNAL_NAME=prismD3D", rcFlags].flatten();
 
-WIN.launcher = [:]
-WIN.launcher.compiler = compiler
-WIN.launcher.ccFlags = ["/nologo", "/W3", "/MT", "/EHsc", "/D_WINDOWS", "/DUNICODE", "/D_UNICODE", "/DWIN32",
-        "/D_LITTLE_ENDIAN", "/DWIN32_LEAN_AND_MEAN", "/I$JDK_HOME/include", "/I$JDK_HOME/include/win32",
-        ccDebugFlags].flatten();
-WIN.launcher.linker = linker
-WIN.launcher.linkFlags = ["/link", "/nologo", "/WX", "/SUBSYSTEM:WINDOWS", "user32.lib", "shell32.lib", "advapi32.lib"]
-if (IS_DEBUG_NATIVE) WIN.launcher.linkFlags.add("/debug");
-
-WIN.launcherlibrary = [:]
-WIN.launcherlibrary.compiler = compiler
-WIN.launcherlibrary.ccFlags = ["/nologo", "/W3",
-        // "/WX",
-        "/EHsc", "/c", "/D_WINDOWS", "/DUNICODE", "/D_UNICODE", "/DWIN32",
-        "/D_LITTLE_ENDIAN", "/DWIN32_LEAN_AND_MEAN", "/I$JDK_HOME/include", "/I$JDK_HOME/include/win32",
-        ccDebugFlags].flatten();
-WIN.launcherlibrary.linker = linker
-WIN.launcherlibrary.linkFlags = ["/nologo", "/WX", "/DLL", "/SUBSYSTEM:WINDOWS", "user32.lib", "shell32.lib", "advapi32.lib", "ole32.lib"]
-if (IS_DEBUG_NATIVE) WIN.launcherlibrary.linkFlags.add("/debug");
-
-WIN.fxpackager = [:]
-WIN.fxpackager.nativeSource = [
-    file("${project("fxpackager").projectDir}/src/main/native/javapackager/win")]
-WIN.fxpackager.compiler = compiler
-WIN.fxpackager.ccFlags = ["/nologo", "/W3", "/EHsc", "/MT", "/GS",  "/DUNICODE", "/D_UNICODE",
-                    "/DWIN32", "/D_LITTLE_ENDIAN", "/DWIN32_LEAN_AND_MEAN",
-                    "/D_WIN32_WINDOWS=0X0500", "/D_WIN32_WINNT=0X0500",
-                    "/I$JDK_HOME/include", "/I$JDK_HOME/include/win32",
-                    "/O2", "-c"]
-WIN.fxpackager.linker = linker
-WIN.fxpackager.linkFlags = ["/nologo", "/SUBSYSTEM:CONSOLE", "/opt:REF", "/incremental:no", "/manifest", "kernel32.lib", "advapi32.lib"];
-WIN.fxpackager.rcSource = file("${project("fxpackager").projectDir}/src/main/native/javapackager/win/javapackager.rc")
-WIN.fxpackager.rcCompiler = rcCompiler
-WIN.fxpackager.rcFlags = [
-    "/l", "0x409",
-    "/d", "JFX_FNAME=javapackager.exe",
-    "/d", "JFX_INTERNAL_NAME=javapackager",
-    rcFlags].flatten();
-
 WIN.iio = [:]
 WIN.iio.javahInclude = ["com/sun/javafx/iio/**/*"]
 WIN.iio.nativeSource = [
--- a/dependencies/java.base/module-info.java.extra	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-exports sun.security.pkcs to jdk.packager;
-exports sun.security.timestamp to jdk.packager;
-exports sun.security.x509 to jdk.packager;
--- a/dependencies/jdk.jlink/module-info.java.extra	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-exports jdk.tools.jlink.internal.packager to jdk.packager;
--- a/doc-files/javafxsdk.tbom	Thu Aug 23 09:32:08 2018 +0200
+++ b/doc-files/javafxsdk.tbom	Thu Aug 23 04:06:04 2018 -0700
@@ -4,129 +4,4 @@
     <source-control>HgForest</source-control>
 </meta>
 
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/sun/javafx/tools/packager/Bundle%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxDebBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxRpmBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacAppBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinExeBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinMsiBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/AbstractBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/AbstractImageBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/StandardBundlerParam%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/jnlp/JNLPBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/linux/LinuxAppBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacAppStoreBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacBaseInstallerBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacDaemonBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacDmgBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/mac/MacPkgBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinAppBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WinServiceBundler%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/oracle/tools/packager/windows/WindowsBundlerParam%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/jdk/packager/builders/AbstractAppImageBuilder%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/jdk/packager/builders/linux/LinuxAppImageBuilder%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/jdk/packager/builders/mac/MacAppImageBuilder%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/jdk/packager/builders/windows/WindowsAppImageBuilder%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/jdk/packager/internal/JLinkBundlerHelper%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
-<file-set name="Java Property Resource Bundles" languages="Japanese +Simplified_Chinese">
-    <file source="rt/modules/jdk.packager/src/main/resources/com/sun/javafx/tools/ant/DeployFXTask%j.properties"
-          file-type="JavaProperties"/>
-</file-set>
-
 </translation>
--- a/gradle.properties.template	Thu Aug 23 09:32:08 2018 +0200
+++ b/gradle.properties.template	Thu Aug 23 04:06:04 2018 -0700
@@ -102,17 +102,6 @@
 
 #SWT_TEST = false
 
-# Specifies whether or not the results of the packager tests should be
-# retained.  If not they will be automatically deleted.
-
-#RETAIN_PACKAGER_TESTS = false
-
-# Specifies whether or not Packager DMG tests should be run.
-# Mac OSX 10.7 tends to hang on automated builds with hdiutil is run,
-# hence the default is false.
-
-#TEST_PACKAGER_DMG = false
-
 # Specify the COMPILE_TARGETS when performing cross compiles. A Cross-Compile is
 # when you build for a platform other than the one you are building on. For example,
 # to build for Apple iOS, you would specify ios as one of the COMPILE_TARGETS.
@@ -266,7 +255,6 @@
 #   Decora          DECORA_CC_FLAGS, DECORA_LINK_FLAGS
 #   Prism           PRISM_CC_FLAGS, PRISM_LINK_FLAGS
 #   Prism SW        PRISM_SW_CC_FLAGS, PRISM_SW_LINK_FLAGS
-#   Launcher        LAUNCHER_CC_FLAGS, LAUNCHER_LINK_FLAGS
 #
 # Other projects may use CC_FLAGS and LINK_FLAGS, or may not be fully abstracted out yet.
 # As such, the set of flags a COMPILE_FLAGS_FILES must support will change as time goes on.
--- a/modules/javafx.base/.classpath	Thu Aug 23 09:32:08 2018 +0200
+++ b/modules/javafx.base/.classpath	Thu Aug 23 04:06:04 2018 -0700
@@ -21,7 +21,7 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
 		<attributes>
 			<attribute name="module" value="true"/>
-			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.packager,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.packager.services,jdk.scripting.nashorn,jdk.xml.dom"/>
+			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.scripting.nashorn,jdk.xml.dom"/>
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
--- a/modules/javafx.base/src/test/java/test/com/sun/javafx/runtime/VersionInfoTest.java	Thu Aug 23 09:32:08 2018 +0200
+++ b/modules/javafx.base/src/test/java/test/com/sun/javafx/runtime/VersionInfoTest.java	Thu Aug 23 04:06:04 2018 -0700
@@ -89,7 +89,7 @@
         String version = VersionInfo.getVersion();
         // Need to update major version number when we develop the next
         // major release.
-        assertTrue(version.startsWith("11"));
+        assertTrue(version.startsWith("12"));
         String runtimeVersion = VersionInfo.getRuntimeVersion();
         assertTrue(runtimeVersion.startsWith(version));
     }
--- a/modules/javafx.controls/.classpath	Thu Aug 23 09:32:08 2018 +0200
+++ b/modules/javafx.controls/.classpath	Thu Aug 23 04:06:04 2018 -0700
@@ -39,7 +39,7 @@
 		<attributes>
 			<attribute name="module" value="true"/>
 			<attribute name="add-exports" value="java.base/java.util=javafx.controls"/>
-			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.packager,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.packager.services,jdk.scripting.nashorn,jdk.xml.dom"/>
+			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.scripting.nashorn,jdk.xml.dom"/>
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
--- a/modules/javafx.fxml/.classpath	Thu Aug 23 09:32:08 2018 +0200
+++ b/modules/javafx.fxml/.classpath	Thu Aug 23 04:06:04 2018 -0700
@@ -43,7 +43,7 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
 		<attributes>
 			<attribute name="module" value="true"/>
-			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.packager,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.packager.services,jdk.scripting.nashorn,jdk.xml.dom"/>
+			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.scripting.nashorn,jdk.xml.dom"/>
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
--- a/modules/javafx.graphics/.classpath	Thu Aug 23 09:32:08 2018 +0200
+++ b/modules/javafx.graphics/.classpath	Thu Aug 23 04:06:04 2018 -0700
@@ -38,7 +38,7 @@
 		<attributes>
 			<attribute name="module" value="true"/>
 			<attribute name="add-exports" value="java.desktop/sun.font=javafx.graphics:java.base/sun.security.util=javafx.graphics:java.desktop/sun.awt=javafx.graphics:java.xml/com.sun.org.apache.xerces.internal.util=javafx.graphics"/>
-			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.packager,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.packager.services,jdk.scripting.nashorn,jdk.xml.dom,java.desktop"/>
+			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.scripting.nashorn,jdk.xml.dom,java.desktop"/>
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/monocle/MonocleRobot.java	Thu Aug 23 09:32:08 2018 +0200
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/monocle/MonocleRobot.java	Thu Aug 23 04:06:04 2018 -0700
@@ -214,7 +214,7 @@
             int colStop = Math.min(x + width, scrWidth);
             for (int row = y; row < rowStop; row++) {
                 for (int col = x; col < colStop; col++) {
-                    data[row * scrWidth + col] = buffer.get(row * scrWidth + col);
+                    data[(row - y) * (colStop - x) + (col - x)] = buffer.get(row * scrWidth + col);
                 }
             }
         }
--- a/modules/javafx.media/.classpath	Thu Aug 23 09:32:08 2018 +0200
+++ b/modules/javafx.media/.classpath	Thu Aug 23 04:06:04 2018 -0700
@@ -20,7 +20,7 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
 		<attributes>
 			<attribute name="module" value="true"/>
-			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.packager,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.packager.services,jdk.scripting.nashorn,jdk.xml.dom"/>
+			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.scripting.nashorn,jdk.xml.dom"/>
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
--- a/modules/javafx.swing/.classpath	Thu Aug 23 09:32:08 2018 +0200
+++ b/modules/javafx.swing/.classpath	Thu Aug 23 04:06:04 2018 -0700
@@ -31,7 +31,7 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
 		<attributes>
 			<attribute name="module" value="true"/>
-			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.packager,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.packager.services,jdk.scripting.nashorn,jdk.xml.dom"/>
+			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.scripting.nashorn,jdk.xml.dom"/>
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
--- a/modules/javafx.web/.classpath	Thu Aug 23 09:32:08 2018 +0200
+++ b/modules/javafx.web/.classpath	Thu Aug 23 04:06:04 2018 -0700
@@ -60,7 +60,7 @@
 		<attributes>
 			<attribute name="module" value="true"/>
 			<attribute name="add-exports" value="java.management/java.lang.management=javafx.web"/>
-			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.packager,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.packager.services,jdk.scripting.nashorn,jdk.xml.dom"/>
+			<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.dynalink,jdk.incubator.httpclient,jdk.jshell,jdk.jsobject,jdk.net,jdk.scripting.nashorn,jdk.xml.dom"/>
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
--- a/modules/jdk.packager.services/make/build.properties	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# Build properties for this module
-
-include_in_jre=false
-include_in_jdk=true
-include_in_jdk_server=false
-include_in_docs=true
-classloader=app
--- a/modules/jdk.packager.services/src/main/java/jdk/packager/services/UserJvmOptionsService.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.packager.services;
-
-import jdk.packager.services.userjvmoptions.PreferencesUserJvmOptions;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.ServiceLoader;
-
-/**
- * Runtime access to the UserJVMOptions.
- *
- * This class is not typically available in the Java Runtime, you must
- * explicitly include the 'jdk.packager.services' module from the jmod directory
- * of the JDK as part of your application bundle.
- *
- * @since 9
- */
-public interface UserJvmOptionsService {
-
-    /**
-     * Get the instance of UserJvmOptionService to use.  Which one to use is
-     * configured by the packager and the launcher.  Do not directly
-     * instantiate any instance of this interface, use this method to get
-     * an appropriate instance.
-     *
-     * @return the instance of UserJvmOptionsService for your application.
-     */
-    static UserJvmOptionsService getUserJVMDefaults() {
-        ServiceLoader<UserJvmOptionsService> loader = ServiceLoader.load(UserJvmOptionsService.class);
-        Iterator<UserJvmOptionsService> iter = loader.iterator();
-        if (iter.hasNext()) {
-            return iter.next();
-        } else {
-            return new PreferencesUserJvmOptions();
-        }
-    }
-
-    /**
-     * The "current" set of UserJVMOptions.
-     *
-     * This will take effect on the next application start, and this may not
-     * reflect the current set of UserJVMOptions used to start this application.
-     *
-     * @return A map of the keys and values.  Alterations to this map will not
-     *         change the stored UserJVMOptions
-     */
-    Map<String, String> getUserJVMOptions();
-
-    /**
-     * Sets the passed in options as the UserJVMOptions.
-     *
-     * If the application has specified default values and those keys are not
-     * in this map, they will be replaced by the default values.
-     *
-     * No validation or error checking is performed on these values.  It is
-     * entirely possible that you may provide a set of UserJVMOptions that
-     * may prevent the normal startup of your application and may require
-     * manual intervention to resolve.
-     *
-     * @param options The UserJVMOptions to set.
-     */
-    void setUserJVMOptions(Map<String, String> options);
-
-    /**
-     * The "default" set of UserJVMOptions.
-     *
-     * This returns the default set of keys and values that the application has
-     * been configured to use.
-     *
-     * @return the keys and values of the default UserJVMOptions.
-     * @throws UnsupportedOperationException if the defaults cannot be calculated.
-     */
-    Map<String, String> getUserJVMOptionDefaults();
-}
--- a/modules/jdk.packager.services/src/main/java/jdk/packager/services/package.html	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<!--
-/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
--->
-
-<html>
-<head>
-  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
-  <title>jdk.packager.services</title>
-</head>
-<body>
-<p>Defines the services used by the Java packager tool. This package is
-not typically available in the Java Runtime, you must explicitly include
-the 'jdk.packager.services' module from the jmod directory of
-the JDK as part of your application bundle.</p>
-</body>
-</html>
--- a/modules/jdk.packager.services/src/main/java/jdk/packager/services/singleton/SingleInstanceImpl.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,434 +0,0 @@
-/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.packager.services.singleton;
-
-import java.awt.Desktop;
-import java.awt.desktop.OpenFilesHandler;
-import java.awt.desktop.OpenFilesEvent;
-import java.net.ServerSocket;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.io.File;
-import java.io.PrintStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.List;
-import java.security.PrivilegedAction;
-import java.security.AccessController;
-import java.security.SecureRandom;
-
-
-class SingleInstanceImpl {
-
-    static final String SI_FILEDIR = getTmpDir() + File.separator
-                                                 + "si" + File.separator;
-    static final String SI_MAGICWORD = "javapackager.singleinstance.init";
-    static final String SI_ACK = "javapackager.singleinstance.ack";
-    static final String SI_STOP = "javapackager.singleinstance.stop";
-    static final String SI_EOF = "javapackager.singleinstance.EOF";
-
-    private final ArrayList<SingleInstanceListener> siListeners = new ArrayList<>();
-    private SingleInstanceServer siServer;
-
-    private static final SecureRandom random = new SecureRandom();
-    private static volatile boolean serverStarted = false;
-    private static int randomNumber;
-
-    private final Object lock = new Object();
-
-    static String getSingleInstanceFilePrefix(final String stringId) {
-        String filePrefix = stringId.replace('/','_');
-        filePrefix = filePrefix.replace(':','_');
-        return filePrefix;
-    }
-
-    static String getTmpDir() {
-        String os = System.getProperty("os.name").toLowerCase();
-        if (os.contains("win")) {
-            return System.getProperty("user.home")
-                    + "\\AppData\\LocalLow\\Sun\\Java\\Packager\\tmp";
-        } else if (os.contains("mac") || os.contains("os x")) {
-            return System.getProperty("user.home")
-                    + "/Library/Application Support/Oracle/Java/Packager/tmp";
-        } else if (os.contains("nix") || os.contains("nux") || os.contains("aix")) {
-            return System.getProperty("user.home") + "/.java/packager/tmp";
-        }
-
-        return System.getProperty("java.io.tmpdir");
-    }
-
-    void addSingleInstanceListener(SingleInstanceListener sil, String id) {
-
-        if (sil == null || id == null) {
-            return;
-        }
-
-        // start a new server thread for this unique id
-        // first time
-        synchronized (lock) {
-            if (!serverStarted) {
-                SingleInstanceService.trace("unique id: " + id);
-                try {
-                    siServer = new SingleInstanceServer(id);
-                    siServer.start();
-                } catch (Exception e) {
-                    SingleInstanceService.trace("addSingleInstanceListener failed");
-                    SingleInstanceService.trace(e);
-                    return; // didn't start
-                }
-                serverStarted = true;
-            }
-        }
-
-        synchronized (siListeners) {
-            // add the sil to the arrayList
-            if (!siListeners.contains(sil)) {
-                siListeners.add(sil);
-            }
-        }
-
-    }
-
-    class SingleInstanceServer {
-
-        private final SingleInstanceServerRunnable runnable;
-        private final Thread thread;
-
-        SingleInstanceServer(SingleInstanceServerRunnable runnable) throws IOException {
-            thread = new Thread(null, runnable, "JavaPackagerSIThread", 0, false);
-            thread.setDaemon(true);
-            this.runnable = runnable;
-        }
-
-        SingleInstanceServer(String stringId) throws IOException {
-            this(new SingleInstanceServerRunnable(stringId));
-        }
-
-        int getPort() {
-            return runnable.getPort();
-        }
-
-        void start() {
-            thread.start();
-        }
-    }
-
-    private class SingleInstanceServerRunnable implements Runnable {
-
-        ServerSocket ss;
-        int port;
-        String stringId;
-        String[] arguments;
-
-        int getPort() {
-            return port;
-        }
-
-        SingleInstanceServerRunnable(String id) throws IOException {
-            stringId = id;
-
-            // open a free ServerSocket
-            ss = null;
-
-            // we should bind the server to the local InetAddress 127.0.0.1
-            // port number is automatically allocated for current SI
-            ss = new ServerSocket(0, 0, InetAddress.getByName("127.0.0.1"));
-
-            // get the port number
-            port = ss.getLocalPort();
-            SingleInstanceService.trace("server port at: " + port);
-
-            // create the single instance file with canonical home and port number
-            createSingleInstanceFile(stringId, port);
-        }
-
-        private String getSingleInstanceFilename(final String id, final int port) {
-            String name = SI_FILEDIR + getSingleInstanceFilePrefix(id) + "_" + port;
-            SingleInstanceService.trace("getSingleInstanceFilename: " + name);
-            return name;
-        }
-
-        private void removeSingleInstanceFile(final String id, final int port) {
-            new File(getSingleInstanceFilename(id, port)).delete();
-            SingleInstanceService.trace("removed SingleInstanceFile: "
-                                        + getSingleInstanceFilename(id, port));
-        }
-
-        private void createSingleInstanceFile(final String id, final int port) {
-            String filename = getSingleInstanceFilename(id, port);
-            final File siFile = new File(filename);
-            final File siDir = new File(SI_FILEDIR);
-            AccessController.doPrivileged(new PrivilegedAction<Void>() {
-                @Override
-                public Void run() {
-                    siDir.mkdirs();
-                    String[] fList = siDir.list();
-                    if (fList != null) {
-                        String prefix = getSingleInstanceFilePrefix(id);
-                        for (String file : fList) {
-                            // if file with the same prefix already exist, remove it
-                            if (file.startsWith(prefix)) {
-                                SingleInstanceService.trace(
-                                        "file should be removed: " + SI_FILEDIR + file);
-                                new File(SI_FILEDIR + file).delete();
-                            }
-                        }
-                    }
-
-                    PrintStream out = null;
-                    try {
-                        siFile.createNewFile();
-                        siFile.deleteOnExit();
-                        // write random number to single instance file
-                        out = new PrintStream(new FileOutputStream(siFile));
-                        randomNumber = random.nextInt();
-                        out.print(randomNumber);
-                    } catch (IOException ioe) {
-                        SingleInstanceService.trace(ioe);
-                    } finally {
-                        if (out != null) {
-                            out.close();
-                        }
-                    }
-                    return null;
-                }
-            });
-        }
-
-        @Override
-        public void run() {
-            // start sil to handle all the incoming request
-            // from the server port of the current url
-            AccessController.doPrivileged(new PrivilegedAction<Void>() {
-                @Override
-                public Void run() {
-                    List<String> recvArgs = new ArrayList<>();
-                    while (true) {
-                        recvArgs.clear();
-                        InputStream is = null;
-                        BufferedReader in = null;
-                        InputStreamReader isr = null;
-                        Socket s = null;
-                        String line = null;
-                        boolean sendAck = false;
-                        int port = -1;
-                        String charset = null;
-                        try {
-                            SingleInstanceService.trace("waiting connection");
-                            s = ss.accept();
-                            is = s.getInputStream();
-                            // read first byte for encoding type
-                            int encoding = is.read();
-                            if (encoding == SingleInstanceService.ENCODING_PLATFORM) {
-                                charset = Charset.defaultCharset().name();
-                            } else if (encoding == SingleInstanceService.ENCODING_UNICODE) {
-                                charset = SingleInstanceService.ENCODING_UNICODE_NAME;
-                            } else {
-                                SingleInstanceService.trace("SingleInstanceImpl - unknown encoding");
-                                return null;
-                            }
-                            isr = new InputStreamReader(is, charset);
-                            in = new BufferedReader(isr);
-                            // first read the random number
-                            line = in.readLine();
-                            if (line.equals(String.valueOf(randomNumber)) == false) {
-                                // random number does not match
-                                // should not happen
-                                // shutdown server socket
-                                removeSingleInstanceFile(stringId, port);
-                                ss.close();
-                                serverStarted = false;
-                                SingleInstanceService.trace("Unexpected Error, "
-                                        + "SingleInstanceService disabled");
-                                return null;
-                            } else {
-                                line = in.readLine();
-                                // no need to continue reading if MAGICWORD
-                                // did not come first
-                                SingleInstanceService.trace("recv: " + line);
-                                if (line.equals(SI_MAGICWORD)) {
-                                    SingleInstanceService.trace("got magic word.");
-                                    while (true) {
-                                        // Get input string
-                                        try {
-                                            line = in.readLine();
-                                            if (line != null && line.equals(SI_EOF)) {
-                                                // end of file reached
-                                                break;
-                                            } else {
-                                                recvArgs.add(line);
-                                            }
-                                        } catch (IOException ioe) {
-                                            SingleInstanceService.trace(ioe);
-                                        }
-                                    }
-                                    arguments = recvArgs.toArray(new String[recvArgs.size()]);
-                                    sendAck = true;
-                                } else if (line.equals(SI_STOP)) {
-                                    // remove the SingleInstance file
-                                    removeSingleInstanceFile(stringId, port);
-                                    break;
-                                }
-                            }
-                        } catch (IOException ioe) {
-                            SingleInstanceService.trace(ioe);
-                        } finally {
-                            try {
-                                if (sendAck) {
-                                    // let the action listener handle the rest
-                                    for (String arg : arguments) {
-                                        SingleInstanceService.trace(
-                                                "Starting new instance with arguments: arg:" + arg);
-                                    }
-
-                                    performNewActivation(arguments);
-
-                                    // now the event is handled, we can send
-                                    // out the ACK
-                                    SingleInstanceService.trace("sending out ACK");
-                                    if (s != null) {
-                                        try (OutputStream os = s.getOutputStream();
-                                            PrintStream ps = new PrintStream(os, true, charset)) {
-                                            // send OK (ACK)
-                                            ps.println(SI_ACK);
-                                            ps.flush();
-                                        }
-                                    }
-                                }
-
-                                if (in != null) {
-                                    in.close();
-                                }
-
-                                if (isr != null) {
-                                    isr.close();
-                                }
-
-                                if (is != null) {
-                                    is.close();
-                                }
-
-                                if (s != null) {
-                                    s.close();
-                                }
-                            } catch (IOException ioe) {
-                                SingleInstanceService.trace(ioe);
-                            }
-                        }
-                    }
-                    return null;
-                }
-            });
-        }
-    }
-
-    private void performNewActivation(final String[] args) {
-        // enumerate the sil list and call
-        // each sil with arguments
-        @SuppressWarnings("unchecked")
-        ArrayList<SingleInstanceListener> silal =
-                (ArrayList<SingleInstanceListener>)siListeners.clone();
-        silal.forEach(sil -> sil.newActivation(args));
-    }
-
-    void setOpenFileHandler() {
-        String os = System.getProperty("os.name").toLowerCase();
-        if (!os.contains("mac") && !os.contains("os x")) {
-            return;
-        }
-
-        Desktop.getDesktop().setOpenFileHandler(new OpenFilesHandler() {
-            @Override
-            public void openFiles(OpenFilesEvent e) {
-                List<String> arguments = new ArrayList<>();
-                e.getFiles().forEach(file -> arguments.add(file.toString()));
-                performNewActivation(arguments.toArray(
-                                    new String[arguments.size()]));
-            }
-        });
-    }
-
-    void removeSingleInstanceListener(SingleInstanceListener sil) {
-        if (sil == null) {
-            return;
-        }
-
-        synchronized (siListeners) {
-
-            if (!siListeners.remove(sil)) {
-                return;
-            }
-
-            if (siListeners.isEmpty()) {
-                 AccessController.doPrivileged(new PrivilegedAction<Void>() {
-                    @Override
-                    public Void run() {
-                        // stop server
-                        Socket socket = null;
-                        PrintStream out = null;
-                        OutputStream os = null;
-                        try {
-                            socket = new Socket("127.0.0.1", siServer.getPort());
-                            os = socket.getOutputStream();
-                            byte[] encoding = new byte[1];
-                            encoding[0] = SingleInstanceService.ENCODING_PLATFORM;
-                            os.write(encoding);
-                            String charset = Charset.defaultCharset().name();
-                            out = new PrintStream(os, true, charset);
-                            out.println(randomNumber);
-                            out.println(SingleInstanceImpl.SI_STOP);
-                            out.flush();
-                            serverStarted = false;
-                        } catch (IOException ioe) {
-                            SingleInstanceService.trace(ioe);
-                        } finally {
-                            try {
-                                if (out != null) {
-                                    out.close();
-                                }
-                                if (os != null) {
-                                    os.close();
-                                }
-                                if (socket != null) {
-                                    socket.close();
-                                }
-                            } catch (IOException ioe) {
-                                SingleInstanceService.trace(ioe);
-                            }
-                        }
-                        return null;
-                    }
-               });
-            }
-        }
-    }
-}
--- a/modules/jdk.packager.services/src/main/java/jdk/packager/services/singleton/SingleInstanceListener.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.packager.services.singleton;
-
-/**
- * The {@code SingleInstanceListener} interface is used for implementing
- * Single Instance functionality for Java Packager.
- *
- * @since 10
- */
-public interface SingleInstanceListener {
-
-    /**
-     * This method should be implemented by the application to
-     * handle the single instance behaviour - how should the application
-     * handle the arguments when another instance of the application is
-     * invoked with params.
-     *
-     * @param params parameters for the application main
-     */
-    public void newActivation(String... params);
-}
--- a/modules/jdk.packager.services/src/main/java/jdk/packager/services/singleton/SingleInstanceNewActivation.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.packager.services.singleton;
-
-import java.util.Arrays;
-
-// This class is used for notifying Single Instance for Java Packager.
-
-public class SingleInstanceNewActivation {
-
-    public static void main(String[] args) {
-
-        if (args.length < 2) {
-            // no user args specified
-            return;
-        }
-
-        // the first arg is process id of the single instance
-        String appId = SingleInstanceService.APP_ID_PREFIX + args[0];
-
-        if (SingleInstanceService.isServerRunning(appId)) {
-            String[] newArgs = Arrays.copyOfRange(args, 1, args.length);
-            SingleInstanceService.connectToServer(newArgs);
-        }
-    }
-}
--- a/modules/jdk.packager.services/src/main/java/jdk/packager/services/singleton/SingleInstanceService.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.packager.services.singleton;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.net.Socket;
-import java.nio.charset.Charset;
-
-/**
- * The {@code SingleInstanceService} class provides public methods for using
- * Single Instance functionality for Java Packager. To use these methods,
- * the option named "-singleton" must be specified on javapackager command line.
- *
- * @since 10
- */
-public class SingleInstanceService {
-
-    static private boolean DEBUG = false;
-    static private PrintStream DEBUG_STREAM = null;
-
-    static private int currPort;
-    static private String stringId = null;
-    static private String randomNumberString = null;
-
-    static private SingleInstanceImpl instance = null;
-
-    static final int ENCODING_PLATFORM = 1;
-    static final int ENCODING_UNICODE = 2;
-
-    static final String ENCODING_PLATFORM_NAME = "UTF-8";
-    static final String ENCODING_UNICODE_NAME = "UTF-16LE";
-
-    static final String APP_ID_PREFIX = "javapackager.si.";
-
-    private SingleInstanceService() {}
-
-    static void enableDebug(boolean enable, PrintStream stream) {
-        DEBUG = enable;
-        DEBUG_STREAM = stream;
-    }
-
-    static void trace(String message) {
-        if (DEBUG && DEBUG_STREAM != null) {
-            DEBUG_STREAM.println(message);
-        }
-    }
-
-    static void trace(Throwable t) {
-        if (DEBUG && DEBUG_STREAM != null) {
-            t.printStackTrace(DEBUG_STREAM);
-        }
-    }
-
-    /**
-     * Registers {@code SingleInstanceListener} for current process.
-     * If the {@code SingleInstanceListener} object is already registered, or
-     * {@code slistener} is {@code null}, then the registration is skipped.
-     *
-     * @param slistener the listener to handle the single instance behaviour.
-     */
-    public static void registerSingleInstance(SingleInstanceListener slistener) {
-        registerSingleInstance(slistener, false);
-    }
-
-    /**
-     * Registers {@code SingleInstanceListener} for current process.
-     * If the {@code SingleInstanceListener} object is already registered, or
-     * {@code slistener} is {@code null}, then the registration is skipped.
-     *
-     * @param slistener the listener to handle the single instance behaviour.
-     * @param setFileHandler if {@code true}, the listener is notified when the
-     *         application is asked to open a list of files. If OS is not MacOS,
-     *         the parameter is ignored.
-     */
-    public static void registerSingleInstance(SingleInstanceListener slistener,
-                                              boolean setFileHandler) {
-        String appId = APP_ID_PREFIX + ProcessHandle.current().pid();
-        registerSingleInstanceForId(slistener, appId, setFileHandler);
-    }
-
-    static void registerSingleInstanceForId(SingleInstanceListener slistener,
-                                                   String stringId, boolean setFileHandler) {
-        // register SingleInstanceListener for given Id
-        instance = new SingleInstanceImpl();
-        instance.addSingleInstanceListener(slistener, stringId);
-        if (setFileHandler) {
-            instance.setOpenFileHandler();
-        }
-    }
-
-    /**
-     * Unregisters {@code SingleInstanceListener} for current process.
-     * If the {@code SingleInstanceListener} object is not registered, or
-     * {@code slistener} is {@code null}, then the unregistration is skipped.
-     *
-     * @param slistener the listener for unregistering.
-     */
-    public static void unregisterSingleInstance(SingleInstanceListener slistener) {
-        instance.removeSingleInstanceListener(slistener);
-    }
-
-    /**
-     * Returns true if single instance server is running for the id
-     */
-    static boolean isServerRunning(String id) {
-        trace("isServerRunning ? : "+ id);
-        File siDir = new File(SingleInstanceImpl.SI_FILEDIR);
-        String[] fList = siDir.list();
-        if (fList != null) {
-            String prefix = SingleInstanceImpl.getSingleInstanceFilePrefix(id);
-            for (String file : fList) {
-                trace("isServerRunning: " + file);
-                trace("\t String id: " + id);
-                trace("\t SingleInstanceFilePrefix: " + prefix);
-                // if file with the same prefix already exist, server is running
-                if (file.startsWith(prefix)) {
-                    try {
-                        currPort = Integer.parseInt(
-                                    file.substring(file.lastIndexOf('_') + 1));
-                        trace("isServerRunning: " + file + ": port: " + currPort);
-                    } catch (NumberFormatException nfe) {
-                        trace("isServerRunning: " + file + ": port parsing failed");
-                        trace(nfe);
-                        return false;
-                    }
-
-                    trace("Server running at port: " + currPort);
-                    File siFile = new File(SingleInstanceImpl.SI_FILEDIR, file);
-
-                    // get random number from single instance file
-                    try (BufferedReader br = new BufferedReader(new FileReader(siFile))) {
-                        randomNumberString = br.readLine();
-                        trace("isServerRunning: " + file + ": magic: " + randomNumberString);
-                    } catch (IOException ioe ) {
-                        trace("isServerRunning: " + file + ": reading magic failed");
-                        trace(ioe);
-                    }
-                    trace("isServerRunning: " + file + ": setting id - OK");
-                    stringId = id;
-                    return true;
-                } else {
-                    trace("isServerRunning: " + file + ": prefix NOK");
-                }
-            }
-        } else {
-            trace("isServerRunning: empty file list");
-        }
-        trace("isServerRunning: false");
-        return false;
-    }
-
-    /**
-     * Returns true if we connect successfully to the server for the stringId
-     */
-    static boolean connectToServer(String[] args) {
-        trace("Connect to: " + stringId + " " + currPort);
-
-        if (randomNumberString == null) {
-            // should not happen
-            trace("MAGIC number is null, bail out.");
-            return false;
-        }
-
-        // Now we open the tcpSocket and the stream
-        Socket socket = null;
-        OutputStream os = null;
-        PrintStream out = null;
-        InputStreamReader isr = null;
-        BufferedReader br = null;
-        try {
-            socket = new Socket("127.0.0.1", currPort);
-            os = socket.getOutputStream();
-            byte[] encoding = new byte[1];
-            encoding[0] = ENCODING_PLATFORM;
-            os.write(encoding);
-            String encodingName = Charset.defaultCharset().name();
-
-            out = new PrintStream(os, true, encodingName);
-            isr = new InputStreamReader(socket.getInputStream(), encodingName);
-            br = new BufferedReader(isr);
-
-            // send random number
-            out.println(randomNumberString);
-            // send MAGICWORD
-            out.println(SingleInstanceImpl.SI_MAGICWORD);
-
-            for (String arg : args) {
-                out.println(arg);
-            }
-
-            // indicate end of file transmission
-            out.println(SingleInstanceImpl.SI_EOF);
-            out.flush();
-
-            // wait for ACK (OK) response
-            trace("Waiting for ack");
-            final int tries = 5;
-
-            // try to listen for ACK
-            for (int i=0; i < tries; i++) {
-                String str = br.readLine();
-                if (str != null && str.equals(SingleInstanceImpl.SI_ACK)) {
-                    trace("Got ACK");
-                    return true;
-                }
-            }
-        } catch (java.net.SocketException se) {
-            // no server is running - continue launch
-            trace("No server is running - continue launch.");
-            trace(se);
-        } catch (Exception ioe) {
-            trace(ioe);
-        }
-        finally {
-            try {
-                if (br != null) {
-                    br.close();
-                }
-                if (isr != null) {
-                    isr.close();
-                }
-                if (out != null) {
-                    out.close();
-                }
-                if (os != null) {
-                    os.close();
-                }
-                if (socket != null) {
-                    socket.close();
-                }
-            } catch (IOException ioe) {
-                trace(ioe);
-            }
-        }
-        trace("No ACK from server, bail out.");
-        return false;
-    }
-}
--- a/modules/jdk.packager.services/src/main/java/jdk/packager/services/userjvmoptions/LauncherUserJvmOptions.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.packager.services.userjvmoptions;
-
-import jdk.packager.services.UserJvmOptionsService;
-
-import java.security.AllPermission;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-/**
- *
- * Access the UserJVMOptions via a native library provided by the launcher.
- *
- * Do not instantiate this class directly, instead use
- * {@see jdk.packager.services.UserJvmOptionsService#getUserJVMDefaults()}
- * to get an instance.
- *
- * @since 8u40
- */
-final public class LauncherUserJvmOptions implements UserJvmOptionsService {
-
-    private static final Object semaphore = new Object();
-
-    static {
-        try {
-            checkAllPermissions();
-            System.loadLibrary("packager");
-        } catch (SecurityException se) {
-            se.printStackTrace(System.err);
-            // fail to load, we will also throw on all public methods
-        }
-    }
-
-    private static void checkAllPermissions() {
-        final SecurityManager securityManager = System.getSecurityManager();
-        if (securityManager != null) {
-            securityManager.checkPermission(new AllPermission());
-        }
-    }
-
-    /**
-     * Access the default User JVM Option for a specific key
-     *
-     * @param option the key for the User JVM Option
-     *
-     * @return the default value of the user JVM Option.  Currently set user
-     * values are not considered, and only the default is returned.  If there
-     * is no default value then null is returned.
-     */
-    private static native String _getUserJvmOptionDefaultValue(String option);
-
-    /**
-     * This lists the keys for User JVM Options that will have a default
-     * provided by the launcher.
-     *
-     * This list will be a subset of the keys used by the launcher and only
-     * lists those values that will have a default value provided if the user
-     * does not set a value of their own.
-     *
-     * @return an array of keys in no particular order.
-     */
-    private static native String[] _getUserJvmOptionDefaultKeys();
-    /**
-     * Access the current User JVM Option for a specific key
-     *
-     * @param option the key for the User JVM Option
-     *
-     * @return the current value of the user JVM Option.  If the user has not
-     * set a value then the default value is returned, except in the case where
-     * there is no default value, where null is returned.
-     */
-    private static native String _getUserJvmOptionValue(String option);
-
-    /**
-     * Update the all User JVM Options
-     *
-     * All option/value pairs will be replaced with the values provided. The
-     * parameters options and values are paired at the same index.
-     * Example: options[3] = -Xmx and values[3] = 999m
-     * This cannot be used to adjust default values.
-     *
-     * @param options the keys for the User JVM Options
-     * @param values the values for the User JVM Options
-     */
-    private static native void _setUserJvmKeysAndValues(String[] options, String[] values);
-
-    /**
-     * This lists the keys for all User JVM Options that will be used by the
-     * launcher.
-     *
-     * This list will be a superset of the defaults as may also include user
-     * values that do not have a default.
-     *
-     * @return an array of keys in no particular order.
-     */
-    private static native String[] _getUserJvmOptionKeys();
-
-    @Override
-    public Map<String, String> getUserJVMOptions() {
-        checkAllPermissions();
-        synchronized (semaphore) {
-            Map<String, String> results = new LinkedHashMap<>();
-            for (String s : _getUserJvmOptionKeys()) {
-                results.put(s, _getUserJvmOptionValue(s));
-            }
-            return results;
-        }
-    }
-
-    @Override
-    public void setUserJVMOptions(Map<String, String> options) {
-        checkAllPermissions();
-        synchronized (semaphore) {
-            List<String> keys = new LinkedList<>();
-            List<String> values = new LinkedList<>();
-
-            for (Map.Entry<String, String> option : options.entrySet()) {
-                if (option.getKey() == null) {
-                    throw new IllegalArgumentException("For Launcher Backed UserJVMOptions keys in the UserJVMOptions map cannot be null.");
-                }
-                if (option.getValue() == null) {
-                    throw new IllegalArgumentException("For Launcher Backed UserJVMOptions values in the UserJVMOptions map cannot be null.  Keys are removed by absence, not by setting keys to null.");
-                }
-                keys.add(option.getKey());
-                values.add(option.getValue());
-            }
-
-            _setUserJvmKeysAndValues(keys.toArray(new String[keys.size()]),
-                    values.toArray(new String[values.size()]));
-        }
-    }
-
-    @Override
-    public Map<String, String> getUserJVMOptionDefaults() {
-        checkAllPermissions();
-        synchronized (semaphore) {
-            Map<String, String> results = new LinkedHashMap<>();
-            for (String s : _getUserJvmOptionDefaultKeys()) {
-                results.put(s, _getUserJvmOptionDefaultValue(s));
-            }
-            return results;
-        }
-    }
-}
--- a/modules/jdk.packager.services/src/main/java/jdk/packager/services/userjvmoptions/PreferencesUserJvmOptions.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.packager.services.userjvmoptions;
-
-import jdk.packager.services.UserJvmOptionsService;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.prefs.BackingStoreException;
-import java.util.prefs.Preferences;
-
-/**
- * Access to old preferences based UserJvmOptions
- *
- * Do not instantiate this class directly, instead use
- * {@see jdk.packager.services.UserJvmOptionsService#getUserJVMDefaults()}
- * to get an instance.
- *
- * @since 8u40
- */
-final public class PreferencesUserJvmOptions implements UserJvmOptionsService {
-
-    Preferences node = Preferences.userRoot().node(System.getProperty("app.preferences.id").replace(".", "/")).node("JVMUserOptions");
-
-    @Override
-    public Map<String, String> getUserJVMOptions() {
-        Map<String, String> result = new LinkedHashMap<>();
-        try {
-            for (String s : node.childrenNames()) {
-                String o = node.get(s, null);
-                if (o != null) {
-                    result.put(s, o);
-                }
-            }
-        } catch (BackingStoreException ignore) {
-        }
-
-        return result;
-    }
-
-    @Override
-    public void setUserJVMOptions(Map<String, String> options) {
-        try {
-            node.clear();
-            for (Map.Entry<String, String> entry : options.entrySet()) {
-                node.put(entry.getKey(), entry.getValue());
-            }
-            node.flush();
-        } catch (BackingStoreException ignore) {
-        }
-
-    }
-
-    @Override
-    public Map<String, String> getUserJVMOptionDefaults() {
-        throw new UnsupportedOperationException("Preferences backed UserJvmOptions do not enumerate their defaults");
-    }
-}
--- a/modules/jdk.packager.services/src/main/java/module-info.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/**
- * Defines the services used by the Java packager tool.
- *
- * @moduleGraph
- * @since 9
- */
-module jdk.packager.services {
-    exports jdk.packager.services;
-    exports jdk.packager.services.singleton;
-
-    requires java.prefs;
-    requires java.desktop;
-
-    uses jdk.packager.services.UserJvmOptionsService;
-
-    provides jdk.packager.services.UserJvmOptionsService with jdk.packager.services.userjvmoptions.LauncherUserJvmOptions;
-}
\ No newline at end of file
--- a/modules/jdk.packager/.classpath	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<classpath>
-  <classpathentry kind="output" path="bin"/>
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
-  <classpathentry kind="src" exported="true" path="src/main/java"/>
-  <classpathentry kind="src" exported="true" path="src/test/java">
-  <attributes>
-      <attribute name="optional" value="true"/>
-    </attributes>
-  </classpathentry>
-  <classpathentry kind="src" exported="true" path="src/main/resources">
-  <attributes>
-      <attribute name="optional" value="true"/>
-    </attributes>
-  </classpathentry>
-  <classpathentry kind="src" exported="true" path="src/test/resources">
-  <attributes>
-      <attribute name="optional" value="true"/>
-    </attributes>
-  </classpathentry>
-  <classpathentry kind="src" exported="true" path="/controls"/>
-</classpath>
--- a/modules/jdk.packager/.project	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>fxpackager</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
Binary file modules/jdk.packager/lib/java-coffee-cup-23x20.png has changed
Binary file modules/jdk.packager/lib/splash.gif has changed
--- a/modules/jdk.packager/make/build.properties	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# Build properties for this module
-
-include_in_jre=false
-include_in_jdk=true
-include_in_jdk_server=false
-include_in_docs=false
-classloader=app
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/AntLog.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import com.oracle.tools.packager.Log;
-import org.apache.tools.ant.Project;
-
-public class AntLog extends Log.Logger {
-    private Project prj = null;
-
-    AntLog(Project p) {
-        super(false);
-        prj = p;
-    }
-
-    @Override
-    public void info(String msg) {
-        prj.log(msg);
-    }
-
-    @Override
-    public void verbose(String msg) {
-        prj.log(msg, Project.MSG_VERBOSE);
-    }
-
-    @Override
-    public void verbose(Throwable t) {
-        prj.log(t.getMessage(), t, Project.MSG_VERBOSE);
-    }
-
-    @Override
-    public void debug(String msg) {
-        prj.log(msg, Project.MSG_DEBUG);
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Application.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import com.sun.javafx.tools.packager.HtmlParam;
-import com.sun.javafx.tools.packager.Param;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.types.Reference;
-
-/**
- * Basic application descriptor.
- * <p>
- * Defines main components of application and default set of parameters.
- *
- *
- * Examples:
- * <pre>
- *    &lt;info vendor="Uncle Joe" description="Test program"/&gt;
- * </pre>
- *
- * @ant.type name="application" category="javafx"
- */
-public class Application extends DataType implements Cloneable {
-    String mainClass = null;
-    String module = null;
-    String preloaderClass = null;
-    String name = null;
-    List<Param> parameters = new LinkedList<Param>();
-    List<HtmlParam> htmlParameters = new LinkedList<HtmlParam>();
-    public List<Argument> arguments = new LinkedList<Argument>();
-    String fallbackApp = null;
-    String id = null;
-    boolean embeddedIntoSwing = false;
-    String version = null;
-    Boolean daemon = null;
-
-    public void setVersion(String v) {
-        version = v;
-    }
-
-    public void setToolkit(String v) {
-        embeddedIntoSwing = "swing".equalsIgnoreCase(v);
-    }
-
-    public void setName(String v) {
-        name = v;
-    }
-
-    public Param createParam() {
-        Param p = new Param();
-        parameters.add(p);
-        return p;
-    }
-
-    public void setParams(Properties props) {
-        if (props != null) {
-            for (Map.Entry en : props.entrySet()) {
-                Param p = new Param();
-                p.setName((String)en.getKey());
-                p.setValue((String)en.getValue());
-                parameters.add(p);
-            }
-        }
-    }
-
-    public class Argument {
-        private String value;
-
-        public void addText(String value) {
-            this.value = value;
-        }
-
-        public String getValue() {
-            return this.value;
-        }
-    }
-
-    public Argument createArgument() {
-        Argument a = new Argument();
-        arguments.add(a);
-        return a;
-    }
-
-    List<String> getArguments() {
-        List<String> lst = new LinkedList();
-        for(Argument a: arguments) {
-            lst.add(a.value);
-        }
-        return lst;
-    }
-
-    public Object clone() {
-        try {
-            Application result = (Application) super.clone();
-            return result;
-        } catch (CloneNotSupportedException e) {
-            throw new BuildException(e);
-        }
-    }
-
-    public HtmlParam createHtmlParam() {
-        HtmlParam p = new HtmlParam();
-        htmlParameters.add(p);
-        return p;
-    }
-
-    /**
-     * Application id that can be used to obtain Javascript reference to the application in HTML.
-     * Same id can be also used to refer to application object in the ant task (using refid).
-     *
-     * @ant.not-required
-     */
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    @Override
-    public void setRefid(Reference id) {
-        this.id = id.getRefId();
-        super.setRefid(id);
-    }
-
-    /**
-     * Main application class.
-     *
-     * @ant.required
-     */
-    public void setMainClass(String v) {
-        mainClass = v;
-    }
-
-    /**
-     * Module containing the application class.
-     *
-     * @ant.not-required Default is to not bundle as a modular application.
-     */
-    public String getModule() {
-        return this.module;
-    }
-
-    /**
-     * Module containing the application class.
-     *
-     * @ant.not-required Default is to not bundle as a modular application.
-     */
-    public void setModule(String value) {
-        this.module = value;
-    }
-
-    /**
-     * Preloader class to be used.
-     *
-     * @ant.not-required Default is preloader shipped in JavaFX Runtime.
-     */
-    public void setPreloaderClass(String v) {
-        preloaderClass = v;
-    }
-
-    /**
-     * Is this class a daemon/service?
-     *
-     * @ant.not-required Default is false, i.e. an interactive app
-     */
-    public void setDaemon(boolean b) {
-        daemon = b;
-    }
-
-    //return instance that actually has data. Could be referenced object ...
-    public Application get() {
-        return isReference() ?
-                (Application) getRefid().getReferencedObject() : this;
-    }
-
-    public void selfcheck() {
-        if (get().mainClass == null) {
-            throw new BuildException("Application main class is required.");
-        }
-    }
-
-    @Override
-    public String toString() {
-        return "Application[id=" + id + ", mainClass=" + mainClass + "]";
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/CSSToBinTask.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import com.sun.javafx.tools.packager.CreateBSSParams;
-import com.sun.javafx.tools.packager.PackagerLib;
-import java.io.File;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.FileSet;
-
-/**
- * Converts set of CSS files into binary form (BSS).
- *
- * @ant.task name="CSSToBin" category="javafx"
- */
-public class CSSToBinTask extends Task {
-
-    private PackagerLib packager;
-    private CreateBSSParams createBSSParams;
-
-    private FileSet fileset;
-    private String outdir;
-
-    private boolean verbose = false;
-    public void setVerbose(boolean v) {
-        verbose = v;
-    }
-
-    public FileSet createFileset() {
-        fileset = new FileSet();
-        return fileset;
-    }
-
-    /**
-     * Output directory.
-     *
-     * @ant.required
-     */
-    public void setOutdir(String outdir) {
-        this.outdir = outdir;
-    }
-
-    public CSSToBinTask() {
-        packager = new PackagerLib();
-        createBSSParams = new CreateBSSParams();
-    }
-
-    @Override
-    public void execute() {
-        Utils.addResources(createBSSParams, fileset);
-
-//        packager.setBinCssFile(binCssFile);
-        createBSSParams.setOutdir(new File(outdir));
-
-        try {
-            packager.generateBSS(createBSSParams);
-        } catch (Exception e) {
-            throw new BuildException(e.getMessage(), e);
-        }
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Callback.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import org.apache.tools.ant.types.DataType;
-
-/**
- * Defines javascript callback that can be used to customize user experience.
- *
- * Example:
- * <pre>
- *        &lt;callback name="onGetSplash"&gt;customGetSplash&lt;/callback&gt;
- * </pre>
- * This defines callback for event 'onGetSplash'. When event is triggered
- * javascript function customGetSplash will be executed.
- * <p>
- * Note that callback could be defined with javascript code in place (and not just function name):
- * <pre>
- *    &lt;callback name="onLoadHandler"&gt;
- *       function () {perfLog(0, "onLoad called");}
- *    &lt;/callback&gt;
- * </pre>
- *
- * @ant.type name="callback" category="javafx"
- */
-public final class Callback extends DataType {
-    private String name;
-    private String cmd;
-
-    public Callback() {
-    }
-
-    public Callback(String name, String cmd) {
-        setName(name);
-        this.cmd = cmd;
-    }
-
-    /**
-     * Name of the event for callback.
-     *
-     * @ant.required
-     */
-    public void setName(String s) {
-        name = s;
-    }
-
-    public void addText(String cmd) {
-        this.cmd = getProject().replaceProperties(cmd.trim());
-    }
-
-    public String getCmd() {
-        return cmd;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public boolean isText() {
-        return !cmd.startsWith("function");
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Callbacks.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.tools.ant.types.DataType;
-
-/**
- * Collection of javascript callbacks to be used to customize user experience.
- *
- * Example:
- * <pre>
- *    &lt;callbacks&gt;
- *        &lt;callback name="onGetSplash"&gt;customGetSplash&lt;/callback&gt;
- *    &lt;/callbacks&gt;
- * </pre>
- * For embedded application customGetSplash function will be used to create
- * HTML splash for the application.
- *
- * @ant.type name="callbacks" category="javafx"
- */
-public class Callbacks extends DataType {
-
-    List<Callback> callbacks = new ArrayList<Callback>();
-
-    public Callback createCallback() {
-        Callback c = new Callback();
-        callbacks.add(c);
-        return c;
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/DeployFXTask.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,764 +0,0 @@
-/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import com.oracle.tools.packager.StandardBundlerParam;
-import com.sun.javafx.tools.ant.Platform.Jvmarg;
-import com.sun.javafx.tools.ant.Platform.Property;
-import com.sun.javafx.tools.packager.DeployParams;
-import com.oracle.tools.packager.Log;
-import com.sun.javafx.tools.packager.PackagerException;
-import com.sun.javafx.tools.packager.PackagerLib;
-import com.sun.javafx.tools.packager.bundlers.Bundler;
-import com.sun.javafx.tools.packager.bundlers.Bundler.Bundle;
-import com.sun.javafx.tools.packager.bundlers.Bundler.BundleType;
-import java.util.ResourceBundle;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.DynamicAttribute;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.DataType;
-
-/**
- * Generates package for Web deployment and redistribution of application.
- * Package includes of set of jar files, JNLP file and HTML file.
- *
- * Minimal example:
- * <pre>
- *   &lt;fx:deploy width="600" height="400"
- *                 outdir="web-dist" outfile="Fish"&gt;
- *       &lt;info title="Sample application"/&gt;
- *       &lt;fx:application refid="myapp"/&gt;
- *       &lt;fx:resources refid="myresources"/&gt;
- *   &lt;/fx:deploy&gt;
- * </pre>
- * Above example will generate HTML/JNLP files into the web-dist directory
- * and use "Fish" as prefix for generated files. Details about application and
- * its resources are defined elsewhere in the application and resource elements.
- * <p>
- * Minimal complete example:
- * <pre>
- *   &lt;fx:deploy width="600" height="400"
- *                 outdir="web-dist" outfile="Fish"&gt;
- *       &lt;info title="Sample application"/&gt;
- *       &lt;fx:application name="SampleApp"
- *              mainClass="testapp.MainApp"
- *              preloaderClass="testpreloader.Preloader"/&gt;
- *       &lt;fx:resources&gt;
- *              &lt;fx:fileset requiredFor="preloader" dir="dist"&gt;
- *                &lt;include name="preloader.jar"/&gt;
- *             &lt;/fx:fileset&gt;
- *              &lt;fx:fileset dir="dist"&gt;
- *                &lt;include name="helloworld.jar"/&gt;
- *             &lt;/fx:fileset&gt;
- *       &lt;/fx:resources&gt;
- *   &lt;/fx:deploy&gt;
- * </pre>
- * Same as above but here application and resource details are defined in place.
- * Note that using references helps with reducing code duplication as fx:jar need
- * to be used for double clickable jars.
- *
- * @ant.task name="deploy" category="javafx"
- */
-public class DeployFXTask extends Task implements DynamicAttribute {
-
-    private static final ResourceBundle I18N =
-            ResourceBundle.getBundle(DeployFXTask.class.getName());
-
-    private String width = null;
-    private String height = null;
-    private String embeddedWidth = null;
-    private String embeddedHeight = null;
-    private String outfile = null;
-    private String outdir = null;
-    private boolean embedJNLP;
-    private boolean isExtension = false;
-    private Boolean signBundle;
-
-    //Before FCS default is to include DT files with app
-    // to ensure tests are using latest and compatible.
-    //After FCS default is to use shared copy.
-    private boolean includeDT = false;
-
-    private String updateMode="background";
-    private Info appInfo = null;
-    private Application app = null;
-    private Resources resources = null;
-    private Preferences prefs = null;
-    private String codebase = null;
-
-    //container to embed application into
-    //could be either string id or js code. If it is string id then it needs to
-    //be escaped
-    private String placeholder;
-
-    private PackagerLib packager;
-    private DeployParams deployParams;
-
-    private Callbacks callbacks;
-
-    boolean offlineAllowed = true;
-
-    //default native bundle settings
-    // use NONE to avoid large disk space and build time overhead
-    BundleType nativeBundles = BundleType.NONE;
-    String bundleFormat = null;
-    boolean versionCheck = true;
-
-    private boolean verbose = false;
-    public void setVerbose(boolean v) {
-        verbose = v;
-    }
-
-    public void setCodebase(String str) {
-        codebase = str;
-    }
-
-    public DeployFXTask() {
-        packager = new PackagerLib();
-        deployParams = new DeployParams();
-    }
-
-    @Override
-    public void execute() {
-        boolean isModular = (app.getModule() != null) && !app.getModule().isEmpty();
-        deployParams.setOutfile(outfile);
-        deployParams.setOutdir(new File(outdir));
-
-        if (versionCheck) {
-            if (!com.sun.javafx.tools.ant.VersionCheck.isSameVersion()) {
-                throw new BuildException(I18N.getString("message.java.version.mismatch"));
-            }
-        }
-
-        if (!isModular &&
-            (nativeBundles == BundleType.JNLP ||
-             nativeBundles == BundleType.ALL ||
-             nativeBundles == BundleType.NONE)) {
-
-            setAppInfo();
-
-            deployParams.setOfflineAllowed(offlineAllowed);
-            deployParams.setVerbose(verbose);
-            deployParams.setCodebase(codebase);
-            deployParams.setSignBundle(signBundle);
-
-            if (app != null && app.getModule() == null) {
-                deployParams.setApplicationClass(app.get().mainClass);
-            }
-
-            if (width != null) {
-                deployParams.setWidth(Integer.valueOf(width));
-            }
-
-            if (height != null) {
-                deployParams.setHeight(Integer.valueOf(height));
-            }
-
-            if (embeddedWidth != null && embeddedHeight != null) {
-                deployParams.setEmbeddedDimensions(embeddedWidth, embeddedHeight);
-            }
-
-            deployParams.setEmbedJNLP(embedJNLP);
-            if (perms != null) {
-               deployParams.setAllPermissions(perms.getElevated());
-            }
-
-            deployParams.setUpdateMode(updateMode);
-            deployParams.setExtension(isExtension);
-            deployParams.setIncludeDT(includeDT);
-
-            if (callbacks != null) {
-                for (Callback cb: callbacks.callbacks) {
-                    deployParams.addCallback(cb.getName(), cb.getCmd());
-                }
-            }
-
-            setPlatform();
-            setPreferences();
-
-            for (Template t: templateList) {
-                deployParams.addTemplate(t.infile, t.outfile);
-            }
-        }
-
-        if (isModular &&
-            (nativeBundles == BundleType.NATIVE ||
-             nativeBundles == BundleType.IMAGE ||
-             nativeBundles == BundleType.INSTALLER ||
-             nativeBundles == BundleType.ALL)) {
-            if (app != null) {
-                if (app.getModule() == null) {
-                    deployParams.setApplicationClass(app.get().mainClass);
-                }
-                else {
-                    int index = app.getModule().indexOf("/");
-
-                    if (index > 0) {
-                        deployParams.setModule(app.getModule());
-                    }
-                    else {
-                        deployParams.setModule(app.getModule() + "/" + app.get().mainClass);
-                    }
-                }
-
-                deployParams.setPreloader(app.get().preloaderClass);
-                deployParams.setAppId(app.get().id);
-                deployParams.setAppName(app.get().name);
-                deployParams.setParams(app.get().parameters);
-                deployParams.setArguments(app.get().getArguments());
-                deployParams.setHtmlParams(app.get().htmlParameters);
-                deployParams.setFallback(app.get().fallbackApp);
-                deployParams.setSwingAppWithEmbeddedJavaFX(app.get().embeddedIntoSwing);
-                deployParams.setVersion(app.get().version);
-                deployParams.setId(app.get().id);
-                deployParams.setServiceHint(app.get().daemon);
-
-                setRuntime();
-            }
-
-            setAppInfo();
-
-            setPlatform();
-            setPreferences();
-        }
-
-        if (!isModular &&
-            (nativeBundles == BundleType.NATIVE ||
-             nativeBundles == BundleType.IMAGE ||
-             nativeBundles == BundleType.INSTALLER ||
-             nativeBundles == BundleType.ALL)) {
-            if (app != null) {
-                deployParams.setApplicationClass(app.get().mainClass);
-                deployParams.setPreloader(app.get().preloaderClass);
-                deployParams.setAppId(app.get().id);
-                deployParams.setAppName(app.get().name);
-                deployParams.setParams(app.get().parameters);
-                deployParams.setArguments(app.get().getArguments());
-                deployParams.setHtmlParams(app.get().htmlParameters);
-                deployParams.setFallback(app.get().fallbackApp);
-                deployParams.setSwingAppWithEmbeddedJavaFX(app.get().embeddedIntoSwing);
-                deployParams.setVersion(app.get().version);
-                deployParams.setId(app.get().id);
-                deployParams.setServiceHint(app.get().daemon);
-
-                setRuntime();
-            }
-
-            setAppInfo();
-
-            setPlatform();
-            setPreferences();
-        }
-
-        for (BundleArgument ba : bundleArgumentList) {
-            deployParams.addBundleArgument(ba.arg, ba.value);
-        }
-
-        deployParams.setPlaceholder(placeholder);
-
-        if (resources != null) {
-            for (FileSet fs: resources.getResources()) {
-                Utils.addResources(deployParams, fs);
-            }
-        }
-
-        List<Map<String, ? super Object>> launchersAsMap = new ArrayList<>();
-        for (SecondaryLauncher sl : secondaryLaunchers) {
-            launchersAsMap.add(sl.createLauncherMap());
-        }
-
-        deployParams.addBundleArgument(
-                StandardBundlerParam.SECONDARY_LAUNCHERS.getID(),
-                launchersAsMap);
-
-        deployParams.setBundleType(nativeBundles);
-        deployParams.setTargetFormat(bundleFormat);
-
-        Log.setLogger(new AntLog(this.getProject()));
-
-        try {
-            packager.generateDeploymentPackages(deployParams);
-        } catch (PackagerException pe) {
-            if (pe.getCause() != null) {
-               throw new BuildException(pe.getCause().getMessage(), pe.getCause());
-            } else {
-                throw new BuildException(pe.getMessage(), pe);
-            }
-        } catch (Exception e) {
-            throw new BuildException(e.getMessage(), e);
-        } finally {
-            Log.setLogger(null);
-        }
-    }
-
-    private void setRuntime() {
-        if (runtime != null) {
-            for (String s : runtime.getAddModules()) {
-                deployParams.addAddModule(s);
-            }
-
-            for (String s : runtime.getLimitModules()) {
-                deployParams.addLimitModule(s);
-            }
-
-            deployParams.setModulePath(runtime.getModulePath());
-
-            Boolean stripNativeCommands = runtime.getStripNativeCommands();
-
-            if (stripNativeCommands != null) {
-                deployParams.setStripNativeCommands(stripNativeCommands);
-            }
-
-            Boolean detectModules = runtime.getDetectModules();
-
-            if (detectModules != null) {
-                deployParams.setDetectModules(detectModules);
-            }
-        }
-    }
-
-    /**
-     * Set to true if we are generating an 'extension' JNLP.
-     *
-     * @ant.not-required Default is false.
-     */
-    public void setExtension(boolean v) {
-        isExtension = v;
-    }
-
-    public void setNativeBundles(String v) {
-        Bundle bundle = Bundler.stringToBundle(v);
-        this.nativeBundles = bundle.type;
-        this.bundleFormat = bundle.format;
-    }
-
-    public void setVersionCheck(String value) {
-        this.versionCheck = Boolean.valueOf(value);
-    }
-
-    /**
-     * Indicates the preferences for when checks for application updates
-     * are performed. Supported modes are always, timeout and background.
-     *
-     * @ant.not-required Default is background.
-     */
-    public void setUpdateMode(String v) {
-        String l = v.toLowerCase();
-        if ("eager".equals(l)) {
-            //workaround for doc bug in 2.0
-            l="always";
-        }
-        if (!"always".equals(l) && !"background".equals(l)
-                && !"timeout".equals(l)) {
-            throw new BuildException("Unknown update mode: ["+l+"]." +
-                    "Supported modes are: 'always', 'timeout' and 'background'");
-        }
-        updateMode = l;
-    }
-
-    /**
-     * Indicates if the application can be launched offline.
-     *
-     * If application is already downloaded and update mode is eager then
-     * the check will timeout after a few seconds, in which case the cached
-     * application will be launched instead.
-     *
-     * Given a reasonably fast server connection,
-     * the latest version of the application will usually be run,
-     * but it is not guaranteed. The application, however, can be run offline.
-     *
-     * @ant.not-required Default is true.
-     */
-    public void setOfflineAllowed(boolean v) {
-        offlineAllowed = v;
-    }
-
-    /**
-     * Application width for embedding application into Web page
-     *
-     * @ant.optional
-     */
-    public void setEmbeddedWidth(String w) {
-        embeddedWidth = w;
-    }
-
-    /**
-     * Application width. Used for webstart and embedded applications
-     * unless emdeddedWidth is specified
-     *
-     * @ant.required
-     */
-    public void setWidth(String v) {
-        width = v;
-    }
-
-    /**
-     * Application width for embedding application into Web page
-     *
-     * @ant.optional
-     */
-    public void setEmbeddedHeight(String w) {
-        embeddedHeight = w;
-    }
-
-    /**
-     * Application height. Used for webstart and embedded applications
-     * unless emdeddedHeight is specified
-     *
-     * @ant.required
-     */
-    public void setHeight(String v) {
-        height = v;
-    }
-
-    /**
-     * Enable embedding JNLP descriptor into Web page.
-     * Reduces number of network connections to be made on startup and
-     * help to improve startup time.
-     *
-     * @ant.not-required Default is false.
-     */
-    public void setEmbedJNLP(boolean v) {
-        embedJNLP = v;
-    }
-
-    /**
-     * Directory where application package will be saved.
-     *
-     * @ant.required
-     */
-    public void setOutdir(String v) {
-        outdir = v;
-    }
-
-    /**
-     * Prefix to be used for new generated files.
-     *
-     * @ant.required
-     */
-    public void setOutfile(String v) {
-        outfile = v;
-    }
-
-    /**
-     * If true then web deployment is done using javascript files
-     * on java.com. Otherwise copy of javascript file is included into
-     * application package.
-     *
-     * @ant.not-required Before FCS default is false. For FCS default is true.
-     */
-    public void setIncludeDT(Boolean v) {
-        includeDT = v;
-    }
-
-    /**
-     * Placeholder in the web page where application will be embedded.
-     * This is expected to be Javascript DOM object.
-     *
-     * @ant.required Either reference or id of placeholder is required.
-     */
-    public void setPlaceholderRef(String p) {
-        this.placeholder = p;
-    }
-
-    /**
-     * Id of the placeholder in the web page where application will be embedded.
-     * Javascript's document.getElementById() is expected to be able to resolve it.
-     *
-     * @ant.required Either reference or id of placeholder is required.
-     */
-    public void setPlaceholderId(String id) {
-        //raw id of the placeholder, need to escape it
-        this.placeholder = "'"+id+"'";
-    }
-
-    public void setSignBundle(boolean signBundle) {
-        this.signBundle = signBundle;
-    }
-
-    public Info createInfo() {
-        appInfo = new Info();
-        return appInfo;
-    }
-
-    public Application createApplication() {
-        app = new Application();
-        return app;
-    }
-
-    public Preferences createPreferences() {
-        prefs = new Preferences();
-        return prefs;
-    }
-
-    public Callbacks createCallbacks() {
-        if (callbacks != null) {
-            throw new BuildException("Only one callbacks element is supported.");
-        }
-        callbacks = new Callbacks();
-        return callbacks;
-    }
-
-    public Resources createResources() {
-        if (resources != null) {
-            throw new BuildException("Only one resources element is supported.");
-        }
-        resources = new Resources();
-        return resources;
-    }
-
-    List<Template> templateList = new LinkedList<>();
-
-    public Template createTemplate() {
-        Template t = new Template();
-        templateList.add(t);
-        return t;
-    }
-
-    Platform platform;
-
-    public Platform createPlatform() {
-        platform = new Platform();
-        return platform;
-    }
-
-    private Permissions perms = null;
-
-    public Permissions createPermissions() {
-        perms = new Permissions();
-        return perms;
-    }
-
-    List<BundleArgument> bundleArgumentList = new LinkedList<>();
-
-    public BundleArgument createBundleArgument() {
-        BundleArgument ba = new BundleArgument();
-        bundleArgumentList.add(ba);
-        return ba;
-    }
-
-    private List<SecondaryLauncher> secondaryLaunchers = new ArrayList<>();
-
-    public SecondaryLauncher createSecondaryLauncher() {
-        SecondaryLauncher sl = new SecondaryLauncher();
-        secondaryLaunchers.add(sl);
-        return sl;
-    }
-
-    private Runtime runtime = null;
-
-    public Runtime createRuntime() {
-        runtime = new Runtime();
-        return runtime;
-    }
-
-    @Override
-    public void setDynamicAttribute(String name, String value) throws BuildException {
-        //Use qName and value - can't really validate anything until we know which bundlers we have, so this has
-        //to done (way) downstream
-        bundleArgumentList.add(new BundleArgument(name, value));
-    }
-
-    private void setPlatform() {
-        if (platform != null) {
-            Platform pl = platform.get();
-            if (pl.j2se != null) {
-                deployParams.setJRE(pl.j2se);
-            }
-            if (pl.javafx != null) {
-                deployParams.setJavafx(pl.javafx);
-            }
-
-            //only pass it further if it was explicitly set
-            // as we do not want to override default
-            if (pl.javaRoot != null) {
-                if (Platform.USE_SYSTEM_JRE.equals(pl.javaRoot)) {
-                    deployParams.setJavaRuntimeSource(null);
-                } else {
-                    deployParams.setJavaRuntimeSource(new File(pl.javaRoot));
-                }
-            }
-
-            for (Property p: pl.properties) {
-                deployParams.addJvmProperty(p.name, p.value);
-            }
-            for (Jvmarg a: pl.jvmargs) {
-                deployParams.addJvmArg(a.value);
-            }
-            for (Property a: pl.jvmUserArgs) {
-                deployParams.addJvmUserArg(a.name, a.value);
-            }
-        }
-    }
-
-    private void setPreferences() {
-        if (prefs != null) {
-            deployParams.setNeedShortcut(prefs.getShortcut());
-            deployParams.setNeedInstall(prefs.getInstall());
-            deployParams.setNeedMenu(prefs.getMenu());
-            deployParams.setSystemWide(prefs.getSystemInstall());
-            deployParams.setInstalldirChooser(prefs.getInstalldirChooser());
-            deployParams.setSingleton(prefs.getSingleton());
-        }
-    }
-
-    private void setAppInfo() {
-        if (appInfo != null) {
-            deployParams.setTitle(appInfo.title);
-            deployParams.setVendor(appInfo.vendor);
-            deployParams.setDescription(appInfo.appDescription);
-            deployParams.setCategory(appInfo.category);
-            deployParams.setLicenseType(appInfo.licenseType);
-            deployParams.setCopyright(appInfo.copyright);
-            deployParams.setEmail(appInfo.email);
-
-            for (Info.Icon i: appInfo.icons) {
-                if (i instanceof Info.Splash) {
-                   deployParams.addIcon(i.href, i.kind, i.width, i.height, i.depth,
-                        ((Info.Splash) i).mode);
-                } else {
-                   deployParams.addIcon(i.href, i.kind, i.width, i.height, i.depth,
-                        DeployParams.RunMode.WEBSTART);
-                }
-            }
-
-            deployParams.addBundleArgument(StandardBundlerParam.FILE_ASSOCIATIONS.getID(),
-                    appInfo.fileAssociations.stream()
-                        .map(FileAssociation::createLauncherMap)
-                        .collect(Collectors.toList()));
-        }
-    }
-
-    /**
-     * Template to preprocess.
-     * <p>
-     * Template is the HTML file containing markers to be replaced with
-     * javascript or HTML snippets needed to deploy JavaFX application on the
-     * Web page. This allows to deploy application into "real" Web pages
-     * and simplify development process if application is tightly
-     * integrated with the page (e.g. uses javascript to communicate to it).
-     * <p>
-     * Marker has the form of #XXX# or #XXX(id)#. Where id is identifier
-     * of an application and XXX is one of following:
-     * <ul>
-     *   <li>DT.SCRIPT.URL - location of dtjava.js
-     *   <li>DT.SCRIPT.CODE - script element to include dtjava.js
-     *   <li>DT.EMBED.CODE.DYNAMIC - code to embed application into given placeholder
-     *         It is expected it will be wrapped into function()
-     *   <li>DT.EMBED.CODE.ONLOAD - all code needed to embed application into Web page
-     *               using onload hook (except inclusion of dtjava.js)
-     *   <li>DT.LAUNCH.CODE - code need to launch application.
-     *          Expected to be wrappend into function().
-     * </ul>
-     *
-     * Page with multiple different applications can be processed multiple times
-     * - one per application. To avoid confusion markers need to use
-     * application ids  (alphanumeric string no spaces).
-     * <p>
-     * If input and output files are the same then template is processed in place.
-     * <p>
-     * Example:
-     * <pre>
-     *     &lt;template file="App_template.html" tofile="App.html"/&gt;
-     * </pre>
-     *
-     * @ant.type name="Template" category="javafx"
-     */
-    public static class Template extends DataType {
-        File infile = null;
-        File outfile = null;
-
-        /**
-         * Input file.
-         *
-         * @ant.required
-         */
-        public void setFile(File f) {
-            infile = f;
-        }
-
-        /**
-         * Output file (after preprocessing).
-         *
-         * @ant.not-required Default is the same as input file.
-         */
-        public void setTofile(File f) {
-            outfile = f;
-        }
-    }
-
-    /**
-     * An argument to be passed off to the bundlers.
-     *
-     * Each bundler uses a set of arguments that may be shared across
-     * the different bundlers or it may be specific to each bundler.
-     *
-     * Some bundlers declare argument types that are not known to the JDK
-     * and may be specific to the particular bundler (such as Mac App Store
-     * categories).  These arguments allow you to set and adjust these a
-     * rguments.
-     *
-     * @ant.type name="BundleArgument" category="javafx"
-     */
-    public static class BundleArgument extends DataType {
-        String arg = null;
-        String value = null;
-
-        BundleArgument() {
-
-        }
-
-        BundleArgument(String arg, String value) {
-            this.arg = arg;
-            this.value = value;
-        }
-
-        /**
-         * Name of the bundle argument.
-         *
-         * @ant.required
-         */
-        public void setArg(String arg) {
-            this.arg = arg;
-        }
-
-        /**
-         * Value for the bundle argument.
-         *
-         * @ant.not-required Default is a literal null
-         */
-        public void setValue(String value) {
-            this.value = value;
-        }
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/FXJar.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import com.sun.javafx.tools.packager.CreateJarParams;
-import com.sun.javafx.tools.packager.PackagerLib;
-import java.io.File;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.Manifest;
-import org.apache.tools.ant.types.FileSet;
-
-/**
- * Package javafx application into jar file. The set of files to be included is
- * defined by one or more nested fileset. Task also accepts jar Manifest to embed it into
- * result jar file.
- * <p>
- * In addition to just creating jar archive it also:
- * <ul>
- *   <li> embeds of JavaFX launcher (for double clickable jars)
- *   <li> ensures jar manifests do not have "bad" entries (such as Class-Path)
- * </ul>
- *
- * @ant.task name="jar" category="javafx"
- */
-public class FXJar extends Task {
-    private String destFile = null;
-    private String codebase = null;
-    private Application app = null;
-    private Platform platform = null;
-    private Resources resources = null;
-    private List<FileSet> filesets = new LinkedList<FileSet>();
-    private Manifest manifest = null;
-
-    private PackagerLib packager;
-    private CreateJarParams createJarParams;
-
-    private boolean css2bin = false;
-
-    private boolean verbose = false;
-    public void setVerbose(boolean v) {
-        verbose = v;
-    }
-
-    public Application createApplication() {
-        app = new Application();
-        return app;
-    }
-
-    public Platform createPlatform() {
-        platform = new Platform();
-        return platform;
-    }
-
-    private Permissions perms = null;
-
-    public Permissions createPermissions() {
-        perms = new Permissions();
-        return perms;
-    }
-
-    public Resources createResources() {
-        resources = new Resources();
-        return resources;
-    }
-
-    /**
-     * Location of output file.
-     *
-     * @ant.required
-     */
-    public void setDestfile(String v) {
-        destFile = v;
-    }
-
-    /*
-     * If specified, then packager adds the "Codebase" attribute to the manifest file
-     *
-     * @ant.not-required Default is null.
-     */
-    public void setCodebase(String v) {
-        codebase = v;
-    }
-
-    /**
-     * Enable converting CSS files to binary format for faster parsing at
-     * runtime.
-     *
-     * @ant.not-required Default is false.
-     */
-    public void setCss2Bin(boolean v) {
-        css2bin = v;
-    }
-
-    public FXJar() {
-        packager = new PackagerLib();
-        createJarParams = new CreateJarParams();
-    }
-
-
-    @Override
-    public void execute() {
-        checkAttributesAndElements();
-
-        createJarParams.setCss2bin(css2bin);
-
-        if (app != null) {
-           createJarParams.setApplicationClass(app.get().mainClass);
-           createJarParams.setPreloader(app.get().preloaderClass);
-           createJarParams.setFallback(app.get().fallbackApp);
-           createJarParams.setParams(app.get().parameters);
-           createJarParams.setArguments(app.get().getArguments());
-        }
-
-        if (perms != null) {
-            createJarParams.setAllPermissions(perms.getElevated());
-        }
-
-        if (codebase != null) {
-            createJarParams.setCodebase(codebase);
-        }
-
-        if (platform != null) {
-           createJarParams.setFxVersion(platform.get().javafx);
-        }
-
-        if (resources != null) {
-            createJarParams.setClasspath(resources.exportAsClassPath());
-        }
-
-        final File f = new File(destFile);
-        createJarParams.setOutdir(f.isAbsolute()
-                                      ? null
-                                      : getProject().getBaseDir());
-        createJarParams.setOutfile(destFile);
-
-        if (manifest != null) {
-            createJarParams.setManifestAttrs(getAttrSet(manifest));
-        }
-
-        for (FileSet fileset: filesets) {
-           Utils.addResources(createJarParams, fileset);
-        }
-
-        try {
-            packager.packageAsJar(createJarParams);
-        } catch (Exception e) {
-            throw new BuildException(e.getMessage(), e);
-        }
-    }
-
-    public Manifest createManifest() {
-        manifest = new Manifest();
-        return manifest;
-    }
-
-    public FileSet createFileSet() {
-        FileSet fileset = new FileSet();
-        fileset.setProject(getProject());
-        filesets.add(fileset);
-        return fileset;
-    }
-
-    private void checkAttributesAndElements() {
-        if (destFile == null) {
-            throw new BuildException("You must specify the destfile file to create.");
-        }
-
-        File f = new File(destFile);
-        if (!f.isAbsolute()) {
-            f = new File(getProject().getBaseDir(), destFile);
-        }
-        if (f.exists() && !f.isFile()) {
-            throw new BuildException(destFile + " is not a file.");
-        }
-
-        if (f.exists() && !f.canWrite()) {
-            throw new BuildException(destFile + " is read-only.");
-        }
-
-        if (filesets.isEmpty()) {
-            throw new BuildException("You must specify at least one fileset to be packed.");
-        }
-
-        boolean haveNonEmpty = false;
-        for (FileSet fileset: filesets) {
-            if (fileset.size() != 0) {
-                haveNonEmpty = true;
-                break;
-            }
-        }
-
-        if (!haveNonEmpty) {
-            throw new BuildException("All filesets are empty.");
-        }
-
-        if (app != null) {
-            app.selfcheck();
-        }
-    }
-
-    private static Map<String, String> getAttrSet(Manifest manifest) {
-        Map<String, String> result = new HashMap<String, String>();
-
-        Manifest.Section mainSection = manifest.getMainSection();
-        for (Enumeration e = mainSection.getAttributeKeys(); e.hasMoreElements();) {
-            String attrKey = (String) e.nextElement();
-            Manifest.Attribute attr = mainSection.getAttribute(attrKey);
-            result.put(attr.getName(), attr.getValue());
-        }
-        return result;
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/FXSignJarTask.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import com.sun.javafx.tools.packager.PackagerLib;
-import com.sun.javafx.tools.packager.SignJarParams;
-import com.oracle.tools.packager.Log;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.FileSet;
-
-/**
- * Sign jar as BLOB (instead of signing every entry separately sign jar
- * file as one huge binary object).
- * <p>
- * This is new signing method in JavaFX. Standard ant signjar task need to
- * be used for traditional signing.
- * <p>
- * Usage examples:
- * <pre>
- *   &lt;signjar keyStore="${basedir}/sample.jks" destdir="c:/tmp"
- *               alias="javafx" storePass="****" keyPass="****"&gt;
- *      &lt;fileset dir='${build.dir}/dist/** /*.jar'/&gt;
- *   &lt;/signjar&gt;
- * </pre>
- *
- * @ant.task name="signjar" category="javafx"
- */
-public class FXSignJarTask extends Task {
-
-    private File keyStore;
-    private String alias;
-    private String storePass;
-    private String keyPass;
-    private String storeType = "jks";
-    private List<FileSet> fileSets = new ArrayList<FileSet>();
-    private String deprecatedSourceJar; //deprecated since 2.2
-    private String sourceJar; //deprecated since 2.2
-    private String destDir;
-
-    private PackagerLib packager;
-    private SignJarParams signJarParams;
-    private boolean verbose = false;
-
-    public FXSignJarTask() {
-        Log.info("Warning: <fx:signjar> has been deprecated and will be removed in a future release.");
-        packager = new PackagerLib();
-        signJarParams = new SignJarParams();
-    }
-
-    @Override
-    public void execute() throws BuildException {
-        signJarParams.setKeyStore(keyStore);
-        signJarParams.setAlias(alias);
-        signJarParams.setStorePass(storePass);
-        signJarParams.setKeyPass(keyPass);
-        signJarParams.setStoreType(storeType);
-        signJarParams.setVerbose(verbose);
-
-        if (destDir != null) {
-            signJarParams.setOutdir(new File(destDir));
-        }
-
-        if (!fileSets.isEmpty()) {
-            if (deprecatedSourceJar != null) {
-                throw new IllegalArgumentException(
-                        "Unexpected sourcejar attribute when fileset present");
-            }
-            if (sourceJar != null) {
-                throw new IllegalArgumentException(
-                        "Unexpected sourcejar attribute when fileset present");
-            }
-        }
-
-        if (sourceJar != null && deprecatedSourceJar != null) {
-                throw new IllegalArgumentException(
-                        "Cannot use both sourcejar and jar attributes. (sourcejar attribute is deprecated).");
-        }
-
-        for (FileSet fileset: fileSets) {
-            Utils.addResources(signJarParams, fileset);
-        }
-        if (deprecatedSourceJar != null) {
-            File sourceFile = new File(deprecatedSourceJar);
-            if (sourceFile.exists()) {
-                signJarParams.addResource(new File("."), sourceFile);
-            }
-        }
-        if (sourceJar != null) {
-            File sourceFile = new File(sourceJar);
-            if (sourceFile.exists()) {
-                //treat as request to copy file to top level folder
-                // (i.e. ignore path part)
-                //this is consistent with built-in signjar
-                signJarParams.addResource(
-                        sourceFile.getParentFile(), sourceFile.getName());
-            }
-        }
-        try {
-            signJarParams.validate();
-            packager.signJar(signJarParams);
-        } catch (Exception e) {
-            throw new BuildException(e.getMessage(), e);
-        }
-    }
-
-    /**
-     * The alias to sign under.
-     *
-     * @ant.required
-     */
-    public void setAlias(String alias) {
-        this.alias = alias;
-    }
-
-    public void setVerbose(Boolean verbose) {
-        this.verbose = verbose;
-    }
-
-
-    /**
-     * Password for private key.
-     *
-     * @ant.required
-     */
-    public void setKeyPass(String keyPassword) {
-        this.keyPass = keyPassword;
-    }
-
-    /**
-     * Password for keystore
-     *
-     * @ant.required
-     */
-    public void setStorePass(String storePassword) {
-        this.storePass = storePassword;
-    }
-
-    /**
-     * Keystore to use.
-     *
-     * @ant.required
-     */
-    public void setKeyStore(File keyStore) {
-        this.keyStore = keyStore;
-    }
-
-    /**
-     * Keystore type
-     *
-     * @ant.not-required Default is "jks".
-     */
-    public void setStoreType(String storeType) {
-        this.storeType = storeType;
-    }
-
-    public void addFileSet(FileSet fileset) {
-        fileSets.add(fileset);
-    }
-
-    /**
-     * The jar to sign (deprecated since 2.2, use jar attribute)
-     *
-     * @ant.not-required Either this or jar attribute or embedded fileset are required.
-     */
-    public void setSourceJar(String sourceJar) {
-        this.deprecatedSourceJar = sourceJar;
-    }
-
-    /**
-     * The jar to sign.
-     *
-     * @ant.not-required Either this or sourcejar or embedded fileset are required.
-     */
-    public void setJar(String sourceJar) {
-        this.sourceJar = sourceJar;
-    }
-
-    /**
-     * Location of output file.
-     *
-     * @ant.required
-     */
-    public void setDestDir(String destDir) {
-        this.destDir = destDir;
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/FileAssociation.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.DynamicAttribute;
-import org.apache.tools.ant.types.DataType;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static com.oracle.tools.packager.StandardBundlerParam.*;
-
-
-public class FileAssociation extends DataType implements DynamicAttribute {
-
-    String extension;
-    String mimeType;
-    String description;
-    File icon;
-
-    List<DeployFXTask.BundleArgument> bundleArgumentList = new ArrayList<>();
-
-    public DeployFXTask.BundleArgument createBundleArgument() {
-        DeployFXTask.BundleArgument ba = new DeployFXTask.BundleArgument();
-        bundleArgumentList.add(ba);
-        return ba;
-    }
-
-    @Override
-    public void setDynamicAttribute(String name, String value) throws BuildException {
-        //Use qName and value - can't really validate anything until we know which bundlers we have, so this has
-        //to done (way) downstream
-        bundleArgumentList.add(new DeployFXTask.BundleArgument(name, value));
-    }
-
-    public Map<String, ? super Object> createLauncherMap() {
-        Map<String, ? super Object> fileAssociations = new HashMap<>();
-
-        putUnlessNull(fileAssociations, FA_EXTENSIONS.getID(), extension);
-        putUnlessNull(fileAssociations, FA_CONTENT_TYPE.getID(), mimeType);
-        putUnlessNull(fileAssociations, FA_DESCRIPTION.getID(), description);
-        putUnlessNull(fileAssociations, FA_ICON.getID(), icon);
-
-        for (DeployFXTask.BundleArgument ba : bundleArgumentList) {
-            if (!fileAssociations.containsKey(ba.arg)) {
-                putUnlessNull(fileAssociations, ba.arg, ba.value);
-            }
-            else {
-                // TODO check and complain about collisions
-            }
-        }
-
-        return fileAssociations;
-    }
-
-    public void putUnlessNull(Map<String, ? super Object> params, String param, Object value) {
-        if (value != null) {
-            params.put(param, value);
-        }
-    }
-
-    public void putUnlessNullOrEmpty(Map<String, ? super Object> params, String param, Collection value) {
-        if (value != null && !value.isEmpty()) {
-            params.put(param, value);
-        }
-    }
-
-    public void putUnlessNullOrEmpty(Map<String, ? super Object> params, String param, Map value) {
-        if (value != null && !value.isEmpty()) {
-            params.put(param, value);
-        }
-    }
-
-    /**
-     * The file extension or extensions (separated by spaces) that the application requests it be registered to handle
-     *
-     * @ant.not-required
-     */
-    public void setExtension(String extension) {
-        this.extension = extension;
-    }
-
-    /**
-     * The mime-type that the application requests it be registered to handle.
-     *
-     * @ant.not-required
-     */
-    public void setMimeType(String mimeType) {
-        this.mimeType = mimeType;
-    }
-
-    /**
-     * The description the Operation System may show for files of the associated extension and mime-type.
-     *
-     * @ant.optional
-     */
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    /**
-     * The icon the Operation System may show for files of the associated extension and mime-type.
-     *
-     * @ant.optional
-     */
-    public void setIcon(File icon) {
-        this.icon = icon;
-    }
-
-    /**
-     * Extra arguments that the bundler may interpret to provide for better
-     * integration with specific operating systems.
-     *
-     * @ant.optional
-     */
-    public DeployFXTask.BundleArgument createArg() {
-        DeployFXTask.BundleArgument ba = new DeployFXTask.BundleArgument();
-        bundleArgumentList.add(ba);
-        return ba;
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/FileSet.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import org.apache.tools.ant.BuildException;
-
-/**
- * Extension of standard ant FileSet type that provide means to
- * specify optional meta information on selected set of files.
- * This includes:
- *   <ul>
- *     <li> type or resource (JNLP, jar, etc)
- *     <li> OS and Architecture for which this resource is applicable
- *     <li> hint on when this resource is needed
- *          (helps to optimize loading order)
- *    </ul>
- *
- * Examples:
- * <pre>
- *        &lt;fx:fileset dir="dist" includes="app.jar"/&gt;
- * </pre>
- * Defines set consisting of single jar file (type will be detected based on extension)
- * that is applicable to all OS/arch combinations and needed for application startup.
- * <p>
- * <pre>
- *        &lt;fx:fileset dir="dist" neededFor="preloader" os="windows"&gt;
- *            &lt;include name="*.jar"/&gt;
- *        &lt;/fx:fileset&gt;
- * </pre>
- * All the jars in the "dist" folder for Windows platfrom only. These jars needed
- * to be available to launch preloader.
- *
- * @ant.type name="fileset" category="javafx"
- */
-public class FileSet extends org.apache.tools.ant.types.FileSet {
-    //TODO: add support for locale & platform (see JNLP spec)
-
-    //autoguess based on extension
-    public final static int TYPE_AUTO = 0;
-    public final static int TYPE_JAR = 1;
-    public final static int TYPE_NATIVELIB = 2;
-    public final static int TYPE_ICON = 3;
-    public final static int TYPE_JNLP = 4;
-
-    //these 2 types are only applicable to native bundles
-    public final static int TYPE_DATA = 5;
-    public final static int TYPE_LICENSE = 6;
-
-    private int type = TYPE_AUTO;
-    private String mode = "eager";
-    private String os = null;
-    private String arch = null;
-
-    private FileSet get() {
-        if (isReference()) {
-            return (FileSet) getRefid().getReferencedObject();
-        }
-        return this;
-    }
-    //better use enum but then it need to be refactored ...
-    final String[] types = {null, "jar", "nativelib", "icon", "jnlp", "data", "license"};
-
-    public String getTypeAsString() {
-        return types[get().type];
-    }
-
-    public String getOs() {
-        return get().os;
-    }
-
-    public String getMode() {
-        return get().mode;
-    }
-
-    public String getArch() {
-        return get().arch;
-    }
-
-    /**
-     * Type of the resources in the set. Supported types are "auto" for autodetect,
-     * "jar", "jnlp", "native" for jar containing native libraries and "icon".
-     *
-     * @ant.not-required Default is to guess based on extension.
-     */
-    public void setType(String v) {
-        if ("jar".equals(v)) {
-            type = TYPE_JAR;
-        } else if ("native".equals(v)) {
-            type = TYPE_NATIVELIB;
-        } else if ("icon".equals(v)) {
-            type = TYPE_ICON;
-        } else if ("jnlp".equals(v)) {
-            type = TYPE_JNLP;
-        } else if ("auto".equals(v)) {
-            type = TYPE_AUTO;
-        } else if ("data".equals(v)) {
-            type = TYPE_DATA;
-        } else if ("license".equals(v)) {
-            type = TYPE_LICENSE;
-        } else {
-            throw new BuildException("Unsupported resource type [" + v + "].");
-        }
-    }
-
-    /**
-     * Defines when resources are needed (impacts loading priority).
-     * Supported levels are:
-     * <ul>
-     *    <li> <em>preloader</em> - resources are needed to launch preloader
-     *         (first thing to be executed)
-     *    <li> <em>startup</em> - resources are needed for application startup.
-     *    <li> <em>runtime</em> - resources are not required before application
-     *       starts but may be needed at runtime.
-     * </ul>
-     *
-     * @ant.not-required Default is "startup".
-     */
-    public void setRequiredFor(String v) {
-        if ("preloader".equals(v)) {
-            mode = "progress";
-        } else if ("startup".equals(v)) {
-            mode = "eager";
-        } else if ("runtime".equals(v)) {
-            mode = "lazy";
-        } else {
-            throw new BuildException("Unknown requiredFor value [" + v + "]");
-        }
-    }
-
-    /**
-     * Specifies the operating systems for which these resources should be considered.
-     *
-     * @ant.not-required Default is any.
-     */
-    public void setOs(String v) {
-        os = v;
-    }
-
-    /**
-     * Specifies the architecture for which these resources should be considered.
-     *
-     * @ant.not-required Default is any.
-     */
-    public void setArch(String v) {
-        arch = v;
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Info.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +0,0 @@
-/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import com.sun.javafx.tools.packager.DeployParams.RunMode;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.types.DataType;
-
-/**
- * Application description for users. These details are shown in the system dialogs
- * (if they need to be shown).
- *
- * Examples:
- * <pre>
- *    &lt;info vendor="Uncle Joe" description="Test program"&gt;
- *       &lt;splash href="customsplash.gif&gt;
- *    &lt;/info&gt;
- * </pre>
- *
- * @ant.type name="info" category="javafx"
- */
-
-public class Info extends DataType {
-    String title;
-    String vendor;
-    String appDescription;
-    String category;
-    String licenseType;
-    String copyright;
-    String email;
-    List<Icon> icons = new LinkedList<>();
-    List<FileAssociation> fileAssociations = new LinkedList<>();
-
-    /**
-     * Application category.
-     * Category of application is platform specific.
-     * Currently used by native bundlers only.
-     *
-     * In particular:
-     *    Mac AppStore:
-     *       http://developer.apple.com/library/mac/#releasenotes/General/SubmittingToMacAppStore/_index.html
-     *    Linux (for desktop shortucts)
-     *       http://standards.freedesktop.org/menu-spec/latest/ar01s03.html#desktop-entry-extensions-examples
-     *
-     * @ant.not-required
-     */
-    public void setCategory(String v) {
-        category = v;
-    }
-
-    /**
-     * Type of application license. Format is platform specific.
-     * E.g. see Fedora guidelines - http://fedoraproject.org/wiki/Packaging:LicensingGuidelines
-     *
-     * Currently used by SOME of native bundlers only.
-     *
-     * @ant.not-required
-     */
-    public void setLicense(String v) {
-        licenseType = v;
-    }
-
-    /**
-     * Application copyright. Format is platform specific.
-     * Currently used by SOME of native bundlers only.
-     *
-     * @ant.not-required
-     */
-    public void setCopyright(String v) {
-        copyright = v;
-    }
-
-    /**
-     * Title of the application
-     *
-     * @ant.required
-     */
-    public void setTitle(String v) {
-        title = v;
-    }
-
-    /**
-     * Provider of the application.
-     *
-     * @ant.required
-     */
-    public void setVendor(String v) {
-        vendor = v;
-    }
-
-    /**
-     * A short statement describing the application.
-     *
-     * @ant.required
-     */
-    public void setDescription(String v) {
-        appDescription = v;
-    }
-
-    /**
-     * Email contact of vendor.
-     * Required for Debian packages, not used by other bundlers
-     *
-     * Email will be combined with Vendor to create a maintainer contact for
-     * Debian package
-     *
-     * @param v
-     */
-    public void setEmail(String v) {
-        email = v;
-    }
-
-    final static Set<String> iconTypes;
-
-    static {
-        iconTypes = new HashSet<String>() {
-           {
-               add("default");
-               add("selected");
-               add("disabled");
-               add("rollover");
-               add("splash");
-               add("shortcut");
-           }
-        };
-    }
-
-    /**
-      * Describes an icon that can be used to identify the application to the user.
-      * Supported icon formats: gif, jpg, png, ico.
-      */
-    public class Icon extends DataType {
-        String href;
-        String kind;
-        int width = UNDEFINED;
-        int height = UNDEFINED;
-        int depth = UNDEFINED;
-
-        final static int UNDEFINED = -1;
-
-        /**
-         * A URL pointing to the icon file.
-         *
-         * @ant.required
-         */
-        public void setHref(String v) {
-            href = v;
-        }
-
-        /**
-         * Indicates the suggested use of the icon, can be:
-         * default, selected, disabled, rollover, or shortcut.
-         *
-         */
-        public void setKind(String v) {
-            if (iconTypes.contains(v.toLowerCase())) {
-                kind = v.toLowerCase();
-            } else {
-                StringBuffer msg = new StringBuffer("Usupported type of icon [");
-                msg.append(v.toLowerCase());
-                msg.append("]. Supported types: ");
-                for (String s: iconTypes) {
-                    msg.append("\""+s+"\" ");
-                }
-
-                throw new BuildException(msg.toString());
-            }
-        }
-
-        /**
-         * Can be used to indicate the width of the image.
-         */
-        public void setWidth(int v) {
-            if (v > 0) {
-                width = v;
-            } else {
-                throw new BuildException("Width must be positive number");
-            }
-        }
-
-        /**
-         * Can be used to indicate the height of the image.
-         */
-        public void setHeight(int v) {
-            if (v > 0) {
-                height = v;
-            } else {
-                throw new BuildException("Height must be positive number");
-            }
-        }
-
-        /**
-         * Can be used to indicate the resolution of the image.
-         */
-        public void setDepth(int v) {
-            if (v > 0) {
-                depth = v;
-            } else {
-                throw new BuildException("Depth must be positive number");
-            }
-        }
-    }
-
-    public Icon createIcon() {
-        Icon ic = new Icon();
-        icons.add(ic);
-        return ic;
-    }
-
-    /**
-     * Splash image to be shown on the application start.
-     * In addition to icon properties can be also specific for particular
-     * execution mode.
-     */
-    public class Splash extends Icon {
-        RunMode mode;
-
-        public Splash() {
-            super();
-            kind = "splash";
-        }
-
-        public void setKind() {
-            throw new BuildException("Can not change kind of splash. Use icon instead.");
-        }
-
-        /**
-         * Define execution mode to use splash for.
-         * Supported modes are: "webstart", "embedded", "standalone" and "any".
-         *
-         * Default value is "webstart"
-         */
-        public void setMode(String v) {
-            String l = v.toLowerCase();
-            if ("webstart".equals(l)) {
-                mode = RunMode.WEBSTART;
-            } else if ("embedded".equals(l)) {
-                mode = RunMode.EMBEDDED;
-            } else if ("standalone".equals(l)) {
-                mode = RunMode.STANDALONE;
-            } else if ("any".equals(l)) {
-                mode = RunMode.ALL;
-            } else {
-                throw new BuildException("Unsupported run mode: ["+v+"].");
-            }
-        }
-    }
-
-    public Splash createSplash() {
-        Splash s = new Splash();
-        icons.add(s);
-        return s;
-    }
-
-    /**
-     * A hint to the packager that it wishes to be registered with the
-     * operating system as the primary handler of certain extensions and
-     * a certain mime-type.
-     *
-     * @ant.not-required
-     */
-    public FileAssociation createAssociation() {
-        FileAssociation fa = new FileAssociation();
-        fileAssociations.add(fa);
-        return fa;
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/JavaVersion.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.tools.ant;
-
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import com.oracle.tools.packager.Log;
-
-public class JavaVersion {
-    // for handling full vesions like 9.0.0.0-ea
-    private static final Pattern fullVersionMatcher =
-            Pattern.compile("((\\d+).(\\d+).(\\d+).(\\d+))(-(.*))?(\\+[^\"]*)?");
-    // for handling debug vesions like 9-internal, 9-ea, etc
-    private static final Pattern shortVersionMatcher =
-            Pattern.compile("(\\d+)(-(.*))?(\\+[^\"]*)?");
-
-    private String release;
-    private String major;
-    private String minor;
-    private String security;
-    private String patch;
-    private String modifiers;
-
-    private boolean empty = true;
-
-    public JavaVersion(String version) {
-        if (version != null && !version.isEmpty()) {
-            Matcher matcher = fullVersionMatcher.matcher(version);
-            if (matcher.find()) {
-                empty = false;
-                release = matcher.group(1);
-                major = matcher.group(2);
-                minor = matcher.group(3);
-                security = matcher.group(4);
-                patch = matcher.group(5);
-                modifiers = matcher.group(7);
-            } else {
-                matcher = shortVersionMatcher.matcher(version);
-                if (matcher.find()) {
-                    empty = false;
-                    release = matcher.group(1);
-                    major = matcher.group(1);
-                    modifiers = matcher.group(3);
-                } else {
-                    Log.info("Error: Unable to recognize java version format.");
-                }
-            }
-        }
-    }
-
-    public boolean isEmpty() {
-        return empty;
-    }
-
-    public boolean match(JavaVersion other) {
-        if (major != null && other.major != null
-                && !major.equals(other.major)) {
-            return false;
-        }
-
-        if (minor != null && other.minor != null
-                && !minor.equals(other.minor)) {
-            return false;
-        }
-
-        if (security != null && other.security != null
-                && !security.equals(other.security)) {
-            return false;
-        }
-
-        if (patch != null && other.patch != null
-                && !patch.equals(other.patch)) {
-            return false;
-        }
-
-        // omit modifiers, for now..
-
-        return true;
-    }
-
-    @Override
-    public String toString() {
-        return "[Release: " + release +
-                "; Major: " + major +
-                "; Minor: "+ minor +
-                "; Security: " + security +
-                "; Patch: " + patch +
-                "; Modifiers: "+ modifiers+"]";
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Permissions.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import com.oracle.tools.packager.Log;
-import org.apache.tools.ant.types.DataType;
-
-/**
- * Definition of security permissions needed by application.
- * By default it is assumed that application may run in sandbox.
- * Requesting elevated permissions assumes that application jar
- * files are signed.
- *
- * @ant.type name="Permissions" category="javafx"
- */
-public class Permissions extends DataType {
-    @Deprecated final boolean embed = false;
-    private boolean elevated = true;
-
-    /**
-     * If set to false then application can run in sandbox.
-     *
-     * @ant.not-required Default is true.
-     */
-    public void setElevated(boolean v) {
-        elevated = v;
-    }
-
-    public boolean getElevated() {
-        return get().elevated;
-    }
-
-    /**
-     * If true then certificate used to sign jar files will be cached
-     * in the JNLP file. This allows to ask user to accept elevating
-     * permissions earlier and improves startup time.
-     * <p>
-     * This has no effect if application is run in the sandbox.
-     *
-     * @ant.not-required By default is false.
-     */
-    public void setCacheCertificates(boolean v) {
-        if (v) {
-            Log.info("JavaFX Ant Tasks no longer support caching certificates in JNLP.  Setting ignored.");
-        }
-    }
-
-    private Permissions get() {
-        if (isReference()) {
-            return (Permissions) getRefid().getReferencedObject();
-        }
-        return this;
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Platform.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import java.io.File;
-import java.util.LinkedList;
-import java.util.List;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.types.DataType;
-
-/**
- * Defines application platform requirements.
- *
- * Examples:
- * <pre>
- *    &lt;fx:platform javafx="2.0" j2se="7.0"/&gt;
- * </pre>
- * Application need JavaFX Runtime version 2.0 or later and JRE version 7.0 or later.
- *
- * Examples:
- * <pre>
- *    &lt;fx:platform javafx="2.0"&gt;
- *       &lt;jvmarg value="-Xmx400m"/&gt;
- *       &lt;jvmarg value="-verbose:jni"/&gt;
- *       &lt;property name="purpose" value="sample"/&gt;
- *    &lt;/fx:platform&gt;
- * </pre>
- * Application need JavaFX Runtime version 2.0 and need to be run in JVM launched
- * with "-Xmx400 -verbose:jni -Dpurpose=sample".
- *
- * @ant.type name="platform" category="javafx"
- */
-
-public class Platform extends DataType {
-    /**
-     * Optional element (could be used multiple times).
-     *
-     * JVM argument to be set in the JVM where application is executed.
-     *
-     * @ant.not-required
-     */
-    public static class Jvmarg {
-        String value;
-
-        /**
-         * Value of JVM argument.
-         *
-         * @ant.required
-         */
-        public void setValue(String v) {
-            value = v;
-        }
-    }
-
-    /**
-     * Optional element (could be used multiple times).
-     *
-     * Java property to be set in the JVM where application is executed.
-     *
-     * @ant.not-required
-     */
-    public static class Property {
-        String value;
-        String name;
-
-        /**
-         * Value of property to be set.
-         *
-         * @ant.required
-         */
-        public void setValue(String v) {
-            value = v;
-        }
-
-        /**
-         * Name of property to be set.
-         *
-         * @ant.required
-         */
-        public void setName(String v) {
-            name = v;
-        }
-    }
-
-    String javaRoot = null; //used for self-contained apps
-    String j2se = null;
-    String javafx = null;
-    List<Property> properties = new LinkedList<Property>();
-    List<Jvmarg> jvmargs = new LinkedList<Jvmarg>();
-    List<Property> jvmUserArgs = new LinkedList<Property>();
-
-    /**
-     * Minimum version of JRE required by application.
-     *
-     * @ant.not-required Default is any JRE supporting JavaFX.
-     */
-    public void setJ2se(String v) {
-        j2se = v;
-    }
-
-    /**
-     * Minimum version of JavaFX required by application.
-     *
-     * @ant.not-required Default is 2.0.
-     */
-    public void setJavafx(String v) {
-        javafx = v;
-    }
-
-    public final static String USE_SYSTEM_JRE = "";
-
-    public Property createProperty() {
-        Property t = new Property();
-        properties.add(t);
-        return t;
-    }
-
-    public Jvmarg createJvmarg() {
-        Jvmarg t = new Jvmarg();
-        jvmargs.add(t);
-        return t;
-    }
-
-    public Property createJVMUserArg() {
-        Property t = new Property();
-        jvmUserArgs.add(t);
-        return t;
-    }
-
-    //real object could be available by link
-    public Platform get() {
-        if (isReference()) {
-            return (Platform) getRefid().getReferencedObject();
-        }
-        return this;
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Preferences.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import org.apache.tools.ant.types.DataType;
-
-/**
- * Deployment preferences of the application.
- *
- * Examples:
- * <pre>
- *    &lt;fx:preferences id="p1" shortcut="true"&gt;
- * </pre>
- * Request to create desktop shortcut.
- *
- * <pre>
- *    &lt;fx:preferences shortcut="false" install="true" menu="true"&gt;
- * </pre>
- * Request to add reference to the start menu and mark application as installed
- * (in particular, it will be added to Add/Remove programs).
- *
- * <pre>
- *    &lt;fx:resource refid="p1"/&gt;
- * </pre>
- * Same as first example - request to create shortcut.
- *
- * @ant.type name="preferences" category="javafx"
- */
-public class Preferences extends DataType {
-    private boolean installRequested = false;
-    private Boolean shortcutRequested = null;
-    private Boolean menuRequested = null;
-    private Boolean systemWide = null;
-    private Boolean installdirChooserRequested = null;
-    private Boolean singletonRequested = null;
-
-    Boolean getSystemInstall() {
-        return systemWide;
-    }
-
-    /**
-     * For Web applications "true" is request for app to be installed,
-     * i.e. stay in the cache permanently.
-     *
-     * For native bundles "true" is request to install into system wide location.
-     * Specific bundler may ignore this preference if it is not supported.
-     *
-     * If not specified then default is
-     *    - not to install for web apps (i.e. same as "false")
-     *    - bundler-specific for native bundlers
-     *
-     * @ant.not-required    Default is false.
-     */
-    public void setInstall(boolean b) {
-        installRequested = b;
-        systemWide = b;
-    }
-
-    /**
-     * If true then application requests desktop shortcut to be created.
-     *
-     * @ant.not-required    Default is null.
-     */
-    public void setShortcut(Boolean b) {
-        shortcutRequested = b;
-    }
-
-    /**
-     * If true then application requests to add entry to the system Start Menu.
-     *
-     * @ant.not-required    Default is null.
-     */
-    public void setMenu(Boolean b) {
-        menuRequested = b;
-    }
-
-    /**
-     * If true then installer adds a dialog to let the user choose a directory
-     * where the product will be installed.
-     *
-     * @ant.not-required    Default is null.
-     */
-    public void setInstalldirChooser(Boolean b) {
-        installdirChooserRequested = b;
-    }
-
-    public void setSingleton(Boolean b) {
-        singletonRequested = b;
-    }
-
-    private Preferences get() {
-        if (isReference()) {
-            return (Preferences) getRefid().getReferencedObject();
-        }
-        return this;
-    }
-
-    Boolean getMenu() {
-        return get().menuRequested;
-    }
-
-    Boolean getShortcut() {
-        return get().shortcutRequested;
-    }
-
-    boolean getInstall() {
-        return get().installRequested;
-    }
-
-    Boolean getInstalldirChooser() {
-        return get().installdirChooserRequested;
-    }
-
-    Boolean getSingleton() {
-        return get().singletonRequested;
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Resources.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import com.sun.javafx.tools.resource.PackagerResource;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.types.resources.FileResource;
-
-/**
- * Collection of resources used by application.
- * Defined as set of JavaFX FileSet's. Could be reused using id/refid.
- *
- * In the example below both rx:resource elements define collection consisting
- * of s.jar in the dist directory:
- * <pre>
- *    &lt;fx:resource id="aaa"&gt;
- *       &lt;fx:fileset dir="dist" includes="s.jar"/&gt;
- *    &lt;/fx:resource&gt;
- *
- *    &lt;fx:resource refid="aaa"/&gt;
- * </pre>
- *
- * @ant.type name="resources" category="javafx"
- */
-public class Resources extends DataType {
-   private List<com.sun.javafx.tools.ant.FileSet> rsets =
-           new LinkedList<com.sun.javafx.tools.ant.FileSet>();
-
-    private Resources get() {
-        if (isReference()) {
-            return (Resources) getRefid().getReferencedObject();
-        }
-        return this;
-    }
-
-    public List<com.sun.javafx.tools.ant.FileSet> getResources() {
-        return get().rsets;
-    }
-
-    public com.sun.javafx.tools.ant.FileSet createFileSet() {
-        com.sun.javafx.tools.ant.FileSet r = new com.sun.javafx.tools.ant.FileSet();
-        rsets.add(r);
-        return r;
-    }
-
-    //not really accurate as platfrom specific resources are not handled
-    public String exportAsClassPath() {
-        StringBuffer sb = new StringBuffer();
-
-        List<String> jars = new LinkedList<String>();
-        getJars("progress", jars);
-        getJars("eager", jars);
-        getJars("lazy", jars);
-
-        for (String s : jars) {
-            if (sb.length() != 0) {
-                sb.append(" "); //jars to be separated by space
-            }
-            sb.append(s);
-        }
-        return sb.toString();
-    }
-
-    private void getJars(String mode, List<String> lst) {
-        for (com.sun.javafx.tools.ant.FileSet r : getResources()) {
-            if (mode.equals(r.getMode())) {
-                for (final Iterator i = r.iterator(); i.hasNext();) {
-                        FileResource fr = (FileResource) i.next();
-                        PackagerResource p = new PackagerResource(fr.getBaseDir(),
-                                fr.getFile());
-                        lst.add(p.getRelativePath());
-                }
-            }
-        }
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Runtime.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.tools.ant;
-
-import java.io.File;
-import java.util.LinkedList;
-import java.util.List;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.DynamicElement;
-import org.apache.tools.ant.DynamicAttribute;
-
-
-public class Runtime extends DataType implements Cloneable, DynamicElement, DynamicAttribute {
-    private List<Argument> addModules = new LinkedList<>();
-    private List<Argument> limitModules = new LinkedList<>();
-    private List<Argument> modulePath = new LinkedList<>();
-    private Boolean stripNativeCommands;
-    private Boolean detectModules;
-
-    public class Argument {
-        private String value;
-
-        public void setValue(String value) {
-            this.value = value;
-        }
-
-        public String getValue() {
-            return this.value;
-        }
-    }
-
-    private List<String> processArguments(List<Argument> args, String pattern) {
-        List<String> result = new LinkedList();
-
-        for (Argument a: args) {
-            for (String s : a.getValue().split(pattern)) {
-                result.add(s);
-            }
-        }
-
-        return result;
-    }
-
-    /**
-     * "addMod" declaration for the application's runtime.
-     *
-     * Modules can be specified per-element, or comma/colon/semi-colon/space separated
-     *
-     * @ant.not-required Default is to bundle the whole platform
-     */
-    private Argument createAddModules() {
-        Argument a = new Argument();
-        this.addModules.add(a);
-        return a;
-    }
-
-    /**
-     * "addMod" declaration for the application's runtime
-     *
-     * @ant.not-required Default is to bundle the whole platform
-     */
-    List<String> getAddModules() {
-        return processArguments(this.addModules, "[,;: ]+");
-    }
-
-    /**
-     * "limitMod" declaration for the application's runtime.
-     *
-     * Modules can be specified per-element, or comma/colon/semi-colon/space separated
-     *
-     * @ant.not-required Default is to bundle the whole platform
-     */
-    private Argument createLimitModules() {
-        Argument a = new Argument();
-        this.limitModules.add(a);
-        return a;
-    }
-
-    /**
-     * "limitMod" declaration for the application's runtime
-     *
-     * @ant.not-required Default is to bundle the whole platform
-     */
-    List<String> getLimitModules() {
-        return processArguments(this.limitModules, "[,;: ]+");
-    }
-
-    /**
-     * "modulePath" declaration for the application's runtime.
-     *
-     * Modules can be specified per-element, or colon/semi-colon separated
-     *
-     * @ant.not-required Default is to bundle the whole platform
-     */
-    private Argument createModulePath() {
-        Argument a = new Argument();
-        this.modulePath.add(a);
-        return a;
-    }
-
-    /**
-     *
-     */
-    public String getModulePath() {
-        String result = "";
-        List<String> paths = processArguments(this.modulePath, "["+File.pathSeparator+"]+");
-
-        for (String s : paths) {
-            if (!result.isEmpty()) {
-                result += File.pathSeparator;
-            }
-
-            result += s;
-        }
-
-        return result;
-    }
-
-    /**
-     * Whether or not the bundler should remove native commands.
-     */
-    public Boolean getStripNativeCommands() {
-        return this.stripNativeCommands;
-    }
-
-    /**
-     * Whether or not the bundler should remove native commands.
-     * @ant.not-required default is true
-     */
-    public void setStripNativeCommands(boolean value) {
-        this.stripNativeCommands = value;
-    }
-
-    /**
-     * Whether or not the bundler should attempt to detect and add used modules.
-     */
-    public Boolean getDetectModules() {
-        return this.detectModules;
-    }
-
-    /**
-     * Whether or not the bundler should attempt to detect and add used modules.
-     * @ant.not-required default is false. This is experimental.
-     */
-    public void setDetectModules(boolean value) {
-        this.detectModules = value;
-    }
-
-    public Object clone() {
-        try {
-            Application result = (Application) super.clone();
-            return result;
-        } catch (CloneNotSupportedException e) {
-            throw new BuildException(e);
-        }
-    }
-
-    public Runtime get() {
-        return isReference() ?
-                (Runtime) getRefid().getReferencedObject() : this;
-    }
-
-    @Override
-    public Object createDynamicElement(String name) {
-        if (name.equals("add-modules")) {
-            return createAddModules();
-        }
-        else if (name.equals("limit-modules")) {
-            return createLimitModules();
-        }
-        else if (name.equals("module-path")) {
-            return createModulePath();
-        }
-
-        return null;
-    }
-
-    public void setDynamicAttribute(String name, String value) {
-        if (name.equals("strip-native-commands")) {
-            this.stripNativeCommands = Boolean.valueOf(value);
-        }
-        else if (name.equals("detect-modules")) {
-            this.detectModules = Boolean.valueOf(value);
-        }
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/SecondaryLauncher.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,289 +0,0 @@
-/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import com.oracle.tools.packager.StandardBundlerParam;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.DynamicAttribute;
-import org.apache.tools.ant.types.DataType;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import static com.oracle.tools.packager.StandardBundlerParam.*;
-
-
-public class SecondaryLauncher extends DataType implements DynamicAttribute {
-
-    File icon;
-    private String mainClass;
-    private String module = null;
-    private String name;
-    private String version;
-    private String title;
-    private String vendor;
-    private String appDescription;
-    private String copyright;
-
-    private Boolean menu;
-    private Boolean shortcut;
-
-    List<DeployFXTask.BundleArgument> bundleArgumentList = new ArrayList<>();
-    private List<Argument> arguments = new ArrayList<>();
-    private List<Platform.Property> properties = new ArrayList<>();
-    private List<Platform.Jvmarg> jvmargs = new ArrayList<>();
-    private List<Platform.Property> jvmUserArgs = new ArrayList<>();
-
-    public DeployFXTask.BundleArgument createBundleArgument() {
-        DeployFXTask.BundleArgument ba = new DeployFXTask.BundleArgument();
-        bundleArgumentList.add(ba);
-        return ba;
-    }
-
-    @Override
-    public void setDynamicAttribute(String name, String value) throws BuildException {
-        //Use qName and value - can't really validate anything until we know which bundlers we have, so this has
-        //to done (way) downstream
-        bundleArgumentList.add(new DeployFXTask.BundleArgument(name, value));
-    }
-
-    public Map<String, ? super Object> createLauncherMap() {
-        Map<String, ? super Object> bundleParams = new HashMap<>();
-
-        if (module == null) {
-            putUnlessNull(bundleParams, MAIN_CLASS.getID(), mainClass);
-        }
-
-        if (module != null && mainClass != null) {
-            putUnlessNull(bundleParams, StandardBundlerParam.MODULE.getID(), module + "/" + mainClass);
-        }
-
-//??        putUnlessNull(bundleParams, Preloader, preloaderClass);
-//??        putUnlessNull(bundleParams, AppId, id);
-        putUnlessNull(bundleParams, APP_NAME.getID(), name);
-        putUnlessNull(bundleParams, VERSION.getID(), version);
-//??        putUnlessNull(bundleParams, IDENTIFIER, id);
-//??        putUnlessNull(bundleParams, ServiceHint, daemon);
-
-        putUnlessNull(bundleParams, TITLE.getID(), title);
-        putUnlessNull(bundleParams, VENDOR.getID(), vendor);
-        putUnlessNull(bundleParams, DESCRIPTION.getID(), appDescription);
-        putUnlessNull(bundleParams, COPYRIGHT.getID(), copyright);
-
-        putUnlessNull(bundleParams, ICON.getID(), icon);
-
-        putUnlessNull(bundleParams, SHORTCUT_HINT.getID(), shortcut);
-        putUnlessNull(bundleParams, MENU_HINT.getID(), menu);
-
-
-        Map<String, String> props = new HashMap<>();
-        for (Platform.Property p: properties) {
-            props.put(p.name, p.value);
-        }
-        putUnlessNullOrEmpty(bundleParams, JVM_PROPERTIES.getID(), props);
-
-        List<String> args = new ArrayList<>();
-        for (Platform.Jvmarg a: jvmargs) {
-            args.add(a.value);
-        }
-        putUnlessNullOrEmpty(bundleParams, JVM_OPTIONS.getID(), args);
-
-        Map<String, String> userArgs = new HashMap<>();
-        for (Platform.Property a: jvmUserArgs) {
-            userArgs.put(a.name, a.value);
-        }
-        putUnlessNullOrEmpty(bundleParams, USER_JVM_OPTIONS.getID(), userArgs);
-
-        List<String> clargs = new ArrayList<>();
-        for (Argument a: arguments) {
-            clargs.add(a.value);
-        }
-        putUnlessNullOrEmpty(bundleParams, ARGUMENTS.getID(), clargs);
-
-
-        for (DeployFXTask.BundleArgument ba : bundleArgumentList) {
-            if (!bundleParams.containsKey(ba.arg)) {
-                putUnlessNull(bundleParams, ba.arg, ba.value);
-            }
-            else {
-                // TODO check and complain about collisions
-            }
-        }
-
-        return bundleParams;
-    }
-
-    public void putUnlessNull(Map<String, ? super Object> params, String param, Object value) {
-        if (value != null) {
-            params.put(param, value);
-        }
-    }
-
-    public void putUnlessNullOrEmpty(Map<String, ? super Object> params, String param, Collection value) {
-        if (value != null && !value.isEmpty()) {
-            params.put(param, value);
-        }
-    }
-
-    public void putUnlessNullOrEmpty(Map<String, ? super Object> params, String param, Map value) {
-        if (value != null && !value.isEmpty()) {
-            params.put(param, value);
-        }
-    }
-
-    public class Argument {
-        String value;
-
-        public void addText(String v) {
-            value = getProject().replaceProperties(v);
-        }
-    }
-
-    public Argument createArgument() {
-        Argument a = new Argument();
-        arguments.add(a);
-        return a;
-    }
-
-    List<String> getArguments() {
-        List<String> lst = new LinkedList<>();
-        for(Argument a: arguments) {
-            lst.add(a.value);
-        }
-        return lst;
-    }
-
-    public Platform.Property createProperty() {
-        Platform.Property t = new Platform.Property();
-        properties.add(t);
-        return t;
-    }
-
-    public Platform.Jvmarg createJvmarg() {
-        Platform.Jvmarg t = new Platform.Jvmarg();
-        jvmargs.add(t);
-        return t;
-    }
-
-    public Platform.Property createJVMUserArg() {
-        Platform.Property t = new Platform.Property();
-        jvmUserArgs.add(t);
-        return t;
-    }
-
-    public String getMainClass() {
-        return mainClass;
-    }
-
-    public void setMainClass(String value) {
-        this.mainClass = value;
-    }
-
-    public String getModule() {
-        return module;
-    }
-
-    public void setModule(String value) {
-        this.module = value;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getVersion() {
-        return version;
-    }
-
-    public void setVersion(String version) {
-        this.version = version;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public String getVendor() {
-        return vendor;
-    }
-
-    public void setVendor(String vendor) {
-        this.vendor = vendor;
-    }
-
-    public String getAppDescription() {
-        return appDescription;
-    }
-
-    public void setAppDescription(String appDescription) {
-        this.appDescription = appDescription;
-    }
-
-    public String getCopyright() {
-        return copyright;
-    }
-
-    public void setCopyright(String copyright) {
-        this.copyright = copyright;
-    }
-
-    public File getIcon() {
-        return icon;
-    }
-
-    public void setIcon(File icon) {
-        this.icon = icon;
-    }
-
-    public Boolean getMenu() {
-        return menu;
-    }
-
-    public void setMenu(Boolean menu) {
-        this.menu = menu;
-    }
-
-    public Boolean getShortcut() {
-        return shortcut;
-    }
-
-    public void setShortcut(Boolean shortcut) {
-        this.shortcut = shortcut;
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/Utils.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.tools.ant;
-
-import com.sun.javafx.tools.packager.CommonParams;
-import com.sun.javafx.tools.packager.DeployParams;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.cert.CertPath;
-import java.security.cert.CertificateEncodingException;
-import java.util.Base64;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import org.apache.tools.ant.types.FileSet;
-import org.apache.tools.ant.types.resources.FileResource;
-
-public final class Utils {
-    private Utils() {
-    }
-
-    public static void addResources(CommonParams commonParams,
-                                    FileSet fileset) {
-        for (final Iterator i = fileset.iterator(); i.hasNext();) {
-            FileResource fr = (FileResource) i.next();
-            commonParams.addResource(fr.getBaseDir(), fr.getFile());
-        }
-    }
-
-    public static void addResources(DeployParams deployParams,
-                                    FileSet fileset,
-                                    String type) {
-        for (final Iterator i = fileset.iterator(); i.hasNext();) {
-            FileResource fr = (FileResource) i.next();
-            deployParams.addResource(fr.getBaseDir(), fr.getFile(), type);
-        }
-    }
-
-    public static void addResources(DeployParams deployParams,
-                                    com.sun.javafx.tools.ant.FileSet fileset) {
-        for (final Iterator i = fileset.iterator(); i.hasNext();) {
-            FileResource fr = (FileResource) i.next();
-            deployParams.addResource(fr.getBaseDir(), fr.getFile(),
-                    fileset.getMode(), fileset.getTypeAsString(),
-                    fileset.getOs(), fileset.getArch());
-        }
-    }
-
-    public static void readFully(InputStream is) throws IOException {
-        byte buf[] = new byte[10000];
-        while (is.read(buf) != -1) {}
-    }
-
-    public static void readAllFully(JarFile jf) throws IOException {
-        Enumeration<JarEntry> entries = jf.entries();
-        while (entries.hasMoreElements()) {
-            JarEntry je = entries.nextElement();
-            readFully(jf.getInputStream(je));
-        }
-    }
-
-    public static byte[] getBytes(InputStream is) throws IOException {
-        byte[] buffer = new byte[8192];
-        ByteArrayOutputStream baos = new ByteArrayOutputStream(2048);
-        int n;
-        while ((n = is.read(buffer, 0, buffer.length)) != -1) {
-            baos.write(buffer, 0, n);
-        }
-        return baos.toByteArray();
-    }
-
-    public static String getBase64Encoded(CertPath certPath)
-            throws CertificateEncodingException
-    {
-        return Base64.getEncoder().encodeToString(certPath.getEncoded());
-    }
-}
--- a/modules/jdk.packager/src/antplugin/java/com/sun/javafx/tools/ant/VersionCheck.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.tools.ant;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-
-final class VersionCheck {
-
-    private VersionCheck() {};
-
-    private static final String RESOURCES_VERSION_PROPERTIES = "/resources/version.properties";
-    private static final String JAVA_VERSION = "java.version";
-
-    private static String getVersion() {
-        String result = "";
-        InputStream in = VersionCheck.class.getResourceAsStream(RESOURCES_VERSION_PROPERTIES);
-        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
-
-        try {
-            String line = reader.readLine();
-            if (!line.isEmpty()) {
-                String[] parts = line.split("=");
-                if (parts.length == 2) {
-                    result = parts[1];
-                }
-            }
-        } catch (IOException ex) {
-        }
-
-        return result;
-    }
-
-    public static boolean isSameVersion() {
-        boolean result = false;
-
-        JavaVersion jarVersion = new JavaVersion(getVersion());
-        JavaVersion runtimeVersion = new JavaVersion(System.getProperty(JAVA_VERSION));
-
-        if (!jarVersion.isEmpty() && !runtimeVersion.isEmpty() &&
-            jarVersion.match(runtimeVersion)) {
-            result = true;
-        }
-
-        return result;
-    }
-}
--- a/modules/jdk.packager/src/main/java/com/oracle/tools/packager/AbstractBundler.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.tools.packager;
-
-import com.oracle.tools.packager.windows.WindowsBundlerParam;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.text.MessageFormat;
-import java.util.*;
-import com.oracle.tools.packager.IOUtils;
-
-/**
- * @deprecated use {@link ToolProvider} to locate the {@code "javapackager"} tool instead.
- */
-@Deprecated(since="10", forRemoval=true)
-public abstract class AbstractBundler implements Bundler {
-
-    private static final ResourceBundle I18N =
-            ResourceBundle.getBundle(AbstractBundler.class.getName());
-
-    public static final BundlerParamInfo<File> IMAGES_ROOT = new WindowsBundlerParam<>(
-            I18N.getString("param.images-root.name"),
-            I18N.getString("param.images-root.description"),
-            "imagesRoot",
-            File.class,
-            params -> new File(StandardBundlerParam.BUILD_ROOT.fetchFrom(params), "images"),
-            (s, p) -> null);
-
-    //do not use file separator -
-    // we use it for classpath lookup and there / are not platform specific
-    public final static String BUNDLER_PREFIX = "package/";
-
-    protected Class baseResourceLoader = null;
-
-    protected void fetchResource(
-            String publicName, String category,
-            String defaultName, File result, boolean verbose, File publicRoot)
-            throws IOException {
-        InputStream is = streamResource(publicName, category, defaultName, verbose, publicRoot);
-        if (is != null) {
-            Files.copy(is, result.toPath());
-        } else {
-            if (verbose) {
-                Log.info(MessageFormat.format(I18N.getString("message.using-default-resource"), category == null ? "" : "[" + category + "] ", publicName));
-            }
-        }
-    }
-
-    protected void fetchResource(
-            String publicName, String category,
-            File defaultFile, File result, boolean verbose, File publicRoot)
-            throws IOException {
-        InputStream is = streamResource(publicName, category, null, verbose, publicRoot);
-        if (is != null) {
-            Files.copy(is, result.toPath());
-        } else {
-            IOUtils.copyFile(defaultFile, result);
-            if (verbose) {
-                Log.info(MessageFormat.format(I18N.getString("message.using-custom-resource-from-file"), category == null ? "" : "[" + category + "] ", defaultFile.getAbsoluteFile()));
-            }
-        }
-    }
-
-    private InputStream streamResource(String publicName, String category,
-                               String defaultName, boolean verbose, File publicRoot) throws IOException {
-        boolean custom = false;
-        InputStream is = null;
-        if (publicName != null) {
-            if (publicRoot != null) {
-                File publicResource = new File(publicRoot, publicName);
-                if (publicResource.exists() && publicResource.isFile()) {
-                    is = new FileInputStream(publicResource);
-                }
-            } else {
-                is = baseResourceLoader.getClassLoader().getResourceAsStream(publicName);
-            }
-            custom = (is != null);
-        }
-        if (is == null && defaultName != null) {
-            is = baseResourceLoader.getResourceAsStream(defaultName);
-        }
-        String msg = null;
-        if (custom) {
-            msg = MessageFormat.format(I18N.getString("message.using-custom-resource-from-classpath"), category == null ? "" : "[" + category + "] ", publicName);
-        } else if (is != null) {
-            msg = MessageFormat.format(I18N.getString("message.using-default-resource-from-classpath"), category == null ? "" : "[" + category + "] ", publicName);
-        }
-        if (verbose && is != null) {
-            Log.info(msg);
-        }
-        return is;
-    }
-
-    protected String preprocessTextResource(String publicName, String category,
-                                            String defaultName, Map<String, String> pairs,
-                                            boolean verbose, File publicRoot) throws IOException {
-        InputStream inp = streamResource(publicName, category, defaultName, verbose, publicRoot);
-        if (inp == null) {
-            throw new RuntimeException("Jar corrupt? No "+defaultName+" resource!");
-        }
-
-        //read fully into memory
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        byte[] buffer = new byte[1024];
-        int length;
-        while ((length = inp.read(buffer)) != -1) {
-            baos.write(buffer, 0, length);
-        }
-
-        //substitute
-        String result = new String(baos.toByteArray());
-        for (Map.Entry<String, String> e : pairs.entrySet()) {
-            if (e.getValue() != null) {
-                result = result.replace(e.getKey(), e.getValue());
-            }
-        }
-        return result;
-    }
-
-    @Override
-    public String toString() {
-        return getName();
-    }
-
-    @Override
-    public void cleanup(Map<String, ? super Object> params) {
-        if (!StandardBundlerParam.VERBOSE.fetchFrom(params)) {
-            try {
-                IOUtils.deleteRecursive(StandardBundlerParam.BUILD_ROOT.fetchFrom(params));
-            } catch (IOException e) {
-                Log.debug(e.getMessage());
-            }
-        }
-    }
-}
--- a/modules/jdk.packager/src/main/java/com/oracle/tools/packager/AbstractImageBundler.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.oracle.tools.packager;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.nio.file.Files;
-import java.text.MessageFormat;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.ResourceBundle;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import jdk.packager.internal.legacy.JLinkBundlerHelper;
-
-
-import static com.oracle.tools.packager.StandardBundlerParam.*;
-
-/**
- * Common utility methods used by app image bundlers.
- *
- * @deprecated use {@link ToolProvider} to locate the {@code "javapackager"} tool instead.
- */
-@Deprecated(since="10", forRemoval=true)
-public abstract class AbstractImageBundler extends AbstractBundler {
-
-    private static final ResourceBundle I18N =
-            ResourceBundle.getBundle(AbstractImageBundler.class.getName());
-
-    public void imageBundleValidation(Map<String, ? super Object> p) throws ConfigException {
-        StandardBundlerParam.validateMainClassInfoFromAppResources(p);
-
-        Map<String, String> userJvmOptions = USER_JVM_OPTIONS.fetchFrom(p);
-        if (userJvmOptions != null) {
-            for (Map.Entry<String, String> entry : userJvmOptions.entrySet()) {
-                if (entry.getValue() == null || entry.getValue().isEmpty()) {
-                    throw new ConfigException(
-                            MessageFormat.format(I18N.getString("error.empty-user-jvm-option-value"), entry.getKey()),
-                            I18N.getString("error.empty-user-jvm-option-value.advice"));
-                }
-            }
-        }
-
-        boolean hasMainJar = MAIN_JAR.fetchFrom(p) != null;
-        boolean hasMainModule = StandardBundlerParam.MODULE.fetchFrom(p) != null;
-
-        if (!hasMainJar && !hasMainModule) {
-            if (!hasMainJar) {
-                throw new ConfigException(
-                        I18N.getString("error.no-application-jar"),
-                        I18N.getString("error.no-application-jar.advice"));
-            }
-            else {
-                throw new ConfigException(
-                        I18N.getString("error.no-main-module"),
-                        I18N.getString("error.no-main-module.advice"));
-            }
-        }
-
-        if (ENABLE_APP_CDS.fetchFrom(p)) {
-            if (!UNLOCK_COMMERCIAL_FEATURES.fetchFrom(p)) {
-                throw new ConfigException(
-                        I18N.getString("error.app-cds-no-commercial-unlock"),
-                        I18N.getString("error.app-cds-no-commercial-unlock.advice"));
-            }
-        }
-    }
-
-    public static void extractFlagsFromVersion(Map<String, ? super Object> params, String versionOutput) {
-        Pattern bitArchPattern = Pattern.compile("(\\d*)[- ]?[bB]it");
-        Matcher matcher = bitArchPattern.matcher(versionOutput);
-        if (matcher.find()) {
-            params.put(".runtime.bit-arch", matcher.group(1));
-        } else {
-            // presume 32 bit on no match
-            params.put(".runtime.bit-arch", "32");
-        }
-
-        Pattern oldVersionMatcher = Pattern.compile("java version \"((\\d+.(\\d+).\\d+)(_(\\d+)))?(-(.*))?\"");
-        matcher = oldVersionMatcher.matcher(versionOutput);
-        if (matcher.find()) {
-            params.put(".runtime.version", matcher.group(1));
-            params.put(".runtime.version.release", matcher.group(2));
-            params.put(".runtime.version.major", matcher.group(3));
-            params.put(".runtime.version.update", matcher.group(5));
-            params.put(".runtime.version.minor", matcher.group(5));
-            params.put(".runtime.version.security", matcher.group(5));
-            params.put(".runtime.version.patch", "0");
-            params.put(".runtime.version.modifiers", matcher.group(7));
-        } else {
-            Pattern newVersionMatcher = Pattern.compile("java version \"((\\d+).(\\d+).(\\d+).(\\d+))(-(.*))?(\\+[^\"]*)?\"");
-            matcher = newVersionMatcher.matcher(versionOutput);
-            if (matcher.find()) {
-                params.put(".runtime.version", matcher.group(1));
-                params.put(".runtime.version.release", matcher.group(1));
-                params.put(".runtime.version.major", matcher.group(2));
-                params.put(".runtime.version.update", matcher.group(3));
-                params.put(".runtime.version.minor", matcher.group(3));
-                params.put(".runtime.version.security", matcher.group(4));
-                params.put(".runtime.version.patch", matcher.group(5));
-                params.put(".runtime.version.modifiers", matcher.group(7));
-            } else {
-                params.put(".runtime.version", "");
-                params.put(".runtime.version.release", "");
-                params.put(".runtime.version.major", "");
-                params.put(".runtime.version.update", "");
-                params.put(".runtime.version.minor", "");
-                params.put(".runtime.version.security", "");
-                params.put(".runtime.version.patch", "");
-                params.put(".runtime.version.modifiers", "");
-            }
-        }
-    }
-}
--- a/modules/jdk.packager/src/main/java/com/oracle/tools/packager/BasicBundlers.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.tools.packager;
-
-import com.oracle.tools.packager.jnlp.JNLPBundler;
-import com.oracle.tools.packager.linux.LinuxRpmBundler;
-import com.oracle.tools.packager.mac.MacAppStoreBundler;
-import com.oracle.tools.packager.mac.MacDmgBundler;
-import com.oracle.tools.packager.mac.MacPkgBundler;
-import com.oracle.tools.packager.linux.LinuxAppBundler;
-import com.oracle.tools.packager.linux.LinuxDebBundler;
-import com.oracle.tools.packager.mac.MacAppBundler;
-import com.oracle.tools.packager.windows.WinAppBundler;
-import com.oracle.tools.packager.windows.WinExeBundler;
-import com.oracle.tools.packager.windows.WinMsiBundler;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.ServiceLoader;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-/**
- * A basic bundlers collection that loads the OpenJFX default bundlers.
- * Loads the bundlers common to OpenJFX.
- * <UL>
- *     <LI>Windows file image</LI>
- *     <LI>Mac .app</LI>
- *     <LI>Linux file image</LI>
- *     <LI>Windows MSI</LI>
- *     <LI>Windows EXE</LI>
- *     <LI>Mac DMG</LI>
- *     <LI>Mac PKG</LI>
- *     <LI>Linux DEB</LI>
- *     <LI>Linux RPM</LI>
- *
- * </UL>
- *
- * @deprecated use {@link ToolProvider} to locate the {@code "javapackager"} tool instead.
- */
-@Deprecated(since="10", forRemoval=true)
-public class BasicBundlers implements Bundlers {
-
-    boolean defaultsLoaded = false;
-
-    private Collection<Bundler> bundlers = new CopyOnWriteArrayList<>();
-
-    public Collection<Bundler> getBundlers() {
-        return Collections.unmodifiableCollection(bundlers);
-    }
-
-    public Collection<Bundler> getBundlers(String type) {
-        if (type == null) return Collections.emptySet();
-        switch (type) {
-            case "NONE":
-                return Collections.emptySet();
-            case "ALL":
-                return getBundlers();
-            default:
-                return Arrays.asList(getBundlers().stream()
-                        .filter(b -> type.equalsIgnoreCase(b.getBundleType()))
-                        .toArray(Bundler[]::new));
-        }
-    }
-
-    /**
-     * A list of the "standard" parameters that bundlers should support
-     * or fall back to when their specific parameters are not used.
-     * @return an unmodifieable collection of the standard parameters.
-     */
-    @Deprecated
-    public Collection<BundlerParamInfo> getStandardParameters() {
-        //TODO remove this method
-        return null;
-    }
-
-    public void loadDefaultBundlers() {
-        // no-op.  We now load all bundlers from module system.
-    }
-
-    /**
-     * Loads bundlers from the META-INF/services direct
-     */
-    public void loadBundlersFromServices(ClassLoader cl) {
-        ServiceLoader<Bundler> loader = ServiceLoader.load(Bundler.class, cl);
-        for (Bundler aLoader : loader) {
-            bundlers.add(aLoader);
-        }
-    }
-
-    public void loadBundler(Bundler bundler) {
-        bundlers.add(bundler);
-    }
-}
--- a/modules/jdk.packager/src/main/java/com/oracle/tools/packager/Bundler.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.tools.packager;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.Map;
-
-/**
- * @deprecated use {@link ToolProvider} to locate the {@code "javapackager"} tool instead.
- */
-@Deprecated(since="10", forRemoval=true)
-public interface Bundler {
-    /**
-     * @return User Friendly name of this bundler.
-     */
-    String getName();
-
-    /**
-     * @return A more verbose description of the bundler.
-     */
-    String getDescription();
-
-    /**
-     * @return Command line identifier of the bundler.  Should be unique.
-     */
-    String getID();
-
-    /**
-     * @return The bundle type of the bundle that is created by this bundler.
-     */
-    String getBundleType();
-
-    /**
-     * The parameters that this bundler uses to generate it's bundle.
-     * @return immutable collection
-     */
-    Collection<BundlerParamInfo<?>> getBundleParameters();
-
-    /**
-     * Determines if this bundler will execute with the given parameters.
-     *
-     * @param params The parameters to be validate.  Validation may modify
-     *               the map, so if you are going to be using the same map
-     *               across multiple bundlers you should pass in a deep copy.
-     * @return true if valid
-     * @throws UnsupportedPlatformException If the bundler cannot run on this
-     *         platform (i.e. creating mac apps on windows)
-     * @throws ConfigException If the configuration params are incorrect.  The
-     *         exception may contain advice on how to modify the params map
-     *         to make it valid.
-     */
-    boolean validate(Map<String, ? super Object> params) throws UnsupportedPlatformException, ConfigException;
-
-    /**
-     * Creates a bundle from existing content.
-     *
-     * If a call to {@link #validate(java.util.Map)} date} returns true with the
-     * parameters map, then you can expect a valid output.  However if an exception
-     * was thrown out of validate or it returned false then you should not
-     * expect sensible results from this call.  It may or may not return a value,
-     * and it may or may not throw an exception.  But any output should not
-     * be considered valid or sane.
-     *
-     * @param params The parameters as specified by getBundleParameters.
-     *               Keyed by the id from the ParamInfo.  Execution may
-     *               modify the map, so if you are going to be using the
-     *               same map across multiple bundlers you should pass
-     *               in a deep copy.
-     * @param outputParentDir
-     *   The parent dir that the returned bundle will be placed in.
-     * @return The resulting bundled file
-     *
-     * For a bundler that produces a single artifact file this will be the
-     * location of that artifact (.exe file, .deb file, etc)
-     *
-     * For a bundler that produces a specific directory format output this will
-     * be the location of that specific directory (.app file, etc).
-     *
-     * For a bundler that produce multiple files, this will be a parent
-     * directory of those files (linux and windows images), whose name is not
-     * relevant to the result.
-     *
-     * @throws java.lang.IllegalArgumentException for any of the following
-     * reasons:
-     *  <ul>
-     *      <li>A required parameter is not found in the params list, for
-     *      example missing the main class.</li>
-     *      <li>A parameter has the wrong type of an object, for example a
-     *      String where a File is required</li>
-     *      <li>Bundler specific incompatibilities with the parameters, for
-     *      example a bad version number format or an application id with
-     *      forward slashes.</li>
-     *  </ul>
-     */
-    public File execute(Map<String, ? super Object> params, File outputParentDir);
-
-     /**
-     * Removes temporary files that are used for bundling.
-     */
-    public void cleanup(Map<String, ? super Object> params);
-
-}
--- a/modules/jdk.packager/src/main/java/com/oracle/tools/packager/BundlerParamInfo.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.tools.packager;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.BiFunction;
-import java.util.function.Function;
-
-/**
- * @deprecated use {@link ToolProvider} to locate the {@code "javapackager"} tool instead.
- */
-@Deprecated(since="10", forRemoval=true)
-public class BundlerParamInfo<T> {
-    /**
-     * The user friendly name of the parameter
-     */
-    String name;
-
-    /**
-     * A more verbose description of the parameter
-     */
-    String description;
-
-    /**
-     * The command line and hashmap name of the parameter
-     */
-    String id;
-
-    /**
-     * Type of the parameter.  Typically String.class
-     */
-    Class<T> valueType;
-
-    /**
-     * If the value is not set, and no fallback value is found, the parameter uses the value returned by the producer.
-     */
-    Function<Map<String, ? super Object>, T> defaultValueFunction;
-
-    /**
-     * An optional string converter for command line arguments.
-     */
-    BiFunction<String, Map<String, ? super Object>, T> stringConverter;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public String getID() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public Class<T> getValueType() {
-        return valueType;
-    }
-
-    public void setValueType(Class<T> valueType) {
-        this.valueType = valueType;
-    }
-
-    public Function<Map<String, ? super Object>, T> getDefaultValueFunction() {
-        return defaultValueFunction;
-    }
-
-    public void setDefaultValueFunction(Function<Map<String, ? super Object>, T> defaultValueFunction) {
-        this.defaultValueFunction = defaultValueFunction;
-    }
-
-    public BiFunction<String, Map<String, ? super Object>,T> getStringConverter() {
-        return stringConverter;
-    }
-
-    public void setStringConverter(BiFunction<String, Map<String, ? super Object>, T> stringConverter) {
-        this.stringConverter = stringConverter;
-    }
-
-    @SuppressWarnings("unchecked")
-    public final T fetchFrom(Map<String, ? super Object> params) {
-        return fetchFrom(params, true);
-    }
-
-    @SuppressWarnings("unchecked")
-    public final T fetchFrom(Map<String, ? super Object> params, boolean invokeDefault) {
-        Object o = params.get(getID());
-        if (o instanceof String && getStringConverter() != null) {
-            return getStringConverter().apply((String)o, params);
-        }
-
-        Class klass = getValueType();
-        if (klass.isInstance(o)) {
-            return (T) o;
-        }
-        if (o != null) {
-            throw new IllegalArgumentException("Param " + getID() + " should be of type " + getValueType() + " but is a " + o.getClass());
-        }
-        if (params.containsKey(getID())) {
-            // explicit nulls are allowed
-            return null;
-        }
-
-        if (invokeDefault && (getDefaultValueFunction() != null)) {
-            T result =  getDefaultValueFunction().apply(params);
-            if (result != null) {
-                params.put(getID(), result);
-            }
-            return result;
-        }
-
-        // ultimate fallback
-        return null;
-    }
-}
--- a/modules/jdk.packager/src/main/java/com/oracle/tools/packager/Bundlers.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.tools.packager;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.ServiceLoader;
-
-/**
- * @deprecated use {@link ToolProvider} to locate the {@code "javapackager"} tool instead.
- */
-@Deprecated(since="10", forRemoval=true)
-public interface Bundlers {
-
-    /**
-     * This convenience method will call {@link #createBundlersInstance(ClassLoader)}
-     * with the classloader that this Bundlers is loaded from.
-     *
-     * @return an instance of Bundlers loaded and configured from the current ClassLoader.
-     */
-    public static Bundlers createBundlersInstance() {
-        return createBundlersInstance(Bundlers.class.getClassLoader());
-    }
-
-    /**
-     * This convenience method will automatically load a Bundlers instance
-     * from either META-INF/services or the default
-     * {@link BasicBundlers} if none are found in
-     * the services meta-inf.
-     *
-     * After instantiating the bundlers instance it will load the default
-     * bundlers via {@link #loadDefaultBundlers()} as well as requesting
-     * the services loader to load any other bundelrs via
-     * {@link #loadBundlersFromServices(ClassLoader)}.
-
-     *
-     * @param servicesClassLoader the classloader to search for
-     *                            META-INF/service registered bundlers
-     * @return an instance of Bundlers loaded and configured from the specified ClassLoader
-     */
-    public static Bundlers createBundlersInstance(ClassLoader servicesClassLoader) {
-        ServiceLoader<Bundlers> bundlersLoader = ServiceLoader.load(Bundlers.class, servicesClassLoader);
-        Bundlers bundlers = null;
-        Iterator<Bundlers> iter = bundlersLoader.iterator();
-        if (iter.hasNext()) {
-            bundlers = iter.next();
-        }
-        if (bundlers == null) {
-            bundlers = new BasicBundlers();
-        }
-
-        bundlers.loadBundlersFromServices(servicesClassLoader);
-        return bundlers;
-    }
-
-    /**
-     * Returns all of the preconfigured, requested, and manually
-     * configured bundlers loaded with this instance.
-     *
-     * @return  a read-only collection of the requested bundlers
-     */
-    Collection<Bundler> getBundlers();
-
-    /**
-     * Returns all of the preconfigured, requested, and manually
-     * configured bundlers loaded with this instance that are of
-     * a specific BundleType, such as disk images, installers, or
-     * remote installers.
-     *
-     * @return a read-only collection of the requested bundlers
-     */
-    Collection<Bundler> getBundlers(String type);
-
-    /**
-     * A list of the "standard" parameters that bundlers should support
-     * or fall back to when their specific parameters are not used.
-     *
-     * @return an unmodifiable collection of the standard parameters.
-     */
-    Collection<BundlerParamInfo> getStandardParameters();
-
-    /**
-     * Loads the bundlers common to the JDK.  A typical implementation
-     * would load:
-     * <UL>
-     *     <LI>Windows file image</LI>
-     *     <LI>Mac .app</LI>
-     *     <LI>Linux file image</LI>
-
-     *     <LI>Windows MSI</LI>
-     *     <LI>Windows EXE</LI>
-     *     <LI>Mac DMG</LI>
-     *     <LI>Mac PKG</LI>
-     *     <LI>Linux DEB</LI>
-     *     <LI>Linux RPM</LI>
-     *
-     * </UL>
-     *
-     * This method is called from the {@link #createBundlersInstance(ClassLoader)}
-     * and {@link #createBundlersInstance()} methods.
-     * NOTE: Because of the module system this method is now not used.
-     */
-    void loadDefaultBundlers();
-
-    /**
-     * Loads bundlers from the META-INF/services directly.
-     *
-     * This method is called from the {@link #createBundlersInstance(ClassLoader)}
-     * and {@link #createBundlersInstance()} methods.
-     */
-    void loadBundlersFromServices(ClassLoader cl);
-
-    /**
-     * Loads a specific bundler into the set of bundlers.
-     * Useful for a manually configured bundler.
-     *
-     * @param bundler the specific bundler to add
-     */
-    void loadBundler(Bundler bundler);
-}
--- a/modules/jdk.packager/src/main/java/com/oracle/tools/packager/ConfigException.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.tools.packager;
-
-/**
- * @deprecated use {@link ToolProvider} to locate the {@code "javapackager"} tool instead.
- */
-@Deprecated(since="10", forRemoval=true)
-public class ConfigException extends Exception {
-    final String advice;
-
-    public ConfigException(String msg, String advice) {
-        super(msg);
-        this.advice = advice;
-    }
-
-    public ConfigException(Exception cause) {
-        super(cause);
-        this.advice = null;
-    }
-
-    public String getAdvice() {
-        return advice;
-    }
-}
--- a/modules/jdk.packager/src/main/java/com/oracle/tools/packager/EnumeratedBundlerParam.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.tools.packager;
-
-import java.util.*;
-import java.util.function.BiFunction;
-import java.util.function.Function;
-
-/**
- *
- * The class contains key-value pairs (elements) where keys are "displayable" keys
- * which the IDE can display/choose and values are "identifier" values which can be stored
- * in parameters' map.
- *
- * For instance the Mac has a predefined set of categories which can be applied
- * to LSApplicationCategoryType which is required for the mac app store.
- *
- * The following example illustrates a simple usage of the MAC_CATEGORY parameter:
- *
- * <pre>{@code
- *     Set<String> keys = MAC_CATEGORY.getDisplayableKeys();
- *
- *     String key = getLastValue(keys); // get last value for example
- *
- *     String value = MAC_CATEGORY.getValueForDisplayableKey(key);
- *     params.put(MAC_CATEGORY.getID(), value);
- * }</pre>
- *
- * @deprecated use {@link ToolProvider} to locate the {@code "javapackager"} tool instead.
- */
-@Deprecated(since="10", forRemoval=true)
-public class EnumeratedBundlerParam<T> extends BundlerParamInfo<T> {
-    //Not sure if this is the correct order, my idea is that from and IDE's perspective
-    //the string to display to the user is the key and then the value is some type of
-    //object (although probably a String in most cases)
-    private Map<String, T> elements;
-    private boolean strict;
-
-    public EnumeratedBundlerParam(String name,
-                                  String description,
-                                  String id,
-                                  Class<T> valueType,
-                                  Function<Map<String, ? super Object>, T> defaultValueFunction,
-                                  BiFunction<String, Map<String, ? super Object>, T> stringConverter,
-                                  Map<String, T> elements,
-                                  boolean strict) {
-        this.name = name;
-        this.description = description;
-        this.id = id;
-        this.valueType = valueType;
-        this.defaultValueFunction = defaultValueFunction;
-        this.stringConverter = stringConverter;
-        this.elements = elements;
-        this.strict = strict;
-    }
-
-    public boolean isInPossibleValues(T value) {
-        return elements.values().contains(value);
-    }
-
-    //Having the displayable values as the keys seems a bit wacky
-    public Set<String> getDisplayableKeys() {
-        return Collections.unmodifiableSet(elements.keySet());
-    }
-
-    // mapping from a "displayable" key to an "identifier" value.
-    public T getValueForDisplayableKey(String displayableKey) {
-        return elements.get(displayableKey);
-    }
-
-    public boolean isStrict() {
-        return strict;
-    }
-
-    public boolean isLoose() {
-        return !isStrict();
-    }
-
-    public T validatedFetchFrom(Map<String, ? super Object> params)
-            throws InvalidBundlerParamException {
-        if (isStrict()) {
-            T value = fetchFrom(params);
-            if (!isInPossibleValues(value)) {
-                throw new InvalidBundlerParamException("Parameter " + value.toString() + " not in valid set of values for BundlerParam " + name);
-            }
-            return value;
-        }
-        return fetchFrom(params);
-    }
-
-}
--- a/modules/jdk.packager/src/main/java/com/oracle/tools/packager/IOUtils.java	Thu Aug 23 09:32:08 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,336 +0,0 @@
-/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.tools.packager;
-
-import java.io.*;
-import java.net.URL;
-import java.util.Arrays;
-import java.nio.channels.FileChannel;
-import java.nio.file.FileVisitResult;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.SimpleFileVisitor;
-import java.nio.file.attribute.BasicFileAttributes;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @deprecated use {@link ToolProvider} to locate the {@code "javapackager"} tool instead.
- */
-@Deprecated(since="10", forRemoval=true)
-public class IOUtils {
-
-    public static void deleteRecursive(File path) throws IOException {
-        if (!path.exists()) {
-            return;
-        }
-        Path directory = path.toPath();
-        Files.walkFileTree(directory, new SimpleFileVisitor<Path>() {
-            @Override
-            public FileVisitResult visitFile(Path file,
-                            BasicFileAttributes attr) throws IOException {
-                if (Platform.getPlatform() == Platform.WINDOWS) {
-                    Files.setAttribute(file, "dos:readonly", false);
-                }
-                Files.delete(file);
-                return FileVisitResult.CONTINUE;
-            }
-
-            @Override
-            public FileVisitResult preVisitDirectory(Path dir,
-                            BasicFileAttributes attr) throws IOException {
-                if (Platform.getPlatform() == Platform.WINDOWS) {
-                    Files.setAttribute(dir, "dos:readonly", false);
-                }
-                return FileVisitResult.CONTINUE;
-            }
-
-            @Override
-            public FileVisitResult postVisitDirectory(Path dir, IOException e)
-                            throws IOException {
-                Files.delete(dir);
-                return FileVisitResult.CONTINUE;
-            }
-        });
-    }
-
-    public static void copyRecursive(Path src, Path dest) throws IOException {
-        Files.walkFileTree(src, new SimpleFileVisitor<Path>() {
-            @Override
-            public FileVisitResult preVisitDirectory(final Path dir,
-                    final BasicFileAttributes attrs) throws IOException {
-                Files.createDirectories(dest.resolve(src.relativize(dir)));
-                return FileVisitResult.CONTINUE;
-            }
-
-            @Override
-            public FileVisitResult visitFile(final Path file,
-                    final BasicFileAttributes attrs) throws IOException {
-                Files.copy(file, dest.resolve(src.relativize(file)));
-                return FileVisitResult.CONTINUE;
-            }
-        });
-    }
-
-    public static void copyFromURL(URL location, File file) throws IOException {
-        copyFromURL(location, file, false);
-    }
-
-    public static void copyFromURL(URL location, File file, boolean append) throws IOException {
-        if (location == null) {
-            throw new IOException("Missing input resource!");
-        }
-        if (file.exists() && !append) {
-           file.delete();
-        }
-        InputStream in = location.openStream();
-        FileOutputStream out = new FileOutputStream(file, append);
-        byte[] buffer = new byte[1024];
-        int len;
-        while ((len = in.read(buffer)) != -1) {
-            out.write(buffer, 0, len);
-        }
-        out.close();
-        in.close();
-        file.setReadOnly();
-        file.setReadable(true, false);
-    }
-
-    public static void copyFile(File sourceFile, File destFile)
-            throws IOException {
-        destFile.getParentFile().mkdirs();
-
-        //recreate the file as existing copy may have weird permissions
-        destFile.delete();
-        destFile.createNewFile();
-
-        FileChannel source = null;
-        FileChannel destination = null;
-        source = new FileInputStream(sourceFile).getChannel();
-        destination = new FileOutputStream(destFile).getChannel();
-        if (destination != null && source != null) {
-            destination.transferFrom(source, 0, source.size());
-        }
-        if (source != null) {
-            source.close();
-        }
-        if (destination != null) {
-            destination.close();
-        }
-
-        //preserve executable bit!
-        if (sourceFile.canExecute()) {