blob: fcc5f0f4912b4e0a8234a0e0ed06600c38c280ad [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.releng;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
public class GenerateExcludeListTask extends Task {
private ArrayList a = new ArrayList();
private String mapFile;
private String outputFile;
public GenerateExcludeListTask() {
super();
}
public static void main(String[] args) {
GenerateExcludeListTask parser = new GenerateExcludeListTask();
parser.setMapFile("c:\\temp\\orbit.map");
parser.setOutputFile("c:\\temp\\orbit.map.new");
parser.execute();
}
public String getOutputFile() {
return outputFile;
}
public void setOutputFile(String outputFile) {
this.outputFile = outputFile;
}
public String getMapFile() {
return mapFile;
}
public void setMapFile(String mapFile) {
this.mapFile = mapFile;
}
public void execute() throws BuildException {
readMap();
writeProp();
}
// for old map file format //
/* private void readMap() {
try {
BufferedReader r = new BufferedReader(new FileReader(mapFile));
String line;
while ((line = r.readLine()) != null) {
int start = line.lastIndexOf('/');
int lastcomma = line.lastIndexOf(',');
int end = line.length();
if (lastcomma > start) {
end = lastcomma;
}
int lastzip = line.lastIndexOf(".zip");
if (lastzip > start) {
String rstring = line.substring(0, lastzip);
line = rstring + ".jar";
}
if ((start < end) && (start > 0)) {
String substr = line.substring(start + 1, end);
a.add(substr);
}
}
r.close();
} catch (IOException e) {
e.printStackTrace();
}
} */
private void readMap() {
try {
BufferedReader r = new BufferedReader(new FileReader(mapFile));
String line;
while ((line = r.readLine()) != null) {
int start = line.indexOf("plugin@") + 7;
int end = line.indexOf(",");
String plugin = "";
if ((start > 0) && (end > 0)) {
plugin = line.substring(start, end);
}
String version = "";
int startv = line.indexOf("version=") + 8;
int endv = line.indexOf(",", startv);
if ((startv > 0) && (endv > 0)) {
version = line.substring(startv, endv);
}
if ((version != "") && (plugin != "")) {
String l = plugin + "_" + version + ".jar";
a.add(l);
}
}
r.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private void writeProp() {
try {
BufferedWriter out = new BufferedWriter(new FileWriter(outputFile));
for (Iterator iterator = a.iterator(); iterator.hasNext();) {
String s = iterator.next().toString();
if (iterator.hasNext()) {
out.write("plugins/" + s + ",");
} else {
out.write("plugins/" + s);
}
}
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}