diff --git a/build.xml b/build.xml
index ae21f1580..a9edc6b94 100644
--- a/build.xml
+++ b/build.xml
@@ -75,7 +75,7 @@
-
+
diff --git a/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java b/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java
index 6256bb02b..0950a381a 100755
--- a/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java
+++ b/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java
@@ -99,12 +99,16 @@ public class CommandLineGATK extends CommandLineExecutable {
* @return The application header.
*/
public static List createApplicationHeader() {
+ ResourceBundle headerInfo = ResourceBundle.getBundle("StingText");
+
+ String versionNumber = headerInfo.getString("org.broadinstitute.sting.gatk.version");
+ String timestamp = headerInfo.getString("build.timestamp");
+
List header = new ArrayList();
- header.add("The Genome Analysis Toolkit (GATK)");
+ header.add(String.format("The Genome Analysis Toolkit (GATK) v%s, Compiled %s",versionNumber,timestamp));
header.add("Copyright (c) 2009 The Broad Institute");
header.add("Please view our documentation at http://www.broadinstitute.org/gsa/wiki");
header.add("For support, email gsahelp@broadinstitute.org");
- header.add("");
return header;
}
diff --git a/java/src/org/broadinstitute/sting/utils/help/HelpFormatter.java b/java/src/org/broadinstitute/sting/utils/help/HelpFormatter.java
index 498f44ae5..e7fd4983f 100755
--- a/java/src/org/broadinstitute/sting/utils/help/HelpFormatter.java
+++ b/java/src/org/broadinstitute/sting/utils/help/HelpFormatter.java
@@ -3,7 +3,6 @@ package org.broadinstitute.sting.utils.help;
import org.broadinstitute.sting.utils.cmdLine.ArgumentDefinition;
import org.broadinstitute.sting.utils.cmdLine.ArgumentDefinitionGroup;
import org.broadinstitute.sting.utils.cmdLine.ArgumentDefinitions;
-import org.broadinstitute.sting.utils.cmdLine.CommandLineProgram;
import org.broadinstitute.sting.utils.TextFormattingUtils;
import org.apache.log4j.Logger;
@@ -46,6 +45,14 @@ public class HelpFormatter {
public void printHelp( ApplicationDetails applicationDetails, ArgumentDefinitions argumentDefinitions ) {
List argumentGroups = prepareArgumentGroups( argumentDefinitions );
+ List header = applicationDetails.applicationHeader;
+ String barrier = createBarrier(header);
+
+ System.out.printf("%s%n",barrier);
+ for(String headerLine: header)
+ System.out.printf("%s%n",headerLine);
+ System.out.printf("%s%n",barrier);
+
String synopsis = getSynopsis(applicationDetails.runningInstructions,argumentGroups);
String additionalDetails = applicationDetails.additionalHelp != null ? applicationDetails.additionalHelp : "";
String detailedDescription = getDetailed(argumentGroups);
@@ -234,7 +241,9 @@ public class HelpFormatter {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
java.util.Date date = new java.util.Date();
- logger.info("-------------------------------------------------------");
+ String barrier = createBarrier(applicationDetails.applicationHeader);
+
+ logger.info(barrier);
for (String headerLine : applicationDetails.applicationHeader)
logger.info(headerLine);
String output = "";
@@ -243,6 +252,18 @@ public class HelpFormatter {
}
logger.info("Program Args: " + output);
logger.info("Date/Time: " + dateFormat.format(date));
- logger.info("-------------------------------------------------------");
+ logger.info(barrier);
+ }
+
+ /**
+ * Create a barrier to use to distinguish the header from the rest of the output.
+ * @param text A collection of lines to output as part of a header.
+ * @return A barrier consisting of the '-' character.
+ */
+ private static String createBarrier(List text) {
+ int barrierWidth = 0;
+ for(String headerLine: text)
+ barrierWidth = Math.max(headerLine.length(),barrierWidth);
+ return String.format("%0" + barrierWidth + "d",0).replace('0','-');
}
}