Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,6 @@ public class MacAppImageBuilder extends AbstractAppImageBuilder {
private final Path runtimeDir;
private final Path runtimeRoot;

private static List<String> keyChains;

public static final BundlerParamInfo<Boolean>
MAC_CONFIGURE_LAUNCHER_IN_PLIST = new StandardBundlerParam<>(
"mac.configure-launcher-in-plist",
Expand Down Expand Up @@ -324,10 +322,12 @@ private void copyRuntimeFiles(Map<String, ? super Object> params)
}

private void sign(Map<String, ? super Object> params) throws IOException {
List<String> keyChains = new ArrayList<>();

if (Optional.ofNullable(
SIGN_BUNDLE.fetchFrom(params)).orElse(Boolean.TRUE)) {
try {
addNewKeychain(params);
addNewKeychain(keyChains, params);
} catch (InterruptedException e) {
Log.error(e.getMessage());
}
Expand All @@ -339,7 +339,7 @@ private void sign(Map<String, ? super Object> params) throws IOException {
BUNDLE_ID_SIGNING_PREFIX.fetchFrom(params),
getConfig_Entitlements(params));
}
restoreKeychainList(params);
restoreKeychainList(keyChains, params);
}
}

Expand Down Expand Up @@ -540,8 +540,9 @@ private void writePkgInfo(Path file) throws IOException {
}
}

