| <?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. |
| --> |
| |
| <!-- JSecurity root build file. If you want to understand how the JSecurity build environment |
| works (useful if you want to build from scratch or join the project as a developer), |
| Read this article: |
| |
| An Ant Modular Build Environment for Enterprise Applications: |
| http://www.onjava.com/pub/a/onjava/2005/06/22/modularant.html |
| |
| Reading this will instantly make you familiar with our build. |
| --> |
| <project name="jsecurity" default="all" xmlns:ivy="antlib:org.apache.ivy.ant"> |
| |
| <import file="./common.ant.xml"/> |
| |
| <property name="ivy.install.version" value="2.0.0-beta2"/> |
| <condition property="ivy.home" value="${env.IVY_HOME}"> |
| <isset property="env.IVY_HOME"/> |
| </condition> |
| <property name="ivy.home" value="${user.home}/.ant"/> |
| <property name="ivy.jar.dir" value="${ivy.home}/lib"/> |
| <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar"/> |
| |
| <property name="src.ref.dir" value="${root.base.dir}/docs/reference"/> |
| <property name="dist.ref.dir" value="${docs.dir}/reference"/> |
| <!-- default to single sided: --> |
| <property name="double.sided" value="0"/> |
| |
| <path id="javadoc.src"> |
| <pathelement location="${root.base.dir}/core/src"/> |
| <pathelement location="${root.base.dir}/web/src"/> |
| <pathelement location="${root.base.dir}/support/ehcache/src"/> |
| <pathelement location="${root.base.dir}/support/quartz/src"/> |
| <pathelement location="${root.base.dir}/support/spring/src"/> |
| </path> |
| |
| <path id="all.src"> |
| <path refid="javadoc.src"/> |
| <pathelement location="${root.base.dir}/samples/spring/src"/> |
| <pathelement location="${root.base.dir}/samples/spring-hibernate/src"/> |
| </path> |
| |
| <!-- To disable this task (maybe behind a firewall?), use the -Doffline=true command-line switch --> |
| <target name="download-ivy" unless="offline" description="Ensures Ivy exists for automatic dependency mgt"> |
| <mkdir dir="${ivy.jar.dir}"/> |
| <!-- download Ivy from web site so that it can be used even without any special installation --> |
| <echo message="Installing Ivy for automated dependecy management..."/> |
| <get src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" |
| dest="${ivy.jar.file}" usetimestamp="true"/> |
| </target> |
| |
| <!-- ================================= |
| target: load-ivy |
| This target is not necessary if you put ivy.jar in your ant lib directory. |
| If you already have ivy in your ant lib, you can simply remove this target. |
| ================================= --> |
| <target name="load-ivy" depends="download-ivy" description="Ensures Ivy ant tasks are loaded"> |
| <!-- try to load ivy here from local ivy dir, in case the user has not already dropped |
| it into ant's lib dir (note that the latter copy will always take precedence). |
| We will not fail as long as local lib dir exists (it may be empty) and |
| ivy is in at least one of ant's lib dir or the local lib dir. --> |
| <path id="ivy.lib.path"> |
| <fileset dir="${ivy.jar.dir}" includes="*.jar"/> |
| </path> |
| <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/> |
| </target> |
| |
| <target name="retrieve-dependencies" depends="load-ivy" |
| description="Ensures all build dependencies have been downloaded"> |
| <mkdir dir="${lib.dir}"/> |
| <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact]-[revision].[ext]" sync="true"/> |
| </target> |
| |
| <target name="init"> |
| <mkdir dir="${dist.dir}"/> |
| </target> |
| |
| <!-- ================================================================== |
| Template target. Never called explicitly, only used to pass target |
| calls to the underlying modules. |
| ================================================================== --> |
| <target name="template"> |
| <!-- This section defines the modules and the order in which they are |
| executed for any given target. This means ORDER MATTERS. |
| Any dependencies that are to be satisified by one module for |
| another must be declared in the order the dependencies occur. --> |
| <echo message="Executing '${target}' for the core module..."/> |
| <ant dir="core" target="${target}"/> |
| <echo message="Executing '${target}' for the web module..."/> |
| <ant dir="web" target="${target}"/> |
| <echo message="Executing '${target}' for the ehcache module..."/> |
| <ant dir="support/ehcache" target="${target}"/> |
| <echo message="Executing '${target}' for the spring module..."/> |
| <ant dir="support/spring" target="${target}"/> |
| <echo message="Executing '${target}' for the quartz module..."/> |
| <ant dir="support/quartz" target="${target}"/> |
| </target> |
| |
| <!-- =================================================================== |
| Clean all local and children build files |
| =================================================================== --> |
| <target name="clean" description="Cleans the entire project"> |
| <echo message="Cleaning all modules..."/> |
| <antcall target="template"> |
| <param name="target" value="clean"/> |
| </antcall> |
| <echo message="Cleaning root build directory."/> |
| <delete dir="${build.dir}"/> |
| </target> |
| |
| <target name="compile" depends="retrieve-dependencies,init" description="Compiles the project"> |
| <echo message="Compiling all modules..."/> |
| <antcall target="template"> |
| <param name="target" value="compile"/> |
| </antcall> |
| </target> |
| |
| <macrodef name="jarjar"> |
| <attribute name="jardir" default="${dist.dir}"/> |
| <attribute name="jdksuffix" default=""/> |
| <sequential> |
| <jar destfile="@{jardir}/${project.name}@{jdksuffix}-${version}.jar" duplicate="fail"> |
| <zipfileset src="@{jardir}/${project.name}-core@{jdksuffix}-${version}.jar"/> |
| <zipfileset src="@{jardir}/${project.name}-web@{jdksuffix}-${version}.jar"/> |
| <zipfileset src="@{jardir}/${project.name}-ehcache@{jdksuffix}-${version}.jar"/> |
| <zipfileset src="@{jardir}/${project.name}-quartz@{jdksuffix}-${version}.jar"/> |
| <zipfileset src="@{jardir}/${project.name}-spring@{jdksuffix}-${version}.jar"/> |
| </jar> |
| </sequential> |
| </macrodef> |
| |
| <target name="package" depends="retrieve-dependencies,init" description="Creates project artifacts"> |
| <echo message="Packaging all modules..."/> |
| <antcall target="template"> |
| <param name="target" value="package"/> |
| </antcall> |
| |
| <!-- Now that each module has been packaged, make a 'master' .jar that includes everything. This allows |
| end-users to choose to use a single jar or multiple jars depending on their preference: --> |
| <jarjar/> |
| <jarjar jardir="${dist.dir}/jdk14" jdksuffix="-jdk14"/> |
| <jarjar jardir="${dist.dir}/jdk13" jdksuffix="-jdk13"/> |
| |
| </target> |
| |
| <target name="samples.quickstart" depends="jar" description="Creates the quickstart .jar"> |
| <ant dir="samples/quickstart"/> |
| </target> |
| |
| <target name="samples.quickstart.run" depends="samples.quickstart" description="Runs the quickstart class"> |
| <ant dir="samples/quickstart" target="run"/> |
| </target> |
| |
| <target name="samples.standalone" depends="jar" description="Creates the standalone .jar"> |
| <ant dir="samples/standalone"/> |
| </target> |
| |
| <target name="samples.standalone.run" depends="samples.standalone" description="Runs the standalone sample class"> |
| <ant dir="samples/standalone" target="run"/> |
| </target> |
| |
| <target name="samples.web" depends="jar" description="Creates the JSecurity sample webapp .war"> |
| <ant dir="samples/web"/> |
| </target> |
| |
| <target name="samples.spring" depends="jar" description="Creates the sample JSecurity/Spring .war"> |
| <ant dir="samples/spring"/> |
| </target> |
| |
| <target name="samples.spring-hibernate" depends="jar" |
| description="Creates the sample JSecurity Spring/Hibernate .war"> |
| <ant dir="samples/spring-hibernate"/> |
| </target> |
| |
| <target name="samples" depends="samples.quickstart,samples.web,samples.spring,samples.spring-hibernate" |
| description="Creates all sample applications"/> |
| |
| <target name="samples.web.deploy" depends="samples.web" |
| description="Deploys the JSecurity quickstart .war"> |
| <ant dir="samples/web" target="deploy"/> |
| </target> |
| |
| <target name="samples.spring.deploy" depends="samples.spring" |
| description="Deploys the sample JSecurity/Spring .war"> |
| <ant dir="samples/spring" target="deploy"/> |
| </target> |
| |
| <target name="samples.spring-hibernate.deploy" depends="samples.spring-hibernate" |
| description="Deploys the sample JSecurity Spring/Hibernate .war"> |
| <ant dir="samples/spring-hibernate" target="deploy"/> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Javadoc all main sources --> |
| <!-- =================================================================== --> |
| <target name="javadoc" description="Generate Javadocs"> |
| |
| <echo message="Generating JavaDoc API..."/> |
| <delete dir="${api.dir}" failonerror="false"/> |
| <mkdir dir="${api.dir}"/> |
| |
| <javadoc destdir="${api.dir}" windowtitle="JSecurity API ${version}" |
| source="1.5" access="package" author="true" version="true" use="true" |
| defaultexcludes="true" |
| header='<a href=\"http://www.jsecurity.org/\" target=\"_top\">JSecurity</a>'> |
| <sourcepath refid="javadoc.src"/> |
| <arg value="-breakiterator"/> |
| <arg value="-J-Xmx128m"/> |
| <arg value="-J-XX:MaxPermSize=128m"/> |
| <!-- <arg value="-J-Dhttp.proxyHost=${javadoc.proxyhost}"/> |
| <arg value="-J-Dhttp.proxyPort=${javadoc.proxyport}"/> --> |
| <doctitle><![CDATA[<h1>JSecurity API ${version}</h1>]]></doctitle> |
| <!-- The following <bottom> block is to enable UA tracking via Google Analytics, but it fails the |
| JavaDoc task on a Windows Sun JDK. It works fine on Mac OS X JavaDoc. Since we want this UA |
| tracking, we use a Mac to build the release that end-users will download, so we leave this block |
| enabled. If you want to run JavaDoc in a Windows environment, remove this block, and it will |
| run successfully. --> |
| <bottom> |
| <![CDATA[ |
| <i>Copyright © 2004-2008 <a href="http://www.jsecurity.org/" target="_top">JSecurity</a>.</i> |
| <script type="text/javascript"> |
| var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); |
| document.write(unescape("%3Cscript src=%22" + gaJsHost + "google-analytics.com/ga.js%22 type=%22text/javascript%22%3E%3C/script%3E")); |
| </script> |
| <script type="text/javascript"> |
| var pageTracker = _gat._getTracker("UA-3614410-1"); |
| pageTracker._initData(); |
| pageTracker._trackPageview(); |
| </script> |
| ]]> |
| </bottom> |
| <classpath refid="all.libs"/> |
| <!-- <packageset dir="${base.dir}/core/src"> |
| <include name="org/jsecurity/**"/> |
| </packageset> |
| <packageset dir="${root.base.dir}/support/ehcache/src"> |
| <include name="org/jsecurity/**"/> |
| </packageset> |
| <packageset dir="${root.base.dir}/support/spring/src"> |
| <include name="org/jsecurity/**"/> |
| </packageset> |
| <packageset dir="${root.base.dir}/support/quartz/src"> |
| <include name="org/jsecurity/**"/> |
| </packageset> --> |
| <link href="http://java.sun.com/j2se/1.5/docs/api"/> |
| <link href="http://java.sun.com/j2ee/1.4/docs/api"/> |
| <!-- Jakarta Commons --> |
| <link href="http://jakarta.apache.org/commons/collections/apidocs/"/> |
| <link href="http://commons.apache.org/beanutils/commons-beanutils-1.7.0/docs/api/"/> |
| <link href="http://jakarta.apache.org/commons/logging/apidocs/"/> |
| <link href="http://jakarta.apache.org/commons/codec/apidocs/"/> |
| <link href="http://quartz.sourceforge.net/javadoc/"/> |
| <link href="http://static.springframework.org/spring/docs/2.5.x/api/"/> |
| <link href="http://ehcache.sourceforge.net/javadoc/"/> |
| </javadoc> |
| |
| </target> |
| |
| <!-- =================================================================== |
| - Reference documentation |
| - =================================================================== --> |
| <target name="doc.prepare" depends="retrieve-dependencies" description="Extra preparation for the documentation"> |
| |
| <!-- unzip the docbook-libs.zip file containing the necessary jars: --> |
| <unzip src="${lib.dir}/docbook/docbook-libs-1.0.0.zip" dest="${lib.dir}/docbook"/> |
| |
| <!-- <antcall target="tld.to.docbook"/> --> |
| |
| </target> |
| |
| |
| <target name="doc.pdf" depends="doc.prepare" description="Compile reference documentation to pdf"> |
| |
| <mkdir dir="${dist.ref.dir}/pdf/images"/> |
| |
| <copy todir="${dist.ref.dir}/pdf/images"> |
| <fileset dir="${src.ref.dir}/images"> |
| <include name="**/*"/> |
| </fileset> |
| </copy> |
| |
| <java classname="com.icl.saxon.StyleSheet" fork="true" dir="${dist.ref.dir}"> |
| <classpath> |
| <fileset dir="${lib.dir}/docbook"> |
| <include name="**/*.jar"/> |
| </fileset> |
| </classpath> |
| <jvmarg value="-Xmx256M"/> |
| <jvmarg value="-XX:MaxPermSize=128m"/> |
| <arg value="-o"/> |
| <arg value="${dist.ref.dir}/pdf/docbook_fop.tmp"/> |
| <arg value="${src.ref.dir}/src/index.xml"/> |
| <arg value="${src.ref.dir}/styles/fopdf.xsl"/> |
| <!-- controls the double sided pagination style --> |
| <arg value="double.sided=${double.sided}"/> |
| </java> |
| |
| <java classname="org.apache.fop.apps.Fop" fork="true" maxmemory="256m" dir="${dist.ref.dir}"> |
| <classpath> |
| <fileset dir="${lib.dir}/docbook"> |
| <include name="**/*.jar"/> |
| </fileset> |
| </classpath> |
| <arg value="${dist.ref.dir}/pdf/docbook_fop.tmp"/> |
| <arg value="${dist.ref.dir}/pdf/jsecurity-reference.pdf"/> |
| </java> |
| |
| <delete file="${dist.ref.dir}/pdf/docbook_fop.tmp"/> |
| |
| </target> |
| |
| |
| <!-- Start of TLD => DocBook targets --> |
| <!-- <target name="tld.to.docbook" depends="original.tld.to.docbook,forms.tld.to.docbook"/> |
| |
| |
| <target name="original.tld.to.docbook"> |
| |
| <antcall target="hack.DOCTYPE"> |
| <param name="doctype.input.file" value="src/org/springframework/web/servlet/tags/spring.tld"/> |
| <param name="doctype.scrubbed.file" value="${doc.ref.dir}/src/spring.tld"/> |
| </antcall> |
| |
| <antcall target="private.tld.to.docbook"> |
| <param name="input.tld" value="spring.tld"/> |
| <param name="input.tld.file" value="${doc.ref.dir}/src/spring.tld"/> |
| </antcall> |
| |
| </target> |
| |
| |
| <target name="forms.tld.to.docbook"> |
| |
| <antcall target="hack.DOCTYPE"> |
| <param name="doctype.input.file" value="src/org/springframework/web/servlet/tags/form/spring-form.tld"/> |
| <param name="doctype.scrubbed.file" value="${doc.ref.dir}/src/spring-form.tld"/> |
| </antcall> |
| |
| <antcall target="private.tld.to.docbook"> |
| <param name="input.tld" value="spring-form.tld"/> |
| <param name="input.tld.file" value="${doc.ref.dir}/src/spring-form.tld"/> |
| </antcall> |
| |
| </target> |
| |
| |
| <target name="private.tld.to.docbook" if="input.tld"> |
| |
| <property name="out.file" value="${doc.ref.dir}/src/${input.tld}.xml"/> |
| |
| <xslt processor="trax" in="${input.tld.file}" out="${out.file}" |
| style="${doc.ref.dir}/styles/tld.to.docbook.xsl"> |
| <param name="title" expression="${input.tld}"/> |
| </xslt> |
| |
| <antcall target="hack.CDATA"> |
| <param name="target.file" value="${out.file}"/> |
| </antcall> |
| |
| <delete file="${input.tld.file}"/> |
| |
| </target> |
| |
| |
| <target name="hack.CDATA" if="target.file"> |
| |
| <replace file="${target.file}"> |
| <replacetoken><![CDATA[<]]></replacetoken> |
| <replacevalue><![CDATA[<]]></replacevalue> |
| </replace> |
| |
| <replace file="${target.file}"> |
| <replacetoken><![CDATA[>]]></replacetoken> |
| <replacevalue><![CDATA[>]]></replacevalue> |
| </replace> |
| |
| </target> |
| |
| |
| <target name="hack.DOCTYPE" if="doctype.input.file"> |
| |
| <!- - |
| Removes the TLD DTD decl. from the TLD files as this messes |
| up the transform (feel free to fix this more elegantly) |
| - -> |
| <copy file="${doctype.input.file}" tofile="${doctype.scrubbed.file}" overwrite="true"/> |
| |
| <replace file="${doctype.scrubbed.file}" value=""> |
| <replacetoken><![CDATA[<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">]]></replacetoken> |
| </replace> |
| |
| </target> |
| <!- - End of TLD => DocBook targets --> |
| |
| |
| <target name="doc.html" depends="doc.prepare" |
| description="Compile reference documentation to chunked html"> |
| |
| <mkdir dir="${dist.ref.dir}/html/images"/> |
| |
| <copy todir="${dist.ref.dir}/html/images"> |
| <fileset dir="${src.ref.dir}/images"> |
| <include name="**/*"/> |
| </fileset> |
| </copy> |
| |
| <copy todir="${dist.ref.dir}/html/" failonerror="false"> |
| <fileset dir="${src.ref.dir}/styles/"> |
| <include name="*.css"/> |
| <include name="*.js"/> |
| </fileset> |
| </copy> |
| |
| <java classname="com.icl.saxon.StyleSheet" fork="true" dir="${dist.ref.dir}/html/"> |
| <classpath> |
| <fileset dir="${lib.dir}/docbook"> |
| <include name="**/*.jar"/> |
| </fileset> |
| </classpath> |
| <jvmarg value="-Xmx256M"/> |
| <jvmarg value="-XX:MaxPermSize=128m"/> |
| <arg value="${src.ref.dir}/src/index.xml"/> |
| <arg value="${src.ref.dir}/styles/html_chunk.xsl"/> |
| </java> |
| |
| </target> |
| |
| |
| <target name="doc.htmlsingle" depends="doc.prepare" description="Compile reference documentation to single html"> |
| |
| <mkdir dir="${dist.ref.dir}/html_single/images"/> |
| |
| <copy todir="${dist.ref.dir}/html_single/images"> |
| <fileset dir="${src.ref.dir}/images"> |
| <include name="**/*"/> |
| </fileset> |
| </copy> |
| <copy todir="${dist.ref.dir}/html_single/" file="${src.ref.dir}/styles/html.css" failonerror="false"/> |
| |
| <java classname="com.icl.saxon.StyleSheet" fork="true" dir="${dist.ref.dir}"> |
| <classpath> |
| <fileset dir="${lib.dir}/docbook"> |
| <include name="**/*.jar"/> |
| </fileset> |
| </classpath> |
| <jvmarg value="-Xmx256M"/> |
| <jvmarg value="-XX:MaxPermSize=128m"/> |
| <arg value="-o"/> |
| <arg value="${dist.ref.dir}/html_single/index.html"/> |
| <arg value="${src.ref.dir}/src/index.xml"/> |
| <arg value="${src.ref.dir}/styles/html.xsl"/> |
| </java> |
| |
| </target> |
| |
| |
| <target name="doc.all" depends="doc.html,doc.htmlsingle,doc.pdf" description="Generate reference documentation"/> |
| |
| <!-- <name name="junit.check.warning" if="tests.failed"> |
| <echo> |
| *********************************************************** |
| * One or more unit tests failed! |
| * Check the reports located in ${test.docs.dir} |
| * for details... |
| *********************************************************** |
| </echo> |
| </name> |
| |
| <!- - =================================================================== |
| - quick-test-report - quickly generates test report documentation based |
| - on the xml test reports previously created during a junit task |
| - execution. (this does not run the task). |
| - =================================================================== - -> |
| <name name="test.report"> |
| <echo message="Generating test reports..."/> |
| |
| <junitreport todir="${test.docs.dir}"> |
| <fileset dir="."> |
| <include name="**/TEST-*"/> |
| </fileset> |
| <report todir="${test.docs.dir}"/> |
| </junitreport> |
| </name> |
| |
| <name name="unit.tests" depends="compile"> |
| <echo message="Executing unit tests..."/> |
| |
| <!- - Any properties files needed by test cases and/or Spring test case |
| configuration must be under the base root dir hierarchy so relative |
| file references may work properly. - -> |
| <copy toDir="${classes.dir}" preservelastmodified="true" file="${root.base.dir}/etc/log4j.properties"/> |
| <copy toDir="${classes.dir}" preservelastmodified="true" file="${root.base.dir}/db/build/gen/jdbc.properties"/> |
| |
| <junit printsummary="withOutAndErr" |
| showoutput="true" |
| haltonfailure="no" |
| failureproperty="tests.failed" |
| errorproperty="tests.failed" |
| timeout="60000" |
| fork="yes"> |
| <classpath refid="test.path"/> |
| |
| <formatter type="brief" usefile="false"/> |
| <formatter type="xml"/> |
| <!- - allows us to generate web reports - -> |
| |
| <batchtest fork="true" todir="${gen.dir}"> |
| <fileset dir="${test.classes.dir}"> |
| |
| <include name="**/*Test.class"/> |
| |
| <exclude name="**/*IntegrationTest.class"/> |
| <exclude name="**/*SystemTest.class"/> |
| <exclude name="**/*StressTest.class"/> |
| |
| </fileset> |
| </batchtest> |
| |
| </junit> |
| |
| </name> |
| |
| <name name="test" depends="dist"> |
| <antcall name="template"> |
| <param name="name" value="test"/> |
| </antcall> |
| </name> --> |
| |
| |
| <target name="src.zip" description="Create source ZIP (containing Java sources)"> |
| <mkdir dir="${root.dist.dir}"/> |
| <delete file="${root.dist.dir}/${project.name}.src.zip"/> |
| <zip destfile="${root.dist.dir}/${project.name}.src.zip"> |
| <path refid="all.src"/> |
| </zip> |
| </target> |
| |
| <target name="makepom" depends="load-ivy" description="Use Ivy to generate a Maven 2 pom.xml file"> |
| <ivy:makepom ivyfile="${root.base.dir}/ivy.xml" pomfile="${build.dir}/${project.name}.pom"> |
| <mapping conf="runtime" scope="compile"/> |
| <mapping conf="runtime-web" scope="compile"/> |
| <mapping conf="test" scope="test"/> |
| </ivy:makepom> |
| </target> |
| |
| <target name="release" depends="package,src.zip,makepom,javadoc,doc.all" |
| description="Create all artifacts for a JSecurity release"> |
| <property name="release.dir.name" value="${project.name}-${version}"/> |
| <property name="release.zip.name" value="${release.dir.name}.zip"/> |
| <property name="release.depzip.name" value="${release.dir.name}-with-dependencies.zip"/> |
| <copy todir="${root.dist.dir}"> |
| <fileset dir="${root.base.dir}"> |
| <type type="file"/> |
| <exclude name="**/build/**"/> |
| <exclude name="**/.svn/**"/> |
| <exclude name="**/out/**"/> |
| <exclude name="**/lib/**"/> |
| <exclude name="jsecurity.iml"/> |
| <exclude name="jsecurity.ipr"/> |
| <exclude name="jsecurity.iws"/> |
| <exclude name="changes.txt"/> |
| <exclude name="${release.dir.name}"/> |
| </fileset> |
| </copy> |
| <zip destfile="${build.dir}/${release.zip.name}" |
| basedir="${build.dir}" |
| includes="${release.dir.name}/**" |
| excludes="**/${release.zip.name},**/lib/**"/> |
| |
| <!-- Our ivy config puts copies of jars under lib directory according to the multiple build |
| configuration targets. We don't want multiple copies in the dependency lib, because it would |
| make the download size larger. Instead, just include one copy of each: --> |
| <mkdir dir="${root.dist.dir}/lib"/> |
| <copy todir="${root.dist.dir}/lib" overwrite="true" flatten="true"> |
| <fileset dir="${lib.dir}"> |
| <include name="**/*.jar"/> |
| <exclude name="**/docbook/*.jar"/> |
| </fileset> |
| </copy> |
| <zip destfile="${build.dir}/${release.depzip.name}" |
| basedir="${build.dir}" |
| includes="${release.dir.name}/**" |
| excludes="**/${release.zip.name}, **/lib/docbook/docbook-dtd/**, **/lib/docbook/docbook-xsl/**, **/lib/docbook/*.jar"/> |
| <delete dir="${root.dist.dir}/lib"/> |
| |
| </target> |
| |
| <!-- =================================================================== |
| all - everything |
| =================================================================== --> |
| <target name="all" depends="release" description="Do everything"/> |
| |
| </project> |
| |