You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Sebastien Diot <s....@eurodata.de> on 2002/04/19 11:48:47 UTC
Request for comments: XML format for representing dependencies
Hallo!
In our projects, we have problems keeping all dependencies in sync, so I
thought we could use a special XML format to represent dependencies and
generate (with XSLT) program-specific dependency information from that
central file. Main avantages are that everything is centrally kept and that
we are then independent from a specific IDE and build process.
We need to represent dependencies for:
* make/ant target dependencies (we haven't moved to Ant yet, but I'm
working on it... :)
* javac/jikes classpath
* <project>.jpx (JBuilder project files).
* <project>.library (JBuilder library files).
* <project>.mf (Manifest files).
Here is my first thought on the subject ; any comments welcome :
<!DOCTYPE dependencies [
<!-- A Jar file constituting a Library -->
<!ELEMENT jar EMPTY>
<!ATTLIST jar path CDATA 'lib'>
<!ATTLIST jar file NMTOKEN #REQUIRED>
<!-- A Library -->
<!ELEMENT library jar+>
<!ATTLIST library name ID #REQUIRED>
<!-- The Jar file for a Project (defaults to ./"Project name".jar) -->
<!ELEMENT projectJar EMPTY>
<!ATTLIST projectJar path CDATA '.'>
<!ATTLIST projectJar file NMTOKEN #REQUIRED>
<!-- A direct Project dependency -->
<!ELEMENT direct EMPTY>
<!ATTLIST direct name IDREF #REQUIRED>
<!-- A runtime Project dependency -->
<!ELEMENT runtime EMPTY>
<!ATTLIST runtime name IDREF #REQUIRED>
<!-- A compile-time indirect Project dependency -->
<!ELEMENT compiletime EMPTY>
<!ATTLIST compiletime name IDREF #REQUIRED>
<!-- A Project -->
<!ELEMENT project (projectJar?,direct*,compiletime*,runtime*)>
<!ATTLIST project name ID #REQUIRED>
<!-- The Root Element (specifies with which JDK to compile).-->
<!ELEMENT dependencies (library*, project*)>
<!ATTLIST dependencies jdk CDATA #REQUIRED>
]>
<dependencies jdk="java 1.3.1-b24">
<library name="Log4J">
<jar file="log4j.jar"/>
<jar file="log4j-core.jar"/>
</library>
<library name="JVI 6.0">
<jar file="jvi6.0.2-jdk1.2.jar"/>
<jar file="jta-spec1_0_1.jar"/>
</library>
<library name="JAXP">
<jar file="jaxp.jar"/>
<jar file="crimson.jar"/>
</library>
<library name="PrintServer">
<jar file="BS2PrintServer.jar"/>
</library>
<project name="eurodata">
<direct name="PrintServer"/>
<direct name="Log4J"/>
<direct name="JVI 6.0"/>
<direct name="JAXP"/>
</project>
</dependencies>
MfG / Regards,
Sebastien Diot
eurodata GmbH & Co. KG
Gro?blittersdorfer Str. 257-259
66119 Saarbrucken
Tel: 0681 8808 796
Fax: 0681 8808 300
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>