#!/bin/sh
#
# Copyright (c) 2010, 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
#

# should be done already
# mvn clean; mvn install;  mvn assembly:assembly
echo ""
echo "===> YOU MUST HAVE ALREADY DONE 'mvn install; mvn assembly:assembly' <=="
echo ""

export CP=target/amx-tests-10.0-SNAPSHOT-jar-with-dependencies.jar
export MAIN=org.glassfish.admin.amxtest.TestMain
export PROPS=resources/amxtest.properties

java -cp $CP -ea $MAIN $PROPS

