import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.net.URL;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Collections;
// lcastor = Logger.getLogger("org.exolab.castor.xml.Marshaller");
// lcastor.setLevel(Level.toLevel(Cache.getDefault("logs.Castor.Level",
// Level.INFO.toString())));
+ // we shouldn't need to do this
+ org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.INFO);
+
jalview.bin.Cache.log.setLevel(Level.toLevel(Cache
.getDefault("logs.Jalview.level", Level.INFO.toString())));
// laxis.addAppender(ap);
}
// LOAD THE AUTHORS FROM THE authors.props file
- String authorDetails = resolveResourceURLFor("authors.props");
+ String authorDetails = resolveResourceURLFor("/authors.props");
try
{
if (authorDetails != null)
{
- java.net.URL localJarFileURL = new java.net.URL(authorDetails);
+ URL localJarFileURL = new URL(authorDetails);
InputStream in = localJarFileURL.openStream();
applicationProperties.load(in);
in.close();
url = Cache.class.getResource(resourcePath).toString();
} catch (Exception ex)
{
-
+ System.err.println("Failed to resolve resource " + resourcePath + ": "
+ + ex.getMessage());
}
}
else
public static void loadBuildProperties(boolean reportVersion)
{
String codeInstallation = getProperty("INSTALLATION");
- boolean printV = codeInstallation == null;
+ boolean printVersion = codeInstallation == null;
- // FIND THE VERSION NUMBER AND BUILD DATE FROM jalview.jar
+ /*
+ * read build properties - from the Jalview jar for a Java distribution,
+ * or from codebase file in test or JalviewJS context
+ */
try
{
- String buildDetails = "jar:".concat(Cache.class.getProtectionDomain()
- .getCodeSource().getLocation().toString()
- .concat("!/.build_properties"));
-
- java.net.URL localJarFileURL = new java.net.URL(buildDetails);
-
+ String buildDetails = resolveResourceURLFor("/.build_properties");
+ URL localJarFileURL = new URL(buildDetails);
InputStream in = localJarFileURL.openStream();
applicationProperties.load(in);
in.close();
}
setProperty("VERSION", codeVersion);
new BuildDetails(codeVersion, null, codeInstallation);
- if (printV && reportVersion)
+ if (printVersion && reportVersion)
{
System.out
.println("Jalview Version: " + codeVersion + codeInstallation);
}
/**
+ * Initial logging information helper for various versions output
+ *
+ * @param prefix
+ * @param value
+ * @param defaultValue
+ */
+ private static void appendIfNotNull(StringBuilder sb, String prefix,
+ String value, String suffix, String defaultValue)
+ {
+ if (value == null && defaultValue == null)
+ {
+ return;
+ }
+ String line = prefix + (value != null ? value : defaultValue) + suffix;
+ sb.append(line);
+ }
+
+ /**
*
* @return Jalview version, build details and JVM platform version for console
*/
public static String getVersionDetailsForConsole()
{
- return "Jalview Version: "
- + jalview.bin.Cache.getDefault("VERSION", "TEST")
- + "\n" + "Jalview Installation: "
- + jalview.bin.Cache.getDefault("INSTALLATION",
- "unknown")
- + "\n" + "Build Date: "
- + jalview.bin.Cache.getDefault("BUILD_DATE", "unknown")
- + "\n" + "Java version: "
- + System.getProperty("java.version") + "\n"
- + System.getProperty("os.arch") + " "
- + System.getProperty("os.name") + " "
- + System.getProperty("os.version")
- + (jalview.bin.Cache.getDefault("VERSION", "TEST")
- .equals("DEVELOPMENT")
- ? "\nGetdown appdir: " + System.getProperty("getdownappdir") + "\nJava path: "
- + System.getProperty(
- "java.home")
- + File.separator + "bin"
- + File.separator + "java"
- : "");
+ StringBuilder sb = new StringBuilder();
+ sb.append("Jalview Version: " + jalview.bin.Cache.getDefault("VERSION", "TEST"));
+ sb.append("\n");
+ sb.append("Jalview Installation: "
+ + jalview.bin.Cache.getDefault("INSTALLATION", "unknown"));
+ sb.append("\n");
+ sb.append("Build Date: " + jalview.bin.Cache.getDefault("BUILD_DATE", "unknown"));
+ sb.append("\n");
+ sb.append("Java version: " + System.getProperty("java.version"));
+ sb.append("\n");
+ sb.append(System.getProperty("os.arch") + " " + System.getProperty("os.name") + " " + System.getProperty("os.version"));
+ sb.append("\n");
+ appendIfNotNull(sb, "Install4j version: ",
+ System.getProperty("sys.install4jVersion"), "\n", null);
+ appendIfNotNull(sb, "Install4j template version: ",
+ System.getProperty("installer_template_version"), "\n", null);
+ appendIfNotNull(sb, "Launcher version: ",
+ System.getProperty("launcher_version"), "\n", null);
+ if (jalview.bin.Cache.getDefault("VERSION", "TEST").equals("DEVELOPMENT")) {
+ appendIfNotNull(sb, "Getdown appdir: ",
+ System.getProperty("getdownappdir"), "\n", null);
+ appendIfNotNull(sb, "Java home: ", System.getProperty("java.home"),
+ "\n", "unknown");
+ }
+ return sb.toString();
}
/**