Skip to content

Commit 0f15b2a

Browse files
author
helpermethod
committed
Initial commit
0 parents  commit 0f15b2a

File tree

17 files changed

+1140
-0
lines changed

17 files changed

+1140
-0
lines changed

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: maven
4+
directory: /
5+
schedule:
6+
interval: daily
7+
- package-ecosystem: github-actions
8+
directory: /
9+
schedule:
10+
interval: daily

.github/workflows/ci.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- main
6+
paths-ignore:
7+
- README.md
8+
pull_request:
9+
branches:
10+
- main
11+
paths-ignore:
12+
- README.md
13+
jobs:
14+
build:
15+
runs-on: ubuntu-22.04
16+
steps:
17+
- name: Check out repository
18+
uses: actions/checkout@v3
19+
with:
20+
fetch-depth: 0
21+
- name: Set up Java
22+
uses: actions/setup-java@v3
23+
with:
24+
distribution: temurin
25+
java-version: |
26+
8
27+
17
28+
cache: maven
29+
- name: Cache Sonar
30+
uses: actions/cache@v3
31+
with:
32+
path: ~/.sonar/cache
33+
key: ${{ runner.os }}-sonar
34+
restore-keys: ${{ runner.os }}-sonar
35+
- name: Build
36+
run: SONAR_TOKEN=${{ secrets.SONAR_TOKEN }} ./mvnw --no-transfer-progress verify sonar:sonar

.github/workflows/release.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Release
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
version:
6+
description: Release version
7+
required: true
8+
jobs:
9+
release:
10+
runs-on: ubuntu-22.04
11+
steps:
12+
- name: Check out repository
13+
uses: actions/checkout@v3
14+
- name: Set up Java
15+
uses: actions/setup-java@v3
16+
with:
17+
distribution: temurin
18+
java-version: |
19+
8
20+
17
21+
cache: maven
22+
- name: Build
23+
env:
24+
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.JRELEASER_GPG_PUBLIC_KEY }}
25+
JRELEASER_GPG_SECRET_KEY: ${{ secrets.JRELEASER_GPG_SECRET_KEY }}
26+
JRELEASER_GPG_PASSPHRASE: ${{ secrets.JRELEASER_GPG_PASSPHRASE }}
27+
JRELEASER_NEXUS2_USERNAME: ${{ secrets.JRELEASER_NEXUS2_USERNAME }}
28+
JRELEASER_NEXUS2_PASSWORD: ${{ secrets.JRELEASER_NEXUS2_PASSWORD }}
29+
JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30+
run: ./mvnw --no-transfer-progress -Prelease -Drevision=${{ inputs.version }} deploy jreleaser:full-release

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
out/
2+
target/
3+
.mvn/wrapper/maven-wrapper.jar
4+
5+
.idea/
6+
*.iml
Lines changed: 18 additions & 0 deletions
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/4.0.0-alpha-5/apache-maven-4.0.0-alpha-5-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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# 🌋 Zip Forge
2+
3+
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=io.github.helpermethod%3Azip-forge&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=com.github.helpermethod%3Azip-forge)
4+
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=io.github.helpermethod%3Azip-forge&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=com.github.helpermethod%3Azip-forge)
5+
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=io.github.helpermethod%3Azip-forge&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=com.github.helpermethod%3Azip-forge)
6+
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=io.github.helpermethod%3Azip-forge&metric=coverage)](https://sonarcloud.io/summary/new_code?id=com.github.helpermethod%3Azip-forge)

mvnw

Lines changed: 287 additions & 0 deletions
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)