Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
949 righe
26 KiB
949 righe
26 KiB
<?xml version="1.0"?> |
|
<!DOCTYPE project> |
|
|
|
<project name="build-common-plugin" xmlns:antelope="antlib:ise.antelope.tasks"> |
|
<import file="build-common.xml" /> |
|
|
|
<property name="plugins.includes.path" value="${basedir}" /> |
|
|
|
<set-module-properties |
|
module.dir="${basedir}" |
|
/> |
|
|
|
<macrodef name="build-service"> |
|
<attribute name="service.api.dir" /> |
|
<attribute name="service.auto.namespace.tables" default="true" /> |
|
<attribute name="service.hbm.file.name" default="portlet-hbm.xml" /> |
|
<attribute name="service.model.hints.file.name" default="portlet-model-hints.xml" /> |
|
<attribute name="service.props.util" default="com.liferay.util.service.ServiceProps" /> |
|
<attribute name="service.spring.file.name" default="portlet-spring.xml" /> |
|
<attribute name="service.sql.dir" /> |
|
<attribute name="service.test.dir" /> |
|
|
|
<sequential> |
|
<if> |
|
<available file="docroot" /> |
|
<then> |
|
<var name="service.base.dir" value="docroot/WEB-INF" /> |
|
</then> |
|
<else> |
|
<var name="service.base.dir" value="." /> |
|
</else> |
|
</if> |
|
|
|
<if> |
|
<available file="bnd.bnd" /> |
|
<then> |
|
<var name="service.osgi.module" value="true" /> |
|
<var name="service.plugin.name" value="${plugin.name}" /> |
|
<var name="service.spring.namespaces" value="beans,osgi" /> |
|
</then> |
|
<else> |
|
<var name="service.osgi.module" value="false" /> |
|
<var name="service.plugin.name" value="${plugin.name}" /> |
|
<var name="service.spring.namespaces" value="beans" /> |
|
</else> |
|
</if> |
|
|
|
<mkdir dir="@{service.api.dir}" /> |
|
<mkdir dir="@{service.sql.dir}" /> |
|
|
|
<mkdir dir="${service.base.dir}/classes" /> |
|
<mkdir dir="${service.base.dir}/lib" /> |
|
<mkdir dir="${service.base.dir}/src" /> |
|
|
|
<copy todir="${service.base.dir}/classes"> |
|
<fileset dir="${service.base.dir}/src" excludes="**/*.java" /> |
|
</copy> |
|
|
|
<path id="service.builder.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="${sdk.dir}/dependencies/org.freemarker/lib" includes="*.jar" /> |
|
<fileset dir="${service.base.dir}/lib" includes="*.jar" /> |
|
<pathelement location="${sdk.dir}/misc" /> |
|
<pathelement location="${service.base.dir}/classes" /> |
|
</path> |
|
|
|
<if> |
|
<os family="windows" /> |
|
<then> |
|
<classpath-to-jar |
|
classpathref="service.builder.classpath" |
|
jarfile="service-builder-classpath.jar" |
|
/> |
|
</then> |
|
</if> |
|
|
|
<if> |
|
<not> |
|
<isset property="service.input.file" /> |
|
</not> |
|
<then> |
|
<property name="service.input.file" value="${basedir}/${service.base.dir}/service.xml" /> |
|
</then> |
|
</if> |
|
|
|
<java |
|
classname="com.liferay.portal.tools.servicebuilder.ServiceBuilder" |
|
classpathref="service.builder.classpath" |
|
fork="true" |
|
newenvironment="true" |
|
outputproperty="build-service.output" |
|
> |
|
<jvmarg value="-Xms256m" /> |
|
<jvmarg value="-Xmx512m" /> |
|
<jvmarg value="-Xss512k" /> |
|
<jvmarg value="-XX:MaxPermSize=256m" /> |
|
<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.api.dir=@{service.api.dir}" /> |
|
<arg value="service.auto.namespace.tables=@{service.auto.namespace.tables}" /> |
|
<arg value="service.bean.locator.util=com.liferay.util.bean.PortletBeanLocatorUtil" /> |
|
<arg value="service.build.number=1" /> |
|
<arg value="service.build.number.increment=true" /> |
|
<arg value="service.hbm.file=${basedir}/${service.base.dir}/src/META-INF/@{service.hbm.file.name}" /> |
|
<arg value="service.impl.dir=${basedir}/${service.base.dir}/src" /> |
|
<arg value="service.input.file=${service.input.file}" /> |
|
<arg value="service.model.hints.file=${basedir}/${service.base.dir}/src/META-INF/@{service.model.hints.file.name}" /> |
|
<arg value="service.orm.file=${basedir}/${service.base.dir}/src/META-INF/portlet-orm.xml" /> |
|
<arg value="service.osgi.module=${service.osgi.module}" /> |
|
<arg value="service.plugin.name=${service.plugin.name}" /> |
|
<arg value="service.props.util=@{service.props.util}" /> |
|
<arg value="service.remoting.file=" /> |
|
<arg value="service.resources.dir=${basedir}/${service.base.dir}/src" /> |
|
<arg value="service.spring.base.file=${basedir}/${service.base.dir}/src/META-INF/base-spring.xml" /> |
|
<arg value="service.spring.cluster.file=${basedir}/${service.base.dir}/src/META-INF/cluster-spring.xml" /> |
|
<arg value="service.spring.dynamic.data.source.file=${basedir}/${service.base.dir}/src/META-INF/dynamic-data-source-spring.xml" /> |
|
<arg value="service.spring.file=${basedir}/${service.base.dir}/src/META-INF/@{service.spring.file.name}" /> |
|
<arg value="service.spring.hibernate.file=${basedir}/${service.base.dir}/src/META-INF/hibernate-spring.xml" /> |
|
<arg value="service.spring.infrastructure.file=${basedir}/${service.base.dir}/src/META-INF/infrastructure-spring.xml" /> |
|
<arg value="service.spring.shard.data.source.file=${basedir}/${service.base.dir}/src/META-INF/shard-data-source-spring.xml" /> |
|
<arg value="service.spring.namespaces=${service.spring.namespaces}" /> |
|
<arg value="service.sql.dir=@{service.sql.dir}" /> |
|
<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.target.entity.name=${service.target.entity.name}" /> |
|
<arg value="service.test.dir=@{service.test.dir}" /> |
|
</java> |
|
|
|
<if> |
|
<os family="windows" /> |
|
<then> |
|
<delete file="service-builder-classpath.jar" /> |
|
</then> |
|
</if> |
|
|
|
<delete file="ServiceBuilder.temp" /> |
|
|
|
<echo>${build-service.output}</echo> |
|
|
|
<if> |
|
<contains string="${build-service.output}" substring="Error" /> |
|
<then> |
|
<fail>Service Builder generated exceptions.</fail> |
|
</then> |
|
</if> |
|
</sequential> |
|
</macrodef> |
|
|
|
<macrodef name="classpath-to-jar"> |
|
<attribute name="classpathref" /> |
|
<attribute name="jarfile" /> |
|
|
|
<sequential> |
|
|
|
<!-- |
|
Windows chokes if the classpath is longer than 32 kb. But the |
|
workaround only works for Ant 1.8 and above. See LPS-29085. |
|
--> |
|
|
|
<if> |
|
<and> |
|
<not> |
|
<contains string="${ant.version}" substring="1.6" /> |
|
</not> |
|
<not> |
|
<contains string="${ant.version}" substring="1.7" /> |
|
</not> |
|
</and> |
|
<then> |
|
<manifestclasspath |
|
jarfile="@{jarfile}" |
|
maxParentLevels="99" |
|
property="manifest.classpath" |
|
> |
|
<classpath refid="@{classpathref}" /> |
|
</manifestclasspath> |
|
|
|
<manifest file="@{jarfile}.manifest"> |
|
<attribute name="Class-Path" value="${manifest.classpath}" /> |
|
</manifest> |
|
|
|
<jar |
|
destfile="@{jarfile}" |
|
manifest="@{jarfile}.manifest" |
|
/> |
|
|
|
<delete file="@{jarfile}.manifest" /> |
|
|
|
<var name="manifest.classpath" unset="true" /> |
|
|
|
<path id="@{classpathref}"> |
|
<fileset file="@{jarfile}" /> |
|
</path> |
|
</then> |
|
</if> |
|
</sequential> |
|
</macrodef> |
|
|
|
<macrodef name="compile-jsp"> |
|
<attribute name="compile.jsp.delete.generated.files" default="true" /> |
|
<attribute name="compile.jsp.docroot.dir" /> |
|
<attribute name="compile.jsp.temp.dir" default="" /> |
|
|
|
<sequential> |
|
<if> |
|
<not> |
|
<equals arg1="${app.server.type}" arg2="tomcat" /> |
|
</not> |
|
<then> |
|
<fail>Compiling JSPs with ${app.server.type} is not supported.</fail> |
|
</then> |
|
</if> |
|
|
|
<if> |
|
<available file="@{compile.jsp.docroot.dir}" /> |
|
<then> |
|
<path id="jspc.classpath.common"> |
|
<pathelement location="${env.JAVA_HOME}/jre/lib/rt.jar" /> |
|
<fileset dir="${app.server.lib.global.dir}" includes="*.jar" /> |
|
<fileset dir="${sdk.dir}/dependencies/com.liferay.jasper.jspc/lib" includes="*.jar" /> |
|
<pathelement location="${app.server.lib.portal.dir}/ant.jar" /> |
|
<fileset dir="${basedir}" includes="lib/*.jar" /> |
|
<fileset dir="${basedir}" includes="docroot/WEB-INF/lib/*.jar" /> |
|
<fileset dir="@{compile.jsp.docroot.dir}" includes="WEB-INF/lib/*.jar" /> |
|
</path> |
|
|
|
<local name="jspc.module.web" /> |
|
|
|
<if> |
|
<equals arg1="@{compile.jsp.temp.dir}" arg2="" /> |
|
<then> |
|
<path id="jspc.classpath"> |
|
<path refid="jspc.classpath.common" /> |
|
<pathelement location="@{compile.jsp.docroot.dir}/WEB-INF/classes" /> |
|
</path> |
|
|
|
<property name="jspc.module.web" value="false" /> |
|
</then> |
|
<else> |
|
<path id="jspc.classpath.module.common"> |
|
<path refid="jspc.classpath.common" /> |
|
<fileset dir="${app.server.lib.portal.dir}" includes="*.jar" /> |
|
<fileset dir="${module.framework.base.dir}/modules" includes="*.jar" /> |
|
<pathelement location="@{compile.jsp.temp.dir}" /> |
|
</path> |
|
|
|
<if> |
|
<available file="@{compile.jsp.docroot.dir}/WEB-INF" type="dir" /> |
|
<then> |
|
<path id="jspc.classpath"> |
|
<path refid="jspc.classpath.module.common" /> |
|
<pathelement location="@{compile.jsp.docroot.dir}/WEB-INF/classes" /> |
|
</path> |
|
</then> |
|
<else> |
|
<path id="jspc.classpath"> |
|
<path refid="jspc.classpath.module.common" /> |
|
</path> |
|
</else> |
|
</if> |
|
|
|
<property name="jspc.module.web" value="true" /> |
|
</else> |
|
</if> |
|
|
|
<tstamp> |
|
<format property="tstamp.value" pattern="yyyyMMddkkmmssSSS" /> |
|
</tstamp> |
|
|
|
<var name="compile.jsp.jspc.dir" value="${tstamp.value}" /> |
|
|
|
<mkdir dir="${compile.jsp.jspc.dir}" /> |
|
|
|
<java |
|
classname="com.liferay.jasper.jspc.JspC" |
|
classpathref="jspc.classpath" |
|
fork="true" |
|
jvm="${env.JAVA_HOME}/bin/java" |
|
newenvironment="true" |
|
outputproperty="jspc.output" |
|
> |
|
<sysproperty key="jspc.module.web" value="${jspc.module.web}" /> |
|
<sysproperty key="jspc.portal.dir" value="${app.server.portal.dir}" /> |
|
<arg line="-d ${compile.jsp.jspc.dir}/src -webapp @{compile.jsp.docroot.dir}" /> |
|
</java> |
|
|
|
<echo>${jspc.output}</echo> |
|
|
|
<if> |
|
<contains string="${jspc.output}" substring="JasperException" /> |
|
<then> |
|
<delete dir="${compile.jsp.jspc.dir}/src" quiet="true" /> |
|
|
|
<fail>JSPs failed to compile.</fail> |
|
</then> |
|
</if> |
|
|
|
<if> |
|
<available file="${compile.jsp.jspc.dir}/src" type="dir" /> |
|
<then> |
|
<mkdir dir="${compile.jsp.jspc.dir}/classes" /> |
|
|
|
<javac |
|
classpathref="jspc.classpath" |
|
compiler="${javac.compiler}" |
|
deprecation="${javac.deprecation}" |
|
destdir="${compile.jsp.jspc.dir}/classes" |
|
encoding="${javac.encoding}" |
|
errorProperty="jspc.javac.fail" |
|
failonerror="false" |
|
includeAntRuntime="false" |
|
nowarn="on" |
|
srcdir="${compile.jsp.jspc.dir}/src" |
|
/> |
|
|
|
<if> |
|
<istrue value="@{compile.jsp.delete.generated.files}" /> |
|
<then> |
|
<delete dir="${compile.jsp.jspc.dir}" quiet="true" /> |
|
</then> |
|
</if> |
|
</then> |
|
</if> |
|
|
|
<if> |
|
<istrue value="${jspc.javac.fail}" /> |
|
<then> |
|
<fail>JSPs failed to compile.</fail> |
|
</then> |
|
</if> |
|
</then> |
|
</if> |
|
</sequential> |
|
</macrodef> |
|
|
|
<target name="all"> |
|
<antcall target="clean" /> |
|
<antcall target="deploy" /> |
|
</target> |
|
|
|
<target name="build-client"> |
|
<property name="client.url" value="http://localhost:8080/${plugin.name}/api/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" /> |
|
|
|
<compile-java |
|
javac.classpathref="portal.classpath" |
|
javac.destdir="docroot/WEB-INF/client/classes" |
|
javac.srcdir="docroot/WEB-INF/client/src" |
|
/> |
|
|
|
<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-lang"> |
|
<if> |
|
<available file="docroot/WEB-INF/src/content" /> |
|
<then> |
|
<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> |
|
</then> |
|
</if> |
|
|
|
<if> |
|
<available file="src/content" /> |
|
<then> |
|
<antcall target="build-lang-cmd"> |
|
<param name="lang.dir" value="src/content" /> |
|
<param name="lang.file" value="Language" /> |
|
<param name="lang.translate" value="true" /> |
|
</antcall> |
|
</then> |
|
</if> |
|
</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"> |
|
<if> |
|
<available file="docroot" /> |
|
<then> |
|
<var name="service.base.dir" value="docroot/WEB-INF" /> |
|
</then> |
|
<else> |
|
<var name="service.base.dir" value="." /> |
|
</else> |
|
</if> |
|
|
|
<build-service |
|
service.api.dir="${basedir}/${service.base.dir}/service" |
|
service.sql.dir="${basedir}/${service.base.dir}/sql" |
|
service.test.dir="" |
|
/> |
|
|
|
<mkdir dir="${service.base.dir}/service-classes" /> |
|
|
|
<path id="service.classpath"> |
|
<path refid="lib.classpath" /> |
|
<fileset dir="${app.server.lib.global.dir}" includes="*.jar" /> |
|
<fileset dir="${sdk.dir}/dependencies/aQute.bnd/lib" includes="*.jar" /> |
|
<fileset dir="${service.base.dir}/lib" excludes="${plugin.name}-service.jar" includes="*.jar" /> |
|
</path> |
|
|
|
<compile-java |
|
javac.classpathref="service.classpath" |
|
javac.destdir="${service.base.dir}/service-classes" |
|
javac.srcdir="${service.base.dir}/service" |
|
/> |
|
|
|
<jar |
|
basedir="${service.base.dir}/service-classes" |
|
destfile="${service.base.dir}/lib/${plugin.name}-service.jar" |
|
/> |
|
|
|
<delete dir="${service.base.dir}/service-classes" /> |
|
</target> |
|
|
|
<target name="build-wsdd"> |
|
<loop-macrodef-or-target |
|
module.dirs="${basedir}" |
|
target.name="compile" |
|
/> |
|
|
|
<path id="wsdd.builder.classpath"> |
|
<path refid="lib.classpath" /> |
|
<path refid="portal.classpath" /> |
|
<fileset dir="${plugin.lib.dir}" includes="*.jar" /> |
|
<pathelement location="${plugin.classes.dir}" /> |
|
</path> |
|
|
|
<if> |
|
<os family="windows" /> |
|
<then> |
|
<classpath-to-jar |
|
classpathref="wsdd.builder.classpath" |
|
jarfile="wsdd-builder-classpath.jar" |
|
/> |
|
</then> |
|
</if> |
|
|
|
<java |
|
classname="com.liferay.portal.tools.WSDDBuilder" |
|
classpathref="wsdd.builder.classpath" |
|
fork="true" |
|
maxmemory="256m" |
|
newenvironment="true" |
|
outputproperty="build-wsdd.output" |
|
> |
|
<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=${plugin.source.dir}/../service.xml" /> |
|
<arg value="wsdd.server.config.file=${plugin.source.dir}/../server-config.wsdd" /> |
|
<arg value="wsdd.service.namespace=Plugin" /> |
|
<arg value="wsdd.output.path=${plugin.source.dir}/" /> |
|
</java> |
|
|
|
<if> |
|
<os family="windows" /> |
|
<then> |
|
<delete file="wsdd-builder-classpath.jar" /> |
|
</then> |
|
</if> |
|
|
|
<echo>${build-wsdd.output}</echo> |
|
|
|
<if> |
|
<contains string="${build-wsdd.output}" substring="IOException" /> |
|
<then> |
|
<fail>WSDD Builder generated exceptions.</fail> |
|
</then> |
|
</if> |
|
|
|
<if> |
|
<available file="bnd.bnd" /> |
|
<then> |
|
<property file="bnd.bnd" prefix="bnd." /> |
|
|
|
<echo file="${plugin.name}-wsdd.bnd">Bundle-SymbolicName: ${bnd.Bundle-SymbolicName}.wsdd |
|
Bundle-Name: ${bnd.Bundle-Name} WSDD descriptors |
|
Bundle-Version: ${bnd.Bundle-Version} |
|
Fragment-Host: ${bnd.Bundle-SymbolicName} |
|
Import-Package: javax.servlet,javax.servlet.http |
|
Include-Resource: WEB-INF/=server-config.wsdd,classes;filter:=*.wsdd |
|
</echo> |
|
|
|
<manifest-helper /> |
|
|
|
<bndexpand propertyfile="${sdk.dir}/common.bnd" /> |
|
|
|
<bnd eclipse="false" exceptions="true" failok="false" inherit="true" output="${plugin.wsdd.file}"> |
|
<bndfiles> |
|
<fileset dir="${basedir}"> |
|
<include name="${plugin.name}-wsdd.bnd" /> |
|
</fileset> |
|
</bndfiles> |
|
<classpath> |
|
<pathelement location="${plugin.classes.dir}" /> |
|
</classpath> |
|
<property name="-sourcepath" value="${basedir}" /> |
|
</bnd> |
|
|
|
<delete file="${basedir}/${plugin.name}-wsdd.bnd" failonerror="false" /> |
|
</then> |
|
</if> |
|
</target> |
|
|
|
<target name="compile-import-shared"> |
|
<compile-import-shared |
|
module.dir="${basedir}" |
|
/> |
|
</target> |
|
|
|
<target name="compile-jsp"> |
|
<if> |
|
<resourcecount count="0" when="gt"> |
|
<fileset |
|
dir="${basedir}" |
|
excludes="**/custom_jsps/**/*,**/dependencies/**/*" |
|
includes="docroot/**/*.jsp,src/META-INF/resources/**/*.jsp,tmp/**/*.jsp" |
|
/> |
|
</resourcecount> |
|
<then> |
|
<set-module-properties |
|
module.dir="${basedir}" |
|
/> |
|
|
|
<if> |
|
<isset property="compile.jsp.docroot.dir" /> |
|
<then> |
|
<compile |
|
module.dir="${basedir}" |
|
/> |
|
|
|
<compile-jsp |
|
compile.jsp.docroot.dir="${compile.jsp.docroot.dir}" |
|
/> |
|
</then> |
|
<elseif> |
|
<available file="bnd.bnd" type="file" /> |
|
<then> |
|
<antcall target="jar"> |
|
<param name="plugins.includes.path" value="${basedir}" /> |
|
</antcall> |
|
|
|
<tstamp> |
|
<format property="tstamp.value" pattern="yyyyMMddkkmmssSSS" /> |
|
</tstamp> |
|
|
|
<unzip dest="${tstamp.value}" src="${plugin.file}" /> |
|
|
|
<if> |
|
<available file="${tstamp.value}/META-INF/resources" type="dir" /> |
|
<then> |
|
<compile-jsp |
|
compile.jsp.docroot.dir="${tstamp.value}/META-INF/resources" |
|
compile.jsp.temp.dir="${tstamp.value}" |
|
/> |
|
</then> |
|
<else> |
|
<compile-jsp |
|
compile.jsp.docroot.dir="${tstamp.value}" |
|
compile.jsp.temp.dir="${tstamp.value}" |
|
/> |
|
</else> |
|
</if> |
|
|
|
<delete dir="${tstamp.value}" /> |
|
</then> |
|
</elseif> |
|
<else> |
|
<loop-macrodef-or-target |
|
module.dirs="${basedir}" |
|
target.name="compile" |
|
/> |
|
|
|
<compile-jsp |
|
compile.jsp.docroot.dir="docroot" |
|
/> |
|
</else> |
|
</if> |
|
</then> |
|
</if> |
|
</target> |
|
|
|
<target name="compile-test"> |
|
<compile-test |
|
module.dir="${basedir}" |
|
/> |
|
</target> |
|
|
|
<target name="compile-test-integration"> |
|
<compile-test-integration |
|
module.dir="${basedir}" |
|
/> |
|
</target> |
|
|
|
<target name="compile-test-unit"> |
|
<compile-test-unit |
|
module.dir="${basedir}" |
|
/> |
|
</target> |
|
|
|
<target name="format-wsdl"> |
|
<for param="wsdl.full.path"> |
|
<path> |
|
<fileset |
|
dir="." |
|
includes="docroot/WEB-INF/wsdl/*.wsdl,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="format-xsd"> |
|
<for param="xsd.full.path"> |
|
<path> |
|
<fileset |
|
dir="." |
|
includes="docroot/WEB-INF/xsd/*.xsd,docroot/WEB-INF/xsd/**/*.xsd" |
|
/> |
|
</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=@{xsd.full.path}" /> |
|
<jvmarg value="-Dxml.formatter.strip.comments=true" /> |
|
</java> |
|
</sequential> |
|
</for> |
|
</target> |
|
|
|
<target name="install" depends="publish-local-m2-release" /> |
|
|
|
<target name="jar-javadoc" depends="javadoc"> |
|
<jar-javadoc |
|
module.dir="${basedir}" |
|
/> |
|
</target> |
|
|
|
<target name="jar-source"> |
|
<jar-source |
|
module.dir="${basedir}" |
|
/> |
|
</target> |
|
|
|
<target name="javadoc"> |
|
<javadoc-macro |
|
module.dir="${basedir}" |
|
/> |
|
</target> |
|
|
|
<target name="merge"> |
|
<merge |
|
module.dir="${basedir}" |
|
/> |
|
</target> |
|
|
|
<target name="merge-unzip"> |
|
<merge-unzip |
|
module.dir="${basedir}" |
|
/> |
|
</target> |
|
|
|
<target name="patch"> |
|
<var name="patched.file.available" value="false" /> |
|
|
|
<for param="patched.file"> |
|
<path> |
|
<fileset |
|
dir="${plugin.source.dir}" |
|
includes="${patch.destination}" |
|
/> |
|
</path> |
|
<sequential> |
|
<var name="patched.file.available" value="true" /> |
|
</sequential> |
|
</for> |
|
|
|
<if> |
|
<equals arg1="${patched.file.available}" arg2="false" /> |
|
<then> |
|
<mirrors-get |
|
dest="${patch.original.lib.name}-sources.jar" |
|
src="${patch.original.lib.url}/${patch.original.lib.name}/${patch.original.lib.version}/${patch.original.lib.name}-${patch.original.lib.version}-sources.jar" |
|
/> |
|
|
|
<unjar |
|
dest="${plugin.source.dir}" |
|
src="${patch.original.lib.name}-sources.jar" |
|
> |
|
<mapper |
|
type="glob" |
|
from="${patch.original.lib.source.dir}/*" |
|
to="*" |
|
/> |
|
<patternset includes="${patch.destination}" /> |
|
</unjar> |
|
|
|
<delete file="${patch.original.lib.name}-sources.jar" /> |
|
|
|
<if> |
|
<available file="${patch.source}" type="dir" /> |
|
<then> |
|
<pathconvert property="patch.files"> |
|
<path> |
|
<fileset dir="${patch.source}" /> |
|
</path> |
|
</pathconvert> |
|
</then> |
|
<else> |
|
<pathconvert property="patch.files"> |
|
<path> |
|
<fileset file="${patch.source}" /> |
|
</path> |
|
</pathconvert> |
|
</else> |
|
</if> |
|
|
|
<for delimiter="${path.separator}" list="${patch.files}" param="patch.file"> |
|
<sequential> |
|
<echo>Applying patch @{patch.file}.</echo> |
|
|
|
<patch dir="${plugin.source.dir}" patchfile="@{patch.file}" strip="1" /> |
|
</sequential> |
|
</for> |
|
</then> |
|
</if> |
|
|
|
<var name="patched.file.available" unset="true" /> |
|
</target> |
|
|
|
<target name="shrink-zip-cmd"> |
|
<tstamp> |
|
<format property="tstamp.value" pattern="yyyyMMddkkmmssSSS" /> |
|
</tstamp> |
|
|
|
<unzip |
|
dest="${tstamp.value}" |
|
src="${zip.file.name}" |
|
> |
|
<patternset |
|
excludes="${zip.excludes}" |
|
includes="${zip.includes}" |
|
/> |
|
</unzip> |
|
|
|
<zip |
|
basedir="${tstamp.value}" |
|
destfile="${zip.file.name}" |
|
/> |
|
|
|
<delete dir="${tstamp.value}" /> |
|
</target> |
|
|
|
<target name="test-class"> |
|
<test-class |
|
module.dir="${basedir}" |
|
test.class="${test.class}" |
|
/> |
|
|
|
<stop-test-app-server /> |
|
</target> |
|
|
|
<target name="test-class-group"> |
|
<if> |
|
<not> |
|
<isset property="test.class.group.index" /> |
|
</not> |
|
<then> |
|
<fail>Use "ant test-class-group -Dtest.class.group.index=0".</fail> |
|
</then> |
|
</if> |
|
|
|
<if> |
|
<available file="${basedir}/test" type="dir" /> |
|
<then> |
|
<property file="${lp.portal.project.dir}/test.class.file.names.properties" /> |
|
|
|
<propertycopy from="TEST_CLASS_GROUP_${test.class.group.index}" name="test.classes" /> |
|
|
|
<propertyregex property="test.java.classes" |
|
global="true" |
|
input="${test.classes}" |
|
regexp="\.class" |
|
replace=".java" |
|
/> |
|
|
|
<if> |
|
<and> |
|
<or> |
|
<not> |
|
<isset property="test.type" /> |
|
</not> |
|
<equals arg1="${test.type}" arg2="unit" /> |
|
</or> |
|
<resourcecount count="0" when="gt"> |
|
<fileset dir="${basedir}/test/unit" erroronmissingdir="false" includes="${test.java.classes}" /> |
|
</resourcecount> |
|
</and> |
|
<then> |
|
<test-cmd |
|
module.dir="${basedir}" |
|
junit.forkmode="perTest" |
|
test.class="${test.classes}" |
|
test.type="unit" |
|
/> |
|
</then> |
|
</if> |
|
|
|
<if> |
|
<and> |
|
<or> |
|
<not> |
|
<isset property="test.type" /> |
|
</not> |
|
<equals arg1="${test.type}" arg2="integration" /> |
|
</or> |
|
<resourcecount count="0" when="gt"> |
|
<fileset dir="${basedir}/test/integration" erroronmissingdir="false" includes="${test.java.classes}" /> |
|
</resourcecount> |
|
</and> |
|
<then> |
|
<test-cmd |
|
module.dir="${basedir}" |
|
junit.forkmode="once" |
|
test.class="${test.classes}" |
|
test.type="integration" |
|
/> |
|
</then> |
|
</if> |
|
</then> |
|
</if> |
|
|
|
<if> |
|
<and> |
|
<or> |
|
<not> |
|
<isset property="test.type" /> |
|
</not> |
|
<equals arg1="${test.type}" arg2="unit" /> |
|
</or> |
|
<equals arg1="${test.class.group.index}" arg2="0" /> |
|
</and> |
|
<then> |
|
<antcall target="compile-jsp" /> |
|
</then> |
|
</if> |
|
</target> |
|
|
|
<target name="test-package"> |
|
<if> |
|
<not> |
|
<isset property="test.package" /> |
|
</not> |
|
<then> |
|
<fail>Use "ant test-package -Dtest.package=com.liferay.portal.kernel.util".</fail> |
|
</then> |
|
</if> |
|
|
|
<propertyregex |
|
global="true" |
|
input="${test.package}" |
|
property="test.package.dir" |
|
regexp="\." |
|
replace="/" |
|
/> |
|
|
|
<test-cmd |
|
module.dir="${basedir}" |
|
junit.forkmode="once" |
|
test.class="**/${test.package.dir}/*Test.class" |
|
test.type="integration" |
|
/> |
|
|
|
<test-cmd |
|
module.dir="${basedir}" |
|
junit.forkmode="perTest" |
|
test.class="**/${test.package.dir}/*Test.class" |
|
test.type="unit" |
|
/> |
|
</target> |
|
</project> |