Skip to content

Commit 1eb9ea2

Browse files
committed
Update to use maven wrapper
Signed-off-by: Siaa Gor <[email protected]>
1 parent 83f4540 commit 1eb9ea2

File tree

11 files changed

+778
-7
lines changed

11 files changed

+778
-7
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ jobs:
2727
env:
2828
VALIDATE_ALL_CODEBASE: false
2929
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30+
FILTER_REGEX_EXCLUDE: mvnw*
3031
LINTER_RULES_PATH: ./tools/pr-checker/linters/
3132
DEFAULT_BRANCH: prod
3233
- name: Summary

README.adoc

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2019, 2024 IBM Corporation and others.
1+
// Copyright (c) 2019, 2025 IBM Corporation and others.
22
// Licensed under Creative Commons Attribution-NoDerivatives
33
// 4.0 International (CC BY-ND 4.0)
44
// https://creativecommons.org/licenses/by-nd/4.0/
@@ -253,7 +253,7 @@ https://docs.hazelcast.org/docs/latest/manual/html-single/#understanding-configu
253253
== Running the application
254254

255255
[role="command"]
256-
include::{common-includes}/devmode-lmp33-start.adoc[]
256+
include::{common-includes}/devmode-mvnw-start.adoc[]
257257

258258
Point your browser to the link:http://localhost:9090/openapi/ui/[^] URL.
259259
This URL displays the available REST endpoints.
@@ -291,10 +291,31 @@ which covers Dockerfile in depth.
291291

292292
Run the `mvn package` command from the `start` directory so that the `.war` file resides in the `target` directory.
293293

294+
include::{common-includes}/os-tabs.adoc[]
295+
296+
[.tab_content.windows_section]
297+
--
298+
[role='command']
299+
```
300+
mvnw.cmd package
301+
```
302+
--
303+
304+
[.tab_content.mac_section]
305+
--
294306
[role='command']
295307
```
296-
mvn package
308+
./mvnw package
297309
```
310+
--
311+
312+
[.tab_content.linux_section]
313+
--
314+
[role='command']
315+
```
316+
./mvnw package
317+
```
318+
--
298319

299320

300321

61.6 KB
Binary file not shown.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
2+
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar

finish/mvnw

Whitespace-only changes.

