Added/upgraded default build scripts
authorAlberto Di Meglio <alberto.di.meglio@cern.ch>
Fri, 18 Jun 2004 23:05:53 +0000 (23:05 +0000)
committerAlberto Di Meglio <alberto.di.meglio@cern.ch>
Fri, 18 Jun 2004 23:05:53 +0000 (23:05 +0000)
org.glite.lb/build.xml
org.glite.lb/project/build.properties [new file with mode: 0644]
org.glite.lb/project/dependencies.properties
org.glite.lb/project/glite.lb.csf.xml [new file with mode: 0644]
org.glite.lb/project/properties.xml
org.glite.lb/project/run-workspace [new file with mode: 0644]
org.glite.lb/project/taskdefs.xml
org.glite.lb/project/version.properties [new file with mode: 0644]

index 93faca8..aac5a23 100755 (executable)
 <?xml version="1.0" encoding="UTF-8" ?>
+<!--
+       Copyright (c) 2004 on behalf of the EU EGEE Project: 
+       The European Organization for Nuclear Research (CERN), 
+       Istituto Nazionale di Fisica Nucleare (INFN), Italy
+       Datamat Spa, Italy
+       Centre National de la Recherche Scientifique (CNRS), France
+       CS Systeme d'Information (CSSI), France
+       Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden
+       Universiteit van Amsterdam (UvA), Netherlands
+       University of Helsinki (UH.HIP), Finland
+       University of Bergen (UiB), Norway
+       Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom
 
-<project name="lb" default="dist">
+       Build file for the GLite Middleware Loggin and Bookkeeping Subsystem
        
+       Authors: Ales Krenek <ljocha@ics.muni.cz>
+       Version info: $Id$
+       Release: $Name$
+
+       Revision history:
+       $Log$
+-->
+
+<project name="lb" default="dist">
+
+       <description>
+               Ant build file to build the GLite Logging and Bookkeping Subsystem
+       </description>
+               
+       <!-- =========================================
+                Builds the GLite LB subsystem
+                ========================================= -->
+
+       <!-- Import baseline & user properties -->
        <import file="../org.glite/project/baseline.properties.xml" />
-       <import file="./project/properties.xml"/>
-       <import file="${subsystem.properties.file}"/>
-       <import file="${global.properties.file}" />
 
+       <!-- Import subsystem build properties, 
+                             subsystem properties & 
+                             subsystem common properties -->
+       <import file="./project/properties.xml" />
+
+       <!-- Import global build properties and global properties -->
+       <import file="${global.properties.file}" />
+                               
+       <!-- =========================================
+                Load dependencies properties files (order is important) 
+                ========================================= -->
        <property file="${user.dependencies.file}"/>
-       <property file="${component.dependencies.file}" />
-       <property file="${subsystem.dependencies.file}" />
-       <property file="${global.dependencies.file}"/>
-       
-       <import file="${subsystem.taskdefs.file}" />
+       <property file="${subsystem.dependencies.file}"/>
+       <property file="${global.dependencies.file}"/>  
+                       
+       <!-- =========================================
+                Import global task definitions
+                ========================================= -->
        <import file="${global.taskdefs.file}" />
-
-       <import file="${global.targets-external-dependencies.file}"/>   
-       <import file="${global.targets-make.file}" />
+       
+       <!-- =========================================
+            Import global compiler definitions
+            ========================================= -->
+       <import file="${global.compilerdefs.file}" />
                
+       <!-- =========================================
+                Import targets 
+                ========================================= -->
+       <import file="${global.targets-external-dependencies.file}"/>
+       <import file="${global.targets-envchecks.file}" />
+       
+       <!-- =========================================
+                Load version file 
+                ========================================= -->
        <property file="${module.version.file}"/>
                
-       <target name="localinit"
-               description="Module specific initialization tasks">
+       
+       <!-- ===============================================
+                 Public common targets
+                =============================================== -->
+
+       <target name="envinfo">
+               <!-- Workspace paths -->
+               <echo>*****************************************************************</echo>
+               <echo>*****************************************************************</echo>
+               <echo>****** ${subsystem.name}  </echo>
+               <echo>*****************************************************************</echo>
+               <echo>*****************************************************************</echo>
+               <echo>  </echo>
+               <echo>Global project path:      ${global.dir}</echo>
+               <echo>Global project name:      ${global.name}</echo>
+               <echo>Subsystem name:           ${subsystem.name}</echo>
        </target>
