| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. |
| |
| This program and the accompanying materials are made available under the |
| terms of the Eclipse Public License v. 2.0, which is available at |
| http://www.eclipse.org/legal/epl-2.0. |
| |
| This Source Code may also be made available under the following Secondary |
| Licenses when the conditions for such availability set forth in the |
| Eclipse Public License v. 2.0 are satisfied: GNU General Public License, |
| version 2 with the GNU Classpath Exception, which is available at |
| https://www.gnu.org/software/classpath/license.html. |
| |
| SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 |
| |
| --> |
| |
| <project name="common-impl" default="all" basedir="."> |
| |
| <property file="${ws.root}/build.properties"/> |
| <property environment="env"/> |
| <property name="config.dir" value="${ant.file}"/> |
| <property name="is.war.module" value="true"/> |
| <property name="is.persistence.module" value="true"/> |
| <property name="result.output" value="${ws.root}/test-output"/> |
| <property name="assemble.dir" value="${ws.root}/dist/${testsuite.name}"/> |
| <property name="class.output" value="${ws.root}/classes/${testsuite.name}/app"/> |
| <!--<property name="test.class.output" value="${ws.root}/classes/${testsuite.name}/test"/>--> |
| <property name="test.class.output" value="${ws.root}/classes/test"/> |
| <property name="dist.dir" value="${ws.root}/dist/${testsuite.name}"/> |
| |
| |
| <target name="clean"> |
| <delete dir="${ws.root}/classes"/> |
| <delete dir="${result.output}"/> |
| <delete dir="${ws.root}/dist"/> |
| <echo message="Deleting all WAR/EAR in local testsuite directories!!!"/> |
| <echo message="There should not be any WAR file checked in."/> |
| <delete> |
| <fileset dir="." includes="**/*.war"/> |
| </delete> |
| </target> |
| |
| <path id="run.testng.classpath"> |
| <fileset dir="${ws.root}/lib"> |
| <include name="**/*.jar"/> |
| </fileset> |
| <pathelement location="${class.output}"/> |
| <pathelement location="${test.class.output}"/> |
| </path> |
| |
| <path id="class.path"> |
| <fileset dir="${glassfish.home}"> |
| <include name="**/*javaee*.jar"/> |
| </fileset> |
| <pathelement location="${class.output}"/> |
| <pathelement location="${test.class.output}"/> |
| <pathelement path="${plugin_classpath}"/> |
| </path> |
| |
| <!-- TestNG class fileset --> |
| |
| <path id="path2testng"> |
| <pathelement location="${ws.root}/lib/testng-5.0-jdk15.jar"/> |
| </path> |
| |
| <taskdef name="testng" classname="org.testng.TestNGAntTask"> |
| <classpath> |
| <pathelement path="${plugin_classpath}"/> |
| </classpath> |
| </taskdef> |
| |
| |
| <target name="compile-tests" |
| description="compile the test ng example" depends=""> |
| <echo message="compiling test client to ${test.class.output}"/> |
| |
| <mkdir dir="${test.class.output}"/> |
| <javac debug="true" |
| fork="true" |
| source="1.5" |
| srcdir="src/test" |
| destdir="${test.class.output}"> |
| <classpath> |
| <pathelement path="${plugin_classpath}"/> |
| </classpath> |
| </javac> |
| </target> |
| |
| |
| |
| |
| <!-- Generate the TestNG report --> |
| <target name="report"> |
| <delete dir="${result.output}"/> |
| <mkdir dir="${test-report}"/> |
| <junitreport todir="${test-report}"> |
| <fileset dir="."> |
| <include name="**/test-output/**/*.xml"/> |
| <exclude name="**/testng-failed.xml"/> |
| </fileset> |
| <report format="noframes" todir="test-report"/> |
| </junitreport> |
| </target> |
| |
| <target name="archive-type"> |
| <echo message="archive-type is ${archive.type}"/> |
| <condition property="archive.war"> |
| <equals arg1="war" arg2="${archive.type}"/> |
| </condition> |
| <!-- condition property="archive.ear"> |
| <equals pattern="ear" string="${archive.type}"/> |
| </condition> |
| <condition property="archive.jar"> |
| <equals pattern="jar" string="${archive.type}"/> |
| </condition --> |
| </target> |
| |
| <target name="build-impl"> |
| <antcall target="build-war"/> |
| <antcall target="build-ear"/> |
| <antcall target="build-jar"/> |
| </target> |
| |
| <target name="compile-single"> |
| <delete dir="$class.output}"/> |
| <mkdir dir="${class.output}"/> |
| <javac debug="true" |
| fork="true" |
| source="1.5" |
| classpathref="class.path" |
| srcdir="src" |
| destdir="${class.output}"/> |
| |
| </target> |
| |
| |
| <target name="build-war" depends="archive-type" if="archive.war"> |
| <echo message="Now creating a war file ${dist.dir}/${war.file.ext}"/> |
| |
| <delete dir="${class.output}"/> |
| <delete dir="${dist.dir}"/> |
| <delete file="${war.file.ext}"/> |
| <mkdir dir="${class.output}"/> |
| <mkdir dir="${dist.dir}"/> |
| <echo message="Now compiling"/> |
| <javac debug="true" |
| fork="true" |
| source="1.5" |
| classpathref="class.path" |
| srcdir="src/java" |
| destdir="${class.output}"/> |
| |
| <mkdir dir="${class.output}/META-INF"/> |
| <copy file="metadata/persistence.xml" todir="${class.output}/META-INF" failonerror="false"/> |
| <copy file="src/java/ApplicationResource.properties" todir="${class.output}" failonerror="false"/> |
| |
| |
| <war destfile="${dist.dir}/${war.file.ext}" webxml="metadata/web.xml"> |
| <fileset dir="web/html"/> |
| <fileset dir="web/jsp"/> |
| <!--<lib dir="thirdparty/libs"> |
| <exclude name="jdbc1.jar"/> |
| </lib>--> |
| <classes dir="${class.output}"> |
| <include name="**/*.class"/> |
| <include name="**/persistence.xml"/> |
| <include name="**/*.properties"/> |
| </classes> |
| <!--<zipfileset dir="src/graphics/images/gifs" |
| prefix="images"/>--> |
| <webinf dir="metadata"> |
| <include name="**/*.xml"/> |
| <exclude name="**/persistence.xml"/> |
| </webinf> |
| </war> |
| <antcall target="update-war-struts"/> |
| <copy file="${dist.dir}/${war.file.ext}" tofile="./${war.file.ext}"/> |
| <echo message="======================================================="/> |
| <echo message="Packaged Archive at ${dist.dir}/${war.file.ext} and at ${war.file.ext}"/> |
| <echo message="======================================================="/> |
| </target> |
| |
| <target name="update-war-struts" if="add.struts.jar"> |
| <echo message="Adding struts jar to WEB-INF/lib"/> |
| <war destfile="${dist.dir}/${war.file.ext}" update="true"> |
| <lib dir="${ws.root}/web/lib/struts-1.2.9"> |
| <include name="**/*.jar"/> |
| </lib> |
| </war> |
| |
| </target> |
| |
| <target name="build-jar" depends="archive-type" if="archive.jar"> |
| <delete dir="${class.output}"/> |
| <delete dir="${dist.dir}"/> |
| <mkdir dir="${class.output}"/> |
| <mkdir dir="${dist.dir}"/> |
| <echo message="Now compiling"/> |
| <javac debug="true" |
| fork="true" |
| source="1.5" |
| classpathref="class.path" |
| srcdir="src/java" |
| destdir="${class.output}/app"/> |
| <echo message="Now creating a war file ${dist.dir}/${war.file.ext}"/> |
| <war destfile="${dist.dir}/${war.file.ext}" webxml="metadata/web.xml" needxmlfile="true"> |
| <fileset dir="src/java/html"/> |
| <fileset dir="src/myapp/jsp"/> |
| <!--<lib dir="thirdparty/libs"> |
| <exclude name="jdbc1.jar"/> |
| </lib>--> |
| <classes dir="${class.output}/app"> |
| <include name="**/*.class"/> |
| </classes> |
| <!--<zipfileset dir="src/graphics/images/gifs" |
| prefix="images"/>--> |
| <!--<webinf dir="metadata"> |
| <include name="**/*.xml"/> |
| </webinf>--> |
| </war> |
| <copy file="${dist.dir}/${war.file.ext}" tofile="./${war.file.ext}"/> |
| <echo message="======================================================="/> |
| <echo message="Packaged Archive at ${dist.dir}/${war.file.ext}"/> |
| <echo message="======================================================="/> |
| </target> |
| |
| |
| <target name="build-ear" depends="archive-type" if="archive.ear"> |
| <delete dir="${class.output}/app"/> |
| <delete dir="${dist.dir}"/> |
| <mkdir dir="${class.output}/app"/> |
| <mkdir dir="${dist.dir}"/> |
| <echo message="Now compiling"/> |
| <javac debug="true" |
| fork="true" |
| source="1.5" |
| classpathref="class.path" |
| srcdir="src/myapp/java" |
| destdir="${class.output}/app"/> |
| <echo message="Now creating a war file ${dist.dir}/${war.file.ext}"/> |
| <war destfile="${dist.dir}/${war.file.ext}" webxml="metadata/web.xml" needxmlfile="true"> |
| <fileset dir="src/myapp/html"/> |
| <fileset dir="src/myapp/jsp"/> |
| <!--<lib dir="thirdparty/libs"> |
| <exclude name="jdbc1.jar"/> |
| </lib>--> |
| <classes dir="${class.output}/app"> |
| <include name="**/Hello.class"/> |
| </classes> |
| <!--<zipfileset dir="src/graphics/images/gifs" |
| prefix="images"/>--> |
| <!--<webinf dir="metadata"> |
| <include name="**/*.xml"/> |
| </webinf>--> |
| </war> |
| <copy file="${dist.dir}/${war.file.ext}" tofile="./${war.file.ext}"/> |
| <echo message="======================================================="/> |
| <echo message="Packaged Archive at ${dist.dir}/${war.file.ext}"/> |
| <echo message="======================================================="/> |
| </target> |
| |
| |
| <target name="checkTestNGXML"> |
| <available file="testng.xml" property="testng.xml.present"/> |
| </target> |
| |
| |
| <target name="runtest-impl"> |
| <antcall target="runtest-impl-class"/> |
| <antcall target="runtest-impl-xml"/> |
| </target> |
| |
| <target name="runtest-impl-class" depends="compile-tests,checkTestNGXML" unless="testng.xml.present"> |
| <echo message="=============Starting TestNG test at ${test.class.output} ============"/> |
| <mkdir dir="${result.output}"/> |
| <testng outputdir="${result.output}" |
| suitename="${testsuite.name}" |
| testname="${testng.test.name}" |
| classpathref="class.path"> |
| <classfileset dir="${test.class.output}" includes="**/${testng.testclient}.class"/> |
| <jvmarg value="-Dhttp.host=${glassfish.http.host}" /> |
| <jvmarg value="-Dhttp.port=${glassfish.http.port}" /> |
| </testng> |
| </target> |
| |
| <target name="runtest-impl-xml" depends="checkTestNGXML" if="testng.xml.present"> |
| <echo message="=============Starting TestNG test at ${test.class.output} from testng.xml ============"/> |
| <mkdir dir="${result.output}"/> |
| <testng outputdir="${result.output}" |
| suitename="${testsuite.name}" |
| testname="${testng.test.name}" |
| classpathref="${plugin.classpath}"> |
| <xmlfileset dir="." includes="testng.xml"/> |
| <jvmarg value="-Dhttp.host=${glassfish.http.host}" /> |
| <jvmarg value="-Dhttp.port=${glassfish.http.port}" /> |
| </testng> |
| </target> |
| |
| </project> |