| <?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="GlassFish-V3-CommunityTests" default="default" basedir="."> |
| <property file="build.properties"/> |
| <property file="${basedir}/gfproject/derby.properties"/> |
| <import file="${basedir}/gfproject/db-targets.xml"/> |
| |
| <description>Builds, tests, and runs the project V3 Quicklook</description> |
| <target name="all" depends="clean"> |
| <record name="allrun.output" action="start"/> |
| <!-- resolveArtifact artifactId="testng" property="testng.jar"/> |
| <echo message="testng jar value: ${testng.jar}"/ --> |
| <!-- antcall target="setup.toplink"/ --> |
| <antcall target="start-server"/> |
| <antcall target="startDerby"/> |
| <antcall target="build"/> |
| <antcall target="deploy"/> |
| <antcall target="runtest"/> |
| <antcall target="undeploy"/> |
| <antcall target="stop-server"/> |
| <antcall target="stopDerby"/> |
| <!-- antcall target="report"/ --> |
| <record name="allrun.output" action="stop"/> |
| </target> |
| |
| <!-- <import file="nbproject/build-impl.xml"/>--> |
| |
| <target name="copyJARS"> |
| <echo message="Copying testng.jar to ${ant.home}/lib"/> |
| <copy todir="${ant.home}/lib" verbose="true"> |
| <fileset dir="${basedir}/lib"> |
| <include name="**/testng*.*"/> |
| </fileset> |
| </copy> |
| </target> |
| <target name="default"> |
| <echo message="ANT.HOME is ${ant.home}"/> |
| <antcall target="copyJARS"/> |
| <echo message="ant build (Compiles and Packages testsuites)"/> |
| <echo message="ant deploy (Deploys test to GlassFish server)"/> |
| <echo message="ant compile-tests (Compiles TestNG test)"/> |
| <echo message="ant runtest (Runs TestNG test)"/> |
| <echo message="ant report (Creates TestNG Report)"/> |
| <echo message="ant archive (Creates zip of testbase}"/> |
| <echo message=""/> |
| </target> |
| |
| <target name="build"> |
| <record name="build.output" action="start"/> |
| <echo message="ANT PROJECT ${ant.project.name}"/> |
| <ant dir="web/helloworld" target="build"/> |
| <ant dir="web/jsfastrologer" target="build"/> |
| <ant dir="web/jsfinjection" target="build"/> |
| <ant dir="jdbc/jdbcusertx" target="build"/> |
| <!-- ant dir="web/strutsbasic" target="build"/ --> |
| <!-- ant dir="persistence/servlet-jpa-app" target="build"/ --> |
| <!--<ant dir="ejb30/hello" target="build"/> |
| <ant dir="adminweb/basic" target="build"/>--> |
| <record name="build.output" action="stop"/> |
| </target> |
| |
| |
| <target name="compile-tests"> |
| <record name="compiletests.output" action="start"/> |
| <ant dir="web/helloworld" target="compile-tests"/> |
| <ant dir="web/jsfastrologer" target="compile-tests"/> |
| <ant dir="web/jsfinjection" target="compile-tests"/> |
| <ant dir="jdbc/jdbcusertx" target="compile-tests"/> |
| <!-- ant dir="web/strutsbasic" target="compile-tests"/ --> |
| <!-- ant dir="persistence/servlet-jpa-app" target="compile-tests"/ --> |
| <record name="compiletests.output" action="stop"/> |
| </target> |
| |
| <target name="deploy"> |
| <record name="deploy.output" action="start"/> |
| <ant dir="web/helloworld" target="deploy"/> |
| <ant dir="web/jsfastrologer" target="deploy"/> |
| <ant dir="web/jsfinjection" target="deploy"/> |
| <ant dir="jdbc/jdbcusertx" target="deploy"/> |
| <!-- ant dir="web/strutsbasic" target="deploy"/ --> |
| <!-- ant dir="persistence/servlet-jpa-app" target="deploy"/ --> |
| <record name="deploy.output" action="stop"/> |
| </target> |
| |
| <target name="undeploy"> |
| <record name="undeploy.output" action="start"/> |
| <ant dir="web/helloworld" target="undeploy"/> |
| <ant dir="web/jsfastrologer" target="undeploy"/> |
| <ant dir="web/jsfinjection" target="undeploy"/> |
| <ant dir="jdbc/jdbcusertx" target="undeploy"/> |
| <!-- ant dir="web/strutsbasic" target="undeploy"/ --> |
| <!-- ant dir="persistence/servlet-jpa-app" target="undeploy"/ --> |
| <record name="undeploy.output" action="stop"/> |
| </target> |
| |
| <target name="noproject"> |
| <delete includeemptydirs="true"> |
| <fileset dir="${basedir}"> |
| <include name="**/nbproject"/> |
| </fileset> |
| </delete> |
| </target> |
| |
| |
| <!-- Target is re-definted here as didn't want to specify ws.root property --> |
| <target name="clean"> |
| <delete dir="${basedir}/classes"/> |
| <delete verbose="true" includeemptydirs="true"> |
| <fileset dir="${basedir}" includes="**/classes"/> |
| </delete> |
| <delete dir="${basedir}/test-output" includeemptydirs="true"/> |
| <delete dir="${basedir}/dist" includeemptydirs="true"/> |
| <delete includeemptydirs="true"> |
| <fileset dir="${basedir}"> |
| <include name="**/*.output"/> |
| <include name="**/*.log"/> |
| </fileset> |
| </delete> |
| <delete> |
| <fileset dir="${basedir}" includes="*.zip"/> |
| </delete> |
| <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> |
| |
| |
| <target name="-post-test-run"> |
| <loadfile property="startserver.log" srcFile="${glassfish.home}/domains/domain1/logs/server.log"/> |
| <echo message="${startserver.log}"/> |
| </target> |
| |
| <path id="path2testng"> |
| <pathelement location="./lib/testng-5.0-jdk15.jar"/> |
| </path> |
| |
| <taskdef name="testng" classname="org.testng.TestNGAntTask"> |
| <classpath> |
| <pathelement path="${plugin_classpath}"/> |
| </classpath> |
| </taskdef> |
| |
| <!-- Target is re-definted here as didn't want to specify ws.root property --> |
| <target name="runtest" depends="compile-tests,initprops"> |
| <record name="runtestng.output" action="start"/> |
| <echo message="=============Starting TestNG functional tests from testng.xml ============"/> |
| <property name="hasTestNGXML" value="true"/> |
| |
| <mkdir dir="${test.report}"/> |
| <testng outputdir="${test.report}" |
| classpathref="run.testng.classpath"> |
| <jvmarg value="-Djava.compiler=NONE"/> |
| <jvmarg value="-Dhttp.host=${glassfish.http.host}"/> |
| <jvmarg value="-Dhttp.port=${glassfish.http.port}"/> |
| <sysproperty key="basedir" value="${basedir}"/> |
| <!--<classfileset dir="classes/test" includes="**/SeleniumTest.class"/>--> |
| <xmlfileset dir="." includes="testng.xml"/> |
| |
| </testng> |
| |
| <record name="runtestng.output" action="stop"/> |
| |
| |
| <!-- <antcall target="-post-test-run"/>--> |
| |
| </target> |
| |
| |
| <!-- Generate the TestNG report --> |
| <target name="report" depends="initprops"> |
| <echo message="Generating report at ${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> |
| <echo message="Test Report available at ${test.report}/index.html"/> |
| </target> |
| |
| <target name="initprops"> |
| <property name="build.class.dir" value="${basedir}/classes/test"/> |
| <property name="test.report" value="${basedir}/test-output"/> |
| <mkdir dir="${test.report}"/> |
| <path id="run.testng.classpath"> |
| <!-- fileset dir="${basedir}/lib"> |
| <include name="**/*.jar"/> |
| </fileset --> |
| <pathelement path="${plugin_classpath}"/> |
| <pathelement location="${build.class.dir}"/> |
| </path> |
| </target> |
| |
| |
| <target name="archive" depends="initprops,clean"> |
| <tstamp> |
| <!--<format property="TODAY_UK" pattern="d-MMMM-yyyy" locale="en,UK"/>--> |
| </tstamp> |
| <property name="final.src.name" value="glassfish_testng_${DSTAMP}.zip"/> |
| <delete> |
| <fileset dir="${basedir}" includes="*.zip"/> |
| </delete> |
| <delete file="{final.src.name}" failonerror="false"/> |
| |
| <zip zipfile="${final.src.name}" basedir="."> |
| |
| <exclude name="${test.report}/**"/> |
| <exclude name="${build.class.dir}/**"/> |
| <exclude name="**/*.log"/> |
| <exclude name="**/*.output"/> |
| <exclude name="**/*.war"/> |
| <exclude name="**/*.class"/> |
| <exclude name="**/CVS"/> |
| <exclude name="**/nbproject"/> |
| |
| </zip> |
| |
| </target> |
| |
| <target name="setOSConditions"> |
| <condition property="isUnix"> |
| <os family="unix"/> |
| </condition> |
| <condition property="isWindows"> |
| <os family="windows" /> |
| </condition> |
| </target> |
| |
| <target name="start-server" depends="setOSConditions" if="v3"> |
| |
| <echo>+-----------------------------+</echo> |
| <echo>| |</echo> |
| <echo>| S T A R T I N G GLASSFISH |</echo> |
| <echo>| |</echo> |
| <echo>+-----------------------------+</echo> |
| |
| <antcall target="start-server-unix"/> |
| <antcall target="start-server-windows"/> |
| </target> |
| |
| <target name="start-server-windows" if="isWindows"> |
| <exec executable="cmd" spawn="true"> |
| <arg value="/c"/> |
| <arg value="${glassfish.home}/bin/asadmin.bat"/> |
| <arg value="start-domain"/> |
| </exec> |
| </target> |
| |
| <target name="start-server-unix" if="isUnix"> |
| <exec executable="${glassfish.home}/bin/asadmin"> |
| <arg value="start-domain"/> |
| </exec> |
| </target> |
| |
| <target name="stop-server" depends="setOSConditions"> |
| <echo message="stopping server"/> |
| <antcall target="stop-server-unix"/> |
| <antcall target="stop-server-windows"/> |
| </target> |
| |
| <target name="stop-server-windows" if="isWindows"> |
| <exec executable="cmd"> |
| <arg value="/c"/> |
| <arg value="${glassfish.home}/bin/asadmin.bat"/> |
| <arg value="stop-domain"/> |
| </exec> |
| </target> |
| |
| <target name="stop-server-unix" if="isUnix"> |
| <exec executable="${glassfish.home}/bin/asadmin"> |
| <arg value="stop-domain"/> |
| </exec> |
| </target> |
| |
| </project> |