summaryrefslogtreecommitdiff
path: root/java/module.xml
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2006-09-19 22:06:50 +0000
committerRafael H. Schloming <rhs@apache.org>2006-09-19 22:06:50 +0000
commit913489deb2ee9dbf44455de5f407ddaf4bd8c540 (patch)
tree7ea442d6867d0076f1c9ea4f4265664059e7aff5 /java/module.xml
downloadqpid-python-913489deb2ee9dbf44455de5f407ddaf4bd8c540.tar.gz
Import of qpid from etp:
URL: https://etp.108.redhat.com/svn/etp/trunk/blaze Repository Root: https://etp.108.redhat.com/svn/etp Repository UUID: 06e15bec-b515-0410-bef0-cc27a458cf48 Revision: 608 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@447994 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/module.xml')
-rw-r--r--java/module.xml230
1 files changed, 230 insertions, 0 deletions
diff --git a/java/module.xml b/java/module.xml
new file mode 100644
index 0000000000..0a4470d483
--- /dev/null
+++ b/java/module.xml
@@ -0,0 +1,230 @@
+<!--
+ -
+ - Copyright (c) 2006 The Apache Software Foundation
+ -
+ - Licensed under the Apache License, Version 2.0 (the "License");
+ - you may not use this file except in compliance with the License.
+ - You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -
+ -->
+<project name="module">
+
+ <import file="common.xml"/>
+
+ <map property="module" value="${basedir}">
+ <globmapper from="${project.root}${file.separator}*" to="*"/>
+ </map>
+
+ <property name="module.dir" value="${build.dir}/${module}"/>
+ <property name="module.classes" value="${module.dir}/${classes.dir}"/>
+ <property name="module.precompiled" value="${module.dir}/${src.dir}"/>
+
+ <map property="module.name" value="${module}">
+ <filtermapper>
+ <replacestring from="${file.separator}" to="-"/>
+ </filtermapper>
+ </map>
+
+ <property name="module.jar" location="${module.dir}/${module.name}.jar"/>
+ <property name="module.launcher"
+ location="${module.dir}/${module.name}${launcher.sfx}"/>
+ <property name="module.manifest"
+ location="${module.dir}/${module.name}.mf"/>
+ <property name="module.doc" location="${module.dir}/${doc.dir}"/>
+ <property name="module.src" location="${src.dir}"/>
+ <property name="module.lib" location="${lib.dir}"/>
+ <property name="module.etc" location="${etc.dir}"/>
+
+ <!-- module.depends is supplied by the importing file -->
+ <pathconvert property="module.depends.dirs" pathSep=" ">
+ <path>
+ <dirset dir="${project.root}" includes="${module.depends}"/>
+ </path>
+ <globmapper from="${project.root}${file.separator}*" to="*"/>
+ </pathconvert>
+
+ <map property="module.depends.names" value="${module.depends.dirs}">
+ <filtermapper>
+ <replacestring from="${file.separator}" to="-"/>
+ </filtermapper>
+ </map>
+
+ <map property="module.depends.libs" value="${module.depends.dirs}"
+ setonempty="false">
+ <regexpmapper from="(.*)" to="\1/${lib.dir}/\*\*\/*\.jar" handledirsep="/"/>
+ </map>
+ <map property="module.depends.classes" value="${module.depends.dirs}" join=":">
+ <globmapper from="*" to="${build.dir}/*/${classes.dir}"/>
+ </map>
+
+ <path id="module.src.path">
+ <pathelement location="${module.src}"/>
+ <pathelement location="${module.precompiled}"/>
+ </path>
+
+ <path id="module.class.path">
+ <pathelement location="${module.classes}"/>
+ <fileset dir="${module.lib}" includes="**/*.jar"/>
+ <pathelement path="${module.depends.classes}"/>
+ <fileset dir="${project.root}" includes="${module.depends.libs}"/>
+ </path>
+
+ <pathconvert property="module.manifest.jars" pathsep=" " dirsep="/">
+ <path>
+ <fileset dir="${module.lib}" includes="**/*.jar"/>
+ </path>
+ <globmapper from="${module.lib}${file.separator}*" to="*"/>
+ </pathconvert>
+
+ <map property="module.manifest.deps" value="${module.depends.dirs}">
+ <globmapper from="*" to="*${launcher.sfx}"/>
+ </map>
+
+ <property name="module.manifest.classpath"
+ value="${module.name}.jar ${module.manifest.jars} ${module.manifest.deps}"/>
+
+ <target name="debug">
+ <echo message="basedir = ${basedir}"/>
+ <echo message = "project.root = ${project.root}"/>
+ <echo message = "module = ${module}"/>
+ <echo message = "module.name = ${module.name}"/>
+ <echo message = "module.jar = ${module.jar}"/>
+ <echo message = "module.depends = ${module.depends}"/>
+ <echo message = "module.depends.libs = ${module.depends.libs}"/>
+ <echo message = "module.depends.dirs = ${module.depends.dirs}"/>
+ <echo message = "module.depends.classes = ${module.depends.classes}"/>
+
+ <pathconvert property="module.class.path" refid="module.class.path"/>
+ <echo message = "module.class.path = ${module.class.path}"/>
+ <pathconvert property="pretty.module.class.path"
+ refid="module.class.path"
+ pathsep="${line.separator}| |-- "/>
+ <echo message = "pretty.module.class.path = ${pretty.module.class.path}"/>
+
+ <pathconvert property="module.src.path" refid="module.src.path"/>
+ <echo message= "module.src.path = ${module.src.path}"/>
+ <pathconvert property="pretty.module.src.path"
+ refid="module.src.path"
+ pathsep="${line.separator}| |-- "/>
+ <echo message = "pretty.module.src.path = ${pretty.module.src.path}"/>
+ </target>
+
+ <target name="prepare">
+ <mkdir dir="${module.classes}"/>
+ <mkdir dir="${module.precompiled}"/>
+ <mkdir dir="${module.doc}"/>
+ </target>
+
+ <target name="precompile"/>
+
+ <target name="compile" depends="prepare,precompile">
+ <javac destdir="${module.classes}" target="${java.target}"
+ source="${java.source}" debug="on">
+ <src refid="module.src.path"/>
+ <classpath refid="module.class.path"/>
+ </javac>
+
+ <!-- copy any non java src files into the build tree, e.g. log4j.properties -->
+ <copy todir="${module.classes}" verbose="true">
+ <fileset dir="${module.src}">
+ <exclude name="**/*.java"/>
+ <exclude name="**/package.html"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="dist-bin">
+ <mkdir dir="${destdir}"/>
+ <copy todir="${destdir}" failonerror="false">
+ <fileset dir="${src.bin}"/>
+ </copy>
+ <chmod dir="${destdir}" perm="ugo+rx" includes="**/*"/>
+ </target>
+
+ <target name="build" depends="compile">
+ <antcall target="dist-bin">
+ <param name="destdir" value="${build.dir}/${bin.dir}"/>
+ </antcall>
+ <copy todir="${build.dir}/${etc.dir}" failonerror="false">
+ <fileset dir="${module.etc}" excludes="**/*.conf"/>
+ </copy>
+ <copy todir="${build.dir}/${etc.dir}" failonerror="false">
+ <fileset dir="${build.dir}/${etc.dir}" includes="**/*.dev"/>
+ <mapper>
+ <globmapper from="*.dev" to="*"/>
+ </mapper>
+ </copy>
+ </target>
+
+ <target name="test"/>
+
+ <uptodate property="doc.done" targetfile="${module.doc}/index.html">
+ <srcfiles dir="${module.src}" includes="**/*.java"/>
+ </uptodate>
+
+ <target name="doc" depends="prepare" unless="doc.done">
+ <javadoc destdir="${module.doc}" sourcepathref="module.src.path"
+ classpathref="module.class.path" packagenames="*"/>
+ </target>
+
+ <target name="jar" depends="build">
+ <jar destfile="${module.jar}" basedir="${module.classes}"/>
+ </target>
+
+ <target name="manifest-main" if="module.main">
+ <manifest file="${module.manifest}">
+ <attribute name="Main-Class" value="${module.main}"/>
+ <attribute name="Class-Path" value="${module.manifest.classpath}"/>
+ </manifest>
+ </target>
+
+ <target name="manifest-lib" unless="module.main">
+ <manifest file="${module.manifest}">
+ <attribute name="Class-Path" value="${module.manifest.classpath}"/>
+ </manifest>
+ </target>
+
+ <target name="launcher" depends="manifest-main,manifest-lib">
+ <jar destfile="${module.launcher}" manifest="${module.manifest}"/>
+ </target>
+
+ <condition property="module.nodist">
+ <and>
+ <isset property="module.dist"/>
+ <isfalse value="${module.dist}"/>
+ </and>
+ </condition>
+
+ <target name="dist-lib" depends="jar,launcher,doc" unless="module.nodist">
+ <copy todir="${dist.lib}" file="${module.jar}"/>
+ <copy todir="${dist.lib}" file="${module.launcher}"/>
+ <copy todir="${dist.lib}" failonerror="false">
+ <fileset dir="${module.lib}"/>
+ </copy>
+ <copy todir="${dist.doc}/${module}">
+ <fileset dir="${module.doc}"/>
+ </copy>
+ </target>
+
+ <target name="dist" depends="dist-lib" unless="module.nodist">
+ <antcall target="dist-bin">
+ <param name="destdir" value="${dist.bin}"/>
+ </antcall>
+ <copy todir="${dist.etc}" failonerror="false">
+ <fileset dir="${module.etc}" excludes="**/*.dev"/>
+ </copy>
+ </target>
+
+ <target name="clean">
+ <delete dir="${module.dir}"/>
+ </target>
+
+</project>