Taki Eddine RAHAL commited on
Commit
20edb2a
·
0 Parent(s):

first commit

Browse files
.gitignore ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ HELP.md
2
+ target/
3
+ !.mvn/wrapper/maven-wrapper.jar
4
+ !**/src/main/**/target/
5
+ !**/src/test/**/target/
6
+
7
+ ### STS ###
8
+ .apt_generated
9
+ .classpath
10
+ .factorypath
11
+ .project
12
+ .settings
13
+ .springBeans
14
+ .sts4-cache
15
+
16
+ ### IntelliJ IDEA ###
17
+ .idea
18
+ *.iws
19
+ *.iml
20
+ *.ipr
21
+
22
+ ### NetBeans ###
23
+ /nbproject/private/
24
+ /nbbuild/
25
+ /dist/
26
+ /nbdist/
27
+ /.nb-gradle/
28
+ build/
29
+ !**/src/main/**/build/
30
+ !**/src/test/**/build/
31
+
32
+ ### VS Code ###
33
+ .vscode/
.mvn/wrapper/maven-wrapper.jar ADDED
Binary file (58.7 kB). View file
 
.mvn/wrapper/maven-wrapper.properties ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2
+ wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
Dockerfile ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #
2
+ # Build stage
3
+ #
4
+ FROM maven:3.8.2-jdk-11 AS build
5
+ COPY . .
6
+ RUN mvn clean package -Pprod -DskipTests
7
+
8
+ #
9
+ # Package stage
10
+ #
11
+ FROM openjdk:11-jdk-slim
12
+ COPY --from=build /target/demo-0.0.1-SNAPSHOT.jar demo.jar
13
+ # ENV PORT=8080
14
+ EXPOSE 8080
15
+ ENTRYPOINT ["java","-jar","demo.jar"]
mvnw ADDED
@@ -0,0 +1,316 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ # https://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
+ # Maven Start Up Batch script
23
+ #
24
+ # Required ENV vars:
25
+ # ------------------
26
+ # JAVA_HOME - location of a JDK home dir
27
+ #
28
+ # Optional ENV vars
29
+ # -----------------
30
+ # M2_HOME - location of maven2's installed home dir
31
+ # MAVEN_OPTS - parameters passed to the Java VM when running Maven
32
+ # e.g. to debug Maven itself, use
33
+ # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
34
+ # MAVEN_SKIP_RC - flag to disable loading of mavenrc files
35
+ # ----------------------------------------------------------------------------
36
+
37
+ if [ -z "$MAVEN_SKIP_RC" ] ; then
38
+
39
+ if [ -f /usr/local/etc/mavenrc ] ; then
40
+ . /usr/local/etc/mavenrc
41
+ fi
42
+
43
+ if [ -f /etc/mavenrc ] ; then
44
+ . /etc/mavenrc
45
+ fi
46
+
47
+ if [ -f "$HOME/.mavenrc" ] ; then
48
+ . "$HOME/.mavenrc"
49
+ fi
50
+
51
+ fi
52
+
53
+ # OS specific support. $var _must_ be set to either true or false.
54
+ cygwin=false;
55
+ darwin=false;
56
+ mingw=false
57
+ case "`uname`" in
58
+ CYGWIN*) cygwin=true ;;
59
+ MINGW*) mingw=true;;
60
+ Darwin*) darwin=true
61
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
62
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
63
+ if [ -z "$JAVA_HOME" ]; then
64
+ if [ -x "/usr/libexec/java_home" ]; then
65
+ export JAVA_HOME="`/usr/libexec/java_home`"
66
+ else
67
+ export JAVA_HOME="/Library/Java/Home"
68
+ fi
69
+ fi
70
+ ;;
71
+ esac
72
+
73
+ if [ -z "$JAVA_HOME" ] ; then
74
+ if [ -r /etc/gentoo-release ] ; then
75
+ JAVA_HOME=`java-config --jre-home`
76
+ fi
77
+ fi
78
+
79
+ if [ -z "$M2_HOME" ] ; then
80
+ ## resolve links - $0 may be a link to maven's home
81
+ PRG="$0"
82
+
83
+ # need this for relative symlinks
84
+ while [ -h "$PRG" ] ; do
85
+ ls=`ls -ld "$PRG"`
86
+ link=`expr "$ls" : '.*-> \(.*\)$'`
87
+ if expr "$link" : '/.*' > /dev/null; then
88
+ PRG="$link"
89
+ else
90
+ PRG="`dirname "$PRG"`/$link"
91
+ fi
92
+ done
93
+
94
+ saveddir=`pwd`
95
+
96
+ M2_HOME=`dirname "$PRG"`/..
97
+
98
+ # make it fully qualified
99
+ M2_HOME=`cd "$M2_HOME" && pwd`
100
+
101
+ cd "$saveddir"
102
+ # echo Using m2 at $M2_HOME
103
+ fi
104
+
105
+ # For Cygwin, ensure paths are in UNIX format before anything is touched
106
+ if $cygwin ; then
107
+ [ -n "$M2_HOME" ] &&
108
+ M2_HOME=`cygpath --unix "$M2_HOME"`
109
+ [ -n "$JAVA_HOME" ] &&
110
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
111
+ [ -n "$CLASSPATH" ] &&
112
+ CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
113
+ fi
114
+
115
+ # For Mingw, ensure paths are in UNIX format before anything is touched
116
+ if $mingw ; then
117
+ [ -n "$M2_HOME" ] &&
118
+ M2_HOME="`(cd "$M2_HOME"; pwd)`"
119
+ [ -n "$JAVA_HOME" ] &&
120
+ JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
121
+ fi
122
+
123
+ if [ -z "$JAVA_HOME" ]; then
124
+ javaExecutable="`which javac`"
125
+ if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
126
+ # readlink(1) is not available as standard on Solaris 10.
127
+ readLink=`which readlink`
128
+ if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
129
+ if $darwin ; then
130
+ javaHome="`dirname \"$javaExecutable\"`"
131
+ javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
132
+ else
133
+ javaExecutable="`readlink -f \"$javaExecutable\"`"
134
+ fi
135
+ javaHome="`dirname \"$javaExecutable\"`"
136
+ javaHome=`expr "$javaHome" : '\(.*\)/bin'`
137
+ JAVA_HOME="$javaHome"
138
+ export JAVA_HOME
139
+ fi
140
+ fi
141
+ fi
142
+
143
+ if [ -z "$JAVACMD" ] ; then
144
+ if [ -n "$JAVA_HOME" ] ; then
145
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
146
+ # IBM's JDK on AIX uses strange locations for the executables
147
+ JAVACMD="$JAVA_HOME/jre/sh/java"
148
+ else
149
+ JAVACMD="$JAVA_HOME/bin/java"
150
+ fi
151
+ else
152
+ JAVACMD="`\\unset -f command; \\command -v java`"
153
+ fi
154
+ fi
155
+
156
+ if [ ! -x "$JAVACMD" ] ; then
157
+ echo "Error: JAVA_HOME is not defined correctly." >&2
158
+ echo " We cannot execute $JAVACMD" >&2
159
+ exit 1
160
+ fi
161
+
162
+ if [ -z "$JAVA_HOME" ] ; then
163
+ echo "Warning: JAVA_HOME environment variable is not set."
164
+ fi
165
+
166
+ CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
167
+
168
+ # traverses directory structure from process work directory to filesystem root
169
+ # first directory with .mvn subdirectory is considered project base directory
170
+ find_maven_basedir() {
171
+
172
+ if [ -z "$1" ]
173
+ then
174
+ echo "Path not specified to find_maven_basedir"
175
+ return 1
176
+ fi
177
+
178
+ basedir="$1"
179
+ wdir="$1"
180
+ while [ "$wdir" != '/' ] ; do
181
+ if [ -d "$wdir"/.mvn ] ; then
182
+ basedir=$wdir
183
+ break
184
+ fi
185
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
186
+ if [ -d "${wdir}" ]; then
187
+ wdir=`cd "$wdir/.."; pwd`
188
+ fi
189
+ # end of workaround
190
+ done
191
+ echo "${basedir}"
192
+ }
193
+
194
+ # concatenates all lines of a file
195
+ concat_lines() {
196
+ if [ -f "$1" ]; then
197
+ echo "$(tr -s '\n' ' ' < "$1")"
198
+ fi
199
+ }
200
+
201
+ BASE_DIR=`find_maven_basedir "$(pwd)"`
202
+ if [ -z "$BASE_DIR" ]; then
203
+ exit 1;
204
+ fi
205
+
206
+ ##########################################################################################
207
+ # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
208
+ # This allows using the maven wrapper in projects that prohibit checking in binary data.
209
+ ##########################################################################################
210
+ if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
211
+ if [ "$MVNW_VERBOSE" = true ]; then
212
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
213
+ fi
214
+ else
215
+ if [ "$MVNW_VERBOSE" = true ]; then
216
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
217
+ fi
218
+ if [ -n "$MVNW_REPOURL" ]; then
219
+ jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
220
+ else
221
+ jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
222
+ fi
223
+ while IFS="=" read key value; do
224
+ case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
225
+ esac
226
+ done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
227
+ if [ "$MVNW_VERBOSE" = true ]; then
228
+ echo "Downloading from: $jarUrl"
229
+ fi
230
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
231
+ if $cygwin; then
232
+ wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
233
+ fi
234
+
235
+ if command -v wget > /dev/null; then
236
+ if [ "$MVNW_VERBOSE" = true ]; then
237
+ echo "Found wget ... using wget"
238
+ fi
239
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
240
+ wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
241
+ else
242
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
243
+ fi
244
+ elif command -v curl > /dev/null; then
245
+ if [ "$MVNW_VERBOSE" = true ]; then
246
+ echo "Found curl ... using curl"
247
+ fi
248
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
249
+ curl -o "$wrapperJarPath" "$jarUrl" -f
250
+ else
251
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
252
+ fi
253
+
254
+ else
255
+ if [ "$MVNW_VERBOSE" = true ]; then
256
+ echo "Falling back to using Java to download"
257
+ fi
258
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
259
+ # For Cygwin, switch paths to Windows format before running javac
260
+ if $cygwin; then
261
+ javaClass=`cygpath --path --windows "$javaClass"`
262
+ fi
263
+ if [ -e "$javaClass" ]; then
264
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
265
+ if [ "$MVNW_VERBOSE" = true ]; then
266
+ echo " - Compiling MavenWrapperDownloader.java ..."
267
+ fi
268
+ # Compiling the Java class
269
+ ("$JAVA_HOME/bin/javac" "$javaClass")
270
+ fi
271
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
272
+ # Running the downloader
273
+ if [ "$MVNW_VERBOSE" = true ]; then
274
+ echo " - Running MavenWrapperDownloader.java ..."
275
+ fi
276
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
277
+ fi
278
+ fi
279
+ fi
280
+ fi
281
+ ##########################################################################################
282
+ # End of extension
283
+ ##########################################################################################
284
+
285
+ export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
286
+ if [ "$MVNW_VERBOSE" = true ]; then
287
+ echo $MAVEN_PROJECTBASEDIR
288
+ fi
289
+ MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
290
+
291
+ # For Cygwin, switch paths to Windows format before running java
292
+ if $cygwin; then
293
+ [ -n "$M2_HOME" ] &&
294
+ M2_HOME=`cygpath --path --windows "$M2_HOME"`
295
+ [ -n "$JAVA_HOME" ] &&
296
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
297
+ [ -n "$CLASSPATH" ] &&
298
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
299
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
300
+ MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
301
+ fi
302
+
303
+ # Provide a "standardized" way to retrieve the CLI args that will
304
+ # work with both Windows and non-Windows executions.
305
+ MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
306
+ export MAVEN_CMD_LINE_ARGS
307
+
308
+ WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
309
+
310
+ exec "$JAVACMD" \
311
+ $MAVEN_OPTS \
312
+ $MAVEN_DEBUG_OPTS \
313
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
314
+ "-Dmaven.home=${M2_HOME}" \
315
+ "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
316
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
mvnw.cmd ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @REM ----------------------------------------------------------------------------
2
+ @REM Licensed to the Apache Software Foundation (ASF) under one
3
+ @REM or more contributor license agreements. See the NOTICE file
4
+ @REM distributed with this work for additional information
5
+ @REM regarding copyright ownership. The ASF licenses this file
6
+ @REM to you under the Apache License, Version 2.0 (the
7
+ @REM "License"); you may not use this file except in compliance
8
+ @REM with the License. You may obtain a copy of the License at
9
+ @REM
10
+ @REM https://www.apache.org/licenses/LICENSE-2.0
11
+ @REM
12
+ @REM Unless required by applicable law or agreed to in writing,
13
+ @REM software distributed under the License is distributed on an
14
+ @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ @REM KIND, either express or implied. See the License for the
16
+ @REM specific language governing permissions and limitations
17
+ @REM under the License.
18
+ @REM ----------------------------------------------------------------------------
19
+
20
+ @REM ----------------------------------------------------------------------------
21
+ @REM Maven Start Up Batch script
22
+ @REM
23
+ @REM Required ENV vars:
24
+ @REM JAVA_HOME - location of a JDK home dir
25
+ @REM
26
+ @REM Optional ENV vars
27
+ @REM M2_HOME - location of maven2's installed home dir
28
+ @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
29
+ @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
30
+ @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
31
+ @REM e.g. to debug Maven itself, use
32
+ @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
33
+ @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
34
+ @REM ----------------------------------------------------------------------------
35
+
36
+ @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
37
+ @echo off
38
+ @REM set title of command window
39
+ title %0
40
+ @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
41
+ @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
42
+
43
+ @REM set %HOME% to equivalent of $HOME
44
+ if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
45
+
46
+ @REM Execute a user defined script before this one
47
+ if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
48
+ @REM check for pre script, once with legacy .bat ending and once with .cmd ending
49
+ if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
50
+ if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
51
+ :skipRcPre
52
+
53
+ @setlocal
54
+
55
+ set ERROR_CODE=0
56
+
57
+ @REM To isolate internal variables from possible post scripts, we use another setlocal
58
+ @setlocal
59
+
60
+ @REM ==== START VALIDATION ====
61
+ if not "%JAVA_HOME%" == "" goto OkJHome
62
+
63
+ echo.
64
+ echo Error: JAVA_HOME not found in your environment. >&2
65
+ echo Please set the JAVA_HOME variable in your environment to match the >&2
66
+ echo location of your Java installation. >&2
67
+ echo.
68
+ goto error
69
+
70
+ :OkJHome
71
+ if exist "%JAVA_HOME%\bin\java.exe" goto init
72
+
73
+ echo.
74
+ echo Error: JAVA_HOME is set to an invalid directory. >&2
75
+ echo JAVA_HOME = "%JAVA_HOME%" >&2
76
+ echo Please set the JAVA_HOME variable in your environment to match the >&2
77
+ echo location of your Java installation. >&2
78
+ echo.
79
+ goto error
80
+
81
+ @REM ==== END VALIDATION ====
82
+
83
+ :init
84
+
85
+ @REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
86
+ @REM Fallback to current working directory if not found.
87
+
88
+ set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
89
+ IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
90
+
91
+ set EXEC_DIR=%CD%
92
+ set WDIR=%EXEC_DIR%
93
+ :findBaseDir
94
+ IF EXIST "%WDIR%"\.mvn goto baseDirFound
95
+ cd ..
96
+ IF "%WDIR%"=="%CD%" goto baseDirNotFound
97
+ set WDIR=%CD%
98
+ goto findBaseDir
99
+
100
+ :baseDirFound
101
+ set MAVEN_PROJECTBASEDIR=%WDIR%
102
+ cd "%EXEC_DIR%"
103
+ goto endDetectBaseDir
104
+
105
+ :baseDirNotFound
106
+ set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
107
+ cd "%EXEC_DIR%"
108
+
109
+ :endDetectBaseDir
110
+
111
+ IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
112
+
113
+ @setlocal EnableExtensions EnableDelayedExpansion
114
+ for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
115
+ @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
116
+
117
+ :endReadAdditionalConfig
118
+
119
+ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
120
+ set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
121
+ set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
122
+
123
+ set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
124
+
125
+ FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
126
+ IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
127
+ )
128
+
129
+ @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
130
+ @REM This allows using the maven wrapper in projects that prohibit checking in binary data.
131
+ if exist %WRAPPER_JAR% (
132
+ if "%MVNW_VERBOSE%" == "true" (
133
+ echo Found %WRAPPER_JAR%
134
+ )
135
+ ) else (
136
+ if not "%MVNW_REPOURL%" == "" (
137
+ SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
138
+ )
139
+ if "%MVNW_VERBOSE%" == "true" (
140
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
141
+ echo Downloading from: %DOWNLOAD_URL%
142
+ )
143
+
144
+ powershell -Command "&{"^
145
+ "$webclient = new-object System.Net.WebClient;"^
146
+ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
147
+ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
148
+ "}"^
149
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
150
+ "}"
151
+ if "%MVNW_VERBOSE%" == "true" (
152
+ echo Finished downloading %WRAPPER_JAR%
153
+ )
154
+ )
155
+ @REM End of extension
156
+
157
+ @REM Provide a "standardized" way to retrieve the CLI args that will
158
+ @REM work with both Windows and non-Windows executions.
159
+ set MAVEN_CMD_LINE_ARGS=%*
160
+
161
+ %MAVEN_JAVA_EXE% ^
162
+ %JVM_CONFIG_MAVEN_PROPS% ^
163
+ %MAVEN_OPTS% ^
164
+ %MAVEN_DEBUG_OPTS% ^
165
+ -classpath %WRAPPER_JAR% ^
166
+ "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
167
+ %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
168
+ if ERRORLEVEL 1 goto error
169
+ goto end
170
+
171
+ :error
172
+ set ERROR_CODE=1
173
+
174
+ :end
175
+ @endlocal & set ERROR_CODE=%ERROR_CODE%
176
+
177
+ if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
178
+ @REM check for post script, once with legacy .bat ending and once with .cmd ending
179
+ if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
180
+ if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
181
+ :skipRcPost
182
+
183
+ @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
184
+ if "%MAVEN_BATCH_PAUSE%"=="on" pause
185
+
186
+ if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
187
+
188
+ cmd /C exit /B %ERROR_CODE%
pom.xml ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4
+ <modelVersion>4.0.0</modelVersion>
5
+ <parent>
6
+ <groupId>org.springframework.boot</groupId>
7
+ <artifactId>spring-boot-starter-parent</artifactId>
8
+ <version>2.7.7-SNAPSHOT</version>
9
+ <relativePath/> <!-- lookup parent from repository -->
10
+ </parent>
11
+ <groupId>com.example</groupId>
12
+ <artifactId>demo</artifactId>
13
+ <version>0.0.1-SNAPSHOT</version>
14
+ <name>demo</name>
15
+ <description>Demo project for Spring Boot</description>
16
+ <properties>
17
+ <java.version>11</java.version>
18
+ </properties>
19
+ <dependencies>
20
+ <dependency>
21
+ <groupId>org.springframework.boot</groupId>
22
+ <artifactId>spring-boot-starter-web</artifactId>
23
+ </dependency>
24
+
25
+ <dependency>
26
+ <groupId>org.springframework.boot</groupId>
27
+ <artifactId>spring-boot-starter-data-jpa</artifactId>
28
+ </dependency>
29
+ <dependency>
30
+ <groupId>org.postgresql</groupId>
31
+ <artifactId>postgresql</artifactId>
32
+ <scope>runtime</scope>
33
+ </dependency>
34
+ <dependency>
35
+ <groupId>org.springframework.boot</groupId>
36
+ <artifactId>spring-boot-starter-test</artifactId>
37
+ <scope>test</scope>
38
+ </dependency>
39
+ </dependencies>
40
+
41
+ <build>
42
+ <plugins>
43
+ <plugin>
44
+ <groupId>org.springframework.boot</groupId>
45
+ <artifactId>spring-boot-maven-plugin</artifactId>
46
+ </plugin>
47
+ </plugins>
48
+ </build>
49
+ <repositories>
50
+ <repository>
51
+ <id>spring-milestones</id>
52
+ <name>Spring Milestones</name>
53
+ <url>https://repo.spring.io/milestone</url>
54
+ <snapshots>
55
+ <enabled>false</enabled>
56
+ </snapshots>
57
+ </repository>
58
+ <repository>
59
+ <id>spring-snapshots</id>
60
+ <name>Spring Snapshots</name>
61
+ <url>https://repo.spring.io/snapshot</url>
62
+ <releases>
63
+ <enabled>false</enabled>
64
+ </releases>
65
+ </repository>
66
+ </repositories>
67
+ <pluginRepositories>
68
+ <pluginRepository>
69
+ <id>spring-milestones</id>
70
+ <name>Spring Milestones</name>
71
+ <url>https://repo.spring.io/milestone</url>
72
+ <snapshots>
73
+ <enabled>false</enabled>
74
+ </snapshots>
75
+ </pluginRepository>
76
+ <pluginRepository>
77
+ <id>spring-snapshots</id>
78
+ <name>Spring Snapshots</name>
79
+ <url>https://repo.spring.io/snapshot</url>
80
+ <releases>
81
+ <enabled>false</enabled>
82
+ </releases>
83
+ </pluginRepository>
84
+ </pluginRepositories>
85
+
86
+ </project>
src/main/java/com/example/demo/DemoApplication.java ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ package com.example.demo;
2
+
3
+ import com.example.demo.entity.User;
4
+ import com.example.demo.repository.UserRepository;
5
+ import org.springframework.beans.factory.annotation.Autowired;
6
+ import org.springframework.boot.CommandLineRunner;
7
+ import org.springframework.boot.SpringApplication;
8
+ import org.springframework.boot.autoconfigure.SpringBootApplication;
9
+ import org.springframework.web.bind.annotation.GetMapping;
10
+ import org.springframework.web.bind.annotation.RestController;
11
+
12
+ import java.util.List;
13
+
14
+ @SpringBootApplication
15
+ @RestController
16
+ public class DemoApplication implements CommandLineRunner {
17
+
18
+ @Autowired
19
+ UserRepository userRepository;
20
+
21
+ public static void main(String[] args) {
22
+ SpringApplication.run(DemoApplication.class, args);
23
+ }
24
+
25
+ @Override
26
+ public void run(String... args) throws Exception {
27
+ User user = new User();
28
+ user.setFirstName("Rahal");
29
+ user.setLastName("Taki");
30
+ userRepository.save(user);
31
+ }
32
+
33
+ @GetMapping("test")
34
+ public String helloWorld(){
35
+
36
+ List<User> userList = userRepository.findAll();
37
+ userList.stream().forEach(user -> {
38
+ System.out.println("User "+user.getFirstName());
39
+ });
40
+ return "Hello Render";
41
+ }
42
+ }
src/main/java/com/example/demo/entity/User.java ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ package com.example.demo.entity;
2
+
3
+ import javax.persistence.*;
4
+ import java.io.Serializable;
5
+
6
+ @Entity
7
+ @Table(name = "users")
8
+ public class User implements Serializable {
9
+
10
+ @Id
11
+ @SequenceGenerator(name = "sequenceGenerator", sequenceName = "sequence_name_user", allocationSize = 1, initialValue = 2)
12
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
13
+ private Long id;
14
+
15
+ @Column(name = "first_name", length = 50)
16
+ private String firstName;
17
+
18
+ @Column(name = "last_name", length = 50)
19
+ private String lastName;
20
+
21
+ public Long getId() {
22
+ return id;
23
+ }
24
+
25
+ public void setId(Long id) {
26
+ this.id = id;
27
+ }
28
+
29
+ public String getFirstName() {
30
+ return firstName;
31
+ }
32
+
33
+ public void setFirstName(String firstName) {
34
+ this.firstName = firstName;
35
+ }
36
+
37
+ public String getLastName() {
38
+ return lastName;
39
+ }
40
+
41
+ public void setLastName(String lastName) {
42
+ this.lastName = lastName;
43
+ }
44
+ }
src/main/java/com/example/demo/repository/UserRepository.java ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ package com.example.demo.repository;
2
+
3
+ import com.example.demo.entity.User;
4
+ import org.springframework.data.jpa.repository.JpaRepository;
5
+ import org.springframework.stereotype.Repository;
6
+
7
+ @Repository
8
+ public interface UserRepository extends JpaRepository<User, Long> {
9
+ }
src/main/resources/application.properties ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
3
+ spring.jpa.hibernate.ddl-auto=update
4
+ spring.jpa.hibernate.show-sql=true
5
+
6
+ # Local configuration DB
7
+ spring.datasource.url=jdbc:postgresql://test_ssss_user:YlolInuBKvEkYJ25jmmoGJTFCDCH7AOX@dpg-ce3l93ha6gdru5kcqb10-a/test_ssss
8
+ spring.datasource.username=test_ssss_user
9
+ spring.datasource.password=YlolInuBKvEkYJ25jmmoGJTFCDCH7AOX
10
+ spring.datasource.driver-class-name=org.postgresql.Driver
src/test/java/com/example/demo/DemoApplicationTests.java ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ package com.example.demo;
2
+
3
+ import org.junit.jupiter.api.Test;
4
+ import org.springframework.boot.test.context.SpringBootTest;
5
+
6
+ @SpringBootTest
7
+ class DemoApplicationTests {
8
+
9
+ @Test
10
+ void contextLoads() {
11
+ }
12
+
13
+ }