blob: a419360db02220ec32b398058c22e2538b479c2f [file] [log] [blame]
<!--
Copyright (c) 2010, 2020 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
-->
<!--
To use this file, the Maven Ant tasks and Ant Contrib must be added to the local Ant installation
-->
<project name="GlassFish Admin Console Dev Test Hudson Helper" default="test" basedir="."
xmlns:artifact="antlib:org.apache.maven.artifact.ant">
<tstamp/>
<property file="test.properties"/>
<property environment="env"/>
<property name="install.dir" value="binaries/${TSTAMP}"/>
<property name="server.dir" value="${install.dir}/glassfish6"/>
<property name="maven.dir" value="${install.dir}/${maven.version}"/>
<property name="glassfish.download.dir" value="."/>
<property name="glassfish.download" value="${glassfish.download.dir}/glassfish.zip"/>
<property name="http.proxyHost" value=""/>
<property name="http.proxyPort" value=""/>
<property name="BROWSER" value="firefox"/>
<property name="GUI_ADMIN_PORT" value="4848"/>
<property name="DOMAIN" value="domain1"/>
<property name="RELEASEAFTER" value="true"/>
<property name="SLOWDOWN" value="true"/>
<property name="env.ADMIN_PORT" value="14848"/>
<property name="env.INSTANCE_PORT" value="18080"/>
<property name="env.JMS_PORT" value="17676"/>
<property name="env.JMX_PORT" value="18686"/>
<property name="env.ORB_PORT" value="13700"/>
<property name="env.SSL_PORT" value="18181"/>
<property name="env.ORB_SSL_PORT" value="13820"/>
<property name="env.ORB_SSL_MUTUALAUTH_PORT" value="13920"/>
<property name="env.OSGI_SHELL" value="16666"/>
<property name="env.DEBUGGER_PORT" value="19009"/>
<property name="env.MAVEN_HOME" value="${user.home}/.m2"/>
<property name="ant.contrib.url"
value="http://mirrors.ibiblio.org/pub/mirrors/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar"/>
<property name="maven.ant.tasks.url"
value="https://repo1.maven.org/maven2/org/apache/maven/maven-ant-tasks/2.1.1/maven-ant-tasks-2.1.1.jar"/>
<property name="glassfish.dist.url"
value="http://hudson.glassfish.org/job/gf-trunk-build-continuous/lastSuccessfulBuild/artifact/bundles/glassfish.zip"/>
<target name="download">
<get src="${glassfish.dist.url}" dest="${glassfish.download}" usetimestamp="true"/>
<delete dir="binaries" failonerror="false" />
<mkdir dir="${install.dir}"/>
<unzip src="${glassfish.download}" dest="${install.dir}"/>
<if>
<not>
<os family="windows"/>
</not>
<then>
<chmod perm="a+x" file="${executable}"/>
<chmod perm="a+x" file="${server.dir}/glassfish/bin/asadmin"/>
</then>
</if>
<antcall target="shutdown-server"/>
</target>
<target name="setup">
<get src="${ant.contrib.url}" dest="ant-contrib.jar" skipexisting="true"/>
<get src="${maven.ant.tasks.url}" dest="maven-ant-tasks.jar" skipexisting="true"/>
<taskdef resource="net/sf/antcontrib/antlib.xml" classpath="ant-contrib.jar"/>
<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant"
classpath="maven-ant-tasks.jar"/>
<if>
<os family="windows"/>
<then>
<property name="executable" value="${server.dir}/bin/asadmin.bat"/>
</then>
<else>
<property name="executable" value="${server.dir}/bin/asadmin"/>
</else>
</if>
</target>
<target name="recreate-domain" depends="shutdown-server">
<echo>
Port assigments:
Admin port: ${env.ADMIN_PORT}
Instance port: ${env.INSTANCE_PORT}
JMS Port: ${env.JMS_PORT}
JMX Port: ${env.JMX_PORT}
ORB Port: ${env.ORB_PORT}
SSL Port: ${env.SSL_PORT}
ORB SSL Port: ${env.ORB_SSL_PORT}
ORB SSL Mutual Auth Port: ${env.ORB_SSL_MUTUALAUTH_PORT}
OSGi Shell: ${env.OSGI_SHELL}
JAVA Debugger Port: ${env.DEBUGGER_PORT}
</echo>
<exec executable="${executable}">
<arg value="--port"/>
<arg value="${env.ADMIN_PORT}"/>
<arg value="delete-domain"/>
<arg value="${DOMAIN}"/>
</exec>
<delete dir="${server.dir}/glassfish/domains/domain1" failonerror="false" deleteonexit="true"/>
<exec executable="${executable}">
<arg value="--port"/>
<arg value="${env.ADMIN_PORT}"/>
<arg value="create-domain"/>
<arg value="--adminport"/>
<arg value="${env.ADMIN_PORT}"/>
<arg value="--nopassword=true"/>
<arg value="--domainproperties"/>
<arg value="jms.port=${env.JMS_PORT}:domain.jmxPort=${env.JMX_PORT}:orb.listener.port=${env.ORB_PORT}:http.ssl.port=${env.SSL_PORT}:orb.ssl.port=${env.ORB_SSL_PORT}:orb.mutualauth.port=${env.ORB_SSL_MUTUALAUTH_PORT}:osgi.shell.telnet.port=${env.OSGI_SHELL}:java.debugger.port=${env.DEBUGGER_PORT}"/>
<arg value="--instanceport"/>
<arg value="${env.INSTANCE_PORT}"/>
<arg value="${DOMAIN}"/>
</exec>
</target>
<target name="start-server" depends="recreate-domain">
<echo message="***** Starting GlassFish"/>
<exec executable="${executable}">
<arg value="start-domain"/>
<arg value="${DOMAIN}"/>
</exec>
</target>
<target name="test" depends="setup,download">
<trycatch>
<try>
<antcall target="start-server"/>
<artifact:mvn pom="pom.xml" fork="true" mavenHome="${env.MAVEN_HOME}" failonerror="false" resultproperty="test.result">
<arg value="-Dhttp.proxyHost=${http.proxyHost}"/>
<arg value="-Dhttp.proxyPort=${http.proxyPort}"/>
<arg value="-Dadmin.port=${env.ADMIN_PORT}"/>
<arg value="-Dinstance.port=${env.INSTANCE_PORT}"/>
<arg value="-Dbrowser=${BROWSER}"/>
<arg value="-DreleaseAfter=${RELEASEAFTER}"/>
<arg value="-DslowDown=${SLOWDOWN}"/>
<arg value="-Dtest=${testClasses}"/>
<arg value="test"/>
</artifact:mvn>
</try>
<finally>
<antcall target="shutdown-server"/>
<delete dir="${install.dir}" failonerror="false" deleteonexit="true"/>
</finally>
</trycatch>
<fail message="The test run failed. Please see the console output for details.">
<condition>
<not>
<equals arg1="${test.result}" arg2="0"/>
</not>
</condition>
</fail>
</target>
<target name="shutdown-server">
<echo message="***** Stopping GlassFish"/>
<exec executable="${executable}">
<arg value="stop-domain"/>
<arg value="${DOMAIN}"/>
</exec>
</target>
</project>