package net.sourceforge.cobertura.merge;
import net.sourceforge.cobertura.dsl.ArgumentsBuilder;
import net.sourceforge.cobertura.dsl.Cobertura;
import net.sourceforge.cobertura.util.CommandLineBuilder;
import net.sourceforge.cobertura.util.Header;
import java.io.File;
public class MergeMain {
public MergeMain(String[] args) {
ArgumentsBuilder builder = new ArgumentsBuilder();
String baseDir = null;
for (int i = 0; i < args.length; i++) {
if (args[i].equals("--datafile")) {
builder.setDataFile(args[++i]);
} else if (args[i].equals("--basedir")) {
baseDir = args[++i];
builder.setBaseDirectory(baseDir);
} else {
if (baseDir != null) {
builder.addFileToMerge(new File(baseDir, args[i])
.getAbsolutePath());
} else {
builder.addFileToMerge(new File(args[i]).getAbsolutePath());
}
}
}
new Cobertura(builder.build()).merge().saveProjectData();
}
public static int merge(String[] args) {
Header.print(System.out);
try {
args = CommandLineBuilder.preprocessCommandLineArguments(args);
} catch (Exception ex) {
System.err.println("Error: Cannot process arguments: "
+ ex.getMessage());
return 1;
}
new MergeMain(args);
return 0;
}
public static void main(String[] args) {
int returnValue = merge(args);
if ( returnValue != 0 ) {
System.exit(returnValue);
}
}
}