551 552 if ("x86".equals(arch) || "i386".equals(arch) || "i486".equals(arch) 553 || "i586".equals(arch) || "i686".equals(arch)) { 554 arch = "x86"; 555 } else if ("x86_64".equals(arch) || "amd64".equals("arch")) { 556 arch = "x86_64"; 557 } 558 559 return arch; 560 } 561 562 static final Set<String> multi_args = new TreeSet<>(Arrays.asList( 563 StandardBundlerParam.JVM_PROPERTIES.getID(), 564 StandardBundlerParam.JVM_OPTIONS.getID(), 565 StandardBundlerParam.USER_JVM_OPTIONS.getID(), 566 StandardBundlerParam.ARGUMENTS.getID(), 567 StandardBundlerParam.MODULE_PATH.getID(), 568 StandardBundlerParam.ADD_MODULES.getID(), 569 StandardBundlerParam.LIMIT_MODULES.getID(), 570 StandardBundlerParam.STRIP_NATIVE_COMMANDS.getID(), 571 JLinkBundlerHelper.DETECT_MODULES.getID() 572 )); 573 574 @SuppressWarnings("unchecked") 575 public void addBundleArgument(String key, Object value) { 576 // special hack for multi-line arguments 577 if (multi_args.contains(key) && value instanceof String) { 578 Object existingValue = bundlerArguments.get(key); 579 if (existingValue instanceof String) { 580 bundlerArguments.put(key, existingValue + "\n\n" + value); 581 } else if (existingValue instanceof List) { 582 ((List)existingValue).add(value); 583 } else if (existingValue instanceof Map && ((String)value).contains("=")) { 584 String[] mapValues = ((String)value).split("=", 2); 585 ((Map)existingValue).put(mapValues[0], mapValues[1]); 586 } else { 587 bundlerArguments.put(key, value); 588 } 589 } else { 590 bundlerArguments.put(key, value); 591 } 592 } 593 594 public BundleParams getBundleParams() { 595 BundleParams bundleParams = new BundleParams(); 596 597 //construct app resources 598 // relative to output folder! 599 String currentOS = System.getProperty("os.name").toLowerCase(); 600 String currentArch = getArch(); 601 602 for (RelativeFileSet rfs : resources) { 603 String os = rfs.getOs(); | 551 552 if ("x86".equals(arch) || "i386".equals(arch) || "i486".equals(arch) 553 || "i586".equals(arch) || "i686".equals(arch)) { 554 arch = "x86"; 555 } else if ("x86_64".equals(arch) || "amd64".equals("arch")) { 556 arch = "x86_64"; 557 } 558 559 return arch; 560 } 561 562 static final Set<String> multi_args = new TreeSet<>(Arrays.asList( 563 StandardBundlerParam.JVM_PROPERTIES.getID(), 564 StandardBundlerParam.JVM_OPTIONS.getID(), 565 StandardBundlerParam.USER_JVM_OPTIONS.getID(), 566 StandardBundlerParam.ARGUMENTS.getID(), 567 StandardBundlerParam.MODULE_PATH.getID(), 568 StandardBundlerParam.ADD_MODULES.getID(), 569 StandardBundlerParam.LIMIT_MODULES.getID(), 570 StandardBundlerParam.STRIP_NATIVE_COMMANDS.getID(), 571 StandardBundlerParam.FILE_ASSOCIATIONS.getID(), 572 JLinkBundlerHelper.DETECT_MODULES.getID() 573 )); 574 575 @SuppressWarnings("unchecked") 576 public void addBundleArgument(String key, Object value) { 577 // special hack for multi-line arguments 578 if (multi_args.contains(key)) { 579 Object existingValue = bundlerArguments.get(key); 580 if (existingValue instanceof String && value instanceof String) { 581 bundlerArguments.put(key, existingValue + "\n\n" + value); 582 } else if (existingValue instanceof List && value instanceof List) { 583 ((List)existingValue).addAll((List)value); 584 } else if (existingValue instanceof Map && 585 value instanceof String && ((String)value).contains("=")) { 586 String[] mapValues = ((String)value).split("=", 2); 587 ((Map)existingValue).put(mapValues[0], mapValues[1]); 588 } else { 589 bundlerArguments.put(key, value); 590 } 591 } else { 592 bundlerArguments.put(key, value); 593 } 594 } 595 596 public BundleParams getBundleParams() { 597 BundleParams bundleParams = new BundleParams(); 598 599 //construct app resources 600 // relative to output folder! 601 String currentOS = System.getProperty("os.name").toLowerCase(); 602 String currentArch = getArch(); 603 604 for (RelativeFileSet rfs : resources) { 605 String os = rfs.getOs(); |