public static void addNewKeychain(Map<String, ? super Object> params)
throws IOException, InterruptedException {
public static void addNewKeychain(List<String> keyChains,
Map<String, ? super Object> params)
throws IOException, InterruptedException {
if (Platform.getMajorVersion() < 10 ||
(Platform.getMajorVersion() == 10 &&
Platform.getMinorVersion() < 12)) {
Expand Down Expand Up @@ -571,7 +572,7 @@ public static void addNewKeychain(Map<String, ? super Object> params)
return;
}

keyChains = new ArrayList<>();
keyChains.clear();
// remove "
keychainList.forEach((String s) -> {
String path = s.trim();
Expand All @@ -593,8 +594,8 @@ public static void addNewKeychain(Map<String, ? super Object> params)
IOUtils.exec(pb);
}

public static void restoreKeychainList(Map<String, ? super Object> params)
throws IOException{
public static void restoreKeychainList(List<String> keyChains,
Map<String, ? super Object> params) throws IOException {
if (Platform.getMajorVersion() < 10 ||
(Platform.getMajorVersion() == 10 &&
Platform.getMinorVersion() < 12)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ public class MacAppStoreBundler extends MacBaseInstallerBundler {

public Path bundle(Map<String, ? super Object> params,
Path outdir) throws PackagerException {
List<String> keyChains = new ArrayList<>();
Log.verbose(MessageFormat.format(I18N.getString(
"message.building-bundle"), APP_NAME.fetchFrom(params)));

Expand All @@ -121,7 +122,7 @@ public Path bundle(Map<String, ? super Object> params,
Files.createDirectories(appImageDir);

try {
MacAppImageBuilder.addNewKeychain(params);
MacAppImageBuilder.addNewKeychain(keyChains, params);
} catch (InterruptedException e) {
Log.error(e.getMessage());
}
Expand All @@ -138,7 +139,7 @@ public Path bundle(Map<String, ? super Object> params,
MacAppImageBuilder.signAppBundle(params, appLocation,
signingIdentity, identifierPrefix,
MacAppImageBuilder.getConfig_Entitlements(params));
MacAppImageBuilder.restoreKeychainList(params);
MacAppImageBuilder.restoreKeychainList(keyChains, params);

ProcessBuilder pb;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,12 +100,12 @@ public class Arguments {
private String buildRoot = null;
private String mainJarPath = null;

private static boolean runtimeInstaller = false;
private boolean runtimeInstaller = false;

private List<AddLauncherArguments> addLaunchers = null;

private static Map<String, CLIOptions> argIds = new HashMap<>();
private static Map<String, CLIOptions> argShortIds = new HashMap<>();
private static final Map<String, CLIOptions> argIds = new HashMap<>();
private static final Map<String, CLIOptions> argShortIds = new HashMap<>();

static {
// init maps for parsing arguments
Expand All @@ -117,7 +117,12 @@ public class Arguments {
});
}

private static final InheritableThreadLocal<Arguments> instance =
new InheritableThreadLocal<Arguments>();

public Arguments(String[] args) {
instance.set(this);

argList = new ArrayList<String>(args.length);
for (String arg : args) {
argList.add(arg);
Expand Down Expand Up @@ -392,16 +397,8 @@ private CLIOptions(String id, String shortId,
this.category = category;
}

static void setContext(Arguments context) {
argContext = context;
}

public static Arguments context() {
if (argContext != null) {
return argContext;
} else {
throw new RuntimeException("Argument context is not set.");
}
return instance.get();
}

public String getId() {
Expand Down Expand Up @@ -462,10 +459,6 @@ enum OptionCategories {

public boolean processArguments() {
try {

// init context of arguments
CLIOptions.setContext(this);

// parse cmd line
String arg;
CLIOptions option;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ static void exec(ProcessBuilder pb, boolean testForPresenceOnly,
exec(pb, testForPresenceOnly, consumer, false, Executor.INFINITE_TIMEOUT);
}

static void exec(ProcessBuilder pb, boolean testForPresenceOnly,
static synchronized void exec(ProcessBuilder pb, boolean testForPresenceOnly,
PrintStream consumer, boolean writeOutputToFile, long timeout)
throws IOException {
List<String> output = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ private static Set<String> createModuleList(List<Path> paths,
return modules;
}

private static void runJLink(Path output, List<Path> modulePath,
private static synchronized void runJLink(Path output, List<Path> modulePath,
Set<String> modules, Set<String> limitModules,
List<String> options)
throws PackagerException, IOException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ public String name() {
return "jpackage";
}

public synchronized int run(
PrintWriter out, PrintWriter err, String... args) {
public int run(PrintWriter out, PrintWriter err, String... args) {
try {
return new jdk.jpackage.main.Main().execute(out, err, args);
} catch (RuntimeException re) {
Expand Down
57 changes: 17 additions & 40 deletions src/jdk.jpackage/share/classes/jdk/jpackage/internal/Log.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,44 +75,33 @@ public void flush() {
public void info(String msg) {
if (out != null) {
out.println(msg);
} else {
System.out.println(msg);
}
}

public void fatalError(String msg) {
if (err != null) {
err.println(msg);
} else {
System.err.println(msg);
}
}

public void error(String msg) {
msg = addTimestamp(msg);
if (err != null) {
err.println(msg);
} else {
System.err.println(msg);
}
}

public void verbose(Throwable t) {
if (out != null && verbose) {
out.print(addTimestamp(""));
t.printStackTrace(out);
} else if (verbose) {
System.out.print(addTimestamp(""));
t.printStackTrace(System.out);
}
}

public void verbose(String msg) {
msg = addTimestamp(msg);
if (out != null && verbose) {
out.println(msg);
} else if (verbose) {
System.out.println(msg);
}
}

Expand Down Expand Up @@ -142,62 +131,50 @@ private String addTimestamp(String msg) {
}
}

private static Logger delegate = null;
private static final InheritableThreadLocal<Logger> instance =
new InheritableThreadLocal<Logger>() {
@Override protected Logger initialValue() {
return new Logger();
}
};

public static void setLogger(Logger logger) {
delegate = (logger != null) ? logger : new Logger();
public static void setPrintWriter (PrintWriter out, PrintWriter err) {
instance.get().setPrintWriter(out, err);
}

public static void flush() {
if (delegate != null) {
delegate.flush();
}
instance.get().flush();
}

public static void info(String msg) {
if (delegate != null) {
delegate.info(msg);
}
instance.get().info(msg);
}

public static void fatalError(String msg) {
if (delegate != null) {
delegate.fatalError(msg);
}
instance.get().fatalError(msg);
}

public static void error(String msg) {
if (delegate != null) {
delegate.error(msg);
}
instance.get().error(msg);
}

public static void setVerbose() {
if (delegate != null) {
delegate.setVerbose();
}
instance.get().setVerbose();
}

public static boolean isVerbose() {
return (delegate != null) ? delegate.isVerbose() : false;
return instance.get().isVerbose();
}

public static void verbose(String msg) {
if (delegate != null) {
delegate.verbose(msg);
}
instance.get().verbose(msg);
}

public static void verbose(Throwable t) {
if (delegate != null) {
delegate.verbose(t);
}
instance.get().verbose(t);
}

public static void verbose(List<String> strings, List<String> out, int ret) {
if (delegate != null) {
delegate.verbose(strings, out, ret);
}
instance.get().verbose(strings, out, ret);
}

}
15 changes: 4 additions & 11 deletions src/jdk.jpackage/share/classes/jdk/jpackage/main/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ public class Main {
* @param args command line arguments
*/
public static void main(String... args) throws Exception {
// Create logger with default system.out and system.err
Log.setLogger(null);

int status = new jdk.jpackage.main.Main().execute(args);
PrintWriter out = new PrintWriter(System.out);
PrintWriter err = new PrintWriter(System.err);
int status = new jdk.jpackage.main.Main().execute(out, err, args);
System.exit(status);
}

Expand All @@ -62,15 +62,8 @@ public static void main(String... args) throws Exception {
* @return an exit code. 0 means success, non-zero means an error occurred.
*/
public int execute(PrintWriter out, PrintWriter err, String... args) {
// Create logger with provided streams
Log.Logger logger = new Log.Logger();
logger.setPrintWriter(out, err);
Log.setLogger(logger);
Log.setPrintWriter(out, err);

return execute(args);
}

private int execute(String... args) {
try {
String[] newArgs;
try {
Expand Down
Loading