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:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to