finish/mvnw.cmd

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
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 http://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 Apache Maven Wrapper startup batch script, version 3.3.2
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 MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
28+
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
29+
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
30+
@REM e.g. to debug Maven itself, use
31+
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
32+
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
33+
@REM ----------------------------------------------------------------------------
34+
35+
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
36+
@echo off
37+
@REM set title of command window
38+
title %0
39+
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
40+
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
41+
42+
@REM set %HOME% to equivalent of $HOME
43+
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
44+
45+
@REM Execute a user defined script before this one
46+
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
47+
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
48+
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
49+
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
50+
:skipRcPre
51+
52+
@setlocal
53+
54+
set ERROR_CODE=0
55+
56+
@REM To isolate internal variables from possible post scripts, we use another setlocal
57+
@setlocal
58+
59+
@REM ==== START VALIDATION ====
60+
if not "%JAVA_HOME%" == "" goto OkJHome
61+
62+
echo. >&2
63+
echo Error: JAVA_HOME not found in your environment. >&2
64+
echo Please set the JAVA_HOME variable in your environment to match the >&2
65+
echo location of your Java installation. >&2
66+
echo. >&2
67+
goto error
68+
69+
:OkJHome
70+
if exist "%JAVA_HOME%\bin\java.exe" goto init
71+
72+
echo. >&2
73+
echo Error: JAVA_HOME is set to an invalid directory. >&2
74+
echo JAVA_HOME = "%JAVA_HOME%" >&2
75+
echo Please set the JAVA_HOME variable in your environment to match the >&2
76+
echo location of your Java installation. >&2
77+
echo. >&2
78+
goto error
79+
80+
@REM ==== END VALIDATION ====
81+
82+
:init
83+
84+
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
85+
@REM Fallback to current working directory if not found.
86+
87+
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
88+
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
89+
90+
set EXEC_DIR=%CD%
91+
set WDIR=%EXEC_DIR%
92+
:findBaseDir
93+
IF EXIST "%WDIR%"\.mvn goto baseDirFound
94+
cd ..
95+
IF "%WDIR%"=="%CD%" goto baseDirNotFound
96+
set WDIR=%CD%
97+
goto findBaseDir
98+
99+
:baseDirFound
100+
set MAVEN_PROJECTBASEDIR=%WDIR%
101+
cd "%EXEC_DIR%"
102+
goto endDetectBaseDir
103+
104+
:baseDirNotFound
105+
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
106+
cd "%EXEC_DIR%"
107+
108+
:endDetectBaseDir
109+
110+
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
111+
112+
@setlocal EnableExtensions EnableDelayedExpansion
113+
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
114+
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
115+
116+
:endReadAdditionalConfig
117+
118+
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
119+
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
120+
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
121+
122+
set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar"
123+
124+
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
125+
IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
126+
)
127+
128+
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
129+
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
130+
if exist %WRAPPER_JAR% (
131+
if "%MVNW_VERBOSE%" == "true" (
132+
echo Found %WRAPPER_JAR%
133+
)
134+
) else (
135+
if not "%MVNW_REPOURL%" == "" (
136+
SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar"
137+
)
138+
if "%MVNW_VERBOSE%" == "true" (
139+
echo Couldn't find %WRAPPER_JAR%, downloading it ...
140+
echo Downloading from: %WRAPPER_URL%
141+
)
142+
143+
powershell -Command "&{"^
144+
"$webclient = new-object System.Net.WebClient;"^
145+
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
146+
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
147+
"}"^
148+
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
149+
"}"
150+
if "%MVNW_VERBOSE%" == "true" (
151+
echo Finished downloading %WRAPPER_JAR%
152+
)
153+
)
154+
@REM End of extension
155+
156+
@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file
157+
SET WRAPPER_SHA_256_SUM=""
158+
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
159+
IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B
160+
)
161+
IF NOT %WRAPPER_SHA_256_SUM%=="" (
162+
powershell -Command "&{"^
163+
"Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash;"^
164+
"$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^
165+
"If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^
166+
" Write-Error 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^
167+
" Write-Error 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^
168+
" Write-Error 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^
169+
" exit 1;"^
170+
"}"^
171+
"}"
172+
if ERRORLEVEL 1 goto error
173+
)
174+
175+
@REM Provide a "standardized" way to retrieve the CLI args that will
176+
@REM work with both Windows and non-Windows executions.
177+
set MAVEN_CMD_LINE_ARGS=%*
178+
179+
%MAVEN_JAVA_EXE% ^
180+
%JVM_CONFIG_MAVEN_PROPS% ^
181+
%MAVEN_OPTS% ^
182+
%MAVEN_DEBUG_OPTS% ^
183+
-classpath %WRAPPER_JAR% ^
184+
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
185+
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
186+
if ERRORLEVEL 1 goto error
187+
goto end
188+
189+
:error
190+
set ERROR_CODE=1
191+
192+
:end
193+
@endlocal & set ERROR_CODE=%ERROR_CODE%
194+
195+
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
196+
@REM check for post script, once with legacy .bat ending and once with .cmd ending
197+
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
198+
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
199+
:skipRcPost
200+
201+
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
202+
if "%MAVEN_BATCH_PAUSE%"=="on" pause
203+
204+
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
205+
206+
cmd /C exit /B %ERROR_CODE%

scripts/testApp.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/bin/bash
22
set -euxo pipefail
3+
./mvnw -version
34

45
#../scripts/startMinikube.sh
56
minikube start
@@ -18,7 +19,7 @@ eval "$(minikube docker-env)"
1819
# liberty:create - Create a Liberty server.
1920
# liberty:install-feature - Install a feature packaged as a Subsystem Archive (esa) to the Liberty runtime.
2021
# liberty:deploy - Copy applications to the Liberty server's dropins or apps directory.
21-
mvn -ntp -Dhttp.keepAlive=false \
22+
./mvnw -ntp -Dhttp.keepAlive=false \
2223
-Dmaven.wagon.http.pool=false \
2324
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 \
2425
-q clean package liberty:create liberty:install-feature liberty:deploy
@@ -30,13 +31,13 @@ mvn -ntp -Dhttp.keepAlive=false \
3031
# failsafe:integration-test - Runs the integration tests of an application.
3132
# liberty:stop - Stop a Liberty server.
3233
# failsafe:verify - Verifies that the integration tests of an application passed.
33-
mvn liberty:start
34+
./mvnw liberty:start
3435
sleep 30
35-
mvn -ntp -Dhttp.keepAlive=false \
36+
./mvnw -ntp -Dhttp.keepAlive=false \
3637
-Dmaven.wagon.http.pool=false \
3738
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 \
3839
failsafe:integration-test liberty:stop
39-
mvn -ntp failsafe:verify
40+
./mvnw -ntp failsafe:verify
4041

4142
# TEST 2: Running the application in Kubernetes
4243
docker build -t cart-app:1.0-SNAPSHOT .
61.6 KB
Binary file not shown.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
2+
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar

0 commit comments

Comments
 (0)