Update of /cvsroot/zipdiff/zipdiff/src/main/zipdiff
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv590/src/main/zipdiff
Modified Files:
Main.java
Log Message:
improved command line options
Index: Main.java
===================================================================
RCS file: /cvsroot/zipdiff/zipdiff/src/main/zipdiff/Main.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** Main.java 27 Jun 2004 19:07:43 -0000 1.8
--- Main.java 27 Jun 2004 20:31:10 -0000 1.9
***************
*** 9,12 ****
--- 9,14 ----
import java.util.Set;
+ import zipdiff.output.*;
+
import org.apache.commons.cli.*;
***************
*** 24,27 ****
--- 26,30 ----
private static final String OPTION_COMPARE_TIMESTAMPS = "comparetimestamps";
private static final String OPTION_IGNORE_CVS_FILES = "ignorecvsfiles";
+ private static final String OPTION_OUTPUT_FILE = "outputfile";
private static final String OPTION_FILE1 = "file1";
private static final String OPTION_FILE2 = "file2";
***************
*** 49,52 ****
--- 52,63 ----
file2.setRequired(true);
+ Option outputFileOption =
+ new Option(
+ OPTION_OUTPUT_FILE,
+ OPTION_OUTPUT_FILE,
+ true,
+ "output filename");
+ outputFileOption.setRequired(false);
+
Option regex =
new Option(
***************
*** 87,90 ****
--- 98,102 ----
options.addOption(exitWithError);
options.addOption(dontShowDifferences);
+ options.addOption(outputFileOption);
}
***************
*** 109,112 ****
--- 121,144 ----
}
+ private static void writeOutputFile(String filename, Differences d)
+ throws java.io.IOException
+ {
+ Builder builder = null;
+ if (filename.endsWith(".html"))
+ {
+ builder = new HtmlBuilder();
+ }
+ else if (filename.endsWith(".xml"))
+ {
+ builder = new XmlBuilder();
+ }
+ else
+ {
+ builder = new TextBuilder();
+ }
+ builder.build(filename, d);
+
+ }
+
/**
*
***************
*** 151,157 ****
if (line.hasOption(OPTION_IGNORE_CVS_FILES)) {
calc.setIgnoreCVSFiles(true);
! }
! else
! {
calc.setIgnoreCVSFiles(false);
}
--- 183,187 ----
if (line.hasOption(OPTION_IGNORE_CVS_FILES)) {
calc.setIgnoreCVSFiles(true);
! } else {
calc.setIgnoreCVSFiles(false);
}
***************
*** 182,185 ****
--- 212,224 ----
Differences d = calc.getDifferences();
+
+
+ if (line.hasOption(OPTION_OUTPUT_FILE))
+ {
+ String outputFilename = line.getOptionValue(OPTION_OUTPUT_FILE);
+ writeOutputFile(outputFilename, d);
+ }
+
+
if (d.hasDifferences()) {
if (!dontShowDifferences){
|