rubys 01/08/16 09:52:06
Modified: proposal/gump gen.java
proposal/gump/project xml-axis.xml xml-fop.xml
xml-stylebook.xml xml-xalan.xml xml-xerces.xml
xml-xerces2.xml
Log:
First baby steps towards a project/module split
Revision Changes Path
1.6 +33 -7 jakarta-alexandria/proposal/gump/gen.java
Index: gen.java
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/gen.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- gen.java 2001/08/12 18:11:22 1.5
+++ gen.java 2001/08/16 16:52:06 1.6
@@ -23,6 +23,7 @@
import java.io.FileOutputStream;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.Vector;
// Apache xpath
import org.apache.xpath.XPathAPI;
@@ -37,7 +38,7 @@
* @param name of source file
* @return Node
*/
- private Node parse(String source) throws Exception {
+ private Document parse(String source) throws Exception {
DocumentBuilder dBuilder = dFactory.newDocumentBuilder();
return dBuilder.parse(new java.io.File(source));
}
@@ -138,13 +139,12 @@
Element priorDefinition = (Element)list.get(name);
if (priorDefinition == null) {
list.put(name, element);
- } else {
- copyChildren(element, priorDefinition);
+ merge(type, list, element);
+ } else if (priorDefinition != element) {
element.getParentNode().removeChild(element);
+ copyChildren(element, priorDefinition);
element=priorDefinition;
}
-
- merge(type, list, element);
}
child=next;
}
@@ -217,17 +217,43 @@
}
/**
+ * Rename <module> to <project>. This is a transitional convenience
+ * as I move from the nested project approach to a simple declaration
+ * of the projects (or perhaps, instead the targets) contained within
+ * a module.
+ * @param document to be transformed
+ */
+ private void renameModuleToProject(Document document) throws Exception {
+
+ // safely get a list of all modules
+ NodeIterator nl = XPathAPI.selectNodeIterator(document, "//module");
+ Vector list = new Vector();
+ for (Node module=nl.nextNode(); module!=null; module=nl.nextNode()) {
+ list.add(module);
+ }
+
+ // replace all elements in that list with projects
+ for (Enumeration e=list.elements(); e.hasMoreElements();) {
+ Element module = (Element)e.nextElement();
+ Element project = document.createElement("project");
+ copyChildren(module, project);
+ module.getParentNode().replaceChild(project, module);
+ }
+ }
+
+ /**
* merge, sort, and insert defaults into a workspace
* @param DOM to be transformed
* @param sheet to be used
* @return Node
*/
private gen(String source) throws Exception {
- Node workspace = parse(source);
+ Document workspace = parse(source);
expand((Element)workspace.getFirstChild());
+ renameModuleToProject(workspace);
flatten("project", workspace.getFirstChild());
flatten("repository", workspace.getFirstChild());
- antDependsToProperties((Document)workspace);
+ antDependsToProperties(workspace);
Node resolved = transform(workspace, "defaults.xsl");
output (resolved, "work/merge.xml");
1.12 +17 -12 jakarta-alexandria/proposal/gump/project/xml-axis.xml
Index: xml-axis.xml
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/project/xml-axis.xml,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- xml-axis.xml 2001/06/24 23:27:06 1.11
+++ xml-axis.xml 2001/08/16 16:52:06 1.12
@@ -1,4 +1,4 @@
-<project name="xml-axis">
+<module name="xml-axis">
<url href="http://xml.apache.org/soap/index.html"/>
<description>
@@ -7,18 +7,24 @@
<cvs repository="xml"/>
- <ant basedir="java" target="dist"/>
+ <!-- build -->
- <depend project="xml-xerces"/>
- <depend project="jakarta-ant"/>
- <depend project="jakarta-servletapi"/>
- <option project="junit"/>
- <work nested="java/build/classes"/>
- <work nested="java/build"/>
+ <project name="xml-axis">
+ <ant basedir="java" target="dist"/>
- <home nested="java/build"/>
- <jar name="lib/axis.jar"/>
+ <depend project="xml-xerces"/>
+ <depend project="jakarta-ant"/>
+ <depend project="jakarta-servletapi"/>
+ <option project="junit"/>
+ <work nested="java/build/classes"/>
+ <work nested="java/build"/>
+
+ <home nested="java/build"/>
+ <jar name="lib/axis.jar"/>
+ </project>
+ <!-- test -->
+
<project name="test-axis">
<ant basedir="java" target="functional-tests">
<property name="test.functional.usefile" value="false"/>
@@ -31,7 +37,6 @@
<depend project="xml-axis"/>
<work nested="java/build/classes"/>
<work nested="java/build"/>
-
</project>
-</project>
+</module>
1.6 +22 -16 jakarta-alexandria/proposal/gump/project/xml-fop.xml
Index: xml-fop.xml
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/project/xml-fop.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- xml-fop.xml 2001/07/28 12:32:26 1.5
+++ xml-fop.xml 2001/08/16 16:52:06 1.6
@@ -1,4 +1,4 @@
-<project name="xml-fop">
+<module name="xml-fop">
<url href="http://xml.apache.org/fop/index.html"/>
<description>
@@ -7,26 +7,32 @@
<cvs repository="xml"/>
- <ant target="dist"/>
+ <!-- task definitions used by the build process -->
- <depend project="xml-xerces"/>
- <depend project="xml-xalan2"/>
- <depend project="jakarta-ant"/>
- <depend project="xml-batik"/>
- <depend project="bsf"/>
- <depend project="fop-buildtools"/>
-
- <!-- extra task definitions -->
-
- <home nested="build"/>
- <jar name="fop.jar"/>
-
<project name="fop-buildtools">
+ <ant buildfile="buildtools.xml"/>
+
<depend project="xml-xerces"/>
<depend project="jakarta-ant"/>
<option project="xml-xalan2"/>
- <ant buildfile="buildtools.xml"/>
+
<jar name="lib/buildtools.jar"/>
</project>
+
+ <!-- main project -->
+
+ <project name="xml-fop">
+ <ant target="dist"/>
+
+ <depend project="xml-xerces"/>
+ <depend project="xml-xalan2"/>
+ <depend project="jakarta-ant"/>
+ <depend project="xml-batik"/>
+ <depend project="bsf"/>
+ <depend project="fop-buildtools"/>
+
+ <home nested="build"/>
+ <jar name="fop.jar"/>
+ </project>
-</project>
+</module>
1.7 +2 -2 jakarta-alexandria/proposal/gump/project/xml-stylebook.xml
Index: xml-stylebook.xml
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/project/xml-stylebook.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- xml-stylebook.xml 2001/06/24 02:28:19 1.6
+++ xml-stylebook.xml 2001/08/16 16:52:06 1.7
@@ -1,4 +1,4 @@
-<project name="xml-stylebook">
+<module name="xml-stylebook">
<description>
Style book
@@ -15,4 +15,4 @@
<depend project="xml-xalan2"/>
<jar name="bin\stylebook-1.0-b3_xalan-2.jar"/>
</project>
-</project>
+</module>
1.16 +2 -2 jakarta-alexandria/proposal/gump/project/xml-xalan.xml
Index: xml-xalan.xml
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/project/xml-xalan.xml,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- xml-xalan.xml 2001/08/11 21:19:47 1.15
+++ xml-xalan.xml 2001/08/16 16:52:06 1.16
@@ -1,4 +1,4 @@
-<project name="xml-xalan">
+<module name="xml-xalan">
<cvs repository="xml"/>
@@ -116,4 +116,4 @@
<jar name="bin/JLex.jar"/>
</project>
-</project>
+</module>
1.7 +11 -7 jakarta-alexandria/proposal/gump/project/xml-xerces.xml
Index: xml-xerces.xml
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/project/xml-xerces.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- xml-xerces.xml 2001/04/09 19:05:58 1.6
+++ xml-xerces.xml 2001/08/16 16:52:06 1.7
@@ -1,4 +1,4 @@
-<project name="xml-xerces">
+<module name="xml-xerces">
<url href="http://xml.apache.org/xerces-j/index.html"/>
<description>
@@ -7,12 +7,16 @@
<cvs repository="xml"/>
- <ant basedir="java" target="jar"/>
- <depend project="jaxp1.1"/>
- <depend project="bootstrap-ant"/>
+ <!-- build bootstrap -->
- <home nested="java/build"/>
- <jar name="xerces.jar" id="parser"/>
+ <project name="xml-xerces">
+ <ant basedir="java" target="jar"/>
+ <depend project="jaxp1.1"/>
+ <depend project="bootstrap-ant"/>
+
+ <home nested="java/build"/>
+ <jar name="xerces.jar" id="parser"/>
+ </project>
<!-- package up the distribution -->
@@ -25,4 +29,4 @@
<depend project="xml-site"/>
</project>
-</project>
+</module>
1.3 +11 -7 jakarta-alexandria/proposal/gump/project/xml-xerces2.xml
Index: xml-xerces2.xml
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/project/xml-xerces2.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- xml-xerces2.xml 2001/04/10 18:11:42 1.2
+++ xml-xerces2.xml 2001/08/16 16:52:06 1.3
@@ -1,4 +1,4 @@
-<project name="xml-xerces2">
+<module name="xml-xerces2">
<url href="http://xml.apache.org/~andyc/"/>
<description>
@@ -7,13 +7,17 @@
<cvs repository="xml" module="xml-xerces" tag="xerces_j_2"/>
- <ant basedir="java" target="jar"/>
- <depend project="jaxp1.1"/>
- <depend project="bootstrap-ant"/>
+ <!-- build bootstrap -->
- <home nested="java/build"/>
- <jar name="xerces.jar" id="parser"/>
+ <project name="xml-xerces2">
+ <ant basedir="java" target="jar"/>
+ <depend project="jaxp1.1"/>
+ <depend project="bootstrap-ant"/>
+ <home nested="java/build"/>
+ <jar name="xerces.jar" id="parser"/>
+ </project>
+
<!-- package up the distribution -->
<project name="dist-xerces2">
@@ -25,4 +29,4 @@
<depend project="xml-site"/>
</project>
-</project>
+</module>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]