1 <?xml version="1.0"?>
\r
4 <project name="build-common-plugin" xmlns:antelope="antlib:ise.antelope.tasks">
\r
5 <import file="build-common.xml" />
\r
8 <available file="docroot/WEB-INF/liferay-plugin-package.properties" />
\r
10 <property file="docroot/WEB-INF/liferay-plugin-package.properties" prefix="plugin-package" />
\r
12 <property name="plugin.version" value="${plugin-package.module-incremental-version}" />
\r
13 <property name="plugin.jars" value="${plugin-package.portal-dependency-jars}" />
\r
14 <property name="plugin.tlds" value="${plugin-package.portal-dependency-tlds}" />
\r
18 <antelope:stringutil string="${basedir}" property="plugin.name.beginindex">
\r
19 <antelope:lastindexof string="${file.separator}" />
\r
20 </antelope:stringutil>
\r
24 operand1="${plugin.name.beginindex}"
\r
27 result="plugin.name.beginindex"
\r
30 <antelope:stringutil string="${basedir}" property="plugin.name">
\r
31 <antelope:substring beginindex="${plugin.name.beginindex}" />
\r
32 </antelope:stringutil>
\r
35 <antelope:endswith string="${plugin.name}" with="-client" />
\r
37 <property name="plugin.file" value="${project.dir}/dist/${plugin.name}-${lp.version}.${plugin.version}${lp.version.file.suffix}.jar" />
\r
38 <property name="plugin.src.file" value="${project.dir}/dist/${plugin.name}-src-${lp.version}.${plugin.version}${lp.version.file.suffix}.zip" />
\r
41 <property name="plugin.file" value="${project.dir}/dist/${plugin.name}-${lp.version}.${plugin.version}${lp.version.file.suffix}.war" />
\r
42 <property name="plugin.src.file" value="${project.dir}/dist/${plugin.name}-src-${lp.version}.${plugin.version}${lp.version.file.suffix}.zip" />
\r
47 <antcall target="clean" />
\r
48 <antcall target="deploy" />
\r
51 <target name="build-client">
\r
52 <property name="client.url" value="http://localhost:8080/${plugin.name}/api/axis" />
\r
54 <echo message="Make sure the server is listening on ${client.url}." />
\r
57 <mkdir dir="docroot/WEB-INF/client/src" />
\r
60 classname="com.liferay.portal.tools.PortalClientBuilder"
\r
61 classpathref="portal.classpath"
\r
64 newenvironment="true"
\r
66 <jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
67 <arg value="docroot/WEB-INF/server-config.wsdd" />
\r
68 <arg value="docroot/WEB-INF/client/src" />
\r
69 <arg value="docroot/WEB-INF/client/namespace-mapping.properties" />
\r
70 <arg value="${client.url}" />
\r
73 <mkdir dir="docroot/WEB-INF/client/classes" />
\r
75 <antcall target="compile-java">
\r
76 <param name="javac.classpathref" value="portal.classpath" />
\r
77 <param name="javac.destdir" value="docroot/WEB-INF/client/classes" />
\r
78 <param name="javac.srcdir" value="docroot/WEB-INF/client/src" />
\r
81 <zip destfile="docroot/WEB-INF/client/${plugin.name}-client.jar">
\r
82 <fileset dir="docroot/WEB-INF/client/classes" />
\r
83 <fileset dir="docroot/WEB-INF/client/src" />
\r
86 <delete dir="docroot/WEB-INF/client/classes" />
\r
87 <delete dir="docroot/WEB-INF/client/src" />
\r
90 <target name="build-db">
\r
92 classname="com.liferay.portal.tools.DBBuilder"
\r
93 classpathref="portal.classpath"
\r
96 newenvironment="true"
\r
98 <arg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
99 <arg value="db.database.name=${database.name}" />
\r
100 <arg value="db.database.types=${database.types}" />
\r
101 <arg value="db.sql.dir=docroot/WEB-INF/sql" />
\r
104 <delete file="velocity.log" quiet="true" />
\r
107 <target name="build-lang">
\r
108 <antcall target="build-lang-cmd">
\r
109 <param name="lang.dir" value="docroot/WEB-INF/src/content" />
\r
110 <param name="lang.file" value="Language" />
\r
111 <param name="lang.translate" value="true" />
\r
115 <target name="build-lang-cmd">
\r
117 classname="com.liferay.portal.tools.LangBuilder"
\r
118 classpathref="portal.classpath"
\r
120 newenvironment="true"
\r
122 <jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
123 <jvmarg value="-Dfile.encoding=UTF-8" />
\r
124 <jvmarg value="-Duser.country=US" />
\r
125 <jvmarg value="-Duser.language=en" />
\r
126 <arg value="lang.dir=${lang.dir}" />
\r
127 <arg value="lang.file=${lang.file}" />
\r
128 <arg value="lang.plugin=true" />
\r
129 <arg value="lang.translate=${lang.translate}" />
\r
132 <copy file="${lang.dir}/${lang.file}.properties" tofile="${lang.dir}/${lang.file}_en.properties" />
\r
135 <target name="build-service">
\r
136 <mkdir dir="docroot/WEB-INF/classes" />
\r
137 <mkdir dir="docroot/WEB-INF/lib" />
\r
138 <mkdir dir="docroot/WEB-INF/service" />
\r
139 <mkdir dir="docroot/WEB-INF/sql" />
\r
140 <mkdir dir="docroot/WEB-INF/src" />
\r
142 <copy todir="docroot/WEB-INF/classes">
\r
143 <fileset dir="docroot/WEB-INF/src" excludes="**/*.java" />
\r
146 <path id="service.classpath">
\r
147 <path refid="lib.classpath" />
\r
148 <path refid="portal.classpath" />
\r
149 <fileset dir="${app.server.lib.portal.dir}" includes="commons-digester.jar,commons-lang.jar,easyconf.jar" />
\r
150 <fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
\r
151 <pathelement location="docroot/WEB-INF/classes" />
\r
156 <isset property="service.input.file" />
\r
159 <property name="service.input.file" value="${basedir}/docroot/WEB-INF/service.xml" />
\r
164 classname="com.liferay.portal.tools.servicebuilder.ServiceBuilder"
\r
165 classpathref="service.classpath"
\r
167 newenvironment="true"
\r
168 outputproperty="service.test.output"
\r
170 <jvmarg value="-Xms512m" />
\r
171 <jvmarg value="-Xmx1024m" />
\r
172 <jvmarg value="-Xss2048k" />
\r
173 <jvmarg value="-XX:MaxPermSize=512m" />
\r
174 <arg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
175 <arg value="-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger" />
\r
176 <arg value="service.input.file=${service.input.file}" />
\r
177 <arg value="service.hbm.file=${basedir}/docroot/WEB-INF/src/META-INF/portlet-hbm.xml" />
\r
178 <arg value="service.orm.file=${basedir}/docroot/WEB-INF/src/META-INF/portlet-orm.xml" />
\r
179 <arg value="service.model.hints.file=${basedir}/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml" />
\r
180 <arg value="service.spring.file=${basedir}/docroot/WEB-INF/src/META-INF/portlet-spring.xml" />
\r
181 <arg value="service.spring.base.file=${basedir}/docroot/WEB-INF/src/META-INF/base-spring.xml" />
\r
182 <arg value="service.spring.cluster.file=${basedir}/docroot/WEB-INF/src/META-INF/cluster-spring.xml" />
\r
183 <arg value="service.spring.dynamic.data.source.file=${basedir}/docroot/WEB-INF/src/META-INF/dynamic-data-source-spring.xml" />
\r
184 <arg value="service.spring.hibernate.file=${basedir}/docroot/WEB-INF/src/META-INF/hibernate-spring.xml" />
\r
185 <arg value="service.spring.infrastructure.file=${basedir}/docroot/WEB-INF/src/META-INF/infrastructure-spring.xml" />
\r
186 <arg value="service.spring.shard.data.source.file=${basedir}/docroot/WEB-INF/src/META-INF/shard-data-source-spring.xml" />
\r
187 <arg value="service.api.dir=${basedir}/docroot/WEB-INF/service" />
\r
188 <arg value="service.impl.dir=${basedir}/docroot/WEB-INF/src" />
\r
189 <arg value="service.json.file=${basedir}/docroot/js/service.js" />
\r
190 <arg value="service.sql.dir=${basedir}/docroot/WEB-INF/sql" />
\r
191 <arg value="service.sql.file=tables.sql" />
\r
192 <arg value="service.sql.indexes.file=indexes.sql" />
\r
193 <arg value="service.sql.indexes.properties.file=indexes.properties" />
\r
194 <arg value="service.sql.sequences.file=sequences.sql" />
\r
195 <arg value="service.auto.namespace.tables=true" />
\r
196 <arg value="service.bean.locator.util=com.liferay.util.bean.PortletBeanLocatorUtil" />
\r
197 <arg value="service.props.util=com.liferay.util.service.ServiceProps" />
\r
198 <arg value="service.plugin.name=${plugin.name}" />
\r
199 <arg value="service.target.entity.name=${service.target.entity.name}" />
\r
202 <echo>${service.test.output}</echo>
\r
205 <contains string="${service.test.output}" substring="Error" />
\r
207 <fail>Service Builder generated exceptions.</fail>
\r
211 <delete file="ServiceBuilder.temp" />
\r
213 <mkdir dir="docroot/WEB-INF/service-classes" />
\r
215 <path id="service.classpath">
\r
216 <fileset dir="${app.server.lib.global.dir}" includes="*.jar" />
\r
217 <fileset dir="${project.dir}/lib" includes="activation.jar,jsp-api.jar,mail.jar,servlet-api.jar" />
\r
218 <fileset dir="docroot/WEB-INF/lib" excludes="${plugin.name}-service.jar" includes="*.jar" />
\r
221 <antcall target="compile-java">
\r
222 <param name="javac.classpathref" value="service.classpath" />
\r
223 <param name="javac.destdir" value="docroot/WEB-INF/service-classes" />
\r
224 <param name="javac.srcdir" value="docroot/WEB-INF/service" />
\r
225 <reference refid="service.classpath" torefid="service.classpath" />
\r
229 basedir="docroot/WEB-INF/service-classes"
\r
230 destfile="docroot/WEB-INF/lib/${plugin.name}-service.jar"
\r
233 <delete dir="docroot/WEB-INF/service-classes" />
\r
236 <target name="build-wsdd" depends="compile">
\r
237 <path id="wsdd.classpath">
\r
238 <path refid="lib.classpath" />
\r
239 <path refid="portal.classpath" />
\r
240 <fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
\r
241 <pathelement location="docroot/WEB-INF/classes" />
\r
245 classname="com.liferay.portal.tools.WSDDBuilder"
\r
246 classpathref="wsdd.classpath"
\r
249 newenvironment="true"
\r
251 <jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
252 <jvmarg value="-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger" />
\r
253 <arg value="wsdd.input.file=docroot/WEB-INF/service.xml" />
\r
254 <arg value="wsdd.server.config.file=docroot/WEB-INF/server-config.wsdd" />
\r
255 <arg value="wsdd.service.namespace=Plugin" />
\r
256 <arg value="wsdd.output.path=docroot/WEB-INF/src/" />
\r
260 <target name="build-wsdl">
\r
261 <for param="wsdl.full.path">
\r
263 <fileset dir="." includes="docroot/WEB-INF/wsdl/*.wsdl" />
\r
267 <format property="tstamp.value" pattern="yyyyMMddkkmmssSSS" />
\r
270 <mkdir dir="${tstamp.value}" />
\r
272 <taskdef classpathref="portal.classpath" resource="axis-tasks.properties" />
\r
275 output="${tstamp.value}"
\r
276 url="@{wsdl.full.path}"
\r
279 <path id="plugin-lib.classpath">
\r
280 <fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
\r
281 <pathelement location="docroot/WEB-INF/classes" />
\r
284 <antcall target="compile-java">
\r
285 <param name="javac.classpathref" value="plugin.classpath" />
\r
286 <param name="javac.destdir" value="${tstamp.value}" />
\r
287 <param name="javac.srcdir" value="${tstamp.value}" />
\r
288 <reference refid="plugin-lib.classpath" torefid="plugin-lib.classpath" />
\r
291 <antelope:stringutil string="@{wsdl.full.path}" property="wsdl.name.beginindex">
\r
292 <antelope:lastindexof string="${file.separator}" />
\r
293 </antelope:stringutil>
\r
297 operand1="${wsdl.name.beginindex}"
\r
300 result="wsdl.name.beginindex"
\r
303 <antelope:stringutil string="@{wsdl.full.path}" property="wsdl.file">
\r
304 <antelope:substring beginindex="${wsdl.name.beginindex}" />
\r
305 </antelope:stringutil>
\r
307 <antelope:stringutil string="@{wsdl.full.path}" property="wsdl.name.endindex">
\r
308 <antelope:lastindexof string="." />
\r
309 </antelope:stringutil>
\r
311 <antelope:stringutil string="@{wsdl.full.path}" property="wsdl.name">
\r
312 <antelope:substring beginindex="${wsdl.name.beginindex}" endindex="${wsdl.name.endindex}" />
\r
313 </antelope:stringutil>
\r
316 basedir="${tstamp.value}"
\r
317 jarfile="docroot/WEB-INF/lib/${wsdl.name}-ws.jar"
\r
320 <delete dir="${tstamp.value}" />
\r
325 <target name="build-xsd">
\r
327 <format property="tstamp.value" pattern="yyyyMMddkkmmssSSS" />
\r
330 <mkdir dir="${tstamp.value}" />
\r
332 <path id="plugin-lib.classpath">
\r
333 <fileset dir="${app.server.lib.portal.dir}" includes="xbean.jar" />
\r
334 <fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
\r
335 <pathelement location="docroot/WEB-INF/classes" />
\r
338 <taskdef classname="org.apache.xmlbeans.impl.tool.XMLBean" classpathref="portal.classpath" name="xmlbean" />
\r
341 classgendir="${tstamp.value}"
\r
342 classpathref="plugin-lib.classpath"
\r
343 srcgendir="${tstamp.value}"
\r
345 <fileset dir="docroot/WEB-INF/xsd" includes="**/*.*" />
\r
349 basedir="${tstamp.value}"
\r
350 destfile="docroot/WEB-INF/lib/${plugin.name}-xbean.jar"
\r
353 <delete dir="${tstamp.value}" />
\r
356 <target name="clean" description="clean">
\r
357 <delete dir="docroot/WEB-INF/classes" />
\r
361 <available file="docroot/WEB-INF/.gitignore" />
\r
364 <loadfile property=".gitignore.content" srcFile="docroot/WEB-INF/.gitignore" />
\r
367 <contains string="${.gitignore.content}" substring="/lib" />
\r
369 <delete dir="docroot/WEB-INF/lib" />
\r
377 <available file="docroot/WEB-INF/.svn" />
\r
379 <available file="docroot/WEB-INF/lib/.svn" />
\r
383 <delete dir="docroot/WEB-INF/lib" />
\r
387 <delete dir="test-classes" />
\r
388 <delete dir="test-results" />
\r
389 <delete dir="tmp" />
\r
390 <delete file="${plugin.file}" />
\r
391 <delete file="${plugin.src.file}" />
\r
393 <delete includeemptydirs="true">
\r
394 <fileset dir="docroot" includes="**/.sass-cache/**" />
\r
395 <fileset dir="docroot" includes="**/.sprite.png" />
\r
396 <fileset dir="docroot" includes="**/.sprite.properties" />
\r
397 <fileset dir="docroot" includes="**/Thumbs.db" />
\r
400 <antcall target="clean-portal-dependencies" />
\r
403 <target name="clean-portal-dependencies">
\r
405 <available file="docroot/WEB-INF/lib" />
\r
408 <fileset dir="docroot/WEB-INF/lib" includes="${required.portal.jars}" />
\r
409 <fileset dir="docroot/WEB-INF/lib" includes="${plugin.jars}" />
\r
415 <available file="docroot/WEB-INF/tld" />
\r
418 <fileset dir="docroot/WEB-INF/tld" includes="${plugin.tlds}" />
\r
424 <available file="tmp/WEB-INF/lib" />
\r
427 <fileset dir="tmp/WEB-INF/lib" includes="${required.portal.jars}" />
\r
428 <fileset dir="tmp/WEB-INF/lib" includes="${plugin.jars}" />
\r
434 <available file="tmp/WEB-INF/tld" />
\r
437 <fileset dir="tmp/WEB-INF/tld" includes="${plugin.tlds}" />
\r
443 <target name="compile">
\r
444 <antcall target="merge" />
\r
446 <mkdir dir="docroot/WEB-INF/classes" />
\r
447 <mkdir dir="docroot/WEB-INF/lib" />
\r
449 <copy todir="docroot/WEB-INF/lib">
\r
450 <fileset dir="${app.server.lib.portal.dir}" includes="${plugin.jars}" />
\r
454 <isset property="plugin-package.required-deployment-contexts" />
\r
456 <for list="${plugin-package.required-deployment-contexts}" param="required.deployment.context">
\r
459 <available file="${project.dir}/hooks/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar" />
\r
462 file="${project.dir}/hooks/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar"
\r
463 todir="docroot/WEB-INF/lib"
\r
468 <available file="${project.dir}/portlets/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar" />
\r
471 file="${project.dir}/portlets/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar"
\r
472 todir="docroot/WEB-INF/lib"
\r
478 <available file="${project.dir}/webs/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar" />
\r
481 file="${project.dir}/webs/@{required.deployment.context}/docroot/WEB-INF/lib/@{required.deployment.context}-service.jar"
\r
482 todir="docroot/WEB-INF/lib"
\r
493 <copy todir="docroot/WEB-INF/tld">
\r
494 <fileset dir="${app.server.portal.dir}/WEB-INF/tld" includes="${plugin.tlds}" />
\r
498 <available file="docroot/WEB-INF/src" />
\r
501 <available file="tmp" />
\r
503 <path id="plugin-lib.classpath">
\r
504 <fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
\r
505 <fileset dir="tmp/WEB-INF/lib" includes="*.jar" />
\r
506 <pathelement location="docroot/WEB-INF/classes" />
\r
507 <pathelement location="tmp/WEB-INF/classes" />
\r
511 <path id="plugin-lib.classpath">
\r
512 <fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
\r
513 <pathelement location="docroot/WEB-INF/classes" />
\r
518 <copy todir="docroot/WEB-INF/lib">
\r
519 <fileset dir="${app.server.lib.portal.dir}" includes="${required.portal.jars}" />
\r
523 <available file="docroot/WEB-INF/lib/portal-impl.jar" />
\r
528 Detected inclusion of portal-impl.jar in WEB-INF/lib.
\r
530 portal-impl.jar is designed with a large number of singleton classes which are
\r
531 instantiated on the basis that they will exist alone in the application server.
\r
533 While compile time issues may be resolved, portlets cannot be made to work by
\r
534 simply adding portal-impl.jar, because doing so violates the above assumption,
\r
535 and the resulting problems will be extremely difficult to debug.
\r
537 Please find a solution that does not require portal-impl.jar.
\r
542 <antcall target="compile-java">
\r
543 <param name="javac.classpathref" value="plugin.classpath" />
\r
544 <param name="javac.destdir" value="docroot/WEB-INF/classes" />
\r
545 <param name="javac.srcdir" value="docroot/WEB-INF/src" />
\r
546 <reference refid="plugin-lib.classpath" torefid="plugin-lib.classpath" />
\r
551 <antcall target="merge" />
\r
554 <target name="compile-test">
\r
555 <antcall target="compile-test-integration" inheritall="false" />
\r
556 <antcall target="compile-test-unit" inheritall="false" />
\r
559 <target name="compile-test-cmd">
\r
561 <available file="test/${test.type}" type="dir" />
\r
563 <mkdir dir="test-classes/${test.type}" />
\r
564 <mkdir dir="test-results/${test.type}" />
\r
566 <copy todir="test-classes/${test.type}">
\r
567 <fileset dir="test" includes="*.properties" />
\r
568 <fileset dir="test/${test.type}" includes="**/*.png,**/*.properties,**/*.xml" />
\r
572 <available file="tmp" />
\r
574 <path id="plugin-lib.classpath">
\r
575 <fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
\r
576 <fileset dir="tmp/WEB-INF/lib" includes="*.jar" />
\r
577 <pathelement location="docroot/WEB-INF/classes" />
\r
578 <pathelement location="tmp/WEB-INF/classes" />
\r
582 <path id="plugin-lib.classpath">
\r
583 <fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
\r
584 <pathelement location="docroot/WEB-INF/classes" />
\r
589 <antcall target="compile-java">
\r
590 <param name="javac.classpathref" value="test.classpath" />
\r
591 <param name="javac.destdir" value="test-classes/${test.type}" />
\r
592 <param name="javac.srcdir" value="test/${test.type}" />
\r
593 <reference refid="plugin-lib.classpath" torefid="plugin-lib.classpath" />
\r
599 <target name="compile-test-integration">
\r
600 <ant target="compile-test-cmd">
\r
601 <property name="test.type" value="integration" />
\r
605 <target name="compile-test-unit">
\r
606 <ant target="compile-test-cmd">
\r
607 <property name="test.type" value="unit" />
\r
611 <target name="deploy" depends="war">
\r
612 <copy file="${plugin.file}" todir="${auto.deploy.dir}" />
\r
615 <target name="direct-deploy" depends="war">
\r
617 <antelope:endswith string="${plugin.name}" with="-ext" />
\r
620 classname="com.liferay.portal.tools.deploy.ExtDeployer"
\r
621 classpathref="portal.classpath"
\r
623 newenvironment="true"
\r
626 <!-- Required Arguments -->
\r
628 <jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
629 <jvmarg value="-Dliferay.lib.portal.dir=${app.server.lib.portal.dir}" />
\r
630 <jvmarg value="-Ddeployer.base.dir=${project.dir}/dist" />
\r
631 <jvmarg value="-Ddeployer.dest.dir=${app.server.deploy.dir}" />
\r
632 <jvmarg value="-Ddeployer.app.server.type=${app.server.type}" />
\r
633 <jvmarg value="-Ddeployer.unpack.war=${auto.deploy.unpack.war}" />
\r
634 <jvmarg value="-Ddeployer.file.pattern=${plugin.name}-*.war" />
\r
636 <!-- Optional Arguments -->
\r
638 <jvmarg value="-Ddeployer.tomcat.lib.dir=${app.server.tomcat.lib.global.dir}" />
\r
640 <!-- Dependent Libraries -->
\r
642 <arg value="${app.server.lib.portal.dir}/util-java.jar" />
\r
646 <antelope:endswith string="${plugin.name}" with="-hook" />
\r
649 classname="com.liferay.portal.tools.deploy.HookDeployer"
\r
650 classpathref="portal.classpath"
\r
652 newenvironment="true"
\r
655 <!-- Required Arguments -->
\r
657 <jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
658 <jvmarg value="-Dliferay.lib.portal.dir=${app.server.lib.portal.dir}" />
\r
659 <jvmarg value="-Ddeployer.base.dir=${project.dir}/dist" />
\r
660 <jvmarg value="-Ddeployer.dest.dir=${app.server.deploy.dir}" />
\r
661 <jvmarg value="-Ddeployer.app.server.type=${app.server.type}" />
\r
662 <jvmarg value="-Ddeployer.unpack.war=${auto.deploy.unpack.war}" />
\r
663 <jvmarg value="-Ddeployer.file.pattern=${plugin.name}-*.war" />
\r
665 <!-- Optional Arguments -->
\r
667 <jvmarg value="-Ddeployer.tomcat.lib.dir=${app.server.tomcat.lib.global.dir}" />
\r
669 <!-- Dependent Libraries -->
\r
671 <arg value="${app.server.lib.portal.dir}/util-java.jar" />
\r
676 <antelope:endswith string="${plugin.name}" with="-layouttpl" />
\r
679 classname="com.liferay.portal.tools.deploy.LayoutTemplateDeployer"
\r
680 classpathref="portal.classpath"
\r
682 newenvironment="true"
\r
685 <!-- Required Arguments -->
\r
687 <jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
688 <jvmarg value="-Dliferay.lib.portal.dir=${app.server.lib.portal.dir}" />
\r
689 <jvmarg value="-Ddeployer.base.dir=${project.dir}/dist" />
\r
690 <jvmarg value="-Ddeployer.dest.dir=${app.server.deploy.dir}" />
\r
691 <jvmarg value="-Ddeployer.app.server.type=${app.server.type}" />
\r
692 <jvmarg value="-Ddeployer.unpack.war=${auto.deploy.unpack.war}" />
\r
693 <jvmarg value="-Ddeployer.file.pattern=${plugin.name}-*.war" />
\r
698 <antelope:endswith string="${plugin.name}" with="-portlet" />
\r
701 classname="com.liferay.portal.tools.deploy.PortletDeployer"
\r
702 classpathref="portal.classpath"
\r
704 newenvironment="true"
\r
707 <!-- Required Arguments -->
\r
709 <jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
710 <jvmarg value="-Dliferay.lib.portal.dir=${app.server.lib.portal.dir}" />
\r
711 <jvmarg value="-Ddeployer.base.dir=${project.dir}/dist" />
\r
712 <jvmarg value="-Ddeployer.dest.dir=${app.server.deploy.dir}" />
\r
713 <jvmarg value="-Ddeployer.app.server.type=${app.server.type}" />
\r
714 <jvmarg value="-Ddeployer.aui.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/aui.tld" />
\r
715 <jvmarg value="-Ddeployer.portlet.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-portlet.tld" />
\r
716 <jvmarg value="-Ddeployer.portlet-ext.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-portlet-ext.tld" />
\r
717 <jvmarg value="-Ddeployer.security.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-security.tld" />
\r
718 <jvmarg value="-Ddeployer.theme.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-theme.tld" />
\r
719 <jvmarg value="-Ddeployer.ui.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-ui.tld" />
\r
720 <jvmarg value="-Ddeployer.util.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-util.tld" />
\r
721 <jvmarg value="-Ddeployer.unpack.war=${auto.deploy.unpack.war}" />
\r
722 <jvmarg value="-Ddeployer.custom.portlet.xml=${auto.deploy.custom.portlet.xml}" />
\r
723 <jvmarg value="-Ddeployer.file.pattern=${plugin.name}-*.war" />
\r
725 <!-- Optional Arguments -->
\r
727 <jvmarg value="-Ddeployer.tomcat.lib.dir=${app.server.tomcat.lib.global.dir}" />
\r
729 <!-- Dependent Libraries -->
\r
731 <arg value="${app.server.lib.portal.dir}/util-bridges.jar" />
\r
732 <arg value="${app.server.lib.portal.dir}/util-java.jar" />
\r
733 <arg value="${app.server.lib.portal.dir}/util-taglib.jar" />
\r
738 <antelope:endswith string="${plugin.name}" with="-theme" />
\r
741 classname="com.liferay.portal.tools.deploy.ThemeDeployer"
\r
742 classpathref="portal.classpath"
\r
744 newenvironment="true"
\r
747 <!-- Required Arguments -->
\r
749 <jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
750 <jvmarg value="-Dliferay.lib.portal.dir=${app.server.lib.portal.dir}" />
\r
751 <jvmarg value="-Ddeployer.base.dir=${project.dir}/dist" />
\r
752 <jvmarg value="-Ddeployer.dest.dir=${app.server.deploy.dir}" />
\r
753 <jvmarg value="-Ddeployer.app.server.type=${app.server.type}" />
\r
754 <jvmarg value="-Ddeployer.theme.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-theme.tld" />
\r
755 <jvmarg value="-Ddeployer.util.taglib.dtd=${app.server.portal.dir}/WEB-INF/tld/liferay-util.tld" />
\r
756 <jvmarg value="-Ddeployer.unpack.war=${auto.deploy.unpack.war}" />
\r
757 <jvmarg value="-Ddeployer.file.pattern=${plugin.name}-*.war" />
\r
759 <!-- Optional Arguments -->
\r
761 <jvmarg value="-Ddeployer.tomcat.lib.dir=${app.server.tomcat.lib.global.dir}" />
\r
763 <!-- Dependent Libraries -->
\r
765 <arg value="${app.server.lib.portal.dir}/util-java.jar" />
\r
766 <arg value="${app.server.lib.portal.dir}/util-taglib.jar" />
\r
773 <target name="format-wsdl">
\r
774 <for param="wsdl.full.path">
\r
778 includes="docroot/WEB-INF/wsdl/*.wsdl,docroot/WEB-INF/wsdl/**/*.wsdl"
\r
783 classname="com.liferay.portal.tools.XMLFormatter"
\r
784 classpathref="portal.classpath"
\r
786 newenvironment="true"
\r
788 <jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
789 <jvmarg value="-Dxml.formatter.file=@{wsdl.full.path}" />
\r
790 <jvmarg value="-Dxml.formatter.strip.comments=true" />
\r
796 <target name="format-xsd">
\r
797 <for param="xsd.full.path">
\r
801 includes="docroot/WEB-INF/xsd/*.xsd,docroot/WEB-INF/xsd/**/*.xsd"
\r
806 classname="com.liferay.portal.tools.XMLFormatter"
\r
807 classpathref="portal.classpath"
\r
809 newenvironment="true"
\r
811 <jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
\r
812 <jvmarg value="-Dxml.formatter.file=@{xsd.full.path}" />
\r
813 <jvmarg value="-Dxml.formatter.strip.comments=true" />
\r
819 <target name="merge" if="original.war.file">
\r
822 <uptodate srcfile="${original.war.file}" targetfile="tmp" />
\r
825 <delete dir="tmp" />
\r
826 <mkdir dir="tmp" />
\r
828 <mkdir dir="tmp/WEB-INF/classes" />
\r
829 <mkdir dir="tmp/WEB-INF/lib" />
\r
831 <antcall target="merge-unzip" />
\r
833 <copy todir="tmp" overwrite="true">
\r
834 <fileset dir="docroot" />
\r
840 <fileset dir="docroot" />
\r
844 <target name="merge-unzip">
\r
845 <unzip dest="tmp" src="${original.war.file}" />
\r
848 <target name="shrink-zip-cmd">
\r
850 <format property="tstamp.value" pattern="yyyyMMddkkmmssSSS" />
\r
854 dest="${tstamp.value}"
\r
855 src="${zip.file.name}"
\r
858 excludes="${zip.excludes}"
\r
859 includes="${zip.includes}"
\r
864 basedir="${tstamp.value}"
\r
865 destfile="${zip.file.name}"
\r
868 <delete dir="${tstamp.value}" />
\r
871 <target name="test">
\r
872 <delete dir="test-classes" />
\r
873 <delete dir="test-results" />
\r
875 <antcall target="compile" />
\r
876 <antcall target="compile-test" />
\r
879 <available file="tmp" />
\r
881 <path id="plugin-lib.classpath">
\r
882 <fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
\r
883 <fileset dir="tmp/WEB-INF/lib" includes="*.jar" />
\r
884 <pathelement location="docroot/WEB-INF/classes" />
\r
885 <pathelement location="tmp/WEB-INF/classes" />
\r
889 <path id="plugin-lib.classpath">
\r
890 <fileset dir="docroot/WEB-INF/lib" includes="*.jar" />
\r
891 <pathelement location="docroot/WEB-INF/classes" />
\r
896 <antcall target="test-integration" inheritrefs="true" />
\r
897 <antcall target="test-unit" inheritrefs="true" />
\r
900 <target name="test-class" depends="compile,compile-test">
\r
902 <available file="test/integration" type="dir" />
\r
904 <resourcecount property="test.integration.count">
\r
905 <fileset dir="test-classes/integration" includes="**/${class}.class" />
\r
911 <available file="test/unit" type="dir" />
\r
913 <resourcecount property="test.unit.count">
\r
914 <fileset dir="test-classes/unit" includes="**/${class}.class" />
\r
920 <equals arg1="${test.integration.count}" arg2="1" />
\r
922 <var name="test.type" value="integration" />
\r
925 <equals arg1="${test.unit.count}" arg2="1" />
\r
927 <var name="test.type" value="unit" />
\r
931 <var name="test.type" value="" />
\r
935 <ant target="test-cmd">
\r
936 <property name="test.type" value="${test.type}" />
\r
940 <target name="test-cmd">
\r
942 <available file="test/${test.type}" type="dir" />
\r
944 <junit dir="${project.dir}" fork="on" forkmode="once" outputtoformatters="false" printsummary="on" showoutput="true">
\r
945 <sysproperty key="net.sourceforge.cobertura.datafile" file="test-coverage/cobertura.ser" />
\r
946 <jvmarg line="${junit.debug.jpda}" />
\r
947 <jvmarg value="-Xmx1024m" />
\r
948 <jvmarg value="-XX:MaxPermSize=256m" />
\r
949 <jvmarg value="-Dexternal-properties=${test.properties}" />
\r
950 <jvmarg value="-Dfile.encoding=UTF-8" />
\r
951 <jvmarg value="-Djava.net.preferIPv4Stack=true" />
\r
952 <jvmarg value="-Duser.timezone=GMT" />
\r
953 <classpath location="test-coverage" />
\r
954 <classpath refid="test.classpath" />
\r
955 <formatter type="brief" usefile="false" />
\r
956 <formatter type="xml" />
\r
957 <batchtest todir="test-results/${test.type}">
\r
958 <fileset dir="test-classes/${test.type}" includes="**/${class}.class" />
\r
965 <target name="test-integration" depends="compile,compile-test-integration">
\r
966 <property name="class" value="*Test" />
\r
968 <ant target="test-cmd" inheritrefs="true">
\r
969 <property name="test.type" value="integration" />
\r
973 <target name="test-unit" depends="compile,compile-test-unit">
\r
974 <property name="class" value="*Test" />
\r
976 <ant target="test-cmd" inheritrefs="true">
\r
977 <property name="test.type" value="unit" />
\r
981 <target name="war" depends="compile">
\r
982 <mkdir dir="${project.dir}/dist" />
\r
985 <available file="tmp" />
\r
987 <property name="docroot.dir" value="tmp" />
\r
990 <property name="docroot.dir" value="docroot" />
\r
994 <delete file="${plugin.file}" />
\r
996 <antcall target="clean-portal-dependencies" />
\r
999 <contains string="${app.server.dir}" substring="glassfish" />
\r
1002 basedir="${docroot.dir}"
\r
1003 destfile="${plugin.file}"
\r
1004 excludes="**/META-INF/context.xml,${plugins.war.excludes}"
\r
1009 basedir="${docroot.dir}"
\r
1010 destfile="${plugin.file}"
\r
1011 excludes="${plugins.war.excludes}"
\r
1018 <equals arg1="${plugins.src.zip.enabled}" arg2="true" />
\r
1021 <zip destfile="${plugin.src.file}">
\r
1023 dir="${docroot.dir}"
\r
1024 prefix="${plugin.name}-src-${lp.version}.${plugin.version}${lp.version.file.suffix}"
\r