#!/bin/bash # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitation under the License. wkdir="$(cd "$(dirname $0)"; pwd)" MVNW=${wkdir}/../../mvnw type= artifactId= scenario_home= scenario_case= scenarios_home=${wkdir}/scenarios confirm= while [[ -z ${scenario_name} ]]; do echo "Sets the scenario name" read -p ">: " scenario_name done while [[ ${type} != "jvm" && ${type} != "tomcat" ]]; do echo "Chooses a type of container, 'jvm' or 'tomcat', which is 'jvm-container' or 'tomcat-container'" read -p ">: " type done echo "Gives an artifactId for your project (default: ${scenario_name})" read -p ">: " artifactId [[ -z ${artifactId} ]] && artifactId=${scenario_name} echo "Sets the entry name of scenario (default: ${scenario_name})" read -p ">: " scenario_case [[ -z ${scenario_case} ]] && scenario_case=${scenario_name} echo "" echo -e "scenario_home: ${scenario_name}" echo -e "type: ${type}" echo -e "artifactId: ${artifactId}" echo -e "scenario_case: ${scenario_case}" echo "" while [[ ${confirm} != "Y" && ${confirm} != "N" && ${confirm} != "y" && ${confirm} != "n" ]]; do echo "Please confirm: [Y/N]" read -p ">: " confirm done if [[ ${confirm} == "N" || ${confirm} == "n" ]]; then exit 0 fi ${MVNW} -f ${wkdir}/archetypes/pom.xml clean install package="org.apache.skywalking.apm.testcase.${artifactId%%-scenario}" ${MVNW} archetype:generate \ -Dfilter=org.apache.skywalking.apm.testcase:${artifactId}:"1.0.0" \ -DarchetypeGroupId=org.apache.skywalking.plugin \ -DoutputDirectory=${scenarios_home} \ -Dscenario_name=${scenario_name} \ -Dscenario_case=${scenario_case} \ -DarchetypeArtifactId=${type} \ -DarchetypeCatalog=local \ -DinteractiveMode=false \ -DarchetypeVersion=1.0.0 \ -Dpackage=${package}