Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

967 lines (828 sloc) 32.696 kb
<?xml version="1.0"?>
<!DOCTYPE project>
<project name="build-common-plugin" xmlns:antelope="antlib:ise.antelope.tasks">
<import file="build-common.xml" />
<if>
<available file="docroot/WEB-INF/liferay-plugin-package.properties" />
<then>
<property file="docroot/WEB-INF/liferay-plugin-package.properties" prefix="plugin-package" />
<property name="plugin.version" value="${plugin-package.module-incremental-version}" />
<property name="plugin.jars" value="${plugin-package.portal-dependency-jars}" />
<property name="plugin.tlds" value="${plugin-package.portal-dependency-tlds}" />
</then>
</if>
<antelope:stringutil string="${basedir}" property="plugin.name.beginindex">
<antelope:lastindexof string="${file.separator}" />
</antelope:stringutil>
<antelope:math
datatype="int"
operand1="${plugin.name.beginindex}"
operand2="1"
operation="+"
result="plugin.name.beginindex"
/>
<antelope:stringutil string="${basedir}" property="plugin.name">
<antelope:substring beginindex="${plugin.name.beginindex}" />
</antelope:stringutil>
<if>
<antelope:endswith string="${plugin.name}" with="-client" />
<then>
<property name="plugin.file" value="${project.dir}/dist/${plugin.name}-${lp.version}.${plugin.version}${lp.version.file.suffix}.jar" />
<property name="plugin.src.file" value="${project.dir}/dist/${plugin.name}-src-${lp.version}.${plugin.version}${lp.version.file.suffix}.zip" />
</then>
<else>
<property name="plugin.file" value="${project.dir}/dist/${plugin.name}-${lp.version}.${plugin.version}${lp.version.file.suffix}.war" />
<property name="plugin.src.file" value="${project.dir}/dist/${plugin.name}-src-${lp.version}.${plugin.version}${lp.version.file.suffix}.zip" />
</else>
</if>
<target name="all">
<antcall target="clean" />
<antcall target="deploy" />
</target>
<target name="build-client">
<property name="client.url" value="http://localhost:8080/${plugin.name}/axis" />
<echo message="Make sure the server is listening on ${client.url}." />
<echo message="" />
<mkdir dir="docroot/WEB-INF/client/src" />
<java
classname="com.liferay.portal.tools.PortalClientBuilder"
classpathref="portal.classpath"
failonerror="true"
fork="true"
newenvironment="true"
>
<jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<arg value="docroot/WEB-INF/server-config.wsdd" />
<arg value="docroot/WEB-INF/client/src" />
<arg value="docroot/WEB-INF/client/namespace-mapping.properties" />
<arg value="${client.url}" />
</java>
<mkdir dir="docroot/WEB-INF/client/classes" />
<antcall target="compile-java">
<param name="javac.classpathref" value="portal.classpath" />
<param name="javac.destdir" value="docroot/WEB-INF/client/classes" />
<param name="javac.srcdir" value="docroot/WEB-INF/client/src" />
</antcall>
<zip destfile="docroot/WEB-INF/client/${plugin.name}-client.jar">
<fileset dir="docroot/WEB-INF/client/classes" />
<fileset dir="docroot/WEB-INF/client/src" />
</zip>
<delete dir="docroot/WEB-INF/client/classes" />
<delete dir="docroot/WEB-INF/client/src" />
</target>
<target name="build-db">
<java
classname="com.liferay.portal.tools.DBBuilder"
classpathref="portal.classpath"
fork="true"
maxmemory="384m"
newenvironment="true"
>
<arg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<arg value="db.database.name=${database.name}" />
<arg value="db.database.types=${database.types}" />
<arg value="db.sql.dir=docroot/WEB-INF/sql" />
</java>
<delete file="velocity.log" quiet="true" />
</target>
<target name="build-lang">
<antcall target="build-lang-cmd">
<param name="lang.dir" value="docroot/WEB-INF/src/content" />
<param name="lang.file" value="Language" />
<param name="lang.translate" value="true" />
</antcall>
</target>
<target name="build-lang-cmd">
<java
classname="com.liferay.portal.tools.LangBuilder"
classpathref="portal.classpath"
fork="true"
newenvironment="true"
>
<jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<jvmarg value="-Dfile.encoding=UTF-8" />
<jvmarg value="-Duser.country=US" />
<jvmarg value="-Duser.language=en" />
<arg value="lang.dir=${lang.dir}" />
<arg value="lang.file=${lang.file}" />
<arg value="lang.plugin=true" />
<arg value="lang.translate=${lang.translate}" />
</java>
<copy file="${lang.dir}/${lang.file}.properties" tofile="${lang.dir}/${lang.file}_en.properties" />
</target>
<target name="build-service">
<mkdir dir="docroot/WEB-INF/classes" />
<mkdir dir="docroot/WEB-INF/lib" />
<mkdir dir="docroot/WEB-INF/service" />
<mkdir dir="docroot/WEB-INF/sql" />
<mkdir dir="docroot/WEB-INF/src" />
<copy todir="docroot/WEB-INF/classes">
<fileset dir="docroot/WEB-INF/src" excludes="**/*.java" />
</copy>
<path id="service.classpath">
<path refid="lib.classpath" />
<path refid="portal.classpath" />
<fileset dir="${app.server.lib.portal.dir}" includes="commons-digester.jar,commons-lang.jar,easyconf.jar" />
<fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
<pathelement location="docroot/WEB-INF/classes" />
</path>
<if>
<not>
<isset property="service.input.file" />
</not>
<then>
<property name="service.input.file" value="${basedir}/docroot/WEB-INF/service.xml" />
</then>
</if>
<java
classname="com.liferay.portal.tools.servicebuilder.ServiceBuilder"
classpathref="service.classpath"
outputproperty="service.test.output"
>
<arg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<arg value="-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger" />
<arg value="service.input.file=${service.input.file}" />
<arg value="service.hbm.file=${basedir}/docroot/WEB-INF/src/META-INF/portlet-hbm.xml" />
<arg value="service.orm.file=${basedir}/docroot/WEB-INF/src/META-INF/portlet-orm.xml" />
<arg value="service.model.hints.file=${basedir}/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml" />
<arg value="service.spring.file=${basedir}/docroot/WEB-INF/src/META-INF/portlet-spring.xml" />
<arg value="service.spring.base.file=${basedir}/docroot/WEB-INF/src/META-INF/base-spring.xml" />
<arg value="service.spring.cluster.file=${basedir}/docroot/WEB-INF/src/META-INF/cluster-spring.xml" />
<arg value="service.spring.dynamic.data.source.file=${basedir}/docroot/WEB-INF/src/META-INF/dynamic-data-source-spring.xml" />
<arg value="service.spring.hibernate.file=${basedir}/docroot/WEB-INF/src/META-INF/hibernate-spring.xml" />
<arg value="service.spring.infrastructure.file=${basedir}/docroot/WEB-INF/src/META-INF/infrastructure-spring.xml" />
<arg value="service.spring.shard.data.source.file=${basedir}/docroot/WEB-INF/src/META-INF/shard-data-source-spring.xml" />
<arg value="service.api.dir=${basedir}/docroot/WEB-INF/service" />
<arg value="service.impl.dir=${basedir}/docroot/WEB-INF/src" />
<arg value="service.json.file=${basedir}/docroot/js/service.js" />
<arg value="service.sql.dir=${basedir}/docroot/WEB-INF/sql" />
<arg value="service.sql.file=tables.sql" />
<arg value="service.sql.indexes.file=indexes.sql" />
<arg value="service.sql.indexes.properties.file=indexes.properties" />
<arg value="service.sql.sequences.file=sequences.sql" />
<arg value="service.auto.namespace.tables=true" />
<arg value="service.bean.locator.util=com.liferay.util.bean.PortletBeanLocatorUtil" />
<arg value="service.props.util=com.liferay.util.service.ServiceProps" />
<arg value="service.plugin.name=${plugin.name}" />
</java>
<echo>${service.test.output}</echo>
<if>
<contains string="${service.test.output}" substring="Error" />
<then>
<fail>Service Builder generated exceptions.</fail>
</then>
</if>
<delete file="ServiceBuilder.temp" />
<mkdir dir="docroot/WEB-INF/service-classes" />
<path id="service.classpath">
<fileset dir="${app.server.lib.global.dir}" includes="*.jar" />
<fileset dir="${project.dir}/lib" includes="activation.jar,jsp-api.jar,mail.jar,servlet-api.jar" />
<fileset dir="docroot/WEB-INF/lib" excludes="${plugin.name}-service.jar" includes="*.jar" />
</path>
<antcall target="compile-java">
<param name="javac.classpathref" value="service.classpath" />
<param name="javac.destdir" value="docroot/WEB-INF/service-classes" />
<param name="javac.srcdir" value="docroot/WEB-INF/service" />
<reference refid="service.classpath" torefid="service.classpath" />
</antcall>
<zip
basedir="docroot/WEB-INF/service-classes"
destfile="docroot/WEB-INF/lib/${plugin.name}-service.jar"
/>
<delete dir="docroot/WEB-INF/service-classes" />
</target>
<target name="build-wsdd" depends="compile">
<path id="wsdd.classpath">
<path refid="lib.classpath" />
<path refid="portal.classpath" />
<fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
<pathelement location="docroot/WEB-INF/classes" />
</path>
<java
classname="com.liferay.portal.tools.WSDDBuilder"
classpathref="wsdd.classpath"
fork="true"
maxmemory="256m"
newenvironment="true"
>
<jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<jvmarg value="-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger" />
<arg value="wsdd.input.file=docroot/WEB-INF/service.xml" />
<arg value="wsdd.server.config.file=docroot/WEB-INF/server-config.wsdd" />
<arg value="wsdd.service.namespace=Plugin" />
<arg value="wsdd.output.path=docroot/WEB-INF/src/" />
</java>
</target>
<target name="build-wsdl">
<for param="wsdl.full.path">
<path>
<fileset dir="." includes="docroot/WEB-INF/wsdl/*.wsdl" />
</path>
<sequential>
<tstamp>
<format property="tstamp.value" pattern="yyyyMMddkkmmssSSS" />
</tstamp>
<mkdir dir="${tstamp.value}" />
<taskdef classpathref="portal.classpath" resource="axis-tasks.properties" />
<axis-wsdl2java
output="${tstamp.value}"
url="@{wsdl.full.path}"
/>
<path id="plugin-lib.classpath">
<fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
<pathelement location="docroot/WEB-INF/classes" />
</path>
<antcall target="compile-java">
<param name="javac.classpathref" value="plugin.classpath" />
<param name="javac.destdir" value="${tstamp.value}" />
<param name="javac.srcdir" value="${tstamp.value}" />
<reference refid="plugin-lib.classpath" torefid="plugin-lib.classpath" />
</antcall>
<antelope:stringutil string="@{wsdl.full.path}" property="wsdl.name.beginindex">
<antelope:lastindexof string="${file.separator}" />
</antelope:stringutil>
<antelope:math
datatype="int"
operand1="${wsdl.name.beginindex}"
operand2="1"
operation="+"
result="wsdl.name.beginindex"
/>
<antelope:stringutil string="@{wsdl.full.path}" property="wsdl.file">
<antelope:substring beginindex="${wsdl.name.beginindex}" />
</antelope:stringutil>
<antelope:stringutil string="@{wsdl.full.path}" property="wsdl.name.endindex">
<antelope:lastindexof string="." />
</antelope:stringutil>
<antelope:stringutil string="@{wsdl.full.path}" property="wsdl.name">
<antelope:substring beginindex="${wsdl.name.beginindex}" endindex="${wsdl.name.endindex}" />
</antelope:stringutil>
<jar
basedir="${tstamp.value}"
jarfile="docroot/WEB-INF/lib/${wsdl.name}-ws.jar"
/>
<delete dir="${tstamp.value}" />
</sequential>
</for>
</target>
<target name="clean" description="clean">
<delete dir="docroot/WEB-INF/classes" />
<if>
<and>
<available file="docroot/WEB-INF/.gitignore" />
</and>
<then>
<loadfile property=".gitignore.content" srcFile="docroot/WEB-INF/.gitignore" />
<if>
<contains string="${.gitignore.content}" substring="/lib" />
<then>
<delete dir="docroot/WEB-INF/lib" />
</then>
</if>
</then>
</if>
<if>
<and>
<available file="docroot/WEB-INF/.svn" />
<not>
<available file="docroot/WEB-INF/lib/.svn" />
</not>
</and>
<then>
<delete dir="docroot/WEB-INF/lib" />
</then>
</if>
<delete dir="test-classes" />
<delete dir="test-results" />
<delete dir="tmp" />
<delete file="${plugin.file}" />
<delete file="${plugin.src.file}" />
<delete includeemptydirs="true">
<fileset dir="docroot" includes="**/.sass-cache/**" />
<fileset dir="docroot" includes="**/.sprite.png" />
<fileset dir="docroot" includes="**/.sprite.properties" />
<fileset dir="docroot" includes="**/Thumbs.db" />
</delete>
<antcall target="clean-portal-dependencies" />
</target>
<target name="clean-portal-dependencies">
<if>
<available file="docroot/WEB-INF/lib" />
<then>
<delete>
<fileset dir="docroot/WEB-INF/lib" includes="${required.portal.jars}" />
<fileset dir="docroot/WEB-INF/lib" includes="${plugin.jars}" />
</delete>
</then>
</if>
<if>
<available file="docroot/WEB-INF/tld" />
<then>
<delete>
<fileset dir="docroot/WEB-INF/tld" includes="${plugin.tlds}" />
</delete>
</then>
</if>
<if>
<available file="tmp/WEB-INF/lib" />
<then>
<delete>
<fileset dir="tmp/WEB-INF/lib" includes="${required.portal.jars}" />
<fileset dir="tmp/WEB-INF/lib" includes="${plugin.jars}" />
</delete>
</then>
</if>
<if>
<available file="tmp/WEB-INF/tld" />
<then>
<delete>
<fileset dir="tmp/WEB-INF/tld" includes="${plugin.tlds}" />
</delete>
</then>
</if>
</target>
<target name="compile">
<antcall target="merge" />
<mkdir dir="docroot/WEB-INF/classes" />
<mkdir dir="docroot/WEB-INF/lib" />
<copy todir="docroot/WEB-INF/lib">
<fileset dir="${app.server.lib.portal.dir}" includes="${plugin.jars}" />
</copy>
<if>
<isset property="plugin-package.required-deployment-contexts" />
<then>
<for list="${plugin-package.required-deployment-contexts}" param="required.deployment.context">
<sequential>
<if>
<available file="${project.dir}/hooks/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar" />
<then>
<copy
file="${project.dir}/hooks/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar"
todir="docroot/WEB-INF/lib"
overwrite="true"
/>
</then>
<elseif>
<available file="${project.dir}/portlets/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar" />
<then>
<copy
file="${project.dir}/portlets/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar"
todir="docroot/WEB-INF/lib"
overwrite="true"
/>
</then>
</elseif>
<elseif>
<available file="${project.dir}/webs/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar" />
<then>
<copy
file="${project.dir}/webs/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar"
todir="docroot/WEB-INF/lib"
overwrite="true"
/>
</then>
</elseif>
</if>
</sequential>
</for>
</then>
</if>
<copy todir="docroot/WEB-INF/tld">
<fileset dir="${app.server.portal.dir}/WEB-INF/tld" includes="${plugin.tlds}" />
</copy>
<if>
<available file="docroot/WEB-INF/src" />
<then>
<if>
<available file="tmp" />
<then>
<path id="plugin-lib.classpath">
<fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
<fileset dir="tmp/WEB-INF/lib" includes="*.jar" />
<pathelement location="docroot/WEB-INF/classes" />
<pathelement location="tmp/WEB-INF/classes" />
</path>
</then>
<else>
<path id="plugin-lib.classpath">
<fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
<pathelement location="docroot/WEB-INF/classes" />
</path>
</else>
</if>
<copy todir="docroot/WEB-INF/lib">
<fileset dir="${app.server.lib.portal.dir}" includes="${required.portal.jars}" />
</copy>
<if>
<available file="docroot/WEB-INF/lib/portal-impl.jar" />
<then>
<fail>
.
Detected inclusion of portal-impl.jar in WEB-INF/lib.
portal-impl.jar is designed with a large number of singleton classes which are
instantiated on the basis that they will exist alone in the application server.
While compile time issues may be resolved, portlets cannot be made to work by
simply adding portal-impl.jar, because doing so violates the above assumption,
and the resulting problems will be extremely difficult to debug.
Please find a solution that does not require portal-impl.jar.
</fail>
</then>
</if>
<antcall target="compile-java">
<param name="javac.classpathref" value="plugin.classpath" />
<param name="javac.destdir" value="docroot/WEB-INF/classes" />
<param name="javac.srcdir" value="docroot/WEB-INF/src" />
<reference refid="plugin-lib.classpath" torefid="plugin-lib.classpath" />
</antcall>
</then>
</if>
<antcall target="merge" />
</target>
<target name="compile-test">
<antcall target="compile-test-integration" inheritall="false" />
<antcall target="compile-test-unit" inheritall="false" />
</target>
<target name="compile-test-cmd">
<if>
<available file="test/${test.type}" type="dir" />
<then>
<mkdir dir="test-classes/${test.type}" />
<mkdir dir="test-results/${test.type}" />
<copy todir="test-classes/${test.type}">
<fileset dir="test" includes="*.properties" />
<fileset dir="test/${test.type}" includes="**/*.png,**/*.properties,**/*.xml" />
</copy>
<if>
<available file="tmp" />
<then>
<path id="plugin-lib.classpath">
<fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
<fileset dir="tmp/WEB-INF/lib" includes="*.jar" />
<pathelement location="docroot/WEB-INF/classes" />
<pathelement location="tmp/WEB-INF/classes" />
</path>
</then>
<else>
<path id="plugin-lib.classpath">
<fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
<pathelement location="docroot/WEB-INF/classes" />
</path>
</else>
</if>
<antcall target="compile-java">
<param name="javac.classpathref" value="test.classpath" />
<param name="javac.destdir" value="test-classes/${test.type}" />
<param name="javac.srcdir" value="test/${test.type}" />
<reference refid="plugin-lib.classpath" torefid="plugin-lib.classpath" />
</antcall>
</then>
</if>
</target>
<target name="compile-test-integration">
<ant target="compile-test-cmd">
<property name="test.type" value="integration" />
</ant>
</target>
<target name="compile-test-unit">
<ant target="compile-test-cmd">
<property name="test.type" value="unit" />
</ant>
</target>
<target name="deploy" depends="war">
<copy file="${plugin.file}" todir="${auto.deploy.dir}" />
</target>
<target name="direct-deploy" depends="war">
<if>
<antelope:endswith string="${plugin.name}" with="-ext" />
<then>
<java
classname="com.liferay.portal.tools.deploy.ExtDeployer"
classpathref="portal.classpath"
fork="true"
newenvironment="true"
>
<!-- Required Arguments -->
<jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<jvmarg value="-Dliferay.lib.portal.dir=${app.server.lib.portal.dir}" />
<jvmarg value="-Ddeployer.base.dir=${project.dir}/dist" />
<jvmarg value="-Ddeployer.dest.dir=${app.server.deploy.dir}" />
<jvmarg value="-Ddeployer.app.server.type=${app.server.type}" />
<jvmarg value="-Ddeployer.unpack.war=${auto.deploy.unpack.war}" />
<jvmarg value="-Ddeployer.file.pattern=${plugin.name}-*.war" />
<!-- Optional Arguments -->
<jvmarg value="-Ddeployer.tomcat.lib.dir=${app.server.tomcat.lib.global.dir}" />
<!-- Dependent Libraries -->
<arg value="${app.server.lib.portal.dir}/util-java.jar" />
</java>
</then>
<elseif>
<antelope:endswith string="${plugin.name}" with="-hook" />
<then>
<java
classname="com.liferay.portal.tools.deploy.HookDeployer"
classpathref="portal.classpath"
fork="true"
newenvironment="true"
>
<!-- Required Arguments -->
<jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<jvmarg value="-Dliferay.lib.portal.dir=${app.server.lib.portal.dir}" />
<jvmarg value="-Ddeployer.base.dir=${project.dir}/dist" />
<jvmarg value="-Ddeployer.dest.dir=${app.server.deploy.dir}" />
<jvmarg value="-Ddeployer.app.server.type=${app.server.type}" />
<jvmarg value="-Ddeployer.unpack.war=${auto.deploy.unpack.war}" />
<jvmarg value="-Ddeployer.file.pattern=${plugin.name}-*.war" />
<!-- Optional Arguments -->
<jvmarg value="-Ddeployer.tomcat.lib.dir=${app.server.tomcat.lib.global.dir}" />
<!-- Dependent Libraries -->
<arg value="${app.server.lib.portal.dir}/util-java.jar" />
</java>
</then>
</elseif>
<elseif>
<antelope:endswith string="${plugin.name}" with="-layouttpl" />
<then>
<java
classname="com.liferay.portal.tools.deploy.LayoutTemplateDeployer"
classpathref="portal.classpath"
fork="true"
newenvironment="true"
>
<!-- Required Arguments -->
<jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<jvmarg value="-Dliferay.lib.portal.dir=${app.server.lib.portal.dir}" />
<jvmarg value="-Ddeployer.base.dir=${project.dir}/dist" />
<jvmarg value="-Ddeployer.dest.dir=${app.server.deploy.dir}" />
<jvmarg value="-Ddeployer.app.server.type=${app.server.type}" />
<jvmarg value="-Ddeployer.unpack.war=${auto.deploy.unpack.war}" />
<jvmarg value="-Ddeployer.file.pattern=${plugin.name}-*.war" />
</java>
</then>
</elseif>
<elseif>
<antelope:endswith string="${plugin.name}" with="-portlet" />
<then>
<java
classname="com.liferay.portal.tools.deploy.PortletDeployer"
classpathref="portal.classpath"
fork="true"
newenvironment="true"
>
<!-- Required Arguments -->
<jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<jvmarg value="-Dliferay.lib.portal.dir=${app.server.lib.portal.dir}" />
<jvmarg value="-Ddeployer.base.dir=${project.dir}/dist" />
<jvmarg value="-Ddeployer.dest.dir=${app.server.deploy.dir}" />
<jvmarg value="-Ddeployer.app.server.type=${app.server.type}" />
<jvmarg value="-Ddeployer.aui.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/aui.tld" />
<jvmarg value="-Ddeployer.portlet.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-portlet.tld" />
<jvmarg value="-Ddeployer.portlet-ext.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-portlet-ext.tld" />
<jvmarg value="-Ddeployer.security.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-security.tld" />
<jvmarg value="-Ddeployer.theme.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-theme.tld" />
<jvmarg value="-Ddeployer.ui.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-ui.tld" />
<jvmarg value="-Ddeployer.util.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-util.tld" />
<jvmarg value="-Ddeployer.unpack.war=${auto.deploy.unpack.war}" />
<jvmarg value="-Ddeployer.custom.portlet.xml=${auto.deploy.custom.portlet.xml}" />
<jvmarg value="-Ddeployer.file.pattern=${plugin.name}-*.war" />
<!-- Optional Arguments -->
<jvmarg value="-Ddeployer.tomcat.lib.dir=${app.server.tomcat.lib.global.dir}" />
<!-- Dependent Libraries -->
<arg value="${app.server.lib.portal.dir}/util-bridges.jar" />
<arg value="${app.server.lib.portal.dir}/util-java.jar" />
<arg value="${app.server.lib.portal.dir}/util-taglib.jar" />
</java>
</then>
</elseif>
<elseif>
<antelope:endswith string="${plugin.name}" with="-theme" />
<then>
<java
classname="com.liferay.portal.tools.deploy.ThemeDeployer"
classpathref="portal.classpath"
fork="true"
newenvironment="true"
>
<!-- Required Arguments -->
<jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<jvmarg value="-Dliferay.lib.portal.dir=${app.server.lib.portal.dir}" />
<jvmarg value="-Ddeployer.base.dir=${project.dir}/dist" />
<jvmarg value="-Ddeployer.dest.dir=${app.server.deploy.dir}" />
<jvmarg value="-Ddeployer.app.server.type=${app.server.type}" />
<jvmarg value="-Ddeployer.theme.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-theme.tld" />
<jvmarg value="-Ddeployer.util.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-util.tld" />
<jvmarg value="-Ddeployer.unpack.war=${auto.deploy.unpack.war}" />
<jvmarg value="-Ddeployer.file.pattern=${plugin.name}-*.war" />
<!-- Optional Arguments -->
<jvmarg value="-Ddeployer.tomcat.lib.dir=${app.server.tomcat.lib.global.dir}" />
<!-- Dependent Libraries -->
<arg value="${app.server.lib.portal.dir}/util-java.jar" />
<arg value="${app.server.lib.portal.dir}/util-taglib.jar" />
</java>
</then>
</elseif>
</if>
</target>
<target name="format-wsdl">
<for param="wsdl.full.path">
<path>
<fileset
dir="."
includes="docroot/WEB-INF/wsdl/*.wsdl"
/>
</path>
<sequential>
<java
classname="com.liferay.portal.tools.XMLFormatter"
classpathref="portal.classpath"
fork="true"
newenvironment="true"
>
<jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<jvmarg value="-Dxml.formatter.file=@{wsdl.full.path}" />
<jvmarg value="-Dxml.formatter.strip.comments=true" />
</java>
</sequential>
</for>
</target>
<target name="merge" if="original.war.file">
<if>
<not>
<uptodate srcfile="${original.war.file}" targetfile="tmp" />
</not>
<then>
<delete dir="tmp" />
<mkdir dir="tmp" />
<mkdir dir="tmp/WEB-INF/classes" />
<mkdir dir="tmp/WEB-INF/lib" />
<antcall target="merge-unzip" />
<copy todir="tmp" overwrite="true">
<fileset dir="docroot" />
</copy>
</then>
</if>
<copy todir="tmp">
<fileset dir="docroot" />
</copy>
</target>
<target name="merge-unzip">
<unzip dest="tmp" src="${original.war.file}" />
</target>
<target name="shrink-zip-cmd">
<tstamp>
<format property="tstamp.value" pattern="yyyyMMddkkmmssSSS" />
</tstamp>
<unzip
dest="${tstamp.value}"
src="${zip.file.name}"
>
<patternset
includes="${zip.includes}"
/>
</unzip>
<zip
basedir="${tstamp.value}"
destfile="${zip.file.name}"
/>
<delete dir="${tstamp.value}" />
</target>
<target name="test">
<delete dir="test-classes" />
<delete dir="test-results" />
<antcall target="compile" />
<antcall target="compile-test" />
<if>
<available file="tmp" />
<then>
<path id="plugin-lib.classpath">
<fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
<fileset dir="tmp/WEB-INF/lib" includes="*.jar" />
<pathelement location="docroot/WEB-INF/classes" />
<pathelement location="tmp/WEB-INF/classes" />
</path>
</then>
<else>
<path id="plugin-lib.classpath">
<fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
<pathelement location="docroot/WEB-INF/classes" />
</path>
</else>
</if>
<antcall target="test-integration" inheritrefs="true" />
<antcall target="test-unit" inheritrefs="true" />
</target>
<target name="test-class" depends="compile,compile-test">
<if>
<available file="test/integration" type="dir" />
<then>
<resourcecount property="test.integration.count">
<fileset dir="test-classes/integration" includes="**/${class}.class" />
</resourcecount>
</then>
</if>
<if>
<available file="test/unit" type="dir" />
<then>
<resourcecount property="test.unit.count">
<fileset dir="test-classes/unit" includes="**/${class}.class" />
</resourcecount>
</then>
</if>
<if>
<equals arg1="${test.integration.count}" arg2="1" />
<then>
<var name="test.type" value="integration" />
</then>
<elseif>
<equals arg1="${test.unit.count}" arg2="1" />
<then>
<var name="test.type" value="unit" />
</then>
</elseif>
<else>
<var name="test.type" value="" />
</else>
</if>
<ant target="test-cmd">
<property name="test.type" value="${test.type}" />
</ant>
</target>
<target name="test-cmd">
<if>
<available file="test/${test.type}" type="dir" />
<then>
<junit dir="${project.dir}" fork="on" forkmode="once" outputtoformatters="false" printsummary="on" showoutput="true">
<sysproperty key="net.sourceforge.cobertura.datafile" file="test-coverage/cobertura.ser" />
<jvmarg line="${junit.debug.jpda}" />
<jvmarg value="-Xmx1024m" />
<jvmarg value="-XX:MaxPermSize=256m" />
<jvmarg value="-Dexternal-properties=${test.properties}" />
<jvmarg value="-Djava.net.preferIPv4Stack=true" />
<jvmarg value="-Duser.timezone=GMT" />
<classpath location="test-coverage" />
<classpath refid="test.classpath" />
<formatter type="brief" usefile="false" />
<formatter type="xml" />
<batchtest todir="test-results/${test.type}">
<fileset dir="test-classes/${test.type}" includes="**/${class}.class" />
</batchtest>
</junit>
</then>
</if>
</target>
<target name="test-integration" depends="compile,compile-test-integration">
<property name="class" value="*Test" />
<ant target="test-cmd" inheritrefs="true">
<property name="test.type" value="integration" />
</ant>
</target>
<target name="test-unit" depends="compile,compile-test-unit">
<property name="class" value="*Test" />
<ant target="test-cmd" inheritrefs="true">
<property name="test.type" value="unit" />
</ant>
</target>
<target name="war" depends="compile">
<mkdir dir="${project.dir}/dist" />
<if>
<available file="tmp" />
<then>
<property name="docroot.dir" value="tmp" />
</then>
<else>
<property name="docroot.dir" value="docroot" />
</else>
</if>
<delete file="${plugin.file}" />
<antcall target="clean-portal-dependencies" />
<if>
<contains string="${app.server.dir}" substring="glassfish" />
<then>
<zip
basedir="${docroot.dir}"
destfile="${plugin.file}"
excludes="**/META-INF/context.xml,${plugins.war.excludes}"
/>
</then>
<else>
<zip
basedir="${docroot.dir}"
destfile="${plugin.file}"
excludes="${plugins.war.excludes}"
/>
</else>
</if>
<if>
<and>
<equals arg1="${plugins.src.zip.enabled}" arg2="true" />
</and>
<then>
<zip destfile="${plugin.src.file}">
<zipfileset
dir="${docroot.dir}"
prefix="${plugin.name}-src-${lp.version}.${plugin.version}${lp.version.file.suffix}"
/>
</zip>
</then>
</if>
</target>
</project>
Jump to Line
Something went wrong with that request. Please try again.