[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [higgins-dev] Build scripts for higgins components
|
A suggestion:
Create a single 'global' file for dependency projects information, and another (or the same) for remote libs information such that a project's dependencies can refer to elements of the single 'global' file. This way, each project's dependencies.xml file can be much smaller, have less duplication, and be less prone to maintenance if/when locations of things change.
I've attached examples. The global_*.xml files could be located in some shared project (like org.eclipse.releng.auto).
If we do this, it may be easy to either auto-generate the dependencies.xml file, or just have the build tool use the project's .settings file (as the .settings file already has this information). This way, the project maintainer doesn't have to update the project properties as well as another dependency file.
Jim
>>> Valery Kokhan <vkokhan@xxxxxxxxxxxxxx> 7/19/07 8:41 AM >>> We're trying to change the process of automated builds for higgins components in order to simplify the process of adding new components to be build by the automated builds.
We have almost completed build scripts designed for automated builds but we're trying to make them as smart as possible.
Our new build scripts are requires a very small amount of information about the component to build but they also assumes that some addition information about the component is provided by the component itself.
The information we need from the building component is its dependencies and where to get them. Current implementation reads a specific xml file from the component in order to find out project's dependencies (both projects and libs) and download them prior to run actual build.
Attached is an example of such xml file with the project dependencies for *.cardspace.common project.
Now we're trying to start running automated builds on build.eclipse.org using new approach for *.icard.* components but I believe that when we finish they should work for all other higgins components as well.
When we finish I'm going to document on the higgins wiki how to add new component to the build process.
Any questions and/or suggestions are welcome.
-- Thanks,
Valery
|
<?xml version="1.0" encoding="UTF-8"?>
<dependencies id="org.eclipse.higgins.icard.provider.cardspace.common">
<higginsProjects>
<project id="org.eclipse.higgins.icard"/>
<project id="org.eclipse.higgins.registry"/>
</higginsProjects>
<remoteLibs>
<location>lib</location>
<library id="commons-logging-1.1.jar"/>
<library id="serializer.jar"/>
<library id="xalan.jar"/>
<library id="xercesImpl.jar"/>
<library id="xmlsec-1.4.0.jar"/>
</remoteLibs>
</dependencies>
<?xml version="1.0" encoding="UTF-8"?>
<libraries>
<library id="commons-logging-1.1.jar">
<url>
http://shangrila.parityinc.net:8888/projects_deps/org.eclipse.higgins.icard.provider.cardspace.common/commons-logging-1.1.jar
</url>
</library>
<library id="serializer.jar">
<url>
http://shangrila.parityinc.net:8888/projects_deps/org.eclipse.higgins.icard.provider.cardspace.common/serializer.jar
</url>
</library>
<library id="xalan.jar">
<url>
http://shangrila.parityinc.net:8888/projects_deps/org.eclipse.higgins.icard.provider.cardspace.common/xalan.jar
</url>
</library>
<library id="xercesImpl.jar">
<url>
http://shangrila.parityinc.net:8888/projects_deps/org.eclipse.higgins.icard.provider.cardspace.common/xercesImpl.jar
</url>
</library>
<library id="xmlsec-1.4.0.jar">
<url>
http://shangrila.parityinc.net:8888/projects_deps/org.eclipse.higgins.icard.provider.cardspace.common/xmlsec-1.4.0.jar
</url>
</library>
</libraries>
<?xml version="1.0" encoding="UTF-8"?>
<projects>
<project id="org.eclipse.higgins.icard">
<version>HEAD</version>
<repositoryLocation>
:pserver:anonymous@xxxxxxxxxxxxxxx:/cvsroot/technology
</repositoryLocation>
<password></password>
<path>
org.eclipse.higgins/plugins/org.eclipse.higgins.icard
</path>
</project>
<project id="org.eclipse.higgins.registry">
<version>HEAD</version>
<repositoryLocation>
:pserver:anonymous@xxxxxxxxxxxxxxx:/cvsroot/technology
</repositoryLocation>
<password></password>
<path>
org.eclipse.higgins/plugins/org.eclipse.higgins.registry
</path>
</project>
</projects>