17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.oracle.tools.packager.windows; 27 28 import com.oracle.tools.packager.AbstractImageBundler; 29 import com.oracle.tools.packager.BundlerParamInfo; 30 import com.oracle.tools.packager.ConfigException; 31 import com.oracle.tools.packager.IOUtils; 32 import com.oracle.tools.packager.Log; 33 import com.oracle.tools.packager.Platform; 34 import com.oracle.tools.packager.RelativeFileSet; 35 import com.oracle.tools.packager.StandardBundlerParam; 36 import com.oracle.tools.packager.UnsupportedPlatformException; 37 import jdk.packager.builders.windows.WindowsAppImageBuilder; 38 39 import jdk.packager.internal.JLinkBundlerHelper; 40 41 import java.io.ByteArrayOutputStream; 42 import java.io.File; 43 import java.io.IOException; 44 import java.io.PrintStream; 45 import java.text.MessageFormat; 46 import java.util.Arrays; 47 import java.util.Collection; 48 import java.util.Map; 49 import java.util.ResourceBundle; 50 51 import static com.oracle.tools.packager.StandardBundlerParam.*; 52 import static com.oracle.tools.packager.windows.WindowsBundlerParam.*; 53 import jdk.packager.builders.AbstractAppImageBuilder; 54 55 public class WinAppBundler extends AbstractImageBundler { 56 57 private static final ResourceBundle I18N = 58 ResourceBundle.getBundle(WinAppBundler.class.getName()); 59 60 public static final BundlerParamInfo<File> ICON_ICO = new StandardBundlerParam<>( 61 I18N.getString("param.icon-ico.name"), 62 I18N.getString("param.icon-ico.description"), 63 "icon.ico", 64 File.class, 65 params -> { 66 File f = ICON.fetchFrom(params); 67 if (f != null && !f.getName().toLowerCase().endsWith(".ico")) { 68 Log.info(MessageFormat.format(I18N.getString("message.icon-not-ico"), f)); 69 return null; 70 } 71 return f; 72 }, 73 (s, p) -> new File(s)); | 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.oracle.tools.packager.windows; 27 28 import com.oracle.tools.packager.AbstractImageBundler; 29 import com.oracle.tools.packager.BundlerParamInfo; 30 import com.oracle.tools.packager.ConfigException; 31 import com.oracle.tools.packager.IOUtils; 32 import com.oracle.tools.packager.Log; 33 import com.oracle.tools.packager.Platform; 34 import com.oracle.tools.packager.RelativeFileSet; 35 import com.oracle.tools.packager.StandardBundlerParam; 36 import com.oracle.tools.packager.UnsupportedPlatformException; 37 import jdk.packager.internal.legacy.builders.windows.WindowsAppImageBuilder; 38 39 import jdk.packager.internal.legacy.JLinkBundlerHelper; 40 41 import java.io.ByteArrayOutputStream; 42 import java.io.File; 43 import java.io.IOException; 44 import java.io.PrintStream; 45 import java.text.MessageFormat; 46 import java.util.Arrays; 47 import java.util.Collection; 48 import java.util.Map; 49 import java.util.ResourceBundle; 50 51 import static com.oracle.tools.packager.StandardBundlerParam.*; 52 import static com.oracle.tools.packager.windows.WindowsBundlerParam.*; 53 import jdk.packager.internal.legacy.builders.AbstractAppImageBuilder; 54 55 public class WinAppBundler extends AbstractImageBundler { 56 57 private static final ResourceBundle I18N = 58 ResourceBundle.getBundle(WinAppBundler.class.getName()); 59 60 public static final BundlerParamInfo<File> ICON_ICO = new StandardBundlerParam<>( 61 I18N.getString("param.icon-ico.name"), 62 I18N.getString("param.icon-ico.description"), 63 "icon.ico", 64 File.class, 65 params -> { 66 File f = ICON.fetchFrom(params); 67 if (f != null && !f.getName().toLowerCase().endsWith(".ico")) { 68 Log.info(MessageFormat.format(I18N.getString("message.icon-not-ico"), f)); 69 return null; 70 } 71 return f; 72 }, 73 (s, p) -> new File(s)); |