+
+       <target name="envcheck" depends="envinfo,defaultenvchecks" 
+               description="Check environment configuration">
+       </target>
+
+       <target name="localinit" depends="envcheck">
+
+               <echo> Preparing directories ... </echo>
                
-       <target name="localcompile"
-               description="Module specific compile tasks">
+               <mkdir dir="${stage.bin.dir}" />
+               <mkdir dir="${stage.lib.dir}" />
+               <mkdir dir="${stage.java.dir}" />
+               <mkdir dir="${stage.inc.dir}" />
+               <mkdir dir="${stage.int.dir}" />
+
+               <mkdir dir="${dist.dir}" />
+
        </target>
-       
-       <target name="localclean"
-               description="Module specific cleaning tasks">
+
+       <target name="init" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="init"/>
+               </antcall>
        </target>
-       
-</project>             
+
+       <target name="checkstyle" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="checkstyle"/>
+               </antcall>
+       </target>
+
+       <target name="compile" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="compile"/>
+               </antcall>
+       </target>
+
+       <target name="compiletest" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="compiletest"/>
+               </antcall>
+       </target>
+
+       <target name="unittest" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="unittest"/>
+               </antcall>
+       </target>
+
+       <target name="unitcoverage" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="unitcoverage"/>
+               </antcall>
+       </target>
+
+       <target name="stage" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="stage"/>
+               </antcall>
+       </target>
+
+       <target name="dist" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="dist"/>
+               </antcall>
+       </target>
+
+       <target name="install" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="install"/>
+               </antcall>
+       </target>
+
+       <target name="doc" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="doc"/>
+               </antcall>
+       </target>
+
+       <target name="tag">
+
+               <!-- This target is not recursive
+                        It is only used to set private tags
+                        Tagging is done by the build system -->
+               <!-- TODO -->           
+
+       </target>
+
+       <target name="all" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="all"/>
+               </antcall>
+       </target>
+
+       <target name="clean">
+
+               <property name="offline.repository" value="true" />
+               <antcall target="buildmodules">
+                       <param name="target" value="clean"/>
+               </antcall>
+
+               <delete dir="${module.bin.dir}" />
+               <delete dir="${module.lib.dir}" />
+               <delete dir="${module.autosrc.dir}" />
+               <delete dir="${module.autodoc.dir}" />
+               <delete dir="${module.test.reports.dir}" />
+
+       </target>
+
+       <target name="cleanAll" depends="localinit">
+               <antcall target="buildmodules">
+                       <param name="target" value="cleanAll"/>
+               </antcall>
+       </target>
+
+       <!-- ===============================================
+                Private targets
+            =============================================== -->
+
+       <!-- ===============================================
+                Modules proxy targets
+            =============================================== -->
+
+<!--   <target name="catalog-fas-api-perl" unless="setenvonly" depends="catalog-client-perl">
+               <ant dir="${workspace.dir}/${subsystem.name}.catalog-fas-api-perl"
+                    target="${target}"
+                    inheritall="false" />
+       </target> -->
+
+       <!-- Main proxy -->
+       <target name="buildmodules" depends=""/>
+
+</project>
diff --git a/org.glite.lb/project/build.properties b/org.glite.lb/project/build.properties
new file mode 100644 (file)
index 0000000..e69de29
index dda0b85..63fd3e3 100644 (file)
@@ -1,3 +1,6 @@
+###################################################################
+# System dependencies
+###################################################################
+
 org.glite.version = HEAD
