Skip to content

Commit edb62cf

Browse files
authored
Added in apache maven wrapper (#446)
* Added in IntelliJ’s project specific settings files to .gitignore * Added in apache maven wrapper #444
1 parent 3690d6e commit edb62cf

File tree

5 files changed

+506
-2
lines changed

5 files changed

+506
-2
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,6 @@ neqsim.iml
7878
test_*.ser
7979

8080
.dccache
81+
82+
#Intellij IDEA
83+
.idea

.mvn/wrapper/maven-wrapper.properties

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
18+
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar

README.md

+11-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ The NeqSim source code is downloaded by cloning the library to your local comput
2727
```bash
2828
git clone https://github.com/equinor/neqsim.git
2929
cd neqsim
30-
mvn install
30+
./mvnw install
3131
```
32+
> **Note**
33+
> The maven wrapper command is dependend on your OS, for Unix use: ```./mvnw```
34+
> Windows:
35+
> ```mvnw.cmd ```
3236
3337
An interactive demonstration of how to get started as a NeqSim developer is presented in this [NeqSim Colab demo](https://colab.research.google.com/drive/1JiszeCxfpcJZT2vejVWuNWGmd9SJdNC7).
3438

@@ -37,7 +41,12 @@ An interactive demonstration of how to get started as a NeqSim developer is pres
3741
The test files are written in JUnit5 and placed in the [test directory](https://github.com/equinor/neqsim/tree/master/src/test). All test have to be passed before merging to the master. Test code shuld be written for all new code added to the project.
3842

3943
Test coverage can be examined using [jacoco](https://www.eclemma.org/jacoco/) from maven.
40-
Generate a coverage report using `mvn jacoco:prepare-agent test install jacoco:report` and see results in target/site/jacoco/index.html.
44+
Generate a coverage report using `./mvnw jacoco:prepare-agent test install jacoco:report` and see results in target/site/jacoco/index.html.
45+
> **Note**
46+
> The maven wrapper command is dependend on your OS, for Unix use: ```./mvnw```
47+
> Windows:
48+
> ```mvnw.cmd ```
49+
4150

4251
## Deployment
4352

mvnw

+287
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,287 @@
1+
#!/bin/sh
2+
# ----------------------------------------------------------------------------
3+
# Licensed to the Apache Software Foundation (ASF) under one
4+
# or more contributor license agreements. See the NOTICE file
5+
# distributed with this work for additional information
6+
# regarding copyright ownership. The ASF licenses this file
7+
# to you under the Apache License, Version 2.0 (the
8+
# "License"); you may not use this file except in compliance
9+
# with the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing,
14+
# software distributed under the License is distributed on an
15+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
# KIND, either express or implied. See the License for the
17+
# specific language governing permissions and limitations
18+
# under the License.
19+
# ----------------------------------------------------------------------------
20+
21+
# ----------------------------------------------------------------------------
22+
# Apache Maven Wrapper startup batch script, version 3.1.1
23+
#
24+
# Required ENV vars:
25+
# ------------------
26+
# JAVA_HOME - location of a JDK home dir
27+
#
28+
# Optional ENV vars
29+
# -----------------
30+
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
31+
# e.g. to debug Maven itself, use
32+
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
33+
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
34+
# ----------------------------------------------------------------------------
35+
36+
if [ -z "$MAVEN_SKIP_RC" ] ; then
37+
38+
if [ -f /usr/local/etc/mavenrc ] ; then
39+
. /usr/local/etc/mavenrc
40+
fi
41+
42+
if [ -f /etc/mavenrc ] ; then
43+
. /etc/mavenrc
44+
fi
45+
46+
if [ -f "$HOME/.mavenrc" ] ; then
47+
. "$HOME/.mavenrc"
48+
fi
49+
50+
fi
51+
52+
# OS specific support. $var _must_ be set to either true or false.
53+
cygwin=false;
54+
darwin=false;
55+
mingw=false
56+
case "`uname`" in
57+
CYGWIN*) cygwin=true ;;
58+
MINGW*) mingw=true;;
59+
Darwin*) darwin=true
60+
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
61+
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
62+
if [ -z "$JAVA_HOME" ]; then
63+
if [ -x "/usr/libexec/java_home" ]; then
64+
JAVA_HOME="`/usr/libexec/java_home`"; export JAVA_HOME
65+
else
66+
JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
67+
fi
68+
fi
69+
;;
70+
esac
71+
72+
if [ -z "$JAVA_HOME" ] ; then
73+
if [ -r /etc/gentoo-release ] ; then
74+
JAVA_HOME=`java-config --jre-home`
75+
fi
76+
fi
77+
78+
# For Cygwin, ensure paths are in UNIX format before anything is touched
79+
if $cygwin ; then
80+
[ -n "$JAVA_HOME" ] &&
81+
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
82+
[ -n "$CLASSPATH" ] &&
83+
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
84+
fi
85+
86+
# For Mingw, ensure paths are in UNIX format before anything is touched
87+
if $mingw ; then
88+
[ -n "$JAVA_HOME" ] &&
89+
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
90+
fi
91+
92+
if [ -z "$JAVA_HOME" ]; then
93+
javaExecutable="`which javac`"
94+
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
95+
# readlink(1) is not available as standard on Solaris 10.
96+
readLink=`which readlink`
97+
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
98+
if $darwin ; then
99+
javaHome="`dirname \"$javaExecutable\"`"
100+
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
101+
else
102+
javaExecutable="`readlink -f \"$javaExecutable\"`"
103+
fi
104+
javaHome="`dirname \"$javaExecutable\"`"
105+
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
106+
JAVA_HOME="$javaHome"
107+
export JAVA_HOME
108+
fi
109+
fi
110+
fi
111+
112+
if [ -z "$JAVACMD" ] ; then
113+
if [ -n "$JAVA_HOME" ] ; then
114+
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
115+
# IBM's JDK on AIX uses strange locations for the executables
116+
JAVACMD="$JAVA_HOME/jre/sh/java"
117+
else
118+
JAVACMD="$JAVA_HOME/bin/java"
119+
fi
120+
else
121+
JAVACMD="`\\unset -f command; \\command -v java`"
122+
fi
123+
fi
124+
125+
if [ ! -x "$JAVACMD" ] ; then
126+
echo "Error: JAVA_HOME is not defined correctly." >&2
127+
echo " We cannot execute $JAVACMD" >&2
128+
exit 1
129+
fi
130+
131+
if [ -z "$JAVA_HOME" ] ; then
132+
echo "Warning: JAVA_HOME environment variable is not set."
133+
fi
134+
135+
# traverses directory structure from process work directory to filesystem root
136+
# first directory with .mvn subdirectory is considered project base directory
137+
find_maven_basedir() {
138+
if [ -z "$1" ]
139+
then
140+
echo "Path not specified to find_maven_basedir"
141+
return 1
142+
fi
143+
144+
basedir="$1"
145+
wdir="$1"
146+
while [ "$wdir" != '/' ] ; do
147+
if [ -d "$wdir"/.mvn ] ; then
148+
basedir=$wdir
149+
break
150+
fi
151+
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
152+
if [ -d "${wdir}" ]; then
153+
wdir=`cd "$wdir/.."; pwd`
154+
fi
155+
# end of workaround
156+
done
157+
printf '%s' "$(cd "$basedir"; pwd)"
158+
}
159+
160+
# concatenates all lines of a file
161+
concat_lines() {
162+
if [ -f "$1" ]; then
163+
echo "$(tr -s '\n' ' ' < "$1")"
164+
fi
165+
}
166+
167+
BASE_DIR=$(find_maven_basedir "$(dirname $0)")
168+
if [ -z "$BASE_DIR" ]; then
169+
exit 1;
170+
fi
171+
172+
MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR
173+
if [ "$MVNW_VERBOSE" = true ]; then
174+
echo $MAVEN_PROJECTBASEDIR
175+
fi
176+
177+
##########################################################################################
178+
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
179+
# This allows using the maven wrapper in projects that prohibit checking in binary data.
180+
##########################################################################################
181+
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
182+
if [ "$MVNW_VERBOSE" = true ]; then
183+
echo "Found .mvn/wrapper/maven-wrapper.jar"
184+
fi
185+
else
186+
if [ "$MVNW_VERBOSE" = true ]; then
187+
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
188+
fi
189+
if [ -n "$MVNW_REPOURL" ]; then
190+
wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar"
191+
else
192+
wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar"
193+
fi
194+
while IFS="=" read key value; do
195+
case "$key" in (wrapperUrl) wrapperUrl="$value"; break ;;
196+
esac
197+
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
198+
if [ "$MVNW_VERBOSE" = true ]; then
199+
echo "Downloading from: $wrapperUrl"
200+
fi
201+
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
202+
if $cygwin; then
203+
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
204+
fi
205+
206+
if command -v wget > /dev/null; then
207+
QUIET="--quiet"
208+
if [ "$MVNW_VERBOSE" = true ]; then
209+
echo "Found wget ... using wget"
210+
QUIET=""
211+
fi
212+
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
213+
wget $QUIET "$wrapperUrl" -O "$wrapperJarPath"
214+
else
215+
wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath"
216+
fi
217+
[ $? -eq 0 ] || rm -f "$wrapperJarPath"
218+
elif command -v curl > /dev/null; then
219+
QUIET="--silent"
220+
if [ "$MVNW_VERBOSE" = true ]; then
221+
echo "Found curl ... using curl"
222+
QUIET=""
223+
fi
224+
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
225+
curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L
226+
else
227+
curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L
228+
fi
229+
[ $? -eq 0 ] || rm -f "$wrapperJarPath"
230+
else
231+
if [ "$MVNW_VERBOSE" = true ]; then
232+
echo "Falling back to using Java to download"
233+
fi
234+
javaSource="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
235+
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class"
236+
# For Cygwin, switch paths to Windows format before running javac
237+
if $cygwin; then
238+
javaSource=`cygpath --path --windows "$javaSource"`
239+
javaClass=`cygpath --path --windows "$javaClass"`
240+
fi
241+
if [ -e "$javaSource" ]; then
242+
if [ ! -e "$javaClass" ]; then
243+
if [ "$MVNW_VERBOSE" = true ]; then
244+
echo " - Compiling MavenWrapperDownloader.java ..."
245+
fi
246+
# Compiling the Java class
247+
("$JAVA_HOME/bin/javac" "$javaSource")
248+
fi
249+
if [ -e "$javaClass" ]; then
250+
# Running the downloader
251+
if [ "$MVNW_VERBOSE" = true ]; then
252+
echo " - Running MavenWrapperDownloader.java ..."
253+
fi
254+
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
255+
fi
256+
fi
257+
fi
258+
fi
259+
##########################################################################################
260+
# End of extension
261+
##########################################################################################
262+
263+
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
264+
265+
# For Cygwin, switch paths to Windows format before running java
266+
if $cygwin; then
267+
[ -n "$JAVA_HOME" ] &&
268+
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
269+
[ -n "$CLASSPATH" ] &&
270+
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
271+
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
272+
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
273+
fi
274+
275+
# Provide a "standardized" way to retrieve the CLI args that will
276+
# work with both Windows and non-Windows executions.
277+
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
278+
export MAVEN_CMD_LINE_ARGS
279+
280+
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
281+
282+
exec "$JAVACMD" \
283+
$MAVEN_OPTS \
284+
$MAVEN_DEBUG_OPTS \
285+
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
286+
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
287+
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

0 commit comments

Comments
 (0)