< prev index next >

src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WindowsAppImageBuilder.java

Print this page




  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 jdk.jpackage.internal;
  27 
  28 import java.io.File;
  29 import java.io.FileOutputStream;
  30 import java.io.IOException;
  31 import java.io.InputStream;
  32 import java.io.OutputStream;
  33 import java.io.OutputStreamWriter;
  34 import java.io.UncheckedIOException;
  35 import java.io.Writer;
  36 import java.io.BufferedWriter;
  37 import java.io.FileWriter;

  38 import java.nio.file.Files;
  39 import java.nio.file.Path;
  40 import java.nio.file.StandardCopyOption;
  41 import java.nio.file.attribute.PosixFilePermission;
  42 import java.text.MessageFormat;
  43 import java.util.HashMap;
  44 import java.util.List;
  45 import java.util.Map;
  46 import java.util.Objects;
  47 import java.util.ResourceBundle;
  48 import java.util.Set;
  49 import java.util.concurrent.atomic.AtomicReference;
  50 import java.util.regex.Pattern;
  51 import java.util.stream.Stream;
  52 
  53 import static jdk.jpackage.internal.StandardBundlerParam.*;
  54 
  55 public class WindowsAppImageBuilder extends AbstractAppImageBuilder {
  56 
  57     static {


 314             data.put(key, "");
 315             return;
 316         }
 317         data.put(key, value);
 318     }
 319 
 320     protected void prepareExecutableProperties(
 321            Map<String, ? super Object> params) throws IOException {
 322         Map<String, String> data = new HashMap<>();
 323 
 324         // mapping Java parameters in strings for version resource
 325         validateValueAndPut(data, "COMPANY_NAME", VENDOR, params);
 326         validateValueAndPut(data, "FILE_DESCRIPTION", DESCRIPTION, params);
 327         validateValueAndPut(data, "FILE_VERSION", VERSION, params);
 328         data.put("INTERNAL_NAME", getLauncherName(params));
 329         validateValueAndPut(data, "LEGAL_COPYRIGHT", COPYRIGHT, params);
 330         data.put("ORIGINAL_FILENAME", getLauncherName(params));
 331         validateValueAndPut(data, "PRODUCT_NAME", APP_NAME, params);
 332         validateValueAndPut(data, "PRODUCT_VERSION", VERSION, params);
 333 
 334         try (Writer w = new BufferedWriter(
 335                 new FileWriter(getConfig_ExecutableProperties(params)))) {

 336             String content = preprocessTextResource(
 337                     getConfig_ExecutableProperties(params).getName(),
 338                     I18N.getString("resource.executable-properties-template"),
 339                     EXECUTABLE_PROPERTIES_TEMPLATE, data,
 340                     VERBOSE.fetchFrom(params),
 341                     RESOURCE_DIR.fetchFrom(params));
 342             w.write(content);
 343         }
 344     }
 345 
 346     private void createLauncherForEntryPoint(
 347             Map<String, ? super Object> p) throws IOException {
 348 
 349         File launcherIcon = ICON_ICO.fetchFrom(p);
 350         File icon = launcherIcon != null ?
 351                 launcherIcon : ICON_ICO.fetchFrom(params);
 352         File iconTarget = getConfig_AppIcon(p);
 353 
 354         InputStream in = locateResource(
 355                 APP_NAME.fetchFrom(params) + ".ico",




  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 jdk.jpackage.internal;
  27 
  28 import java.io.File;
  29 import java.io.FileOutputStream;
  30 import java.io.IOException;
  31 import java.io.InputStream;
  32 import java.io.OutputStream;
  33 import java.io.OutputStreamWriter;
  34 import java.io.UncheckedIOException;
  35 import java.io.Writer;
  36 import java.io.BufferedWriter;
  37 import java.io.FileWriter;
  38 import java.nio.charset.StandardCharsets;
  39 import java.nio.file.Files;
  40 import java.nio.file.Path;
  41 import java.nio.file.StandardCopyOption;
  42 import java.nio.file.attribute.PosixFilePermission;
  43 import java.text.MessageFormat;
  44 import java.util.HashMap;
  45 import java.util.List;
  46 import java.util.Map;
  47 import java.util.Objects;
  48 import java.util.ResourceBundle;
  49 import java.util.Set;
  50 import java.util.concurrent.atomic.AtomicReference;
  51 import java.util.regex.Pattern;
  52 import java.util.stream.Stream;
  53 
  54 import static jdk.jpackage.internal.StandardBundlerParam.*;
  55 
  56 public class WindowsAppImageBuilder extends AbstractAppImageBuilder {
  57 
  58     static {


 315             data.put(key, "");
 316             return;
 317         }
 318         data.put(key, value);
 319     }
 320 
 321     protected void prepareExecutableProperties(
 322            Map<String, ? super Object> params) throws IOException {
 323         Map<String, String> data = new HashMap<>();
 324 
 325         // mapping Java parameters in strings for version resource
 326         validateValueAndPut(data, "COMPANY_NAME", VENDOR, params);
 327         validateValueAndPut(data, "FILE_DESCRIPTION", DESCRIPTION, params);
 328         validateValueAndPut(data, "FILE_VERSION", VERSION, params);
 329         data.put("INTERNAL_NAME", getLauncherName(params));
 330         validateValueAndPut(data, "LEGAL_COPYRIGHT", COPYRIGHT, params);
 331         data.put("ORIGINAL_FILENAME", getLauncherName(params));
 332         validateValueAndPut(data, "PRODUCT_NAME", APP_NAME, params);
 333         validateValueAndPut(data, "PRODUCT_VERSION", VERSION, params);
 334 
 335         try (Writer w = Files.newBufferedWriter(
 336                 getConfig_ExecutableProperties(params).toPath(),
 337                 StandardCharsets.UTF_8)) {
 338             String content = preprocessTextResource(
 339                     getConfig_ExecutableProperties(params).getName(),
 340                     I18N.getString("resource.executable-properties-template"),
 341                     EXECUTABLE_PROPERTIES_TEMPLATE, data,
 342                     VERBOSE.fetchFrom(params),
 343                     RESOURCE_DIR.fetchFrom(params));
 344             w.write(content);
 345         }
 346     }
 347 
 348     private void createLauncherForEntryPoint(
 349             Map<String, ? super Object> p) throws IOException {
 350 
 351         File launcherIcon = ICON_ICO.fetchFrom(p);
 352         File icon = launcherIcon != null ?
 353                 launcherIcon : ICON_ICO.fetchFrom(params);
 354         File iconTarget = getConfig_AppIcon(p);
 355 
 356         InputStream in = locateResource(
 357                 APP_NAME.fetchFrom(params) + ".ico",


< prev index next >