-org.glite.wms.thirdparty-globus_ssl_utils.version = HEAD
-org.glite.wms.jobid.version = HEAD
+org.glite.lb.version = HEAD
diff --git a/org.glite.lb/project/glite.lb.csf.xml b/org.glite.lb/project/glite.lb.csf.xml
new file mode 100644 (file)
index 0000000..71a79e5
--- /dev/null
@@ -0,0 +1,206 @@
+<?xml version="1.0"?>
+<!--
+       Copyright (c) 2004 on behalf of the EU EGEE Project: 
+       The European Organization for Nuclear Research (CERN), 
+       Istituto Nazionale di Fisica Nucleare (INFN), Italy
+       Datamat Spa, Italy
+       Centre National de la Recherche Scientifique (CNRS), France
+       CS Systeme d'Information (CSSI), France
+       Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden
+       Universiteit van Amsterdam (UvA), Netherlands
+       University of Helsinki (UH.HIP), Finland
+       University of Bergen (UiB), Norway
+       Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom
+
+       gLite Middleware Logging and Bookkeping Configuration Specification File
+       
+       Authors: Alberto Di Meglio <alberto.di.meglio@cern.ch>  
+                Joachim Flammer <Joachim.Flammer@cern.ch>      
+                Ales Krenek <ljocha@ics.muni.cz>
+       Version info: $Id$
+       Release: $Name$
+
+       Revision history:
+       $Log$
+-->
+
+
+<project name="GLite Middleware Logging and Bookkeping CSF" default="all">
+
+       <!-- ===============================================
+                 Determine workspace directory 
+                =============================================== -->
+
+       <!-- Relative workspace root directory -->
+       <property name="workspace.dir" value="../.." />
+       
+       <!-- ===============================================
+                Load properties
+                =============================================== -->
+
+       <!-- load baseline and user properties -->
+       <import file="${workspace.dir}/org.glite/project/baseline.properties.xml" />
+
+       <!-- define build properties file location since we are already in project dir -->
+       <property name="subsystem.build.properties.file" value="./build.properties" />
+
+       <!-- Load subsystem-specific property file -->
+       <property file="./properties.xml"/>
+
+       <!-- load global properties -->
+       <import file="${global.properties.file}" />
+
+       <!-- ===============================================
+                Load dependencies 
+                =============================================== -->
+
+       <!-- Load user dependencies file -->
+       <property file="${user.dependencies.file}" />
+               
+       <!-- Load subsystem dependencies file -->
+       <property file="./dependencies.properties" />
+
+       <!-- Load global dependencies file -->
+       <property file="${global.dependencies.file}" />
+
+       <!-- ===============================================
+                Load targets
+                =============================================== -->
+       <import file="${global.targets-envchecks.file}" />
+       <import file="${global.targets-external-dependencies.file}" />  
+
+       <!-- ===============================================
+                Evaluate CVS tags
+                =============================================== -->
+
+    <target name="evaluate.cvs.tags" description="Figure out if we need tagged CVS checkout">
+               <condition property="glite.head">
+                       <and>
+                               <equals arg1="${org.glite.version}" arg2="HEAD" />
+                               <or>
+                                       <istrue value="${update}" />
+                                       <not>
+                                               <available file="${global.dependencies.file}" type="file" />
+                                       </not>
+                               </or>
+                       </and>
+               </condition>
+               <condition property="glite.tag">
+                       <and>
+                               <not>
+                                       <equals arg1="${org.glite.version}" arg2="HEAD" />
+                               </not>
+                               <or>
+                                       <istrue value="${update}" />
+                                       <not>
+                                               <available file="${global.dependencies.file}" type="file" />
+                                       </not>
+                               </or>
+                       </and>
+               </condition>
+               <condition property="glite-lb.head">
+                       <and>
+                               <equals arg1="${org.glite.lb.version}" arg2="HEAD" />
+                               <istrue value="${update}" />
+                       </and>
+               </condition>
+               <condition property="glite-lb.tag">
+                       <and>
+                               <not>
+                                       <equals arg1="${org.glite.lb.version}" arg2="HEAD" />
+                               </not>
+                               <istrue value="${update}" />
+                       </and>
+               </condition>
+               <condition property="common.head">
+                       <equals arg1="${org.glite.lb.common.version}" arg2="HEAD" />
+               </condition>
+    </target>
+
+    <presetdef name="cvs-co">
+               <cvs command="checkout" dest="${workspace.dir}" />
+    </presetdef>
+
+       <!-- =====================================================
+                Self-update if required
+                ===================================================== -->
+               
+       <!-- Update main GLite module -->
+       <target name="org.glite" depends="get.glite.head, get.glite.tag"/>
+       <target name="get.glite.head" if="glite.head">
+               <cvs-co package="org.glite" />
+       </target>
+       <target name="get.glite.tag" if="glite.tag">
+               <cvs-co package="org.glite"
+                       tag="${org.glite.version}" />
+       </target>
+
+       <!-- Update the current module -->
+       <target name="org.glite.lb" depends="get.glite-lb.head, get.glite-lb.tag"/>
+       <target name="get.glite-lb.head" if="glite-lb.head">
+               <cvs-co package="org.glite.lb" />
+               <fail>The org.glite and org.glite.lb modules have been updated, please rerun the configuration file</fail>
+       </target>
+       <target name="get.glite-lb.tag" if="glite-lb.tag">
+               <cvs-co package="org.glite.lb"
+                       tag="${org.glite.lb.version}" />
+               <fail>The org.glite and org.glite.lb modules have been updated, please rerun the configuration file</fail>
+       </target>
+
+       <!-- *****************************************************-->
+       <!-- Development tools                                    -->
+       <!-- *****************************************************-->
+       
+       <!-- All development tools -->
+       <target name="devtools" depends="junitcheck,
+                                                                        junit,
+                                                                        chkstyle,
+                                                                        jalopy,
+                                                                        ant-contrib,
+                                                                        cpptasks,
+                                                                        egee-ant-ext"
+                       description="Get development tools into repository."/>          
+
+       <!-- =====================================================
+                External libraries
+                ===================================================== -->
+       
+       <!--  All external libraries -->
+       <target name="external" depends="globus"
+                       description="Install external packages"/>
+       
+       <!-- =====================================================
+                GLite Middleware R-GMA modules
+                ===================================================== -->
+       
+       <!-- All project modules -->
+       <target name="project" depends=""/>
+
+       <!-- common -->
+       <target name="common" depends="get.common.head, get.common.tag"/>
+       <target name="get.common.head" if="common.head">
+               <cvs-co package="org.glite.lb.common" />
+       </target>
+       <target name="get.common.tag" unless="common.head">
+               <cvs-co package="org.glite.lb.common"
+                       tag="${org.glite.lb.common.version}" />
+       </target>
+
+       <!-- ====================================================
+                Checkout all
+                ==================================================== -->
+       
+       <!-- All libraries -->
+       <target name="all" depends="evaluate.cvs.tags, defaultenvchecks, org.glite, org.glite.lb, devtools, external, project" />               
+
+       <!-- ====================================================
+                Print dependecies to console
+                ==================================================== -->
+       
+       <target name="dependencies">
+               <concat>
+                       <fileset dir="." includes="dependencies.properties" />
+               </concat>
+       </target>               
+
+</project>
index 1ad8900..0d0291a 100755 (executable)
@@ -1,17 +1,55 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+       Copyright (c) 2004 on behalf of the EU EGEE Project: 
+       The European Organization for Nuclear Research (CERN), 
+       Istituto Nazionale di Fisica Nucleare (INFN), Italy
+       Datamat Spa, Italy
+       Centre National de la Recherche Scientifique (CNRS), France
+       CS Systeme d'Information (CSSI), France
+       Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden
+       Universiteit van Amsterdam (UvA), Netherlands
+       University of Helsinki (UH.HIP), Finland
+       University of Bergen (UiB), Norway
+       Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom
 
