Merge "Introduce Gerrit Inspector: interactive Jython shell"
This commit is contained in:
@@ -302,6 +302,7 @@ public final class GerritLauncher {
|
||||
}
|
||||
|
||||
private volatile static File myArchive;
|
||||
private static File myHome;
|
||||
|
||||
/**
|
||||
* Locate the JAR/WAR file we were launched from.
|
||||
@@ -459,42 +460,26 @@ public final class GerritLauncher {
|
||||
return tmp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide path to a working directory
|
||||
*
|
||||
* @return local path of the working directory or null if cannot be determined
|
||||
*/
|
||||
public static File getHomeDirectory() {
|
||||
if (myHome == null) {
|
||||
myHome = locateHomeDirectory();
|
||||
}
|
||||
return myHome;
|
||||
}
|
||||
|
||||
|
||||
private static File tmproot() {
|
||||
File tmp;
|
||||
String gerritTemp = System.getenv("GERRIT_TMP");
|
||||
if (gerritTemp != null && gerritTemp.length() > 0) {
|
||||
tmp = new File(gerritTemp);
|
||||
} else {
|
||||
// Try to find the user's home directory. If we can't find it
|
||||
// return null so the JVM's default temporary directory is used
|
||||
// instead. This is probably /tmp or /var/tmp.
|
||||
//
|
||||
String userHome = System.getProperty("user.home");
|
||||
if (userHome == null || "".equals(userHome)) {
|
||||
userHome = System.getenv("HOME");
|
||||
if (userHome == null || "".equals(userHome)) {
|
||||
System.err.println("warning: cannot determine home directory");
|
||||
System.err.println("warning: using system temporary directory instead");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// Ensure the home directory exists. If it doesn't, try to make it.
|
||||
//
|
||||
final File home = new File(userHome);
|
||||
if (!home.exists()) {
|
||||
if (home.mkdirs()) {
|
||||
System.err.println("warning: created " + home.getAbsolutePath());
|
||||
} else {
|
||||
System.err.println("warning: " + home.getAbsolutePath() + " not found");
|
||||
System.err.println("warning: using system temporary directory instead");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// Use $HOME/.gerritcodereview/tmp for our temporary file area.
|
||||
//
|
||||
tmp = new File(new File(home, ".gerritcodereview"), "tmp");
|
||||
tmp = new File(getHomeDirectory(), "tmp");
|
||||
}
|
||||
if (!tmp.exists() && !tmp.mkdirs()) {
|
||||
System.err.println("warning: cannot create " + tmp.getAbsolutePath());
|
||||
@@ -527,6 +512,49 @@ public final class GerritLauncher {
|
||||
}
|
||||
}
|
||||
|
||||
private static File locateHomeDirectory() {
|
||||
// Try to find the user's home directory. If we can't find it
|
||||
// return null so the JVM's default temporary directory is used
|
||||
// instead. This is probably /tmp or /var/tmp.
|
||||
//
|
||||
String userHome = System.getProperty("user.home");
|
||||
if (userHome == null || "".equals(userHome)) {
|
||||
userHome = System.getenv("HOME");
|
||||
if (userHome == null || "".equals(userHome)) {
|
||||
System.err.println("warning: cannot determine home directory");
|
||||
System.err.println("warning: using system temporary directory instead");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// Ensure the home directory exists. If it doesn't, try to make it.
|
||||
//
|
||||
final File home = new File(userHome);
|
||||
if (!home.exists()) {
|
||||
if (home.mkdirs()) {
|
||||
System.err.println("warning: created " + home.getAbsolutePath());
|
||||
} else {
|
||||
System.err.println("warning: " + home.getAbsolutePath() + " not found");
|
||||
System.err.println("warning: using system temporary directory instead");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// Use $HOME/.gerritcodereview/tmp for our temporary file area.
|
||||
//
|
||||
final File gerrithome = new File(home, ".gerritcodereview");
|
||||
if (!gerrithome.exists() && !gerrithome.mkdirs()) {
|
||||
System.err.println("warning: cannot create " + gerrithome.getAbsolutePath());
|
||||
System.err.println("warning: using system temporary directory instead");
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
return gerrithome.getCanonicalFile();
|
||||
} catch (IOException e) {
|
||||
return gerrithome;
|
||||
}
|
||||
}
|
||||
|
||||
private GerritLauncher() {
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user