| <!-- |
| |
| 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> |