-<project name="LB Subsystem common properties">
+       Common build properties file for the gLite LB modules
+       
+       Authors: Ales Krenek <ljocha@ics.muni.cz>
+                        Alberto Di Meglio <alberto.di.meglio@cern.ch>          
+       Version info: $Id$
+       Release: $Name$
+
+       Revision history:
+       $Log$
+-->
+
+<project name="Logging and Bookkeping subsystem common properties">
+
+       <!-- Include build properties to allow overwriting 
+            of properties for subsystem                    -->
        <property name="subsystem.build.properties.file" value="./project/build.properties" />
        <property file="${subsystem.build.properties.file}" />  
+
+       <!-- ======================================================
+          Define subsystem properties
+                ====================================================== -->
+       
+       <!-- Subsystem name -->
        <property name="subsystem.name" value="${lb.subsystem.name}"/>
+       
+       <!-- Subsystem prefix -->
        <property name="subsystem.prefix" value="${lb.subsystem.prefix}"/>
-
+       
+       <!-- ======================================================
+          Define general subsystem properties
+                ====================================================== -->
+               
+       <!-- Include common subsystem properties -->
        <import file="${subsystem.general.properties.file}" />
-
-       <!--  XXX: should be resolved at project level -->
-       <property name="ext.ares.subdir" value="ares" />
-       <property name="ext.expat.subdir" value="expat" />
-       <property name="ext.voms.subdir" value="voms" />
-       <property name="ext.gacl.subdir" value="gacl" />
-       <property name="ext.mysql.subdir" value="mysql" />
-</project>
+       
+       <!-- ======================================================
+                Define extra properties here ...
+                ====================================================== -->
+                       
+               
+</project>
\ No newline at end of file
diff --git a/org.glite.lb/project/run-workspace b/org.glite.lb/project/run-workspace
new file mode 100644 (file)
index 0000000..bb6ac7f
--- /dev/null
@@ -0,0 +1,8 @@
+#! /bin/sh\r
+\r
+cd ../..\r
+cvs co org.glite\r
+cvs co org.glite.lb\r
+\r
+cd org.glite.lb/project\r
+ant -f glite.lb.csf.xml\r
index 1f92bef..251f790 100755 (executable)
@@ -1,34 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+       Copyright (c) 2004 on behalf of the EU EGEE Project: 
+       The European Organization for Nuclear Research (CERN), 
+       Istituto Nazionale di Fisica Nucleare (INFN), Italy
+       Datamat Spa, Italy
+       Centre National de la Recherche Scientifique (CNRS), France
+       CS Systeme d'Information (CSSI), France
+       Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden
+       Universiteit van Amsterdam (UvA), Netherlands
+       University of Helsinki (UH.HIP), Finland
+       University of Bergen (UiB), Norway
+       Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom
 
