• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*******************************************************************************
2  * Copyright (c) 2009 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  *******************************************************************************/
11 package org.eclipse.releng;
12 
13 import java.io.BufferedReader;
14 import java.io.BufferedWriter;
15 import java.io.FileReader;
16 import java.io.FileWriter;
17 import java.io.IOException;
18 import java.util.ArrayList;
19 import java.util.Iterator;
20 
21 import org.apache.tools.ant.BuildException;
22 import org.apache.tools.ant.Task;
23 
24 public class GenerateExcludeListTask extends Task {
25 
26 	private ArrayList a = new ArrayList();
27 	private String mapFile;
28 	private String outputFile;
29 
GenerateExcludeListTask()30 	public GenerateExcludeListTask() {
31 		super();
32 	}
33 
main(String[] args)34 	public static void main(String[] args) {
35 		GenerateExcludeListTask parser = new GenerateExcludeListTask();
36 		parser.setMapFile("c:\\temp\\orbit.map");
37 		parser.setOutputFile("c:\\temp\\orbit.map.new");
38 		parser.execute();
39 	}
40 
getOutputFile()41 	public String getOutputFile() {
42 		return outputFile;
43 	}
44 
setOutputFile(String outputFile)45 	public void setOutputFile(String outputFile) {
46 		this.outputFile = outputFile;
47 	}
48 
getMapFile()49 	public String getMapFile() {
50 		return mapFile;
51 	}
52 
setMapFile(String mapFile)53 	public void setMapFile(String mapFile) {
54 		this.mapFile = mapFile;
55 	}
56 
execute()57 	public void execute() throws BuildException {
58 		readMap();
59 		writeProp();
60 	}
61 
62 	// for old map file format //
63 
64 	/* private void readMap() {
65 		try {
66 			BufferedReader r = new BufferedReader(new FileReader(mapFile));
67 			String line;
68 			while ((line = r.readLine()) != null) {
69 				int start = line.lastIndexOf('/');
70 				int lastcomma = line.lastIndexOf(',');
71 				int end = line.length();
72 				if (lastcomma > start) {
73 					end = lastcomma;
74 				}
75 				int lastzip = line.lastIndexOf(".zip");
76 				if (lastzip > start) {
77 					String rstring = line.substring(0, lastzip);
78 					line = rstring + ".jar";
79 				}
80 				if ((start < end) && (start > 0)) {
81 					String substr = line.substring(start + 1, end);
82 					a.add(substr);
83 				}
84 			}
85 			r.close();
86 		} catch (IOException e) {
87 			e.printStackTrace();
88 		}
89 	} */
90 
readMap()91 	private void readMap() {
92 		try {
93 			BufferedReader r = new BufferedReader(new FileReader(mapFile));
94 			String line;
95 			while ((line = r.readLine()) != null) {
96 				int start = line.indexOf("plugin@") + 7;
97 				int end = line.indexOf(",");
98 				String plugin = "";
99 				if ((start > 0) && (end > 0)) {
100 					plugin = line.substring(start, end);
101 				}
102 				String version = "";
103 				int startv = line.indexOf("version=") + 8;
104 				int endv = line.indexOf(",", startv);
105 				if ((startv > 0) && (endv > 0)) {
106 					version = line.substring(startv, endv);
107 				}
108 				if ((version != "") && (plugin != "")) {
109 				String l = plugin + "_" + version + ".jar";
110 				a.add(l);
111 				}
112 			}
113 			r.close();
114 		} catch (IOException e) {
115 			e.printStackTrace();
116 		}
117 	}
118 
writeProp()119 	private void writeProp() {
120 
121 		try {
122 			BufferedWriter out = new BufferedWriter(new FileWriter(outputFile));
123 			for (Iterator iterator = a.iterator(); iterator.hasNext();) {
124 				String s = iterator.next().toString();
125 				if (iterator.hasNext()) {
126 					out.write("plugins/" + s + ",");
127 				} else {
128 					out.write("plugins/" + s);
129 				}
130 			}
131 			out.close();
132 		} catch (IOException e) {
133 			e.printStackTrace();
134 		}
135 	}
136 
137 }
138