You are viewing a plain text version of this content. The canonical link for it is here.
Posted to alexandria-dev@jakarta.apache.org by ru...@apache.org on 2001/04/22 17:28:00 UTC
cvs commit: jakarta-alexandria/proposal/gump/stylesheet defaults.xsl bash.xsl build.xsl sedmap.xsl win2k.xsl
rubys 01/04/22 08:28:00
Modified: proposal/gump gen.bat gen.sh rubix.xml rubypad.xml
proposal/gump/stylesheet bash.xsl build.xsl sedmap.xsl
win2k.xsl
Added: proposal/gump gen.java
proposal/gump/profile gump.xml
proposal/gump/stylesheet defaults.xsl
Log:
Profile support - recursive hrefs
First steps towards allowing overrides
Revision Changes Path
1.4 +8 -7 jakarta-alexandria/proposal/gump/gen.bat
Index: gen.bat
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/gen.bat,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- gen.bat 2001/02/17 17:01:17 1.3
+++ gen.bat 2001/04/22 15:27:58 1.4
@@ -10,12 +10,13 @@
if exist work rmdir /s /q work
mkdir work
-echo Merging projects into workspace
-java org.apache.xalan.xslt.Process -xml -in %SOURCE% -xsl stylesheet\merge.xsl -out work/merge.xml
-if not errorlevel 0 goto fail
+REM ********************************************************************
-echo Sorting projects into dependency order
-java org.apache.xalan.xslt.Process -xml -in work\merge.xml -xsl stylesheet\sortdep.xsl -out work\sorted.xml
+echo Merging projects into workspace
+javac gen.java
+if errorlevel 1 goto fail
+echo.
+java gen %SOURCE%
if not errorlevel 0 goto fail
REM ********************************************************************
@@ -63,7 +64,7 @@
REM ********************************************************************
echo Generate script to publish all xml source files
-java org.apache.xalan.xslt.Process -text -in %SOURCE% -xsl stylesheet\win2k.xsl -out work\puball.bat
+java org.apache.xalan.xslt.Process -text -in work\merge.xml -xsl stylesheet\win2k.xsl -out work\puball.bat
if not errorlevel 0 goto fail
echo Generate template for publishing an xml source file
@@ -79,7 +80,7 @@
if not errorlevel 0 goto fail
echo Generate editing instructions
-java org.apache.xalan.xslt.Process -text -in %SOURCE% -xsl stylesheet\sedmap.xsl -out work\map.sed
+java org.apache.xalan.xslt.Process -text -in work\merge.xml -xsl stylesheet\sedmap.xsl -out work\map.sed
if not errorlevel 0 goto fail
REM ********************************************************************
1.6 +5 -8 jakarta-alexandria/proposal/gump/gen.sh
Index: gen.sh
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/gen.sh,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- gen.sh 2001/03/04 03:32:13 1.5
+++ gen.sh 2001/04/22 15:27:58 1.6
@@ -25,15 +25,12 @@
test -d work && rm -rf work
mkdir work
-echo Merging projects into workspace
-test -n "$FAIL" || \
-java org.apache.xalan.xslt.Process -EDUMP -xml -in $SOURCE -xsl stylesheet/merge.xsl -out work/merge.xml || \
-export FAIL=1
+# ********************************************************************
-echo Sort projects into dependency order
-test -n "$FAIL" || \
-java org.apache.xalan.xslt.Process -xml -in work/merge.xml -xsl stylesheet/sortdep.xsl -out work/sorted.xml || \
-export FAIL=1
+echo Merging projects into workspace
+javac gen.java || export FAIL=1
+echo
+java gen $SOURCE || export FAIL=1
# ********************************************************************
1.32 +15 -85 jakarta-alexandria/proposal/gump/rubix.xml
Index: rubix.xml
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/rubix.xml,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- rubix.xml 2001/04/17 02:14:13 1.31
+++ rubix.xml 2001/04/22 15:27:58 1.32
@@ -3,92 +3,22 @@
<build sysclasspath="only"/>
- <!-- Apache.Jakarta -->
+ <!-- Installed packages -->
- <project href="project/jakarta-alexandria.xml"/>
- <project href="project/jakarta-ant.xml"/>
- <project href="project/jakarta-avalon-cornerstone.xml"/>
- <project href="project/jakarta-avalon-logkit.xml"/>
- <project href="project/jakarta-avalon-phoenix.xml"/>
- <project href="project/jakarta-avalon-testlet.xml"/>
- <project href="project/jakarta-avalon.xml"/>
- <project href="project/jakarta-commons.xml"/>
- <project href="project/jakarta-ecs.xml"/>
- <project href="project/jakarta-james.xml"/>
- <project href="project/jakarta-jetspeed.xml"/>
- <project href="project/jakarta-jmeter.xml"/>
- <project href="project/jakarta-log4j.xml"/>
- <project href="project/jakarta-oro.xml"/>
- <project href="project/jakarta-regexp.xml"/>
- <project href="project/jakarta-servletapi-4.xml"/>
- <project href="project/jakarta-servletapi.xml"/>
- <project href="project/jakarta-site2.xml"/>
- <project href="project/jakarta-slide.xml"/>
- <project href="project/jakarta-struts.xml"/>
- <project href="project/jakarta-taglibs.xml"/>
- <project href="project/jakarta-tomcat-40.xml"/>
- <!-- project href="project/jakarta-tomcat-41.xml"/ -->
- <project href="project/jakarta-tomcat.xml"/>
- <project href="project/jakarta-tools.xml"/>
- <project href="project/jakarta-turbine.xml"/>
- <project href="project/jakarta-velocity.xml"/>
- <project href="project/jakarta-watchdog.xml"/>
-
- <!-- Apache.XML -->
-
- <project href="project/xml-axis.xml"/>
- <project href="project/xml-batik.xml"/>
- <project href="project/xml-cocoon.xml"/>
- <project href="project/xml-cocoon2.xml"/>
- <project href="project/xml-crimson.xml"/>
- <project href="project/xml-fop.xml"/>
- <project href="project/xml-site.xml"/>
- <project href="project/xml-soap.xml"/>
- <project href="project/xml-stylebook.xml"/>
- <project href="project/xml-xalan.xml"/>
- <project href="project/xml-xerces.xml"/>
- <project href="project/xml-xerces2.xml"/>
-
- <!-- Apache.Java -->
-
- <project href="project/town.xml"/>
-
- <!-- other -->
-
- <project href="project/bsf.xml"/>
- <project href="project/castor.xml"/>
- <project href="project/freemarker.xml"/>
- <project href="project/jdom.xml"/>
- <project href="project/jtidy.xml"/>
- <project href="project/junit.xml"/>
- <project href="project/openejb.xml"/>
- <project href="project/openjms.xml"/>
- <project href="project/openorb.xml"/>
- <project href="project/rhino.xml"/>
- <project href="project/scarab.xml"/>
- <project href="project/tyrex.xml"/>
- <project href="project/village.xml"/>
-
- <!-- Sun -->
-
- <project href="project/ejb.xml" home="/opt/ejb-2_0-pfd"/>
- <project href="project/j2ee-connector.xml" home="/opt/j2ee_connector-1_0-pfd2"/>
- <project href="project/jaas.xml" home="/opt/jaas1_0"/>
- <project href="project/jaf.xml" home="/opt/jaf-1.0.1"/>
- <project href="project/javamail.xml" home="/opt/javamail-1.2"/>
- <project href="project/jaxp.xml" home="/opt/jaxp1.0.1"/>
- <project href="project/jaxp11.xml" home="/opt/jaxp-1.1"/>
- <project href="project/jdbc.xml" home="/opt/jdbc2_0"/>
- <project href="project/jms.xml" home="/opt/jms1.0.2"/>
- <project href="project/jmx.xml" home="/opt/jmx-1_0"/>
- <project href="project/jndi.xml" home="/opt/jndi1_2_1"/>
- <project href="project/jsse.xml" home="/opt/jsse1.0.2"/>
- <project href="project/jta.xml" home="/opt/jta-spec1_0_1"/>
- <project href="project/jts.xml" home="/opt/jts1_0"/>
-
- <!-- CVS Repository overrides -->
- <repository href="repository/exolab.xml"/>
- <repository href="repository/sourceforge.xml"/>
+ <project name="ejb" home="/opt/ejb-2_0-pfd"/>
+ <project name="j2ee-connector" home="/opt/j2ee_connector-1_0-pfd2"/>
+ <project name="jaas" home="/opt/jaas1_0"/>
+ <project name="jaf" home="/opt/jaf-1.0.1"/>
+ <project name="javamail" home="/opt/javamail-1.2"/>
+ <project name="jaxp" home="/opt/jaxp1.0.1"/>
+ <project name="jaxp11" home="/opt/jaxp-1.1"/>
+ <project name="jdbc" home="/opt/jdbc2_0"/>
+ <project name="jms" home="/opt/jms1.0.2"/>
+ <project name="jmx" home="/opt/jmx-1_0"/>
+ <project name="jndi" home="/opt/jndi1_2_1"/>
+ <project name="jsse" home="/opt/jsse1.0.2"/>
+ <project name="jta" home="/opt/jta-spec1_0_1"/>
+ <project name="jts" home="/opt/jts1_0"/>
<cvs-repository>
<tree name="bsf"
1.33 +16 -84 jakarta-alexandria/proposal/gump/rubypad.xml
Index: rubypad.xml
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/rubypad.xml,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- rubypad.xml 2001/04/17 02:14:13 1.32
+++ rubypad.xml 2001/04/22 15:27:58 1.33
@@ -2,92 +2,24 @@
<build sysclasspath="only"/>
- <!-- Apache.Jakarta -->
+ <profile href="profile/gump.xml"/>
- <project href="project/jakarta-alexandria.xml"/>
- <project href="project/jakarta-ant.xml"/>
- <project href="project/jakarta-avalon-cornerstone.xml"/>
- <project href="project/jakarta-avalon-logkit.xml"/>
- <project href="project/jakarta-avalon-phoenix.xml"/>
- <project href="project/jakarta-avalon-testlet.xml"/>
- <project href="project/jakarta-avalon.xml"/>
- <project href="project/jakarta-commons.xml"/>
- <project href="project/jakarta-ecs.xml"/>
- <project href="project/jakarta-james.xml"/>
- <project href="project/jakarta-jetspeed.xml"/>
- <project href="project/jakarta-jmeter.xml"/>
- <project href="project/jakarta-log4j.xml"/>
- <project href="project/jakarta-oro.xml"/>
- <project href="project/jakarta-regexp.xml"/>
- <project href="project/jakarta-servletapi-4.xml"/>
- <project href="project/jakarta-servletapi.xml"/>
- <project href="project/jakarta-site2.xml"/>
- <project href="project/jakarta-slide.xml"/>
- <project href="project/jakarta-struts.xml"/>
- <project href="project/jakarta-taglibs.xml"/>
- <project href="project/jakarta-tomcat-40.xml"/>
- <!-- project href="project/jakarta-tomcat-41.xml"/ -->
- <project href="project/jakarta-tomcat.xml"/>
- <project href="project/jakarta-tools.xml"/>
- <project href="project/jakarta-turbine.xml"/>
- <project href="project/jakarta-velocity.xml"/>
- <project href="project/jakarta-watchdog.xml"/>
+ <!-- Installed packages -->
- <!-- Apache.XML -->
-
- <project href="project/xml-axis.xml"/>
- <project href="project/xml-batik.xml"/>
- <project href="project/xml-cocoon.xml"/>
- <project href="project/xml-cocoon2.xml"/>
- <project href="project/xml-crimson.xml"/>
- <project href="project/xml-fop.xml"/>
- <project href="project/xml-site.xml"/>
- <project href="project/xml-soap.xml"/>
- <project href="project/xml-stylebook.xml"/>
- <project href="project/xml-xalan.xml"/>
- <project href="project/xml-xerces.xml"/>
- <project href="project/xml-xerces2.xml"/>
-
- <!-- Apache.Java -->
-
- <project href="project/town.xml"/>
-
- <!-- other -->
-
- <project href="project/bsf.xml"/>
- <project href="project/castor.xml"/>
- <project href="project/freemarker.xml"/>
- <project href="project/jdom.xml"/>
- <project href="project/jtidy.xml"/>
- <project href="project/junit.xml"/>
- <project href="project/openejb.xml"/>
- <project href="project/openjms.xml"/>
- <project href="project/openorb.xml"/>
- <project href="project/rhino.xml"/>
- <project href="project/scarab.xml"/>
- <project href="project/tyrex.xml"/>
- <project href="project/village.xml"/>
-
- <!-- Sun -->
-
- <project href="project/ejb.xml" home="C:\ejb-2_0-pfd"/>
- <project href="project/j2ee-connector.xml" home="C:\j2ee_connector-1_0-pfd2"/>
- <project href="project/jaas.xml" home="C:\jaas1_0"/>
- <project href="project/jaf.xml" home="C:\jaf-1.0.1"/>
- <project href="project/javamail.xml" home="C:\javamail-1.2"/>
- <project href="project/jaxp.xml" home="C:\jaxp1.0.1"/>
- <project href="project/jaxp11.xml" home="C:\jaxp-1.1"/>
- <project href="project/jdbc.xml" home="C:\jdbc2_0"/>
- <project href="project/jms.xml" home="C:\jms1.0.2"/>
- <project href="project/jmx.xml" home="C:\jmx-1_0"/>
- <project href="project/jndi.xml" home="C:\jndi1_2_1"/>
- <project href="project/jsse.xml" home="C:\jsse1.0.2"/>
- <project href="project/jta.xml" home="C:\jta-spec1_0_1"/>
- <project href="project/jts.xml" home="C:\jts1_0"/>
-
- <!-- CVS Repository overrides -->
- <repository href="repository/exolab.xml"/>
- <repository href="repository/sourceforge.xml"/>
+ <project name="ejb" home="C:\ejb-2_0-pfd"/>
+ <project name="j2ee-connector" home="C:\j2ee_connector-1_0-pfd2"/>
+ <project name="jaas" home="C:\jaas1_0"/>
+ <project name="jaf" home="C:\jaf-1.0.1"/>
+ <project name="javamail" home="C:\javamail-1.2"/>
+ <project name="jaxp" home="C:\jaxp1.0.1"/>
+ <project name="jaxp1.1" home="C:\jaxp-1.1"/>
+ <project name="jdbc" home="C:\jdbc2_0"/>
+ <project name="jms" home="C:\jms1.0.2"/>
+ <project name="jmx" home="C:\jmx-1_0"/>
+ <project name="jndi" home="C:\jndi1_2_1"/>
+ <project name="jsse" home="C:\jsse1.0.2"/>
+ <project name="jta" home="C:\jta-spec1_0_1"/>
+ <project name="jts" home="C:\jts1_0"/>
<cvs-repository>
<tree name="bsf"
1.1 jakarta-alexandria/proposal/gump/gen.java
Index: gen.java
===================================================================
// Imported TraX classes
import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;
// Imported JAVA API for XML Parsing classes
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
// Imported DOM classes
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NamedNodeMap;
// Imported java classes
import java.io.FileOutputStream;
import java.util.Hashtable;
public class gen {
DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
TransformerFactory tFactory = TransformerFactory.newInstance();
/**
* parse an XML source file into an DOM
* @param name of source file
* @return Node
*/
private Node parse(String source) throws Exception {
DocumentBuilder dBuilder = dFactory.newDocumentBuilder();
return dBuilder.parse(new java.io.File(source));
}
/**
* transform a DOM given a stylesheet
* @param DOM to be transformed
* @param sheet to be used
* @return Node
*/
private Node transform(Node dom, String sheet) throws Exception {
StreamSource source = new StreamSource("stylesheet/"+sheet);
Transformer transformer = tFactory.newTransformer(source);
DOMResult output = new DOMResult();
transformer.transform(new DOMSource(dom), output);
return output.getNode();
}
/**
* copy child nodes (attributes, elements, text, etc).
* @param source element
* @param target element
*/
private void copyChildren(Element source, Element target) {
Node child=source.getFirstChild();
while (child != null) {
Node next=child.getNextSibling();
target.appendChild(child);
child=next;
}
NamedNodeMap attrs = source.getAttributes();
for (int i=0; i<attrs.getLength(); i++) {
Node a = attrs.item(i);
if (target.getAttributeNode(a.getNodeName())==null) {
target.setAttribute(a.getNodeName(),a.getNodeValue());
}
}
}
/**
* expand hrefs in place, recursively
* @param source element
*/
private void expand(Element node) throws Exception {
// expand hrefs
Attr href = node.getAttributeNode("href");
if (href != null && !node.getNodeName().equals("url")) {
String source=href.getValue();
Node sub = parse(source);
if (source.lastIndexOf(".")>0)
source=source.substring(0,source.lastIndexOf("."));
if (source.lastIndexOf("/")>0)
source=source.substring(source.lastIndexOf("/")+1);
node.removeAttribute("href");
node.setAttribute("defined-in", source);
Document doc = node.getOwnerDocument();
Element copy=(Element)doc.importNode(sub.getFirstChild(), true);
copyChildren(node, copy);
Element parent = (Element)node.getParentNode();
if (node.getNodeName().equals("profile")) {
copyChildren(copy, parent);
} else {
parent.replaceChild(copy,node);
}
}
// recurse through the children
Node child=node.getFirstChild();
while (child != null) {
Node next=child.getNextSibling();
if (child.getNodeType()==Node.ELEMENT_NODE) expand((Element)child);
child=next;
}
}
private void collapse(Hashtable projects, Node parent) {
Node child=parent.getFirstChild();
while (child != null) {
Node next=child.getNextSibling();
if (child.getNodeName().equals("project")) {
Element project = (Element) child;
String name = project.getAttributeNode("name").getValue();
Element priorDefinition = (Element)projects.get(name);
if (priorDefinition == null) {
projects.put(name, project);
} else {
copyChildren(project, priorDefinition);
project.getParentNode().removeChild(project);
project=priorDefinition;
}
collapse(projects, project);
}
child=next;
}
}
/**
* serialize a DOM tree to file
* @param DOM to be transformed
* @param destination file
*/
private void output(Node dom, String dest) throws Exception {
DOMSource in = new DOMSource(dom);
StreamResult out = new StreamResult(dest);
tFactory.newTransformer().transform(in, out);
}
/**
* 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);
expand((Element)workspace.getFirstChild());
collapse(new Hashtable(), workspace.getFirstChild());
Node resolved = transform(workspace, "defaults.xsl");
Node sorted = transform(resolved, "sortdep.xsl");
output (resolved, "work/merge.xml");
output (sorted, "work/sorted.xml");
}
public static void main(String[] args) {
try {
if (args.length == 1)
new gen(args[0]);
else
System.out.println("Usage: gen workspace.xml");
} catch (Exception e) {
e.printStackTrace();
System.exit(99);
}
}
}
1.1 jakarta-alexandria/proposal/gump/profile/gump.xml
Index: gump.xml
===================================================================
<profile>
<!-- Apache.Jakarta -->
<project href="project/jakarta-alexandria.xml"/>
<project href="project/jakarta-ant.xml"/>
<project href="project/jakarta-avalon-cornerstone.xml"/>
<project href="project/jakarta-avalon-logkit.xml"/>
<project href="project/jakarta-avalon-phoenix.xml"/>
<project href="project/jakarta-avalon-testlet.xml"/>
<project href="project/jakarta-avalon.xml"/>
<project href="project/jakarta-commons.xml"/>
<project href="project/jakarta-ecs.xml"/>
<project href="project/jakarta-james.xml"/>
<project href="project/jakarta-jetspeed.xml"/>
<project href="project/jakarta-jmeter.xml"/>
<project href="project/jakarta-log4j.xml"/>
<project href="project/jakarta-oro.xml"/>
<project href="project/jakarta-regexp.xml"/>
<project href="project/jakarta-servletapi-4.xml"/>
<project href="project/jakarta-servletapi.xml"/>
<project href="project/jakarta-site2.xml"/>
<project href="project/jakarta-slide.xml"/>
<project href="project/jakarta-struts.xml"/>
<project href="project/jakarta-taglibs.xml"/>
<project href="project/jakarta-tomcat-40.xml"/>
<!-- project href="project/jakarta-tomcat-41.xml"/ -->
<project href="project/jakarta-tomcat.xml"/>
<project href="project/jakarta-tools.xml"/>
<project href="project/jakarta-turbine.xml"/>
<project href="project/jakarta-velocity.xml"/>
<project href="project/jakarta-watchdog.xml"/>
<!-- Apache.XML -->
<project href="project/xml-axis.xml"/>
<project href="project/xml-batik.xml"/>
<project href="project/xml-cocoon.xml"/>
<project href="project/xml-cocoon2.xml"/>
<project href="project/xml-crimson.xml"/>
<project href="project/xml-fop.xml"/>
<project href="project/xml-site.xml"/>
<project href="project/xml-soap.xml"/>
<project href="project/xml-stylebook.xml"/>
<project href="project/xml-xalan.xml"/>
<project href="project/xml-xerces.xml"/>
<project href="project/xml-xerces2.xml"/>
<!-- exolab -->
<project href="project/castor.xml"/>
<project href="project/openejb.xml"/>
<project href="project/openjms.xml"/>
<project href="project/openorb.xml"/>
<project href="project/tyrex.xml"/>
<!-- other -->
<project href="project/bsf.xml"/>
<project href="project/freemarker.xml"/>
<project href="project/jdom.xml"/>
<project href="project/jtidy.xml"/>
<project href="project/junit.xml"/>
<project href="project/rhino.xml"/>
<project href="project/scarab.xml"/>
<project href="project/town.xml"/>
<project href="project/village.xml"/>
<!-- Sun -->
<project href="project/ejb.xml"/>
<project href="project/j2ee-connector.xml"/>
<project href="project/jaas.xml"/>
<project href="project/jaf.xml"/>
<project href="project/javamail.xml"/>
<project href="project/jaxp.xml"/>
<project href="project/jaxp11.xml"/>
<project href="project/jdbc.xml"/>
<project href="project/jms.xml"/>
<project href="project/jmx.xml"/>
<project href="project/jndi.xml"/>
<project href="project/jsse.xml"/>
<project href="project/jta.xml"/>
<project href="project/jts.xml"/>
<!-- CVS Repository overrides -->
<repository href="repository/exolab.xml"/>
<repository href="repository/sourceforge.xml"/>
</profile>
1.26 +35 -7 jakarta-alexandria/proposal/gump/stylesheet/bash.xsl
Index: bash.xsl
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/stylesheet/bash.xsl,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- bash.xsl 2001/04/21 16:21:16 1.25
+++ bash.xsl 2001/04/22 15:27:59 1.26
@@ -185,17 +185,45 @@
<xsl:text>bash publish.sh $1 </xsl:text>
<xsl:value-of select="$basedir"/>
- <xsl:text>/log/source_index.html </xsl:text>
+ <xsl:text>/log/workspace.html </xsl:text>
<xsl:for-each select="project">
- <xsl:sort select="@name"/>
+ <xsl:sort select="@defined-in"/>
+ <xsl:variable name="defined-in" select="@defined-in"/>
+ <xsl:if test="not(preceding::project[@defined-in=$defined-in])">
+ <xsl:text>bash publish.sh project/</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$basedir"/>
+ <xsl:text>/log/project_</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text>.html </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
- <xsl:text>bash publish.sh </xsl:text>
- <xsl:value-of select="translate(@href,'\','/')"/>
- <xsl:text> </xsl:text>
+ <xsl:for-each select="repository">
+ <xsl:sort select="defined-in"/>
+ <xsl:variable name="defined-in" select="@defined-in"/>
+ <xsl:if test="not(preceding::project[@defined-in=$defined-in])">
+ <xsl:text>bash publish.sh repository\</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text>.xml </xsl:text>
+ <xsl:value-of select="$basedir"/>
+ <xsl:text>\log\repository_</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text>.html </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+
+ <xsl:for-each select="profile">
+ <xsl:sort select="defined-in"/>
+
+ <xsl:text>bash publish.sh profile\</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text>.xml </xsl:text>
<xsl:value-of select="$basedir"/>
- <xsl:text>/log/source_</xsl:text>
- <xsl:value-of select="substring-before(substring-after(@href,'/'),'.')"/>
+ <xsl:text>\log\profile_</xsl:text>
+ <xsl:value-of select="@defined-in"/>
<xsl:text>.html </xsl:text>
</xsl:for-each>
1.9 +1 -1 jakarta-alexandria/proposal/gump/stylesheet/build.xsl
Index: build.xsl
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/stylesheet/build.xsl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- build.xsl 2001/04/04 20:22:56 1.8
+++ build.xsl 2001/04/22 15:27:59 1.9
@@ -60,7 +60,7 @@
<menu>
<xsl:text>Workspace: </xsl:text>
- <a href="source_index.html">definition</a>
+ <a href="workspace.html">definition</a>
<a href="xref.html">cross reference</a>
<a href="cvs_index.html">cvs logs</a>
</menu>
1.2 +28 -23 jakarta-alexandria/proposal/gump/stylesheet/sedmap.xsl
Index: sedmap.xsl
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/stylesheet/sedmap.xsl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sedmap.xsl 2001/02/04 18:03:54 1.1
+++ sedmap.xsl 2001/04/22 15:27:59 1.2
@@ -14,39 +14,44 @@
<xsl:text><font color="green"></xsl:text>
<xsl:text>&<\/font>/g </xsl:text>
+ <xsl:text>s/repository *href="\(.*\)\/\(.*\).xml"/</xsl:text>
+ <xsl:text>repository href="<a href="repository_\2.html"></xsl:text>
+ <xsl:text>\1\/\2.xml<\/a>"/g </xsl:text>
+
+ <xsl:text>s/profile *href="\(.*\)\/\(.*\).xml"/</xsl:text>
+ <xsl:text>profile href="<a href="profile_\2.html"></xsl:text>
+ <xsl:text>\1\/\2.xml<\/a>"/g </xsl:text>
+
<xsl:text>s/project *href="\(.*\)\/\(.*\).xml"/</xsl:text>
- <xsl:text>project href="<a href="source_\2.html"></xsl:text>
+ <xsl:text>project href="<a href="project_\2.html"></xsl:text>
<xsl:text>\1\/\2.xml<\/a>"/g </xsl:text>
+ <xsl:text>s/home-page&gt;\(.*\)&lt;/</xsl:text>
+ <xsl:text>home-page><a href="\1"></xsl:text>
+ <xsl:text>\1<\/a>\&lt;/g </xsl:text>
+
+ <xsl:text>s/cvs-web&gt;\(.*\)&lt;/</xsl:text>
+ <xsl:text>cvs-web><a href="\1"></xsl:text>
+ <xsl:text>\1<\/a>\&lt;/g </xsl:text>
+
<xsl:text>s/url *href="\(.*\)"/</xsl:text>
<xsl:text>url href="<a href="\1">\1<\/a>"/g </xsl:text>
- <xsl:text>s/project *name="\(.*\)"/</xsl:text>
+ <xsl:text>s/project *name="\([^ ]*\)"/</xsl:text>
<xsl:text>project name="<font color="red"></xsl:text>
<xsl:text>\1<\/font>"/g </xsl:text>
-
- <xsl:for-each select="project[@href]">
- <xsl:variable name="filename"
- select="substring-before(substring-after(@href,'/'),'.')"/>
+ <xsl:for-each select="*[@defined-in]">
- <xsl:variable name="file" select="document(@href,.)"/>
- <xsl:if test="not($file/project)">
- <xsl:message terminate="yes">
- <xsl:text>Unable to open </xsl:text>
- <xsl:value-of select="@href"/>
- </xsl:message>
- </xsl:if>
-
- <xsl:for-each select="$file//project">
- <xsl:text>s/ project="</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>"/ project="<a href="source_</xsl:text>
- <xsl:value-of select="$filename"/>
- <xsl:text>.html"></xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text><\/a>"/g </xsl:text>
- </xsl:for-each>
+ <xsl:text>s/ project="</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>"/ project="<a href="</xsl:text>
+ <xsl:value-of select="name()"/>
+ <xsl:text>_</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text>.html"></xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text><\/a>"/g </xsl:text>
</xsl:for-each>
1.7 +35 -7 jakarta-alexandria/proposal/gump/stylesheet/win2k.xsl
Index: win2k.xsl
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/stylesheet/win2k.xsl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- win2k.xsl 2001/03/20 19:00:59 1.6
+++ win2k.xsl 2001/04/22 15:27:59 1.7
@@ -154,17 +154,45 @@
<xsl:text>call publish.bat %1 </xsl:text>
<xsl:value-of select="$basedir"/>
- <xsl:text>\log\source_index.html </xsl:text>
+ <xsl:text>\log\workspace.html </xsl:text>
<xsl:for-each select="project">
- <xsl:sort select="@name"/>
+ <xsl:sort select="@defined-in"/>
+ <xsl:variable name="defined-in" select="@defined-in"/>
+ <xsl:if test="not(preceding::project[@defined-in=$defined-in])">
+ <xsl:text>call publish project\</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text>.xml </xsl:text>
+ <xsl:value-of select="$basedir"/>
+ <xsl:text>\log\project_</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text>.html </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
- <xsl:text>call publish </xsl:text>
- <xsl:value-of select="translate(@href,'/','\\')"/>
- <xsl:text> </xsl:text>
+ <xsl:for-each select="repository">
+ <xsl:sort select="defined-in"/>
+ <xsl:variable name="defined-in" select="@defined-in"/>
+ <xsl:if test="not(preceding::project[@defined-in=$defined-in])">
+ <xsl:text>call publish repository\</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text>.xml </xsl:text>
+ <xsl:value-of select="$basedir"/>
+ <xsl:text>\log\repository_</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text>.html </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+
+ <xsl:for-each select="profile">
+ <xsl:sort select="defined-in"/>
+
+ <xsl:text>call publish profile\</xsl:text>
+ <xsl:value-of select="@defined-in"/>
+ <xsl:text>.xml </xsl:text>
<xsl:value-of select="$basedir"/>
- <xsl:text>\log\source_</xsl:text>
- <xsl:value-of select="substring-before(substring-after(@href,'/'),'.')"/>
+ <xsl:text>\log\profile_</xsl:text>
+ <xsl:value-of select="@defined-in"/>
<xsl:text>.html </xsl:text>
</xsl:for-each>
1.1 jakarta-alexandria/proposal/gump/stylesheet/defaults.xsl
Index: defaults.xsl
===================================================================
<!-- ===================================================================== -->
<!-- replace references to projects with their actual definition -->
<!-- ===================================================================== -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="*|@*|text()">
<xsl:copy>
<xsl:apply-templates select="* | @* | text()"/>
</xsl:copy>
</xsl:template>
<!-- =================================================================== -->
<!-- process all projects referenced in a workspace -->
<!-- =================================================================== -->
<xsl:template match="workspace">
<xsl:variable name="basedir" select="@basedir"/>
<xsl:variable name="version">0.2</xsl:variable>
<xsl:if test="not(@version)">
<xsl:message terminate="yes">
<xsl:text>Cannot find version number, should be </xsl:text>
<xsl:text><workspace version="</xsl:text>
<xsl:value-of select="$version"/>
<xsl:text>"></xsl:text>
</xsl:message>
</xsl:if>
<xsl:if test="not(@version=$version)">
<xsl:message terminate="yes">
<xsl:text>Hmm, looks like the wrong version </xsl:text>
<xsl:value-of select="@version"/>
<xsl:text>, expecting </xsl:text>
<xsl:value-of select="$version"/>
</xsl:message>
</xsl:if>
<xsl:copy>
<!-- default banner-image, if not present -->
<xsl:if test="not(@banner-image)">
<xsl:attribute name="banner-image">
<xsl:text>http://jakarta.apache.org/images/jakarta-logo.gif</xsl:text>
</xsl:attribute>
</xsl:if>
<!-- default banner-link, if not present -->
<xsl:if test="not(@banner-link)">
<xsl:attribute name="banner-link">
<xsl:text>http://jakarta.apache.org</xsl:text>
</xsl:attribute>
</xsl:if>
<!-- default log directory, if not present -->
<xsl:if test="not(@logdir)">
<xsl:attribute name="logdir">
<xsl:value-of select="$basedir"/>
<xsl:text>/log</xsl:text>
</xsl:attribute>
</xsl:if>
<!-- default build style, if not present -->
<xsl:if test="not(@build-sequence)">
<xsl:attribute name="build-sequence">
<xsl:text>bulk</xsl:text>
</xsl:attribute>
</xsl:if>
<xsl:copy-of select="@*"/>
<!-- pre-process each project -->
<xsl:for-each select="project[not(@href)]">
<xsl:call-template name="project">
<xsl:with-param name="home" select="@home"/>
<xsl:with-param name="basedir" select="$basedir"/>
<xsl:with-param name="defined-in" select="@defined-in"/>
</xsl:call-template>
</xsl:for-each>
<!-- copy the rest -->
<xsl:apply-templates select="*[not(self::project)]"/>
</xsl:copy>
</xsl:template>
<!-- =================================================================== -->
<!-- resolve paths and add implicit dependencies to a project -->
<!-- =================================================================== -->
<xsl:template name="project">
<xsl:param name="home"/>
<xsl:param name="basedir"/>
<xsl:param name="tag"/>
<xsl:param name="defined-in"/>
<xsl:variable name="project" select="@name"/>
<!-- determine the name of the source directory -->
<xsl:variable name="srcdir">
<xsl:choose>
<xsl:when test="@srcdir">
<xsl:value-of select="@srcdir"/>
</xsl:when>
<xsl:when test="../@srcdir">
<xsl:value-of select="../@srcdir"/>
</xsl:when>
<xsl:when test="../@name">
<xsl:value-of select="../@name"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@name"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:copy>
<xsl:apply-templates select="@*[name()!='srcdir']"/>
<xsl:if test="$defined-in">
<xsl:attribute name="defined-in">
<xsl:value-of select="$defined-in"/>
</xsl:attribute>
</xsl:if>
<xsl:attribute name="srcdir">
<xsl:value-of select="$srcdir"/>
</xsl:attribute>
<xsl:attribute name="tag">
<xsl:value-of select="$tag"/>
</xsl:attribute>
<xsl:apply-templates select="*[not(self::home|self::project)] | text()"/>
<!-- Compute fully qualified home directory -->
<home>
<xsl:choose>
<xsl:when test="$home">
<xsl:value-of select="$home"/>
</xsl:when>
<xsl:when test="home/@parent">
<xsl:value-of select="$basedir"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="home/@parent"/>
</xsl:when>
<xsl:when test="home/@nested">
<xsl:value-of select="$basedir"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="$srcdir"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="home/@nested"/>
</xsl:when>
<xsl:when test="home/@dir">
<xsl:value-of select="@dir"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$basedir"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="$srcdir"/>
</xsl:otherwise>
</xsl:choose>
</home>
<xsl:text> </xsl:text>
<!-- Generate additional dependency entries, as needed -->
<xsl:for-each select="ant/property[@project!=$project]">
<xsl:variable name="dependency" select="@project"/>
<xsl:if test="not(../../depend[@project=$dependency])">
<xsl:variable name="position" select="position()"/>
<xsl:if test="not(../property[position() < $position and
@project=$dependency])">
<depend>
<xsl:attribute name="project">
<xsl:value-of select="$dependency"/>
</xsl:attribute>
<noclasspath/>
</depend>
<xsl:text> </xsl:text>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:copy>
<!-- process nested projects -->
<xsl:for-each select="project">
<xsl:text> </xsl:text>
<xsl:call-template name="project">
<xsl:with-param name="home" select="$home"/>
<xsl:with-param name="basedir" select="$basedir"/>
<xsl:with-param name="defined-in" select="$defined-in"/>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<!-- =================================================================== -->
<!-- resolve buildpath -->
<!-- =================================================================== -->
<xsl:template match="ant">
<xsl:copy>
<xsl:attribute name="buildpath">
<xsl:if test="@basedir">
<xsl:value-of select="@basedir"/>
<xsl:text>/</xsl:text>
</xsl:if>
<xsl:if test="@buildfile">
<xsl:value-of select="@buildfile"/>
</xsl:if>
<xsl:if test="not(@buildfile)">
<xsl:text>build.xml</xsl:text>
</xsl:if>
</xsl:attribute>
<xsl:copy-of select="@* | * | text()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
---------------------------------------------------------------------
To unsubscribe, e-mail: alexandria-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: alexandria-dev-help@jakarta.apache.org
Re: cvs commit: jakarta-alexandria/proposal/gump/stylesheet defaults.xsl bash.xsl build.xsl sedmap.xsl win2k.xsl
Posted by Scott Sanders <sa...@totalsync.com>.
Sam,
So is the idea with the profile that you have created a Jakarta
nightly profile, and then you just include that, overriding any
necessary parameters, such as directories as necessary?
So then there could be a 'just-project-x' profile and so forth?
Did you see the patch from Jason that I committed that substitutes based
on a properties file? What did you think about that?
Scott Sanders
rubys@apache.org wrote:
> 1.1 jakarta-alexandria/proposal/gump/profile/gump.xml
>
> Index: gump.xml
> ===================================================================
> <profile>
>
> <!-- Apache.Jakarta -->
>
> <project href="project/jakarta-alexandria.xml"/>
> <project href="project/jakarta-ant.xml"/>
> <project href="project/jakarta-avalon-cornerstone.xml"/>
> <project href="project/jakarta-avalon-logkit.xml"/>
> <project href="project/jakarta-avalon-phoenix.xml"/>
> <project href="project/jakarta-avalon-testlet.xml"/>
> <project href="project/jakarta-avalon.xml"/>
> <project href="project/jakarta-commons.xml"/>
> <project href="project/jakarta-ecs.xml"/>
> <project href="project/jakarta-james.xml"/>
> <project href="project/jakarta-jetspeed.xml"/>
> <project href="project/jakarta-jmeter.xml"/>
> <project href="project/jakarta-log4j.xml"/>
> <project href="project/jakarta-oro.xml"/>
> <project href="project/jakarta-regexp.xml"/>
> <project href="project/jakarta-servletapi-4.xml"/>
> <project href="project/jakarta-servletapi.xml"/>
> <project href="project/jakarta-site2.xml"/>
> <project href="project/jakarta-slide.xml"/>
> <project href="project/jakarta-struts.xml"/>
> <project href="project/jakarta-taglibs.xml"/>
> <project href="project/jakarta-tomcat-40.xml"/>
> <!-- project href="project/jakarta-tomcat-41.xml"/ -->
> <project href="project/jakarta-tomcat.xml"/>
> <project href="project/jakarta-tools.xml"/>
> <project href="project/jakarta-turbine.xml"/>
> <project href="project/jakarta-velocity.xml"/>
> <project href="project/jakarta-watchdog.xml"/>
>
> <!-- Apache.XML -->
>
> <project href="project/xml-axis.xml"/>
> <project href="project/xml-batik.xml"/>
> <project href="project/xml-cocoon.xml"/>
> <project href="project/xml-cocoon2.xml"/>
> <project href="project/xml-crimson.xml"/>
> <project href="project/xml-fop.xml"/>
> <project href="project/xml-site.xml"/>
> <project href="project/xml-soap.xml"/>
> <project href="project/xml-stylebook.xml"/>
> <project href="project/xml-xalan.xml"/>
> <project href="project/xml-xerces.xml"/>
> <project href="project/xml-xerces2.xml"/>
>
> <!-- exolab -->
>
> <project href="project/castor.xml"/>
> <project href="project/openejb.xml"/>
> <project href="project/openjms.xml"/>
> <project href="project/openorb.xml"/>
> <project href="project/tyrex.xml"/>
>
> <!-- other -->
>
> <project href="project/bsf.xml"/>
> <project href="project/freemarker.xml"/>
> <project href="project/jdom.xml"/>
> <project href="project/jtidy.xml"/>
> <project href="project/junit.xml"/>
> <project href="project/rhino.xml"/>
> <project href="project/scarab.xml"/>
> <project href="project/town.xml"/>
> <project href="project/village.xml"/>
>
> <!-- Sun -->
>
> <project href="project/ejb.xml"/>
> <project href="project/j2ee-connector.xml"/>
> <project href="project/jaas.xml"/>
> <project href="project/jaf.xml"/>
> <project href="project/javamail.xml"/>
> <project href="project/jaxp.xml"/>
> <project href="project/jaxp11.xml"/>
> <project href="project/jdbc.xml"/>
> <project href="project/jms.xml"/>
> <project href="project/jmx.xml"/>
> <project href="project/jndi.xml"/>
> <project href="project/jsse.xml"/>
> <project href="project/jta.xml"/>
> <project href="project/jts.xml"/>
>
> <!-- CVS Repository overrides -->
> <repository href="repository/exolab.xml"/>
> <repository href="repository/sourceforge.xml"/>
>
> </profile>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: alexandria-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: alexandria-dev-help@jakarta.apache.org