src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxAppImageBuilder.java
branchJDK-8200758-branch
changeset 58647 2c43b89b1679
parent 58538 12c965587689
child 58762 0fe62353385b
equal deleted inserted replaced
58608:a561014c28d0 58647:2c43b89b1679
    28 import java.io.File;
    28 import java.io.File;
    29 import java.io.IOException;
    29 import java.io.IOException;
    30 import java.io.InputStream;
    30 import java.io.InputStream;
    31 import java.nio.file.Files;
    31 import java.nio.file.Files;
    32 import java.nio.file.Path;
    32 import java.nio.file.Path;
    33 import java.nio.file.StandardCopyOption;
       
    34 import java.text.MessageFormat;
    33 import java.text.MessageFormat;
    35 import java.util.HashMap;
    34 import java.util.HashMap;
    36 import java.util.List;
    35 import java.util.List;
    37 import java.util.Map;
    36 import java.util.Map;
    38 import java.util.Objects;
    37 import static jdk.jpackage.internal.OverridableResource.createResource;
    39 import java.util.ResourceBundle;
       
    40 
    38 
    41 import static jdk.jpackage.internal.StandardBundlerParam.*;
    39 import static jdk.jpackage.internal.StandardBundlerParam.*;
    42 
    40 
    43 public class LinuxAppImageBuilder extends AbstractAppImageBuilder {
    41 public class LinuxAppImageBuilder extends AbstractAppImageBuilder {
    44 
    42 
   168     }
   166     }
   169 
   167 
   170     private void copyIcon(Map<String, ? super Object> params)
   168     private void copyIcon(Map<String, ? super Object> params)
   171             throws IOException {
   169             throws IOException {
   172 
   170 
   173         File icon = ICON_PNG.fetchFrom(params);
   171         Path iconTarget = appLayout.destktopIntegrationDirectory().resolve(
   174         File iconTarget = appLayout.destktopIntegrationDirectory().resolve(
   172                 APP_NAME.fetchFrom(params) + ".png");
   175                 APP_NAME.fetchFrom(params) + ".png").toFile();
       
   176 
   173 
   177         InputStream in = locateResource(
   174         createResource(DEFAULT_ICON, params)
   178                 iconTarget.getName(),
   175                 .setCategory("icon")
   179                 "icon",
   176                 .setExternal(ICON_PNG.fetchFrom(params))
   180                 DEFAULT_ICON,
   177                 .saveToFile(iconTarget);
   181                 icon,
       
   182                 VERBOSE.fetchFrom(params),
       
   183                 RESOURCE_DIR.fetchFrom(params));
       
   184 
       
   185         Files.copy(in, iconTarget.toPath(), StandardCopyOption.REPLACE_EXISTING);
       
   186     }
   178     }
   187 
   179 
   188     private void copyApplication(Map<String, ? super Object> params)
   180     private void copyApplication(Map<String, ? super Object> params)
   189             throws IOException {
   181             throws IOException {
   190         for (RelativeFileSet appResources :
   182         for (RelativeFileSet appResources :