-<project name="LB Subsystem common tasks and types definitions">
-       <target name="lbmakefiles">
-               <exec executable="ln" failonerror="true">
-                       <arg line="-fs ${component.dir}/Makefile ${module.build.dir}/Makefile"/>
-               </exec>
-               <echo file="${module.build.dir}/Makefile.inc">
-repository=${repository}
-platform=${platform}
-globus=${ext.globus.subdir}
-lbproject=${subsystem.project.dir}
-lbconfig=${subsystem.dir}/config
-src=${module.src.dir}
-interface=${module.int.dir}
-autosrc=${module.autosrc.dir}
-stageinc=${stage.inc.dir}
-stagelib=${stage.lib.dir}
-stagebin=${stage.bin.dir}
-globalprefix=${global.prefix}
-lbprefix=${subsystem.prefix}
-installdir=${install.dir}
-globusflavour=gcc32dbg
-ares=${ext.ares.subdir}
-expat=${ext.expat.subdir}
-voms=${ext.voms.subdir}
-gacl=${ext.gacl.subdir}
-mysql=${ext.mysql.subdir}
-</echo>
-       </target>
+       Common Ant task definition file for the gLite Logging and Bookeeping modules
+       
+       Authors: Ales Krenek <ljocha@ics.muni.cz>
+                        Alberto Di Meglio <alberto.di.meglio@cern.ch>          
+       Version info: $Id$
+       Release: $Name$
 
-       <target name="clean-autotools">
-       </target>
-</project>
+       Revision history:
+       $Log$
+-->
+
+<project name="Logging and Bookeeping subsystem common tasks and types definitions">
+       
+       <!-- ======================================================
+                Subsystem task definitions
+                ====================================================== -->
+       
+</project>
\ No newline at end of file
diff --git a/org.glite.lb/project/version.properties b/org.glite.lb/project/version.properties
new file mode 100644 (file)
index 0000000..e78612b
--- /dev/null
@@ -0,0 +1,3 @@
+module.version = 0.0.0
+module.build = 0
+module.age = 0
\ No newline at end of file