<?xml version="1.0"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You 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="modules/core/build.xml" default="main" basedir="../.."> | |
<!-- properties --> | |
<property file="${basedir}/build.properties"/> | |
<property name="lib.dir" value="${basedir}/lib"/> | |
<property name="module.dir" value="${basedir}/modules/core"/> | |
<property name="module.lib.dir" location="${module.dir}/lib"/> | |
<property name="tomcat.lib.dir" location="${basedir}/servers/apache-tomcat-6.0.29/lib" /> | |
<property name="module.src" value="${module.dir}/src"/> | |
<property name="module.classes" value="${module.dir}/classes"/> | |
<property name="module.jar" value="${lib.dir}/flex-messaging-core.jar"/> | |
<property name="module.dist.dir" value="${basedir}/dist/source"/> | |
<property name="common.src" value="${basedir}/modules/common/src"/> | |
<property name="remoting.src" value="${basedir}/modules/remoting/src"/> | |
<property name="proxy.src" value="${basedir}/modules/proxy/src"/> | |
<property name="opt.src" value="${basedir}/modules/opt/src"/> | |
<property name="build.number" value=""/> | |
<!-- j2ee apis required to compile --> | |
<path id="classpath"> | |
<fileset dir="${lib.dir}" erroronmissingdir="false" includes="**/*.jar"/> | |
<fileset dir="${module.lib.dir}" erroronmissingdir="false" includes="**/*.jar"/> | |
<fileset dir="${tomcat.lib.dir}" erroronmissingdir="false" includes="**/*.jar"/> | |
</path> | |
<target name="main" depends="clean,prepare,run-depend,jar" description="cleans and runs the full build"/> | |
<target name="dev" depends="prepare,run-depend,jar" description="runs src.depend build for development"/> | |
<target name="prepare"> | |
<mkdir dir="${lib.dir}"/> | |
<mkdir dir="${module.classes}"/> | |
</target> | |
<target name="run-depend" if="src.depend"> | |
<echo message="Removing class files that changed and dependent class files."/> | |
<depend cache="${module.classes}" srcdir="${module.src}" destdir="${module.classes}"/> | |
</target> | |
<target name="compile" depends="prepare" description="compile"> | |
<javac debug="${src.debug}" destdir="${module.classes}" | |
srcdir="${module.src}" classpathref="classpath" > | |
<include name="**/*.java" /> | |
<exclude name="flex/messaging/cluster/JGroupsCluster.java" /> | |
<exclude name="flex/messaging/cluster/ClusterNode.java" /> | |
<exclude name="flex/messaging/cluster/ClusterMembershipListener.java" /> | |
</javac> | |
<echo file="${module.classes}/flex/messaging/version.properties" append="false">build=${build.number}</echo> | |
<copy todir="${module.classes}/flex/messaging" overwrite="true"> | |
<fileset dir="${module.src}/flex/messaging" includes="*.properties"/> | |
</copy> | |
<copy toDir="${module.classes}" file="${module.dir}/AdobeInfo.xml" /> | |
</target> | |
<!-- only compile jgroups code if jgroups present --> | |
<condition property="jgroups.available"> | |
<available classname="org.jgroups.Channel" classpathref="classpath"/> | |
</condition> | |
<target name="compile-jgroups" depends="prepare" if="jgroups.available"> | |
<echo >-== Found JGroups, compiling JGroups cluster implementation ==-</echo> | |
<javac debug="${src.debug}" destdir="${module.classes}" srcdir="${module.src}" | |
classpathref="classpath" > | |
<include name= "flex/messaging/cluster/JGroupsCluster.java" /> | |
<include name= "flex/messaging/cluster/ClusterNode.java" /> | |
<include name= "flex/messaging/cluster/ClusterMembershipListener.java" /> | |
</javac> | |
</target> | |
<!-- jar containing messaging core infrastructure --> | |
<target name="jar" depends="compile,compile-jgroups"> | |
<jar destfile="${module.jar}" basedir="${module.classes}"> | |
<include name="AdobeInfo.xml"/> | |
<include name="flex/management/**"/> | |
<include name="flex/messaging/**"/> | |
<include name="flex/core/**"/> | |
<exclude name=".dependency-info/**"/> | |
<manifest> | |
<attribute name="Sealed" value="${manifest.sealed}"/> | |
<attribute name="Implementation-Title" value="${manifest.Implementation-Title} - Community Edition"/> | |
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/> | |
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/> | |
</manifest> | |
</jar> | |
<delete failonerror="false"> | |
<fileset dir="${module.classes}/flex/messaging" includes="*.properties"/> | |
</delete> | |
</target> | |
<target name="clean" description="clean"> | |
<delete file="${module.jar}" failonerror="false"/> | |
<delete failonerror="false" includeEmptyDirs="true"> | |
<fileset dir="${module.classes}"> | |
<include name="**/*"/> | |
<exclude name="dependencies.txt"/> | |
<exclude name=".dependency-info/**"/> | |
</fileset> | |
</delete> | |
<delete dir="${module.classes}" failonerror="false" includeEmptyDirs="true"/> | |
<echo>modules/core clean</echo> | |
</target> | |
<target name="javadoc"> | |
<path id="javadoc.classpath"> | |
<path refid="classpath"/> | |
<fileset dir="${basedir}/modules/opt/lib" includes="*.jar" excludes="catalina-708.jar"/> | |
</path> | |
<mkdir dir="${basedir}/docs"/> | |
<mkdir dir="${basedir}/docs/api"/> | |
<javadoc | |
access="public" | |
destdir="${basedir}/docs/api" | |
doclet="ExcludeDoclet" | |
docletpathref="javadoc.classpath" | |
author="false" | |
version="true" | |
use="true" | |
sourcePath="${common.src};${module.src};${remoting.src};${proxy.src};${opt.src}/jrun;${opt.src}/oracle;${opt.src}/tomcat;${opt.src}/weblogic;${opt.src}/websphere" | |
classpathref="javadoc.classpath" | |
packageNames="flex.*" | |
failonerror="true" | |
windowtitle="${manifest.Implementation-Title} - Public APIs"> | |
<doctitle><![CDATA[<h1>${manifest.Implementation-Title} - Public APIs</h1><h2>Build: ${manifest.Implementation-Version}.${build.number}</h2>]]></doctitle> | |
<bottom><![CDATA[<i>Copyright © 2008 Adobe Systems Inc. All Rights Reserved.</i>]]></bottom> | |
<group title="Messaging APIs" packages="flex.messaging:flex.messaging.services"/> | |
<group title="AMF Serialization APIs" packages="flex.messaging.io.amf"/> | |
<group title="Logging and Debugging APIs" packages="flex.messaging.log"/> | |
<group title="Configuration APIs" packages="flex.messaging.config:flex.messaging.security"/> | |
<group title="Management APIs" packages="flex.management, flex.management.jmx, flex.management.runtime.*"/> | |
<link offline="false" href="http://java.sun.com/j2se/1.5.0/docs/api/" packagelistLoc="C:\tmp"/> | |
</javadoc> | |
<zip destfile="${basedir}/docs/javadoc.zip" basedir="${basedir}/docs/api" /> | |
</target> | |
</project> | |