forked from apache/dubbo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding maven wrapper to Dubbo project (apache#1887)
* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数) 增强线程池:在请求量阶段性出现高峰时使用 特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。 * 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数) 增强线程池:在请求量阶段性出现高峰时使用 特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。 * 补全单元测试,测试扩展是否生效 * 增加@OverRide注解 long 初始化赋值时,小写l改为大写L防止误读 * remove enhanced * remove enhanced * feat: 增加maven-wrapper,用户可以使用自己的maven,应用工程构建时将会使用工程的maven版本 * use mvnw to ci.
- Loading branch information
Showing
6 changed files
with
379 additions
and
1 deletion.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,227 @@ | ||
#!/bin/sh | ||
# ---------------------------------------------------------------------------- | ||
# 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 limitations | ||
# under the License. | ||
# ---------------------------------------------------------------------------- | ||
|
||
# ---------------------------------------------------------------------------- | ||
# Maven2 Start Up Batch script | ||
# | ||
# Required ENV vars: | ||
# ------------------ | ||
# JAVA_HOME - location of a JDK home dir | ||
# | ||
# Optional ENV vars | ||
# ----------------- | ||
# M2_HOME - location of maven2's installed home dir | ||
# MAVEN_OPTS - parameters passed to the Java VM when running Maven | ||
# e.g. to debug Maven itself, use | ||
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 | ||
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files | ||
# ---------------------------------------------------------------------------- | ||
|
||
if [ -z "$MAVEN_SKIP_RC" ] ; then | ||
|
||
if [ -f /etc/mavenrc ] ; then | ||
. /etc/mavenrc | ||
fi | ||
|
||
if [ -f "$HOME/.mavenrc" ] ; then | ||
. "$HOME/.mavenrc" | ||
fi | ||
|
||
fi | ||
|
||
# OS specific support. $var _must_ be set to either true or false. | ||
cygwin=false; | ||
darwin=false; | ||
mingw=false | ||
case "`uname`" in | ||
CYGWIN*) cygwin=true ;; | ||
MINGW*) mingw=true;; | ||
Darwin*) darwin=true | ||
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home | ||
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html | ||
if [ -z "$JAVA_HOME" ]; then | ||
if [ -x "/usr/libexec/java_home" ]; then | ||
export JAVA_HOME="`/usr/libexec/java_home`" | ||
else | ||
export JAVA_HOME="/Library/Java/Home" | ||
fi | ||
fi | ||
;; | ||
esac | ||
|
||
if [ -z "$JAVA_HOME" ] ; then | ||
if [ -r /etc/gentoo-release ] ; then | ||
JAVA_HOME=`java-config --jre-home` | ||
fi | ||
fi | ||
|
||
if [ -z "$M2_HOME" ] ; then | ||
## resolve links - $0 may be a link to maven's home | ||
PRG="$0" | ||
|
||
# need this for relative symlinks | ||
while [ -h "$PRG" ] ; do | ||
ls=`ls -ld "$PRG"` | ||
link=`expr "$ls" : '.*-> \(.*\)$'` | ||
if expr "$link" : '/.*' > /dev/null; then | ||
PRG="$link" | ||
else | ||
PRG="`dirname "$PRG"`/$link" | ||
fi | ||
done | ||
|
||
saveddir=`pwd` | ||
|
||
M2_HOME=`dirname "$PRG"`/.. | ||
|
||
# make it fully qualified | ||
M2_HOME=`cd "$M2_HOME" && pwd` | ||
|
||
cd "$saveddir" | ||
# echo Using m2 at $M2_HOME | ||
fi | ||
|
||
# For Cygwin, ensure paths are in UNIX format before anything is touched | ||
if $cygwin ; then | ||
[ -n "$M2_HOME" ] && | ||
M2_HOME=`cygpath --unix "$M2_HOME"` | ||
[ -n "$JAVA_HOME" ] && | ||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"` | ||
[ -n "$CLASSPATH" ] && | ||
CLASSPATH=`cygpath --path --unix "$CLASSPATH"` | ||
fi | ||
|
||
# For Mingw, ensure paths are in UNIX format before anything is touched | ||
if $mingw ; then | ||
[ -n "$M2_HOME" ] && | ||
M2_HOME="`(cd "$M2_HOME"; pwd)`" | ||
[ -n "$JAVA_HOME" ] && | ||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" | ||
# TODO classpath? | ||
fi | ||
|
||
if [ -z "$JAVA_HOME" ]; then | ||
javaExecutable="`which javac`" | ||
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then | ||
# readlink(1) is not available as standard on Solaris 10. | ||
readLink=`which readlink` | ||
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then | ||
if $darwin ; then | ||
javaHome="`dirname \"$javaExecutable\"`" | ||
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" | ||
else | ||
javaExecutable="`readlink -f \"$javaExecutable\"`" | ||
fi | ||
javaHome="`dirname \"$javaExecutable\"`" | ||
javaHome=`expr "$javaHome" : '\(.*\)/bin'` | ||
JAVA_HOME="$javaHome" | ||
export JAVA_HOME | ||
fi | ||
fi | ||
fi | ||
|
||
if [ -z "$JAVACMD" ] ; then | ||
if [ -n "$JAVA_HOME" ] ; then | ||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||
# IBM's JDK on AIX uses strange locations for the executables | ||
JAVACMD="$JAVA_HOME/jre/sh/java" | ||
else | ||
JAVACMD="$JAVA_HOME/bin/java" | ||
fi | ||
else | ||
JAVACMD="`which java`" | ||
fi | ||
fi | ||
|
||
if [ ! -x "$JAVACMD" ] ; then | ||
echo "Error: JAVA_HOME is not defined correctly." >&2 | ||
echo " We cannot execute $JAVACMD" >&2 | ||
exit 1 | ||
fi | ||
|
||
if [ -z "$JAVA_HOME" ] ; then | ||
echo "Warning: JAVA_HOME environment variable is not set." | ||
fi | ||
|
||
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher | ||
|
||
# traverses directory structure from process work directory to filesystem root | ||
# first directory with .mvn subdirectory is considered project base directory | ||
find_maven_basedir() { | ||
|
||
if [ -z "$1" ] | ||
then | ||
echo "Path not specified to find_maven_basedir" | ||
return 1 | ||
fi | ||
|
||
basedir="$1" | ||
wdir="$1" | ||
while [ "$wdir" != '/' ] ; do | ||
if [ -d "$wdir"/.mvn ] ; then | ||
basedir=$wdir | ||
break | ||
fi | ||
# workaround for JBEAP-8937 (on Solaris 10/Sparc) | ||
if [ -d "${wdir}" ]; then | ||
wdir=`cd "$wdir/.."; pwd` | ||
fi | ||
# end of workaround | ||
done | ||
echo "${basedir}" | ||
} | ||
|
||
# concatenates all lines of a file | ||
concat_lines() { | ||
if [ -f "$1" ]; then | ||
echo "$(tr -s '\n' ' ' < "$1")" | ||
fi | ||
} | ||
|
||
BASE_DIR=`find_maven_basedir "$(pwd)"` | ||
if [ -z "$BASE_DIR" ]; then | ||
exit 1; | ||
fi | ||
|
||
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} | ||
if [ "$MVNW_VERBOSE" = true ]; then | ||
echo $MAVEN_PROJECTBASEDIR | ||
fi | ||
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" | ||
|
||
# For Cygwin, switch paths to Windows format before running java | ||
if $cygwin; then | ||
[ -n "$M2_HOME" ] && | ||
M2_HOME=`cygpath --path --windows "$M2_HOME"` | ||
[ -n "$JAVA_HOME" ] && | ||
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` | ||
[ -n "$CLASSPATH" ] && | ||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"` | ||
[ -n "$MAVEN_PROJECTBASEDIR" ] && | ||
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` | ||
fi | ||
|
||
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain | ||
|
||
exec "$JAVACMD" \ | ||
$MAVEN_OPTS \ | ||
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ | ||
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ | ||
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" |
Oops, something went wrong.