From 0de6259123e26d0cd208bfc1b2bc762cdb98497f Mon Sep 17 00:00:00 2001 From: Pavel Halukha Date: Tue, 10 Feb 2026 01:46:14 +0300 Subject: [PATCH 1/8] complete Lab1 --- 351004/Halukha/lab1/.gitattributes | 2 + 351004/Halukha/lab1/.gitignore | 33 ++ .../.mvn/wrapper/maven-wrapper.properties | 3 + 351004/Halukha/lab1/mvnw | 295 ++++++++++++++++++ 351004/Halukha/lab1/mvnw.cmd | 189 +++++++++++ 351004/Halukha/lab1/pom.xml | 124 ++++++++ .../com/example/lab1/Lab1Application.java | 12 + .../lab1/controller/MarkerController.java | 57 ++++ .../lab1/controller/NewsController.java | 63 ++++ .../lab1/controller/PostController.java | 57 ++++ .../lab1/controller/UserController.java | 57 ++++ .../com/example/lab1/dto/MarkerRequestTo.java | 22 ++ .../example/lab1/dto/MarkerResponseTo.java | 24 ++ .../com/example/lab1/dto/NewsRequestTo.java | 63 ++++ .../com/example/lab1/dto/NewsResponseTo.java | 54 ++++ .../com/example/lab1/dto/PostRequestTo.java | 30 ++ .../com/example/lab1/dto/PostResponseTo.java | 31 ++ .../com/example/lab1/dto/UserRequestTo.java | 54 ++++ .../com/example/lab1/dto/UserResponseTo.java | 47 +++ .../exception/EntityNotFoundException.java | 12 + .../exception/GlobalExceptionHandler.java | 46 +++ .../com/example/lab1/mapper/MarkerMapper.java | 27 ++ .../com/example/lab1/mapper/NewsMapper.java | 31 ++ .../com/example/lab1/mapper/PostMapper.java | 28 ++ .../com/example/lab1/mapper/UserMapper.java | 30 ++ .../java/com/example/lab1/model/Marker.java | 51 +++ .../java/com/example/lab1/model/News.java | 105 +++++++ .../java/com/example/lab1/model/Post.java | 60 ++++ .../java/com/example/lab1/model/User.java | 89 ++++++ .../lab1/repository/CrudRepository.java | 15 + .../lab1/repository/MarkerRepository.java | 10 + .../lab1/repository/MarkerRepositoryImpl.java | 48 +++ .../lab1/repository/NewsRepository.java | 12 + .../lab1/repository/NewsRepositoryImpl.java | 48 +++ .../lab1/repository/PostRepository.java | 10 + .../lab1/repository/PostRepositoryImpl.java | 48 +++ .../lab1/repository/UserRepository.java | 10 + .../lab1/repository/UserRepositoryImpl.java | 48 +++ .../example/lab1/service/MarkerService.java | 58 ++++ .../com/example/lab1/service/NewsService.java | 78 +++++ .../com/example/lab1/service/PostService.java | 72 +++++ .../com/example/lab1/service/UserService.java | 58 ++++ .../src/main/resources/application.properties | 1 + .../lab1/src/main/resources/application.yaml | 6 + .../example/lab1/Lab1ApplicationTests.java | 13 + .../lab1/test/BaseIntegrationTest.java | 29 ++ .../test/MarkerControllerIntegrationTest.java | 149 +++++++++ .../test/NewsControllerIntegrationTest.java | 176 +++++++++++ .../test/PostControllerIntegrationTest.java | 130 ++++++++ .../test/UserControllerIntegrationTest.java | 118 +++++++ 50 files changed, 2833 insertions(+) create mode 100644 351004/Halukha/lab1/.gitattributes create mode 100644 351004/Halukha/lab1/.gitignore create mode 100644 351004/Halukha/lab1/.mvn/wrapper/maven-wrapper.properties create mode 100644 351004/Halukha/lab1/mvnw create mode 100644 351004/Halukha/lab1/mvnw.cmd create mode 100644 351004/Halukha/lab1/pom.xml create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/Lab1Application.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/controller/MarkerController.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/controller/NewsController.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/controller/PostController.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/controller/UserController.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerRequestTo.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerResponseTo.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsRequestTo.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsResponseTo.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostRequestTo.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostResponseTo.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserRequestTo.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserResponseTo.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/exception/EntityNotFoundException.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/exception/GlobalExceptionHandler.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/MarkerMapper.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/NewsMapper.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/PostMapper.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/UserMapper.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/model/Marker.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/model/News.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/model/Post.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/model/User.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/CrudRepository.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepository.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepositoryImpl.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepository.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepositoryImpl.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepository.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepositoryImpl.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepository.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepositoryImpl.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/service/MarkerService.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/service/NewsService.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/service/PostService.java create mode 100644 351004/Halukha/lab1/src/main/java/com/example/lab1/service/UserService.java create mode 100644 351004/Halukha/lab1/src/main/resources/application.properties create mode 100644 351004/Halukha/lab1/src/main/resources/application.yaml create mode 100644 351004/Halukha/lab1/src/test/java/com/example/lab1/Lab1ApplicationTests.java create mode 100644 351004/Halukha/lab1/src/test/java/com/example/lab1/test/BaseIntegrationTest.java create mode 100644 351004/Halukha/lab1/src/test/java/com/example/lab1/test/MarkerControllerIntegrationTest.java create mode 100644 351004/Halukha/lab1/src/test/java/com/example/lab1/test/NewsControllerIntegrationTest.java create mode 100644 351004/Halukha/lab1/src/test/java/com/example/lab1/test/PostControllerIntegrationTest.java create mode 100644 351004/Halukha/lab1/src/test/java/com/example/lab1/test/UserControllerIntegrationTest.java diff --git a/351004/Halukha/lab1/.gitattributes b/351004/Halukha/lab1/.gitattributes new file mode 100644 index 000000000..3b41682ac --- /dev/null +++ b/351004/Halukha/lab1/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/351004/Halukha/lab1/.gitignore b/351004/Halukha/lab1/.gitignore new file mode 100644 index 000000000..667aaef0c --- /dev/null +++ b/351004/Halukha/lab1/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/351004/Halukha/lab1/.mvn/wrapper/maven-wrapper.properties b/351004/Halukha/lab1/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 000000000..8dea6c227 --- /dev/null +++ b/351004/Halukha/lab1/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,3 @@ +wrapperVersion=3.3.4 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.12/apache-maven-3.9.12-bin.zip diff --git a/351004/Halukha/lab1/mvnw b/351004/Halukha/lab1/mvnw new file mode 100644 index 000000000..bd8896bf2 --- /dev/null +++ b/351004/Halukha/lab1/mvnw @@ -0,0 +1,295 @@ +#!/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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.4 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + 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" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +scriptDir="$(dirname "$0")" +scriptName="$(basename "$0")" + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"$scriptDir/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${scriptName#mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c - >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +actualDistributionDir="" + +# First try the expected directory name (for regular distributions) +if [ -d "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" ]; then + if [ -f "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/bin/$MVN_CMD" ]; then + actualDistributionDir="$distributionUrlNameMain" + fi +fi + +# If not found, search for any directory with the Maven executable (for snapshots) +if [ -z "$actualDistributionDir" ]; then + # enable globbing to iterate over items + set +f + for dir in "$TMP_DOWNLOAD_DIR"/*; do + if [ -d "$dir" ]; then + if [ -f "$dir/bin/$MVN_CMD" ]; then + actualDistributionDir="$(basename "$dir")" + break + fi + fi + done + set -f +fi + +if [ -z "$actualDistributionDir" ]; then + verbose "Contents of $TMP_DOWNLOAD_DIR:" + verbose "$(ls -la "$TMP_DOWNLOAD_DIR")" + die "Could not find Maven distribution directory in extracted archive" +fi + +verbose "Found extracted Maven distribution directory: $actualDistributionDir" +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$actualDistributionDir/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$actualDistributionDir" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/351004/Halukha/lab1/mvnw.cmd b/351004/Halukha/lab1/mvnw.cmd new file mode 100644 index 000000000..92450f932 --- /dev/null +++ b/351004/Halukha/lab1/mvnw.cmd @@ -0,0 +1,189 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.4 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" ("%__MVNW_CMD__%" %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND -eq $False) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace "^.*$MVNW_REPO_PATTERN",'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' + +$MAVEN_M2_PATH = "$HOME/.m2" +if ($env:MAVEN_USER_HOME) { + $MAVEN_M2_PATH = "$env:MAVEN_USER_HOME" +} + +if (-not (Test-Path -Path $MAVEN_M2_PATH)) { + New-Item -Path $MAVEN_M2_PATH -ItemType Directory | Out-Null +} + +$MAVEN_WRAPPER_DISTS = $null +if ((Get-Item $MAVEN_M2_PATH).Target[0] -eq $null) { + $MAVEN_WRAPPER_DISTS = "$MAVEN_M2_PATH/wrapper/dists" +} else { + $MAVEN_WRAPPER_DISTS = (Get-Item $MAVEN_M2_PATH).Target[0] + "/wrapper/dists" +} + +$MAVEN_HOME_PARENT = "$MAVEN_WRAPPER_DISTS/$distributionUrlNameMain" +$MAVEN_HOME_NAME = ([System.Security.Cryptography.SHA256]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +$actualDistributionDir = "" + +# First try the expected directory name (for regular distributions) +$expectedPath = Join-Path "$TMP_DOWNLOAD_DIR" "$distributionUrlNameMain" +$expectedMvnPath = Join-Path "$expectedPath" "bin/$MVN_CMD" +if ((Test-Path -Path $expectedPath -PathType Container) -and (Test-Path -Path $expectedMvnPath -PathType Leaf)) { + $actualDistributionDir = $distributionUrlNameMain +} + +# If not found, search for any directory with the Maven executable (for snapshots) +if (!$actualDistributionDir) { + Get-ChildItem -Path "$TMP_DOWNLOAD_DIR" -Directory | ForEach-Object { + $testPath = Join-Path $_.FullName "bin/$MVN_CMD" + if (Test-Path -Path $testPath -PathType Leaf) { + $actualDistributionDir = $_.Name + } + } +} + +if (!$actualDistributionDir) { + Write-Error "Could not find Maven distribution directory in extracted archive" +} + +Write-Verbose "Found extracted Maven distribution directory: $actualDistributionDir" +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$actualDistributionDir" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/351004/Halukha/lab1/pom.xml b/351004/Halukha/lab1/pom.xml new file mode 100644 index 000000000..be6d4a57c --- /dev/null +++ b/351004/Halukha/lab1/pom.xml @@ -0,0 +1,124 @@ + + + 4.0.0 + + com.example + lab1 + 0.0.1-SNAPSHOT + jar + + + + org.springframework.boot + spring-boot-starter-parent + 3.4.0 + + + + 18 + + + + + + + org.mapstruct + mapstruct + 1.5.5.Final + + + + + org.projectlombok + lombok + provided + + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + org.springframework.boot + spring-boot-starter-validation + + + + + com.fasterxml.jackson.core + jackson-databind + + + + + com.h2database + h2 + runtime + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + io.rest-assured + rest-assured + test + + + + io.rest-assured + json-path + test + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + + + + org.mapstruct + mapstruct-processor + 1.5.5.Final + + + + org.projectlombok + lombok + 1.18.34 + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/Lab1Application.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/Lab1Application.java new file mode 100644 index 000000000..713e0e949 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/Lab1Application.java @@ -0,0 +1,12 @@ +package com.example.lab1; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Lab1Application { + + public static void main(String[] args) { + SpringApplication.run(Lab1Application.class, args); + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/MarkerController.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/MarkerController.java new file mode 100644 index 000000000..50b72cb51 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/MarkerController.java @@ -0,0 +1,57 @@ +package com.example.lab1.controller; + +import java.util.List; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.example.lab1.dto.MarkerRequestTo; +import com.example.lab1.dto.MarkerResponseTo; +import com.example.lab1.service.MarkerService; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping("/api/v1.0/markers") +public class MarkerController { + + private final MarkerService markerService; + + public MarkerController(MarkerService markerService) { + this.markerService = markerService; + } + + @GetMapping + public ResponseEntity> getAllMarker() { + return ResponseEntity.ok(markerService.getAllMarker()); + } + + @GetMapping("/{id}") + public ResponseEntity getMarker(@PathVariable Long id) { + return ResponseEntity.ok(markerService.getMarkerById(id)); + } + + @PostMapping + public ResponseEntity createMarker(@Valid @RequestBody MarkerRequestTo marker) { + return ResponseEntity.status(HttpStatus.CREATED).body(markerService.createMarker(marker)); + } + + @PutMapping("/{id}") + public ResponseEntity updateMarker(@PathVariable Long id, @Valid @RequestBody MarkerRequestTo marker) { + return ResponseEntity.ok(markerService.updateMarker(id, marker)); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteMarker(@PathVariable Long id) { + markerService.deleteMarker(id); + return ResponseEntity.noContent().build(); + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/NewsController.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/NewsController.java new file mode 100644 index 000000000..97eef544b --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/NewsController.java @@ -0,0 +1,63 @@ +package com.example.lab1.controller; + +import java.util.List; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.example.lab1.dto.NewsRequestTo; +import com.example.lab1.dto.NewsResponseTo; +import com.example.lab1.dto.UserResponseTo; +import com.example.lab1.service.NewsService; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping("/api/v1.0/news") +public class NewsController { + + private final NewsService newsService; + + public NewsController(NewsService newsService) { + this.newsService = newsService; + } + + @GetMapping + public ResponseEntity> getAllNews() { + return ResponseEntity.ok(newsService.getAllNews()); + } + + @GetMapping("/{id}") + public ResponseEntity getNews(@PathVariable Long id) { + return ResponseEntity.ok(newsService.getNewsById(id)); + } + + @PostMapping + public ResponseEntity createNews(@Valid @RequestBody NewsRequestTo news) { + return ResponseEntity.status(HttpStatus.CREATED).body(newsService.createNews(news)); + } + + @PutMapping("/{id}") + public ResponseEntity updateNews(@PathVariable Long id, @Valid @RequestBody NewsRequestTo news) { + return ResponseEntity.ok(newsService.updateNews(id, news)); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteNews(@PathVariable Long id) { + newsService.deleteNews(id); + return ResponseEntity.noContent().build(); + } + + @GetMapping("/user/{id}") + public ResponseEntity getUserByNewsId(@PathVariable Long id) { + return ResponseEntity.ok(newsService.getUserByNewsId(id)); + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/PostController.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/PostController.java new file mode 100644 index 000000000..f16f2c8d4 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/PostController.java @@ -0,0 +1,57 @@ +package com.example.lab1.controller; + +import java.util.List; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.example.lab1.dto.PostRequestTo; +import com.example.lab1.dto.PostResponseTo; +import com.example.lab1.service.PostService; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping("/api/v1.0/posts") +public class PostController { + + private final PostService postService; + + public PostController(PostService postService) { + this.postService = postService; + } + + @GetMapping + public ResponseEntity> getAllPost() { + return ResponseEntity.ok(postService.getAllPost()); + } + + @GetMapping("/{id}") + public ResponseEntity getPost(@PathVariable Long id) { + return ResponseEntity.ok(postService.getPostById(id)); + } + + @PostMapping + public ResponseEntity createPost(@Valid @RequestBody PostRequestTo post) { + return ResponseEntity.status(HttpStatus.CREATED).body(postService.createPost(post)); + } + + @PutMapping("/{id}") + public ResponseEntity updatePost(@PathVariable Long id, @Valid @RequestBody PostRequestTo post) { + return ResponseEntity.ok(postService.updatePost(id, post)); + } + + @DeleteMapping("/{id}") + public ResponseEntity deletePost(@PathVariable Long id) { + postService.deletePost(id); + return ResponseEntity.noContent().build(); + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/UserController.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/UserController.java new file mode 100644 index 000000000..44dddfb43 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/UserController.java @@ -0,0 +1,57 @@ +package com.example.lab1.controller; + +import java.util.List; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.example.lab1.dto.UserRequestTo; +import com.example.lab1.dto.UserResponseTo; +import com.example.lab1.service.UserService; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping("/api/v1.0/users") +public class UserController { + + private final UserService userService; + + public UserController(UserService userService) { + this.userService = userService; + } + + @GetMapping + public ResponseEntity> getAllUsers() { + return ResponseEntity.ok(userService.getAllUsers()); + } + + @GetMapping("/{id}") + public ResponseEntity getUser(@PathVariable Long id) { + return ResponseEntity.ok(userService.getUserById(id)); + } + + @PostMapping + public ResponseEntity createUser(@Valid @RequestBody UserRequestTo user) { + return ResponseEntity.status(HttpStatus.CREATED).body(userService.createUser(user)); + } + + @PutMapping("/{id}") + public ResponseEntity updateUser(@PathVariable Long id, @Valid @RequestBody UserRequestTo user) { + return ResponseEntity.ok(userService.updateUser(id, user)); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteUser(@PathVariable Long id) { + userService.deleteUser(id); + return ResponseEntity.noContent().build(); + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerRequestTo.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerRequestTo.java new file mode 100644 index 000000000..8b8bebb9a --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerRequestTo.java @@ -0,0 +1,22 @@ +package com.example.lab1.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +public class MarkerRequestTo { + + @NotBlank + @Size(min = 2, max = 32) + private String name; + + public MarkerRequestTo( + @JsonProperty("name") String name) { + this.name = name; + } + + public String getName() { + return name; + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerResponseTo.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerResponseTo.java new file mode 100644 index 000000000..3d32a5fda --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerResponseTo.java @@ -0,0 +1,24 @@ +package com.example.lab1.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class MarkerResponseTo { + + private Long id; + private String name; + + public MarkerResponseTo( + @JsonProperty("id") Long id, + @JsonProperty("name") String name) { + this.id = id; + this.name = name; + } + + public Long getId() { + return id; + } + + public String getName() { + return name; + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsRequestTo.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsRequestTo.java new file mode 100644 index 000000000..0b892bb74 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsRequestTo.java @@ -0,0 +1,63 @@ +package com.example.lab1.dto; + +import java.time.LocalDateTime; + +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.format.annotation.DateTimeFormat.ISO; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +public class NewsRequestTo { + + private Long userId; + + @NotBlank + @Size(min = 2, max = 64) + private String title; + + @NotBlank + @Size(min = 4, max = 2048) + private String content; + + @DateTimeFormat(iso = ISO.DATE_TIME) + private LocalDateTime created; + + @DateTimeFormat(iso = ISO.DATE_TIME) + private LocalDateTime modified; + + public NewsRequestTo( + @JsonProperty("userId") Long userId, + @JsonProperty("title") String title, + @JsonProperty("content") String content, + @JsonProperty("created") LocalDateTime created, + @JsonProperty("modified") LocalDateTime modified) { + this.userId = userId; + this.title = title; + this.content = content; + this.created = created; + this.modified = modified; + } + + public Long getUserId() { + return userId; + } + + public String getTitle() { + return title; + } + + public String getContent() { + return content; + } + + public LocalDateTime getCreated() { + return created; + } + + public LocalDateTime getModified() { + return modified; + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsResponseTo.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsResponseTo.java new file mode 100644 index 000000000..364d09f76 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsResponseTo.java @@ -0,0 +1,54 @@ +package com.example.lab1.dto; + +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class NewsResponseTo { + + private Long id; + private Long userId; + private String title; + private String content; + private LocalDateTime created; + private LocalDateTime modified; + + public NewsResponseTo( + @JsonProperty("id") Long id, + @JsonProperty("userId") Long userId, + @JsonProperty("title") String title, + @JsonProperty("content") String content, + @JsonProperty("created") LocalDateTime created, + @JsonProperty("modified") LocalDateTime modified) { + this.id = id; + this.userId = userId; + this.title = title; + this.content = content; + this.created = created; + this.modified = modified; + } + + public Long getId() { + return id; + } + + public Long getUserId() { + return userId; + } + + public String getTitle() { + return title; + } + + public String getContent() { + return content; + } + + public LocalDateTime getCreated() { + return created; + } + + public LocalDateTime getModified() { + return modified; + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostRequestTo.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostRequestTo.java new file mode 100644 index 000000000..63e62387c --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostRequestTo.java @@ -0,0 +1,30 @@ +package com.example.lab1.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +public class PostRequestTo { + + private Long newsId; + + @NotBlank + @Size(min = 2, max = 2048) + private String content; + + public PostRequestTo( + @JsonProperty("newsId") Long newsId, + @JsonProperty("content") String content) { + this.newsId = newsId; + this.content = content; + } + + public Long getNewsId() { + return newsId; + } + + public String getContent() { + return content; + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostResponseTo.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostResponseTo.java new file mode 100644 index 000000000..799845e2a --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostResponseTo.java @@ -0,0 +1,31 @@ +package com.example.lab1.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class PostResponseTo { + + private Long id; + private Long newsId; + private String content; + + public PostResponseTo( + @JsonProperty("id") Long id, + @JsonProperty("newsId") Long newsId, + @JsonProperty("content") String content) { + this.id = id; + this.newsId = newsId; + this.content = content; + } + + public Long getId() { + return id; + } + + public Long getNewsId() { + return newsId; + } + + public String getContent() { + return content; + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserRequestTo.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserRequestTo.java new file mode 100644 index 000000000..0fb0d40e6 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserRequestTo.java @@ -0,0 +1,54 @@ +package com.example.lab1.dto; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +public class UserRequestTo { + + @NotBlank + @Size(min = 2, max = 64) + private final String login; + + @NotBlank + @Size(min = 8, max = 128) + private final String password; + + @NotBlank + @Size(min = 2, max = 64) + private final String firstName; + + @NotBlank + @Size(min = 2, max = 64) + private final String lastName; + + @JsonCreator + public UserRequestTo( + @JsonProperty("login") String login, + @JsonProperty("password") String password, + @JsonProperty("firstname") String firstName, + @JsonProperty("lastname") String lastName) { + this.login = login; + this.password = password; + this.firstName = firstName; + this.lastName = lastName; + } + + public String getLogin() { + return login; + } + + public String getPassword() { + return password; + } + + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserResponseTo.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserResponseTo.java new file mode 100644 index 000000000..394acfd0e --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserResponseTo.java @@ -0,0 +1,47 @@ +package com.example.lab1.dto; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +public class UserResponseTo { + + private Long id; + private String login; + private String password; + private String firstName; + private String lastName; + + @JsonCreator + public UserResponseTo( + @JsonProperty("id") Long id, + @JsonProperty("login") String login, + @JsonProperty("password") String password, + @JsonProperty("firstname") String firstName, + @JsonProperty("lastname") String lastName) { + this.id = id; + this.login = login; + this.password = password; + this.firstName = firstName; + this.lastName = lastName; + } + + public Long getId() { + return id; + } + + public String getLogin() { + return login; + } + + public String getPassword() { + return password; + } + + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/exception/EntityNotFoundException.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/exception/EntityNotFoundException.java new file mode 100644 index 000000000..c5902da84 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/exception/EntityNotFoundException.java @@ -0,0 +1,12 @@ +package com.example.lab1.exception; + +public class EntityNotFoundException extends RuntimeException { + private final int errorCode; + + public EntityNotFoundException(String message, int errorCode) { + super(message); + this.errorCode = errorCode; + } + + public int getErrorCode() { return errorCode; } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/exception/GlobalExceptionHandler.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/exception/GlobalExceptionHandler.java new file mode 100644 index 000000000..e7da16f4c --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/exception/GlobalExceptionHandler.java @@ -0,0 +1,46 @@ +package com.example.lab1.exception; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +@RestControllerAdvice +public class GlobalExceptionHandler { + + @ExceptionHandler(EntityNotFoundException.class) + public ResponseEntity handleEntityNotFound(EntityNotFoundException ex) { + ErrorResponse error = new ErrorResponse(ex.getErrorCode(), ex.getMessage()); + return ResponseEntity.status(HttpStatus.NOT_FOUND).body(error); + } + + @ExceptionHandler(MethodArgumentNotValidException.class) + public ResponseEntity handleValidation(MethodArgumentNotValidException ex) { + String msg = ex.getBindingResult().getFieldErrors().stream() + .map(e -> e.getField() + ": " + e.getDefaultMessage()) + .findFirst() + .orElse("Validation failed"); + ErrorResponse error = new ErrorResponse(40001, msg); + return ResponseEntity.badRequest().body(error); + } + + @ExceptionHandler(Exception.class) + public ResponseEntity handleGeneric(Exception ex) { + ErrorResponse error = new ErrorResponse(50001, "Internal server error"); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(error); + } + + public static class ErrorResponse { + private final int errorCode; + private final String errorMessage; + + public ErrorResponse(int errorCode, String errorMessage) { + this.errorCode = errorCode; + this.errorMessage = errorMessage; + } + + public int getErrorCode() { return errorCode; } + public String getErrorMessage() { return errorMessage; } + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/MarkerMapper.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/MarkerMapper.java new file mode 100644 index 000000000..28d67f672 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/MarkerMapper.java @@ -0,0 +1,27 @@ +package com.example.lab1.mapper; + +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; +import org.mapstruct.factory.Mappers; + +import com.example.lab1.dto.MarkerRequestTo; +import com.example.lab1.dto.MarkerResponseTo; +import com.example.lab1.model.Marker; + +@Mapper +public interface MarkerMapper { + + MarkerMapper INSTANCE = Mappers.getMapper(MarkerMapper.class); + + @Mapping(target = "id", ignore = true) + Marker toEntity(MarkerRequestTo dto); + + MarkerResponseTo toDto(Marker entity); + + @Mappings({ + @Mapping(target = "id", ignore = true), + @Mapping(target = "name", source = "dto.name"), + }) + Marker updateEntity(MarkerRequestTo dto, Marker existing); +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/NewsMapper.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/NewsMapper.java new file mode 100644 index 000000000..61a5f58ce --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/NewsMapper.java @@ -0,0 +1,31 @@ +package com.example.lab1.mapper; + +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; +import org.mapstruct.factory.Mappers; + +import com.example.lab1.dto.NewsRequestTo; +import com.example.lab1.dto.NewsResponseTo; +import com.example.lab1.model.News; + +@Mapper +public interface NewsMapper { + + NewsMapper INSTANCE = Mappers.getMapper(NewsMapper.class); + + @Mapping(target = "id", ignore = true) + News toEntity(NewsRequestTo dto); + + NewsResponseTo toDto(News entity); + + @Mappings({ + @Mapping(target = "id", ignore = true), + @Mapping(target = "userId", source = "dto.userId"), + @Mapping(target = "title", source = "dto.title"), + @Mapping(target = "content", source = "dto.content"), + @Mapping(target = "created", source = "dto.created"), + @Mapping(target = "modified", source = "dto.modified"), + }) + News updateEntity(NewsRequestTo dto, News existing); +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/PostMapper.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/PostMapper.java new file mode 100644 index 000000000..794d070b2 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/PostMapper.java @@ -0,0 +1,28 @@ +package com.example.lab1.mapper; + +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; +import org.mapstruct.factory.Mappers; + +import com.example.lab1.dto.PostRequestTo; +import com.example.lab1.dto.PostResponseTo; +import com.example.lab1.model.Post; + +@Mapper +public interface PostMapper { + + PostMapper INSTANCE = Mappers.getMapper(PostMapper.class); + + @Mapping(target = "id", ignore = true) + Post toEntity(PostRequestTo dto); + + PostResponseTo toDto(Post entity); + + @Mappings({ + @Mapping(target = "id", ignore = true), + @Mapping(target = "newsId", source = "dto.newsId"), + @Mapping(target = "content", source = "dto.content"), + }) + Post updateEntity(PostRequestTo dto, Post existing); +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/UserMapper.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/UserMapper.java new file mode 100644 index 000000000..b7872ea3e --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/UserMapper.java @@ -0,0 +1,30 @@ +package com.example.lab1.mapper; + +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; +import org.mapstruct.factory.Mappers; + +import com.example.lab1.dto.UserRequestTo; +import com.example.lab1.dto.UserResponseTo; +import com.example.lab1.model.User; + +@Mapper +public interface UserMapper { + + UserMapper INSTANCE = Mappers.getMapper(UserMapper.class); + + @Mapping(target = "id", ignore = true) + User toEntity(UserRequestTo dto); + + UserResponseTo toDto(User entity); + + @Mappings({ + @Mapping(target = "login", source = "dto.login"), + @Mapping(target = "password", source = "dto.password"), + @Mapping(target = "firstName", source = "dto.firstName"), + @Mapping(target = "lastName", source = "dto.lastName"), + @Mapping(target = "id", ignore = true) + }) + User updateEntity(UserRequestTo dto, User existing); +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/Marker.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/model/Marker.java new file mode 100644 index 000000000..6b3ef6c07 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/model/Marker.java @@ -0,0 +1,51 @@ +package com.example.lab1.model; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +@Entity +@Table(name = "markers") +public class Marker { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(name = "userId") + private Long userId; + + @NotBlank + @Size(min = 2, max = 32) + @Column(name = "name") + private String name; + + public Marker() { + } + + public Marker(Long id, String name) { + this.id = id; + this.name = name; + } + + public Long getId() { + return id; + } + + public String getName() { + return name; + } + + public void setId(Long id) { + this.id = id; + } + + public void setName(String title) { + this.name = title; + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/News.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/model/News.java new file mode 100644 index 000000000..c82130dd5 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/model/News.java @@ -0,0 +1,105 @@ +package com.example.lab1.model; + +import java.time.LocalDateTime; + +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.format.annotation.DateTimeFormat.ISO; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +@Entity +@Table(name = "news") +public class News { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(name = "userId") + private Long userId; + + @NotBlank + @Size(min = 2, max = 64) + @Column(name = "title") + private String title; + + @NotBlank + @Size(min = 4, max = 2048) + @Column(name = "content") + private String content; + + @DateTimeFormat(iso = ISO.DATE_TIME) + @Column(name = "created") + private LocalDateTime created; + + @DateTimeFormat(iso = ISO.DATE_TIME) + @Column(name = "modified") + private LocalDateTime modified; + + public News() { + } + + public News(Long id, Long userId, String title, String content, LocalDateTime created, LocalDateTime modified) { + this.id = id; + this.userId = userId; + this.title = title; + this.content = content; + this.created = created; + this.modified = modified; + } + + public Long getId() { + return id; + } + + public Long getUserId() { + return userId; + } + + public String getTitle() { + return title; + } + + public String getContent() { + return content; + } + + public LocalDateTime getCreated() { + return created; + } + + public LocalDateTime getModified() { + return modified; + } + + public void setId(Long id) { + this.id = id; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public void setTitle(String title) { + this.title = title; + } + + public void setContent(String content) { + this.content = content; + } + + public void setCreated(LocalDateTime created) { + this.created = created; + } + + public void setModified(LocalDateTime modified) { + this.modified = modified; + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/Post.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/model/Post.java new file mode 100644 index 000000000..a5000fe29 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/model/Post.java @@ -0,0 +1,60 @@ +package com.example.lab1.model; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +@Entity +@Table(name = "posts") +public class Post { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(name = "newsId") + private Long newsId; + + @NotBlank + @Size(min = 2, max = 2048) + @Column(name = "content") + private String content; + + public Post() { + } + + public Post(Long id, Long newsId, String content) { + this.id = id; + this.newsId = newsId; + this.content = content; + } + + public Long getId() { + return id; + } + + public Long getNewsId() { + return newsId; + } + + public String getContent() { + return content; + } + + public void setId(Long id) { + this.id = id; + } + + public void setNewsId(Long newsId) { + this.newsId = newsId; + } + + public void setContent(String content) { + this.content = content; + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/User.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/model/User.java new file mode 100644 index 000000000..bb6642114 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/model/User.java @@ -0,0 +1,89 @@ +package com.example.lab1.model; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +@Entity +@Table(name = "users") +public class User { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @NotBlank + @Size(min = 2, max = 64) + @Column(name = "login", nullable = false, unique = true) + private String login; + + @NotBlank + @Size(min = 8, max = 128) + @Column(name = "password") + private String password; + + @NotBlank + @Size(min = 2, max = 64) + @Column(name = "firstName") + private String firstName; + + @NotBlank + @Size(min = 2, max = 64) + @Column(name = "lastName") + private String lastName; + + public User() { + } + + public User(String login, String password, String firstName, String lastName) { + this.login = login; + this.password = password; + this.firstName = firstName; + this.lastName = lastName; + } + + public Long getId() { + return id; + } + + public String getLogin() { + return login; + } + + public String getPassword() { + return password; + } + + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } + + public void setId(Long id) { + this.id = id; + } + + public void setLogin(String login) { + this.login = login; + } + + public void setPassword(String password) { + this.password = password; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/CrudRepository.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/CrudRepository.java new file mode 100644 index 000000000..f664d3769 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/CrudRepository.java @@ -0,0 +1,15 @@ +package com.example.lab1.repository; + +import java.util.Optional; + +public interface CrudRepository { + Iterable getAllEntities(); + + Optional getEntityById(Long id); + + T createEntity(T entity); + + void deleteEntity(Long id); + + boolean existsEntity(Long id); +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepository.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepository.java new file mode 100644 index 000000000..ed0f393cd --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepository.java @@ -0,0 +1,10 @@ +package com.example.lab1.repository; + +import java.util.List; + +import com.example.lab1.model.Marker; + +public interface MarkerRepository extends CrudRepository { + @Override + List getAllEntities(); +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepositoryImpl.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepositoryImpl.java new file mode 100644 index 000000000..8752a5349 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepositoryImpl.java @@ -0,0 +1,48 @@ +package com.example.lab1.repository; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; + +import org.springframework.stereotype.Repository; + +import com.example.lab1.model.Marker; + +@Repository +public class MarkerRepositoryImpl implements MarkerRepository { + + private final Map storage = new ConcurrentHashMap<>(); + private final AtomicLong counter = new AtomicLong(1); + + @Override + public List getAllEntities() { + return new ArrayList<>(storage.values()); + } + + @Override + public Optional getEntityById(Long id) { + return Optional.ofNullable(storage.get(id)); + } + + @Override + public Marker createEntity(Marker entity) { + if (entity.getId() == null || !storage.containsKey(entity.getId())) { + entity.setId(counter.getAndIncrement()); + } + storage.put(entity.getId(), entity); + return entity; + } + + @Override + public void deleteEntity(Long id) { + storage.remove(id); + } + + @Override + public boolean existsEntity(Long id) { + return storage.containsKey(id); + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepository.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepository.java new file mode 100644 index 000000000..6795a7302 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepository.java @@ -0,0 +1,12 @@ +package com.example.lab1.repository; + +import java.util.List; + +import com.example.lab1.model.News; + +public interface NewsRepository extends CrudRepository { + @Override + List getAllEntities(); + + +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepositoryImpl.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepositoryImpl.java new file mode 100644 index 000000000..1c7a2c595 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepositoryImpl.java @@ -0,0 +1,48 @@ +package com.example.lab1.repository; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; + +import org.springframework.stereotype.Repository; + +import com.example.lab1.model.News; + +@Repository +public class NewsRepositoryImpl implements NewsRepository { + + private final Map storage = new ConcurrentHashMap<>(); + private final AtomicLong counter = new AtomicLong(1); + + @Override + public List getAllEntities() { + return new ArrayList<>(storage.values()); + } + + @Override + public Optional getEntityById(Long id) { + return Optional.ofNullable(storage.get(id)); + } + + @Override + public News createEntity(News entity) { + if (entity.getId() == null || !storage.containsKey(entity.getId())) { + entity.setId(counter.getAndIncrement()); + } + storage.put(entity.getId(), entity); + return entity; + } + + @Override + public void deleteEntity(Long id) { + storage.remove(id); + } + + @Override + public boolean existsEntity(Long id) { + return storage.containsKey(id); + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepository.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepository.java new file mode 100644 index 000000000..78e7d35d7 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepository.java @@ -0,0 +1,10 @@ +package com.example.lab1.repository; + +import java.util.List; + +import com.example.lab1.model.Post; + +public interface PostRepository extends CrudRepository { + @Override + List getAllEntities(); +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepositoryImpl.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepositoryImpl.java new file mode 100644 index 000000000..817d2b06b --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepositoryImpl.java @@ -0,0 +1,48 @@ +package com.example.lab1.repository; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; + +import org.springframework.stereotype.Repository; + +import com.example.lab1.model.Post; + +@Repository +public class PostRepositoryImpl implements PostRepository { + + private final Map storage = new ConcurrentHashMap<>(); + private final AtomicLong counter = new AtomicLong(1); + + @Override + public List getAllEntities() { + return new ArrayList<>(storage.values()); + } + + @Override + public Optional getEntityById(Long id) { + return Optional.ofNullable(storage.get(id)); + } + + @Override + public Post createEntity(Post entity) { + if (entity.getId() == null || !storage.containsKey(entity.getId())) { + entity.setId(counter.getAndIncrement()); + } + storage.put(entity.getId(), entity); + return entity; + } + + @Override + public void deleteEntity(Long id) { + storage.remove(id); + } + + @Override + public boolean existsEntity(Long id) { + return storage.containsKey(id); + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepository.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepository.java new file mode 100644 index 000000000..c8332b781 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepository.java @@ -0,0 +1,10 @@ +package com.example.lab1.repository; + +import java.util.List; + +import com.example.lab1.model.User; + +public interface UserRepository extends CrudRepository { + @Override + List getAllEntities(); +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepositoryImpl.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepositoryImpl.java new file mode 100644 index 000000000..f1a6bf56c --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepositoryImpl.java @@ -0,0 +1,48 @@ +package com.example.lab1.repository; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; + +import org.springframework.stereotype.Repository; + +import com.example.lab1.model.User; + +@Repository +public class UserRepositoryImpl implements UserRepository { + + private final Map storage = new ConcurrentHashMap<>(); + private final AtomicLong counter = new AtomicLong(1); + + @Override + public List getAllEntities() { + return new ArrayList<>(storage.values()); + } + + @Override + public Optional getEntityById(Long id) { + return Optional.ofNullable(storage.get(id)); + } + + @Override + public User createEntity(User user) { + if (user.getId() == null || !storage.containsKey(user.getId())) { + user.setId(counter.getAndIncrement()); + } + storage.put(user.getId(), user); + return user; + } + + @Override + public void deleteEntity(Long id) { + storage.remove(id); + } + + @Override + public boolean existsEntity(Long id) { + return storage.containsKey(id); + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/MarkerService.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/service/MarkerService.java new file mode 100644 index 000000000..3d7eeda59 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/service/MarkerService.java @@ -0,0 +1,58 @@ +package com.example.lab1.service; + +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.stereotype.Service; + +import com.example.lab1.dto.MarkerRequestTo; +import com.example.lab1.dto.MarkerResponseTo; +import com.example.lab1.exception.EntityNotFoundException; +import com.example.lab1.mapper.MarkerMapper; +import com.example.lab1.model.Marker; +import com.example.lab1.repository.MarkerRepository; + +@Service +public class MarkerService { + + private final MarkerRepository newsRepository; + private final MarkerMapper mapper = MarkerMapper.INSTANCE; + + public MarkerService(MarkerRepository newsRepository) { + this.newsRepository = newsRepository; + } + + public List getAllMarker() { + return newsRepository.getAllEntities().stream() + .map(mapper::toDto) + .collect(Collectors.toList()); + } + + public MarkerResponseTo getMarkerById(Long id) { + return newsRepository.getEntityById(id) + .map(mapper::toDto) + .orElseThrow(() -> new EntityNotFoundException("Marker not found", 40401)); + } + + public MarkerResponseTo createMarker(MarkerRequestTo request) { + Marker news = mapper.toEntity(request); + Marker saved = newsRepository.createEntity(news); + return mapper.toDto(saved); + } + + public MarkerResponseTo updateMarker(Long id, MarkerRequestTo request) { + Marker existing = newsRepository.getEntityById(id) + .orElseThrow(() -> new EntityNotFoundException("Marker not found", 40401)); + Marker updated = mapper.updateEntity(request, existing); + updated.setId(id); + Marker saved = newsRepository.createEntity(updated); + return mapper.toDto(saved); + } + + public void deleteMarker(Long id) { + if (!newsRepository.existsEntity(id)) { + throw new EntityNotFoundException("Marker not found", 40401); + } + newsRepository.deleteEntity(id); + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/NewsService.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/service/NewsService.java new file mode 100644 index 000000000..3a7ab2710 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/service/NewsService.java @@ -0,0 +1,78 @@ +package com.example.lab1.service; + +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.stereotype.Service; + +import com.example.lab1.dto.NewsRequestTo; +import com.example.lab1.dto.NewsResponseTo; +import com.example.lab1.dto.UserResponseTo; +import com.example.lab1.exception.EntityNotFoundException; +import com.example.lab1.mapper.NewsMapper; +import com.example.lab1.mapper.UserMapper; +import com.example.lab1.model.News; +import com.example.lab1.model.User; +import com.example.lab1.repository.NewsRepository; +import com.example.lab1.repository.UserRepository; + +@Service +public class NewsService { + + private final NewsRepository newsRepository; + private final UserRepository userRepository; + private final NewsMapper mapper = NewsMapper.INSTANCE; + private final UserMapper userMapper = UserMapper.INSTANCE; + + public NewsService(NewsRepository newsRepository, UserRepository userRepository) { + this.newsRepository = newsRepository; + this.userRepository = userRepository; + } + + public List getAllNews() { + return newsRepository.getAllEntities().stream() + .map(mapper::toDto) + .collect(Collectors.toList()); + } + + public NewsResponseTo getNewsById(Long id) { + return newsRepository.getEntityById(id) + .map(mapper::toDto) + .orElseThrow(() -> new EntityNotFoundException("News not found", 40401)); + } + + public NewsResponseTo createNews(NewsRequestTo request) { + if (!userRepository.existsEntity(request.getUserId())) { + throw new EntityNotFoundException("User not found", 40401); + } + News news = mapper.toEntity(request); + News saved = newsRepository.createEntity(news); + return mapper.toDto(saved); + } + + public NewsResponseTo updateNews(Long id, NewsRequestTo request) { + News existing = newsRepository.getEntityById(id) + .orElseThrow(() -> new EntityNotFoundException("News not found", 40401)); + News updated = mapper.updateEntity(request, existing); + updated.setId(id); + News saved = newsRepository.createEntity(updated); + return mapper.toDto(saved); + } + + public void deleteNews(Long id) { + if (!newsRepository.existsEntity(id)) { + throw new EntityNotFoundException("News not found", 40401); + } + newsRepository.deleteEntity(id); + } + + public UserResponseTo getUserByNewsId(Long newsId) { + News news = newsRepository.getEntityById(newsId) + .orElseThrow(() -> new EntityNotFoundException("News not found", 40401)); + + User user = userRepository.getEntityById(news.getUserId()) + .orElseThrow(() -> new EntityNotFoundException("User not found", 40401)); + + return userMapper.toDto(user); + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/PostService.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/service/PostService.java new file mode 100644 index 000000000..725be5545 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/service/PostService.java @@ -0,0 +1,72 @@ +package com.example.lab1.service; + +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.stereotype.Service; + +import com.example.lab1.dto.PostRequestTo; +import com.example.lab1.dto.PostResponseTo; +import com.example.lab1.exception.EntityNotFoundException; +import com.example.lab1.mapper.PostMapper; +import com.example.lab1.model.News; +import com.example.lab1.model.Post; +import com.example.lab1.repository.NewsRepository; +import com.example.lab1.repository.PostRepository; + +@Service +public class PostService { + + private final PostRepository postRepository; + private final NewsRepository newsRepository; + private final PostMapper mapper = PostMapper.INSTANCE; + + public PostService(PostRepository postRepository, NewsRepository newsRepository) { + this.postRepository = postRepository; + this.newsRepository = newsRepository; + } + + public List getAllPost() { + return postRepository.getAllEntities().stream() + .map(mapper::toDto) + .collect(Collectors.toList()); + } + + public PostResponseTo getPostById(Long id) { + return postRepository.getEntityById(id) + .map(mapper::toDto) + .orElseThrow(() -> new EntityNotFoundException("Post not found", 40401)); + } + + public PostResponseTo createPost(PostRequestTo request) { + Post news = mapper.toEntity(request); + Post saved = postRepository.createEntity(news); + return mapper.toDto(saved); + } + + public PostResponseTo updatePost(Long id, PostRequestTo request) { + Post existing = postRepository.getEntityById(id) + .orElseThrow(() -> new EntityNotFoundException("Post not found", 40401)); + Post updated = mapper.updateEntity(request, existing); + updated.setId(id); + Post saved = postRepository.createEntity(updated); + return mapper.toDto(saved); + } + + public void deletePost(Long id) { + if (!postRepository.existsEntity(id)) { + throw new EntityNotFoundException("Post not found", 40401); + } + postRepository.deleteEntity(id); + } + + public List getAllPostByNewsId(Long userId) { + List news = newsRepository.getAllEntities().stream() + .filter(news1 -> news1.getUserId().equals(userId)) + .collect(Collectors.toList()); + return postRepository.getAllEntities().stream() + .filter(post -> news.stream().anyMatch(post1 -> post1.getId().equals(post.getNewsId()))) + .map(mapper::toDto) + .collect(Collectors.toList()); + } +} diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/UserService.java b/351004/Halukha/lab1/src/main/java/com/example/lab1/service/UserService.java new file mode 100644 index 000000000..14d751197 --- /dev/null +++ b/351004/Halukha/lab1/src/main/java/com/example/lab1/service/UserService.java @@ -0,0 +1,58 @@ +package com.example.lab1.service; + +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.stereotype.Service; + +import com.example.lab1.dto.UserRequestTo; +import com.example.lab1.dto.UserResponseTo; +import com.example.lab1.exception.EntityNotFoundException; +import com.example.lab1.mapper.UserMapper; +import com.example.lab1.model.User; +import com.example.lab1.repository.UserRepository; + +@Service +public class UserService { + + private final UserRepository userRepository; + private final UserMapper mapper = UserMapper.INSTANCE; + + public UserService(UserRepository userRepository) { + this.userRepository = userRepository; + } + + public List getAllUsers() { + return userRepository.getAllEntities().stream() + .map(mapper::toDto) + .collect(Collectors.toList()); + } + + public UserResponseTo getUserById(Long id) { + return userRepository.getEntityById(id) + .map(mapper::toDto) + .orElseThrow(() -> new EntityNotFoundException("User not found", 40401)); + } + + public UserResponseTo createUser(UserRequestTo request) { + User user = mapper.toEntity(request); + User saved = userRepository.createEntity(user); + return mapper.toDto(saved); + } + + public UserResponseTo updateUser(Long id, UserRequestTo request) { + User existing = userRepository.getEntityById(id) + .orElseThrow(() -> new EntityNotFoundException("User not found", 40401)); + User updated = mapper.updateEntity(request, existing); + updated.setId(id); + User saved = userRepository.createEntity(updated); + return mapper.toDto(saved); + } + + public void deleteUser(Long id) { + if (!userRepository.existsEntity(id)) { + throw new EntityNotFoundException("User not found", 40401); + } + userRepository.deleteEntity(id); + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/main/resources/application.properties b/351004/Halukha/lab1/src/main/resources/application.properties new file mode 100644 index 000000000..2f99495af --- /dev/null +++ b/351004/Halukha/lab1/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.application.name=lab1 diff --git a/351004/Halukha/lab1/src/main/resources/application.yaml b/351004/Halukha/lab1/src/main/resources/application.yaml new file mode 100644 index 000000000..84eba713e --- /dev/null +++ b/351004/Halukha/lab1/src/main/resources/application.yaml @@ -0,0 +1,6 @@ +server: + port: 24110 + +spring: + application: + name: task310-rest-api \ No newline at end of file diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/Lab1ApplicationTests.java b/351004/Halukha/lab1/src/test/java/com/example/lab1/Lab1ApplicationTests.java new file mode 100644 index 000000000..9ebfccc26 --- /dev/null +++ b/351004/Halukha/lab1/src/test/java/com/example/lab1/Lab1ApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.lab1; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class Lab1ApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/BaseIntegrationTest.java b/351004/Halukha/lab1/src/test/java/com/example/lab1/test/BaseIntegrationTest.java new file mode 100644 index 000000000..8f1ad55c0 --- /dev/null +++ b/351004/Halukha/lab1/src/test/java/com/example/lab1/test/BaseIntegrationTest.java @@ -0,0 +1,29 @@ +package com.example.lab1.test; + +import io.restassured.RestAssured; +import org.junit.jupiter.api.BeforeAll; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.web.server.LocalServerPort; +import org.springframework.test.context.DynamicPropertyRegistry; +import org.springframework.test.context.DynamicPropertySource; + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public abstract class BaseIntegrationTest { + + @LocalServerPort + protected int port; + + @BeforeAll + static void setUpRestAssured() { + RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); + } + + @DynamicPropertySource + static void configureBaseUrl(DynamicPropertyRegistry registry) { + registry.add("server.port", () -> 0); + } + + protected String getBaseUrl() { + return "http://localhost:" + port; + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/MarkerControllerIntegrationTest.java b/351004/Halukha/lab1/src/test/java/com/example/lab1/test/MarkerControllerIntegrationTest.java new file mode 100644 index 000000000..0674521f6 --- /dev/null +++ b/351004/Halukha/lab1/src/test/java/com/example/lab1/test/MarkerControllerIntegrationTest.java @@ -0,0 +1,149 @@ +package com.example.lab1.test; + +import io.restassured.http.ContentType; +import org.junit.jupiter.api.*; +import org.springframework.http.HttpStatus; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.Matchers.*; + +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +public class MarkerControllerIntegrationTest extends BaseIntegrationTest { + + private static Long markerId; + + @Test + @Order(1) + @DisplayName("STEP 1: CREATE MARKER - Should return 201 Created") + void createMarker() { + String payload = """ + { + "name": "Test Marker" + } + """; + + markerId = given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/markers") + .then() + .statusCode(HttpStatus.CREATED.value()) + .contentType(ContentType.JSON) + .body("id", notNullValue()) + .body("name", equalTo("Test Marker")) + .extract() + .jsonPath() + .getLong("id"); + + Assertions.assertNotNull(markerId); + } + + @Test + @Order(2) + @DisplayName("STEP 2: GET MARKER BY ID - Should return 200 OK") + void getMarkerById() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/markers/{id}", markerId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(markerId.intValue())) + .body("name", equalTo("Test Marker")); + } + + @Test + @Order(3) + @DisplayName("STEP 3: UPDATE MARKER - Should return 200 OK") + void updateMarker() { + String payload = """ + { + "id": %d, + "name": "Updated Marker" + } + """.formatted(markerId); + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .put("/api/v1.0/markers/{id}", markerId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(markerId.intValue())) + .body("name", equalTo("Updated Marker")); + } + + @Test + @Order(4) + @DisplayName("STEP 4: DELETE MARKER - Should return 204 No Content") + void deleteMarker() { + given() + .baseUri(getBaseUrl()) + .when() + .delete("/api/v1.0/markers/{id}", markerId) + .then() + .statusCode(HttpStatus.NO_CONTENT.value()); + } + + @Test + @Order(5) + @DisplayName("STEP 5: GET DELETED MARKER - Should return 404 Not Found") + void getDeletedMarker() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/markers/{id}", markerId) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .contentType(ContentType.JSON) + .body("errorCode", equalTo(40401)); + } + + @Test + @Order(6) + @DisplayName("NEGATIVE: CREATE MARKER WITH INVALID DATA - Should return 400 Bad Request") + void createMarkerWithInvalidData() { + String payload = """ + { + "name": "" + } + """; + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/markers") + .then() + .statusCode(HttpStatus.BAD_REQUEST.value()); + } + + @Test + @Order(7) + @DisplayName("NEGATIVE: UPDATE NON-EXISTENT MARKER - Should return 404 Not Found") + void updateNonExistentMarker() { + String payload = """ + { + "id": 999999, + "name": "Non-existent" + } + """; + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .put("/api/v1.0/markers/{id}", 999999) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .body("errorCode", equalTo(40401)); + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/NewsControllerIntegrationTest.java b/351004/Halukha/lab1/src/test/java/com/example/lab1/test/NewsControllerIntegrationTest.java new file mode 100644 index 000000000..3c2dce452 --- /dev/null +++ b/351004/Halukha/lab1/src/test/java/com/example/lab1/test/NewsControllerIntegrationTest.java @@ -0,0 +1,176 @@ +package com.example.lab1.test; + +import io.restassured.http.ContentType; +import org.junit.jupiter.api.*; +import org.springframework.http.HttpStatus; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.Matchers.*; + +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +public class NewsControllerIntegrationTest extends BaseIntegrationTest { + + private static Long newsId; + private static Long userId; + + @BeforeEach + void createTestUser() { + // Создаем пользователя для новости + String userPayload = """ + { + "login": "news_author", + "password": "password123", + "firstname": "Author", + "lastname": "Name" + } + """; + + userId = given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(userPayload) + .when() + .post("/api/v1.0/users") + .then() + .statusCode(HttpStatus.CREATED.value()) + .extract() + .jsonPath() + .getLong("id"); + } + + @Test + @Order(1) + @DisplayName("STEP 1: CREATE NEWS - Should return 201 Created") + void createNews() { + String payload = """ + { + "title": "Breaking News", + "content": "This is important news!", + "userId": %d + } + """.formatted(userId); + + newsId = given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/news") + .then() + .statusCode(HttpStatus.CREATED.value()) + .contentType(ContentType.JSON) + .body("id", notNullValue()) + .body("title", equalTo("Breaking News")) + .body("content", equalTo("This is important news!")) + .extract() + .jsonPath() + .getLong("id"); + + Assertions.assertNotNull(newsId); + } + + @Test + @Order(2) + @DisplayName("STEP 2: GET NEWS BY ID - Should return 200 OK") + void getNewsById() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/news/{id}", newsId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(newsId.intValue())) + .body("title", equalTo("Breaking News")) + .body("content", equalTo("This is important news!")); + } + + @Test + @Order(4) + @DisplayName("STEP 4: UPDATE NEWS - Should return 200 OK") + void updateNews() { + String payload = """ + { + "id": %d, + "title": "Updated News", + "content": "Updated content!", + "userId": %d + } + """.formatted(newsId, userId); + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .put("/api/v1.0/news/{id}", newsId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(newsId.intValue())) + .body("title", equalTo("Updated News")) + .body("content", equalTo("Updated content!")); + } + + @Test + @Order(5) + @DisplayName("STEP 5: DELETE NEWS - Should return 204 No Content") + void deleteNews() { + given() + .baseUri(getBaseUrl()) + .when() + .delete("/api/v1.0/news/{id}", newsId) + .then() + .statusCode(HttpStatus.NO_CONTENT.value()); + } + + @Test + @Order(6) + @DisplayName("STEP 6: GET DELETED NEWS - Should return 404 Not Found") + void getDeletedNews() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/news/{id}", newsId) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .contentType(ContentType.JSON) + .body("errorCode", equalTo(40401)); + } + + @Test + @Order(7) + @DisplayName("STEP 7: GET USER BY DELETED NEWS ID - Should return 404 Not Found") + void getUserByDeletedNewsId() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/news/user/{id}", newsId) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .body("errorCode", equalTo(40401)); + } + + @Test + @Order(8) + @DisplayName("NEGATIVE: CREATE NEWS WITH INVALID USER ID - Should return 404 Not Found") + void createNewsWithInvalidUserId() { + String payload = """ + { + "title": "Invalid News", + "content": "This should fail", + "userId": 999999 + } + """; + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/news") + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .body("errorCode", equalTo(40401)); + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/PostControllerIntegrationTest.java b/351004/Halukha/lab1/src/test/java/com/example/lab1/test/PostControllerIntegrationTest.java new file mode 100644 index 000000000..f857b84df --- /dev/null +++ b/351004/Halukha/lab1/src/test/java/com/example/lab1/test/PostControllerIntegrationTest.java @@ -0,0 +1,130 @@ +package com.example.lab1.test; + +import io.restassured.http.ContentType; +import org.junit.jupiter.api.*; +import org.springframework.http.HttpStatus; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.Matchers.*; + +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +public class PostControllerIntegrationTest extends BaseIntegrationTest { + + private static Long postId; + + @Test + @Order(1) + @DisplayName("STEP 1: CREATE POST - Should return 201 Created") + void createPost() { + String payload = """ + { + "content": "This is my first post!", + "newsId": 1 + } + """; + + postId = given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/posts") + .then() + .statusCode(HttpStatus.CREATED.value()) + .contentType(ContentType.JSON) + .body("id", notNullValue()) + .body("content", equalTo("This is my first post!")) + .extract() + .jsonPath() + .getLong("id"); + + Assertions.assertNotNull(postId); + } + + @Test + @Order(2) + @DisplayName("STEP 2: GET POST BY ID - Should return 200 OK") + void getPostById() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/posts/{id}", postId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(postId.intValue())) + .body("content", equalTo("This is my first post!")); + } + + @Test + @Order(3) + @DisplayName("STEP 3: UPDATE POST - Should return 200 OK") + void updatePost() { + String payload = """ + { + "id": %d, + "content": "This is my updated post!", + "newsId": 1 + } + """.formatted(postId); + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .put("/api/v1.0/posts/{id}", postId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(postId.intValue())) + .body("content", equalTo("This is my updated post!")); + } + + @Test + @Order(4) + @DisplayName("STEP 4: DELETE POST - Should return 204 No Content") + void deletePost() { + given() + .baseUri(getBaseUrl()) + .when() + .delete("/api/v1.0/posts/{id}", postId) + .then() + .statusCode(HttpStatus.NO_CONTENT.value()); + } + + @Test + @Order(5) + @DisplayName("STEP 5: GET DELETED POST - Should return 404 Not Found") + void getDeletedPost() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/posts/{id}", postId) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .contentType(ContentType.JSON) + .body("errorCode", equalTo(40401)); + } + + @Test + @Order(6) + @DisplayName("NEGATIVE: CREATE POST WITH EMPTY CONTENT - Should return 400 Bad Request") + void createPostWithEmptyContent() { + String payload = """ + { + "content": "", + "newsId": 1 + } + """; + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/posts") + .then() + .statusCode(HttpStatus.BAD_REQUEST.value()); + } +} \ No newline at end of file diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/UserControllerIntegrationTest.java b/351004/Halukha/lab1/src/test/java/com/example/lab1/test/UserControllerIntegrationTest.java new file mode 100644 index 000000000..1577ff9df --- /dev/null +++ b/351004/Halukha/lab1/src/test/java/com/example/lab1/test/UserControllerIntegrationTest.java @@ -0,0 +1,118 @@ +package com.example.lab1.test; + +import io.restassured.http.ContentType; +import org.junit.jupiter.api.*; +import org.springframework.http.HttpStatus; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.Matchers.*; + +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +public class UserControllerIntegrationTest extends BaseIntegrationTest { + + private static Long userId; + + @Test + @Order(1) + @DisplayName("STEP 1: CREATE USER - Should return 201 Created") + void createUser() { + String payload = """ + { + "login": "test_user", + "password": "secure123", + "firstname": "John", + "lastname": "Doe" + } + """; + + userId = given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/users") + .then() + .statusCode(HttpStatus.CREATED.value()) + .contentType(ContentType.JSON) + .body("id", notNullValue()) + .body("login", equalTo("test_user")) + .body("firstname", equalTo("John")) + .body("lastname", equalTo("Doe")) + .extract() + .jsonPath() + .getLong("id"); + + Assertions.assertNotNull(userId); + } + + @Test + @Order(2) + @DisplayName("STEP 2: GET USER BY ID - Should return 200 OK") + void getUserById() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/users/{id}", userId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(userId.intValue())) + .body("login", equalTo("test_user")) + .body("firstname", equalTo("John")); + } + + @Test + @Order(3) + @DisplayName("STEP 3: UPDATE USER - Should return 200 OK") + void updateUser() { + String payload = """ + { + "id": %d, + "login": "test_user", + "password": "newpassword456", + "firstname": "Jane", + "lastname": "Smith" + } + """.formatted(userId); + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .put("/api/v1.0/users/{id}", userId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(userId.intValue())) + .body("login", equalTo("test_user")) + .body("firstname", equalTo("Jane")) + .body("lastname", equalTo("Smith")); + } + + @Test + @Order(4) + @DisplayName("STEP 4: DELETE USER - Should return 204 No Content") + void deleteUser() { + given() + .baseUri(getBaseUrl()) + .when() + .delete("/api/v1.0/users/{id}", userId) + .then() + .statusCode(HttpStatus.NO_CONTENT.value()); + } + + @Test + @Order(5) + @DisplayName("STEP 5: GET DELETED USER - Should return 404 Not Found") + void getDeletedUser() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/users/{id}", userId) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .contentType(ContentType.JSON) + .body("errorCode", equalTo(40401)); + } +} \ No newline at end of file From 31aab9a95b522582393257a735ae8491f648fc27 Mon Sep 17 00:00:00 2001 From: Pavel Halukha Date: Tue, 10 Feb 2026 02:00:52 +0300 Subject: [PATCH 2/8] fix lab1 --- 351004/Halukha/{lab1 => }/.gitattributes | 0 351004/Halukha/{lab1 => }/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../src/main/resources/application.properties | 1 - 351004/Halukha/{lab1 => }/mvnw | 0 351004/Halukha/{lab1 => }/mvnw.cmd | 0 351004/Halukha/{lab1 => }/pom.xml | 2 +- .../java/com/example/lab/LabApplication.java} | 6 ++--- .../lab}/controller/MarkerController.java | 8 +++---- .../lab}/controller/NewsController.java | 10 ++++----- .../lab}/controller/PostController.java | 8 +++---- .../lab}/controller/UserController.java | 8 +++---- .../com/example/lab}/dto/MarkerRequestTo.java | 2 +- .../example/lab}/dto/MarkerResponseTo.java | 2 +- .../com/example/lab}/dto/NewsRequestTo.java | 2 +- .../com/example/lab}/dto/NewsResponseTo.java | 2 +- .../com/example/lab}/dto/PostRequestTo.java | 2 +- .../com/example/lab}/dto/PostResponseTo.java | 2 +- .../com/example/lab}/dto/UserRequestTo.java | 2 +- .../com/example/lab}/dto/UserResponseTo.java | 2 +- .../exception/EntityNotFoundException.java | 2 +- .../exception/GlobalExceptionHandler.java | 2 +- .../com/example/lab}/mapper/MarkerMapper.java | 8 +++---- .../com/example/lab}/mapper/NewsMapper.java | 8 +++---- .../com/example/lab}/mapper/PostMapper.java | 8 +++---- .../com/example/lab}/mapper/UserMapper.java | 8 +++---- .../java/com/example/lab}/model/Marker.java | 2 +- .../java/com/example/lab}/model/News.java | 2 +- .../java/com/example/lab}/model/Post.java | 2 +- .../java/com/example/lab}/model/User.java | 2 +- .../lab}/repository/CrudRepository.java | 2 +- .../lab}/repository/MarkerRepository.java | 4 ++-- .../lab}/repository/MarkerRepositoryImpl.java | 4 ++-- .../lab}/repository/NewsRepository.java | 4 ++-- .../lab}/repository/NewsRepositoryImpl.java | 4 ++-- .../lab}/repository/PostRepository.java | 4 ++-- .../lab}/repository/PostRepositoryImpl.java | 4 ++-- .../lab}/repository/UserRepository.java | 4 ++-- .../lab}/repository/UserRepositoryImpl.java | 4 ++-- .../example/lab}/service/MarkerService.java | 14 ++++++------ .../com/example/lab}/service/NewsService.java | 22 +++++++++---------- .../com/example/lab}/service/PostService.java | 18 +++++++-------- .../com/example/lab}/service/UserService.java | 14 ++++++------ .../src/main/resources/application.properties | 1 + .../src/main/resources/application.yaml | 0 .../com/example/lab/LabApplicationTests.java} | 4 ++-- .../lab}/test/BaseIntegrationTest.java | 2 +- .../test/MarkerControllerIntegrationTest.java | 2 +- .../test/NewsControllerIntegrationTest.java | 2 +- .../test/PostControllerIntegrationTest.java | 2 +- .../test/UserControllerIntegrationTest.java | 2 +- 51 files changed, 110 insertions(+), 110 deletions(-) rename 351004/Halukha/{lab1 => }/.gitattributes (100%) rename 351004/Halukha/{lab1 => }/.gitignore (100%) rename 351004/Halukha/{lab1 => }/.mvn/wrapper/maven-wrapper.properties (100%) delete mode 100644 351004/Halukha/lab1/src/main/resources/application.properties rename 351004/Halukha/{lab1 => }/mvnw (100%) rename 351004/Halukha/{lab1 => }/mvnw.cmd (100%) rename 351004/Halukha/{lab1 => }/pom.xml (99%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1/Lab1Application.java => src/main/java/com/example/lab/LabApplication.java} (63%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/controller/MarkerController.java (91%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/controller/NewsController.java (90%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/controller/PostController.java (91%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/controller/UserController.java (91%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/dto/MarkerRequestTo.java (93%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/dto/MarkerResponseTo.java (93%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/dto/NewsRequestTo.java (97%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/dto/NewsResponseTo.java (97%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/dto/PostRequestTo.java (95%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/dto/PostResponseTo.java (95%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/dto/UserRequestTo.java (97%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/dto/UserResponseTo.java (97%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/exception/EntityNotFoundException.java (88%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/exception/GlobalExceptionHandler.java (98%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/mapper/MarkerMapper.java (77%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/mapper/NewsMapper.java (83%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/mapper/PostMapper.java (79%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/mapper/UserMapper.java (82%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/model/Marker.java (96%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/model/News.java (98%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/model/Post.java (97%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/model/User.java (98%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/repository/CrudRepository.java (86%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/repository/MarkerRepository.java (65%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/repository/MarkerRepositoryImpl.java (93%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/repository/NewsRepository.java (66%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/repository/NewsRepositoryImpl.java (94%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/repository/PostRepository.java (65%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/repository/PostRepositoryImpl.java (94%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/repository/UserRepository.java (65%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/repository/UserRepositoryImpl.java (94%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/service/MarkerService.java (83%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/service/NewsService.java (82%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/service/PostService.java (84%) rename 351004/Halukha/{lab1/src/main/java/com/example/lab1 => src/main/java/com/example/lab}/service/UserService.java (83%) create mode 100644 351004/Halukha/src/main/resources/application.properties rename 351004/Halukha/{lab1 => }/src/main/resources/application.yaml (100%) rename 351004/Halukha/{lab1/src/test/java/com/example/lab1/Lab1ApplicationTests.java => src/test/java/com/example/lab/LabApplicationTests.java} (73%) rename 351004/Halukha/{lab1/src/test/java/com/example/lab1 => src/test/java/com/example/lab}/test/BaseIntegrationTest.java (96%) rename 351004/Halukha/{lab1/src/test/java/com/example/lab1 => src/test/java/com/example/lab}/test/MarkerControllerIntegrationTest.java (99%) rename 351004/Halukha/{lab1/src/test/java/com/example/lab1 => src/test/java/com/example/lab}/test/NewsControllerIntegrationTest.java (99%) rename 351004/Halukha/{lab1/src/test/java/com/example/lab1 => src/test/java/com/example/lab}/test/PostControllerIntegrationTest.java (99%) rename 351004/Halukha/{lab1/src/test/java/com/example/lab1 => src/test/java/com/example/lab}/test/UserControllerIntegrationTest.java (99%) diff --git a/351004/Halukha/lab1/.gitattributes b/351004/Halukha/.gitattributes similarity index 100% rename from 351004/Halukha/lab1/.gitattributes rename to 351004/Halukha/.gitattributes diff --git a/351004/Halukha/lab1/.gitignore b/351004/Halukha/.gitignore similarity index 100% rename from 351004/Halukha/lab1/.gitignore rename to 351004/Halukha/.gitignore diff --git a/351004/Halukha/lab1/.mvn/wrapper/maven-wrapper.properties b/351004/Halukha/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from 351004/Halukha/lab1/.mvn/wrapper/maven-wrapper.properties rename to 351004/Halukha/.mvn/wrapper/maven-wrapper.properties diff --git a/351004/Halukha/lab1/src/main/resources/application.properties b/351004/Halukha/lab1/src/main/resources/application.properties deleted file mode 100644 index 2f99495af..000000000 --- a/351004/Halukha/lab1/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=lab1 diff --git a/351004/Halukha/lab1/mvnw b/351004/Halukha/mvnw similarity index 100% rename from 351004/Halukha/lab1/mvnw rename to 351004/Halukha/mvnw diff --git a/351004/Halukha/lab1/mvnw.cmd b/351004/Halukha/mvnw.cmd similarity index 100% rename from 351004/Halukha/lab1/mvnw.cmd rename to 351004/Halukha/mvnw.cmd diff --git a/351004/Halukha/lab1/pom.xml b/351004/Halukha/pom.xml similarity index 99% rename from 351004/Halukha/lab1/pom.xml rename to 351004/Halukha/pom.xml index be6d4a57c..b4b7730da 100644 --- a/351004/Halukha/lab1/pom.xml +++ b/351004/Halukha/pom.xml @@ -6,7 +6,7 @@ 4.0.0 com.example - lab1 + lab 0.0.1-SNAPSHOT jar diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/Lab1Application.java b/351004/Halukha/src/main/java/com/example/lab/LabApplication.java similarity index 63% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/Lab1Application.java rename to 351004/Halukha/src/main/java/com/example/lab/LabApplication.java index 713e0e949..145e3f3fa 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/Lab1Application.java +++ b/351004/Halukha/src/main/java/com/example/lab/LabApplication.java @@ -1,12 +1,12 @@ -package com.example.lab1; +package com.example.lab; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication -public class Lab1Application { +public class LabApplication { public static void main(String[] args) { - SpringApplication.run(Lab1Application.class, args); + SpringApplication.run(LabApplication.class, args); } } diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/MarkerController.java b/351004/Halukha/src/main/java/com/example/lab/controller/MarkerController.java similarity index 91% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/controller/MarkerController.java rename to 351004/Halukha/src/main/java/com/example/lab/controller/MarkerController.java index 50b72cb51..f3647c1d3 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/MarkerController.java +++ b/351004/Halukha/src/main/java/com/example/lab/controller/MarkerController.java @@ -1,4 +1,4 @@ -package com.example.lab1.controller; +package com.example.lab.controller; import java.util.List; @@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.example.lab1.dto.MarkerRequestTo; -import com.example.lab1.dto.MarkerResponseTo; -import com.example.lab1.service.MarkerService; +import com.example.lab.dto.MarkerRequestTo; +import com.example.lab.dto.MarkerResponseTo; +import com.example.lab.service.MarkerService; import jakarta.validation.Valid; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/NewsController.java b/351004/Halukha/src/main/java/com/example/lab/controller/NewsController.java similarity index 90% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/controller/NewsController.java rename to 351004/Halukha/src/main/java/com/example/lab/controller/NewsController.java index 97eef544b..25a75c049 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/NewsController.java +++ b/351004/Halukha/src/main/java/com/example/lab/controller/NewsController.java @@ -1,4 +1,4 @@ -package com.example.lab1.controller; +package com.example.lab.controller; import java.util.List; @@ -13,10 +13,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.example.lab1.dto.NewsRequestTo; -import com.example.lab1.dto.NewsResponseTo; -import com.example.lab1.dto.UserResponseTo; -import com.example.lab1.service.NewsService; +import com.example.lab.dto.NewsRequestTo; +import com.example.lab.dto.NewsResponseTo; +import com.example.lab.dto.UserResponseTo; +import com.example.lab.service.NewsService; import jakarta.validation.Valid; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/PostController.java b/351004/Halukha/src/main/java/com/example/lab/controller/PostController.java similarity index 91% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/controller/PostController.java rename to 351004/Halukha/src/main/java/com/example/lab/controller/PostController.java index f16f2c8d4..be9f472fe 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/PostController.java +++ b/351004/Halukha/src/main/java/com/example/lab/controller/PostController.java @@ -1,4 +1,4 @@ -package com.example.lab1.controller; +package com.example.lab.controller; import java.util.List; @@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.example.lab1.dto.PostRequestTo; -import com.example.lab1.dto.PostResponseTo; -import com.example.lab1.service.PostService; +import com.example.lab.dto.PostRequestTo; +import com.example.lab.dto.PostResponseTo; +import com.example.lab.service.PostService; import jakarta.validation.Valid; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/UserController.java b/351004/Halukha/src/main/java/com/example/lab/controller/UserController.java similarity index 91% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/controller/UserController.java rename to 351004/Halukha/src/main/java/com/example/lab/controller/UserController.java index 44dddfb43..384c94b5a 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/controller/UserController.java +++ b/351004/Halukha/src/main/java/com/example/lab/controller/UserController.java @@ -1,4 +1,4 @@ -package com.example.lab1.controller; +package com.example.lab.controller; import java.util.List; @@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.example.lab1.dto.UserRequestTo; -import com.example.lab1.dto.UserResponseTo; -import com.example.lab1.service.UserService; +import com.example.lab.dto.UserRequestTo; +import com.example.lab.dto.UserResponseTo; +import com.example.lab.service.UserService; import jakarta.validation.Valid; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerRequestTo.java b/351004/Halukha/src/main/java/com/example/lab/dto/MarkerRequestTo.java similarity index 93% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerRequestTo.java rename to 351004/Halukha/src/main/java/com/example/lab/dto/MarkerRequestTo.java index 8b8bebb9a..9000686d0 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerRequestTo.java +++ b/351004/Halukha/src/main/java/com/example/lab/dto/MarkerRequestTo.java @@ -1,4 +1,4 @@ -package com.example.lab1.dto; +package com.example.lab.dto; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerResponseTo.java b/351004/Halukha/src/main/java/com/example/lab/dto/MarkerResponseTo.java similarity index 93% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerResponseTo.java rename to 351004/Halukha/src/main/java/com/example/lab/dto/MarkerResponseTo.java index 3d32a5fda..5554df9f3 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/MarkerResponseTo.java +++ b/351004/Halukha/src/main/java/com/example/lab/dto/MarkerResponseTo.java @@ -1,4 +1,4 @@ -package com.example.lab1.dto; +package com.example.lab.dto; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsRequestTo.java b/351004/Halukha/src/main/java/com/example/lab/dto/NewsRequestTo.java similarity index 97% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsRequestTo.java rename to 351004/Halukha/src/main/java/com/example/lab/dto/NewsRequestTo.java index 0b892bb74..dd580c1b0 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsRequestTo.java +++ b/351004/Halukha/src/main/java/com/example/lab/dto/NewsRequestTo.java @@ -1,4 +1,4 @@ -package com.example.lab1.dto; +package com.example.lab.dto; import java.time.LocalDateTime; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsResponseTo.java b/351004/Halukha/src/main/java/com/example/lab/dto/NewsResponseTo.java similarity index 97% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsResponseTo.java rename to 351004/Halukha/src/main/java/com/example/lab/dto/NewsResponseTo.java index 364d09f76..ccfd206d7 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/NewsResponseTo.java +++ b/351004/Halukha/src/main/java/com/example/lab/dto/NewsResponseTo.java @@ -1,4 +1,4 @@ -package com.example.lab1.dto; +package com.example.lab.dto; import java.time.LocalDateTime; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostRequestTo.java b/351004/Halukha/src/main/java/com/example/lab/dto/PostRequestTo.java similarity index 95% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostRequestTo.java rename to 351004/Halukha/src/main/java/com/example/lab/dto/PostRequestTo.java index 63e62387c..6f3aeb79c 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostRequestTo.java +++ b/351004/Halukha/src/main/java/com/example/lab/dto/PostRequestTo.java @@ -1,4 +1,4 @@ -package com.example.lab1.dto; +package com.example.lab.dto; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostResponseTo.java b/351004/Halukha/src/main/java/com/example/lab/dto/PostResponseTo.java similarity index 95% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostResponseTo.java rename to 351004/Halukha/src/main/java/com/example/lab/dto/PostResponseTo.java index 799845e2a..76c3fde2f 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/PostResponseTo.java +++ b/351004/Halukha/src/main/java/com/example/lab/dto/PostResponseTo.java @@ -1,4 +1,4 @@ -package com.example.lab1.dto; +package com.example.lab.dto; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserRequestTo.java b/351004/Halukha/src/main/java/com/example/lab/dto/UserRequestTo.java similarity index 97% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserRequestTo.java rename to 351004/Halukha/src/main/java/com/example/lab/dto/UserRequestTo.java index 0fb0d40e6..664fdd348 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserRequestTo.java +++ b/351004/Halukha/src/main/java/com/example/lab/dto/UserRequestTo.java @@ -1,4 +1,4 @@ -package com.example.lab1.dto; +package com.example.lab.dto; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserResponseTo.java b/351004/Halukha/src/main/java/com/example/lab/dto/UserResponseTo.java similarity index 97% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserResponseTo.java rename to 351004/Halukha/src/main/java/com/example/lab/dto/UserResponseTo.java index 394acfd0e..b6673e7df 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/dto/UserResponseTo.java +++ b/351004/Halukha/src/main/java/com/example/lab/dto/UserResponseTo.java @@ -1,4 +1,4 @@ -package com.example.lab1.dto; +package com.example.lab.dto; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/exception/EntityNotFoundException.java b/351004/Halukha/src/main/java/com/example/lab/exception/EntityNotFoundException.java similarity index 88% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/exception/EntityNotFoundException.java rename to 351004/Halukha/src/main/java/com/example/lab/exception/EntityNotFoundException.java index c5902da84..d33557ae5 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/exception/EntityNotFoundException.java +++ b/351004/Halukha/src/main/java/com/example/lab/exception/EntityNotFoundException.java @@ -1,4 +1,4 @@ -package com.example.lab1.exception; +package com.example.lab.exception; public class EntityNotFoundException extends RuntimeException { private final int errorCode; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/exception/GlobalExceptionHandler.java b/351004/Halukha/src/main/java/com/example/lab/exception/GlobalExceptionHandler.java similarity index 98% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/exception/GlobalExceptionHandler.java rename to 351004/Halukha/src/main/java/com/example/lab/exception/GlobalExceptionHandler.java index e7da16f4c..0f0a13f01 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/exception/GlobalExceptionHandler.java +++ b/351004/Halukha/src/main/java/com/example/lab/exception/GlobalExceptionHandler.java @@ -1,4 +1,4 @@ -package com.example.lab1.exception; +package com.example.lab.exception; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/MarkerMapper.java b/351004/Halukha/src/main/java/com/example/lab/mapper/MarkerMapper.java similarity index 77% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/MarkerMapper.java rename to 351004/Halukha/src/main/java/com/example/lab/mapper/MarkerMapper.java index 28d67f672..087293397 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/MarkerMapper.java +++ b/351004/Halukha/src/main/java/com/example/lab/mapper/MarkerMapper.java @@ -1,13 +1,13 @@ -package com.example.lab1.mapper; +package com.example.lab.mapper; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.example.lab1.dto.MarkerRequestTo; -import com.example.lab1.dto.MarkerResponseTo; -import com.example.lab1.model.Marker; +import com.example.lab.dto.MarkerRequestTo; +import com.example.lab.dto.MarkerResponseTo; +import com.example.lab.model.Marker; @Mapper public interface MarkerMapper { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/NewsMapper.java b/351004/Halukha/src/main/java/com/example/lab/mapper/NewsMapper.java similarity index 83% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/NewsMapper.java rename to 351004/Halukha/src/main/java/com/example/lab/mapper/NewsMapper.java index 61a5f58ce..ef20ac91e 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/NewsMapper.java +++ b/351004/Halukha/src/main/java/com/example/lab/mapper/NewsMapper.java @@ -1,13 +1,13 @@ -package com.example.lab1.mapper; +package com.example.lab.mapper; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.example.lab1.dto.NewsRequestTo; -import com.example.lab1.dto.NewsResponseTo; -import com.example.lab1.model.News; +import com.example.lab.dto.NewsRequestTo; +import com.example.lab.dto.NewsResponseTo; +import com.example.lab.model.News; @Mapper public interface NewsMapper { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/PostMapper.java b/351004/Halukha/src/main/java/com/example/lab/mapper/PostMapper.java similarity index 79% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/PostMapper.java rename to 351004/Halukha/src/main/java/com/example/lab/mapper/PostMapper.java index 794d070b2..98241b181 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/PostMapper.java +++ b/351004/Halukha/src/main/java/com/example/lab/mapper/PostMapper.java @@ -1,13 +1,13 @@ -package com.example.lab1.mapper; +package com.example.lab.mapper; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.example.lab1.dto.PostRequestTo; -import com.example.lab1.dto.PostResponseTo; -import com.example.lab1.model.Post; +import com.example.lab.dto.PostRequestTo; +import com.example.lab.dto.PostResponseTo; +import com.example.lab.model.Post; @Mapper public interface PostMapper { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/UserMapper.java b/351004/Halukha/src/main/java/com/example/lab/mapper/UserMapper.java similarity index 82% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/UserMapper.java rename to 351004/Halukha/src/main/java/com/example/lab/mapper/UserMapper.java index b7872ea3e..fe218483f 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/mapper/UserMapper.java +++ b/351004/Halukha/src/main/java/com/example/lab/mapper/UserMapper.java @@ -1,13 +1,13 @@ -package com.example.lab1.mapper; +package com.example.lab.mapper; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.example.lab1.dto.UserRequestTo; -import com.example.lab1.dto.UserResponseTo; -import com.example.lab1.model.User; +import com.example.lab.dto.UserRequestTo; +import com.example.lab.dto.UserResponseTo; +import com.example.lab.model.User; @Mapper public interface UserMapper { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/Marker.java b/351004/Halukha/src/main/java/com/example/lab/model/Marker.java similarity index 96% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/model/Marker.java rename to 351004/Halukha/src/main/java/com/example/lab/model/Marker.java index 6b3ef6c07..df6a8b43e 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/Marker.java +++ b/351004/Halukha/src/main/java/com/example/lab/model/Marker.java @@ -1,4 +1,4 @@ -package com.example.lab1.model; +package com.example.lab.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/News.java b/351004/Halukha/src/main/java/com/example/lab/model/News.java similarity index 98% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/model/News.java rename to 351004/Halukha/src/main/java/com/example/lab/model/News.java index c82130dd5..36a93e295 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/News.java +++ b/351004/Halukha/src/main/java/com/example/lab/model/News.java @@ -1,4 +1,4 @@ -package com.example.lab1.model; +package com.example.lab.model; import java.time.LocalDateTime; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/Post.java b/351004/Halukha/src/main/java/com/example/lab/model/Post.java similarity index 97% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/model/Post.java rename to 351004/Halukha/src/main/java/com/example/lab/model/Post.java index a5000fe29..80c943e44 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/Post.java +++ b/351004/Halukha/src/main/java/com/example/lab/model/Post.java @@ -1,4 +1,4 @@ -package com.example.lab1.model; +package com.example.lab.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/User.java b/351004/Halukha/src/main/java/com/example/lab/model/User.java similarity index 98% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/model/User.java rename to 351004/Halukha/src/main/java/com/example/lab/model/User.java index bb6642114..0982fe5b2 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/model/User.java +++ b/351004/Halukha/src/main/java/com/example/lab/model/User.java @@ -1,4 +1,4 @@ -package com.example.lab1.model; +package com.example.lab.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/CrudRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/CrudRepository.java similarity index 86% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/CrudRepository.java rename to 351004/Halukha/src/main/java/com/example/lab/repository/CrudRepository.java index f664d3769..d4c2c54aa 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/CrudRepository.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/CrudRepository.java @@ -1,4 +1,4 @@ -package com.example.lab1.repository; +package com.example.lab.repository; import java.util.Optional; diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepository.java similarity index 65% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepository.java rename to 351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepository.java index ed0f393cd..59a462b67 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepository.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepository.java @@ -1,8 +1,8 @@ -package com.example.lab1.repository; +package com.example.lab.repository; import java.util.List; -import com.example.lab1.model.Marker; +import com.example.lab.model.Marker; public interface MarkerRepository extends CrudRepository { @Override diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepositoryImpl.java b/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepositoryImpl.java similarity index 93% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepositoryImpl.java rename to 351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepositoryImpl.java index 8752a5349..45f95276c 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/MarkerRepositoryImpl.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepositoryImpl.java @@ -1,4 +1,4 @@ -package com.example.lab1.repository; +package com.example.lab.repository; import java.util.ArrayList; import java.util.List; @@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository; -import com.example.lab1.model.Marker; +import com.example.lab.model.Marker; @Repository public class MarkerRepositoryImpl implements MarkerRepository { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepository.java similarity index 66% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepository.java rename to 351004/Halukha/src/main/java/com/example/lab/repository/NewsRepository.java index 6795a7302..27dbbe274 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepository.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepository.java @@ -1,8 +1,8 @@ -package com.example.lab1.repository; +package com.example.lab.repository; import java.util.List; -import com.example.lab1.model.News; +import com.example.lab.model.News; public interface NewsRepository extends CrudRepository { @Override diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepositoryImpl.java b/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepositoryImpl.java similarity index 94% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepositoryImpl.java rename to 351004/Halukha/src/main/java/com/example/lab/repository/NewsRepositoryImpl.java index 1c7a2c595..ee8adb54c 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/NewsRepositoryImpl.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepositoryImpl.java @@ -1,4 +1,4 @@ -package com.example.lab1.repository; +package com.example.lab.repository; import java.util.ArrayList; import java.util.List; @@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository; -import com.example.lab1.model.News; +import com.example.lab.model.News; @Repository public class NewsRepositoryImpl implements NewsRepository { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java similarity index 65% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepository.java rename to 351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java index 78e7d35d7..ed7d99ca2 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepository.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java @@ -1,8 +1,8 @@ -package com.example.lab1.repository; +package com.example.lab.repository; import java.util.List; -import com.example.lab1.model.Post; +import com.example.lab.model.Post; public interface PostRepository extends CrudRepository { @Override diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepositoryImpl.java b/351004/Halukha/src/main/java/com/example/lab/repository/PostRepositoryImpl.java similarity index 94% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepositoryImpl.java rename to 351004/Halukha/src/main/java/com/example/lab/repository/PostRepositoryImpl.java index 817d2b06b..929a059ba 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/PostRepositoryImpl.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/PostRepositoryImpl.java @@ -1,4 +1,4 @@ -package com.example.lab1.repository; +package com.example.lab.repository; import java.util.ArrayList; import java.util.List; @@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository; -import com.example.lab1.model.Post; +import com.example.lab.model.Post; @Repository public class PostRepositoryImpl implements PostRepository { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/UserRepository.java similarity index 65% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepository.java rename to 351004/Halukha/src/main/java/com/example/lab/repository/UserRepository.java index c8332b781..82d86408f 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepository.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/UserRepository.java @@ -1,8 +1,8 @@ -package com.example.lab1.repository; +package com.example.lab.repository; import java.util.List; -import com.example.lab1.model.User; +import com.example.lab.model.User; public interface UserRepository extends CrudRepository { @Override diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepositoryImpl.java b/351004/Halukha/src/main/java/com/example/lab/repository/UserRepositoryImpl.java similarity index 94% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepositoryImpl.java rename to 351004/Halukha/src/main/java/com/example/lab/repository/UserRepositoryImpl.java index f1a6bf56c..5540a54a8 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/repository/UserRepositoryImpl.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/UserRepositoryImpl.java @@ -1,4 +1,4 @@ -package com.example.lab1.repository; +package com.example.lab.repository; import java.util.ArrayList; import java.util.List; @@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository; -import com.example.lab1.model.User; +import com.example.lab.model.User; @Repository public class UserRepositoryImpl implements UserRepository { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/MarkerService.java b/351004/Halukha/src/main/java/com/example/lab/service/MarkerService.java similarity index 83% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/service/MarkerService.java rename to 351004/Halukha/src/main/java/com/example/lab/service/MarkerService.java index 3d7eeda59..15d1d96e6 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/MarkerService.java +++ b/351004/Halukha/src/main/java/com/example/lab/service/MarkerService.java @@ -1,16 +1,16 @@ -package com.example.lab1.service; +package com.example.lab.service; import java.util.List; import java.util.stream.Collectors; import org.springframework.stereotype.Service; -import com.example.lab1.dto.MarkerRequestTo; -import com.example.lab1.dto.MarkerResponseTo; -import com.example.lab1.exception.EntityNotFoundException; -import com.example.lab1.mapper.MarkerMapper; -import com.example.lab1.model.Marker; -import com.example.lab1.repository.MarkerRepository; +import com.example.lab.dto.MarkerRequestTo; +import com.example.lab.dto.MarkerResponseTo; +import com.example.lab.exception.EntityNotFoundException; +import com.example.lab.mapper.MarkerMapper; +import com.example.lab.model.Marker; +import com.example.lab.repository.MarkerRepository; @Service public class MarkerService { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/NewsService.java b/351004/Halukha/src/main/java/com/example/lab/service/NewsService.java similarity index 82% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/service/NewsService.java rename to 351004/Halukha/src/main/java/com/example/lab/service/NewsService.java index 3a7ab2710..9c11be5d7 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/NewsService.java +++ b/351004/Halukha/src/main/java/com/example/lab/service/NewsService.java @@ -1,20 +1,20 @@ -package com.example.lab1.service; +package com.example.lab.service; import java.util.List; import java.util.stream.Collectors; import org.springframework.stereotype.Service; -import com.example.lab1.dto.NewsRequestTo; -import com.example.lab1.dto.NewsResponseTo; -import com.example.lab1.dto.UserResponseTo; -import com.example.lab1.exception.EntityNotFoundException; -import com.example.lab1.mapper.NewsMapper; -import com.example.lab1.mapper.UserMapper; -import com.example.lab1.model.News; -import com.example.lab1.model.User; -import com.example.lab1.repository.NewsRepository; -import com.example.lab1.repository.UserRepository; +import com.example.lab.dto.NewsRequestTo; +import com.example.lab.dto.NewsResponseTo; +import com.example.lab.dto.UserResponseTo; +import com.example.lab.exception.EntityNotFoundException; +import com.example.lab.mapper.NewsMapper; +import com.example.lab.mapper.UserMapper; +import com.example.lab.model.News; +import com.example.lab.model.User; +import com.example.lab.repository.NewsRepository; +import com.example.lab.repository.UserRepository; @Service public class NewsService { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/PostService.java b/351004/Halukha/src/main/java/com/example/lab/service/PostService.java similarity index 84% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/service/PostService.java rename to 351004/Halukha/src/main/java/com/example/lab/service/PostService.java index 725be5545..127377c13 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/PostService.java +++ b/351004/Halukha/src/main/java/com/example/lab/service/PostService.java @@ -1,18 +1,18 @@ -package com.example.lab1.service; +package com.example.lab.service; import java.util.List; import java.util.stream.Collectors; import org.springframework.stereotype.Service; -import com.example.lab1.dto.PostRequestTo; -import com.example.lab1.dto.PostResponseTo; -import com.example.lab1.exception.EntityNotFoundException; -import com.example.lab1.mapper.PostMapper; -import com.example.lab1.model.News; -import com.example.lab1.model.Post; -import com.example.lab1.repository.NewsRepository; -import com.example.lab1.repository.PostRepository; +import com.example.lab.dto.PostRequestTo; +import com.example.lab.dto.PostResponseTo; +import com.example.lab.exception.EntityNotFoundException; +import com.example.lab.mapper.PostMapper; +import com.example.lab.model.News; +import com.example.lab.model.Post; +import com.example.lab.repository.NewsRepository; +import com.example.lab.repository.PostRepository; @Service public class PostService { diff --git a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/UserService.java b/351004/Halukha/src/main/java/com/example/lab/service/UserService.java similarity index 83% rename from 351004/Halukha/lab1/src/main/java/com/example/lab1/service/UserService.java rename to 351004/Halukha/src/main/java/com/example/lab/service/UserService.java index 14d751197..8822b8c25 100644 --- a/351004/Halukha/lab1/src/main/java/com/example/lab1/service/UserService.java +++ b/351004/Halukha/src/main/java/com/example/lab/service/UserService.java @@ -1,16 +1,16 @@ -package com.example.lab1.service; +package com.example.lab.service; import java.util.List; import java.util.stream.Collectors; import org.springframework.stereotype.Service; -import com.example.lab1.dto.UserRequestTo; -import com.example.lab1.dto.UserResponseTo; -import com.example.lab1.exception.EntityNotFoundException; -import com.example.lab1.mapper.UserMapper; -import com.example.lab1.model.User; -import com.example.lab1.repository.UserRepository; +import com.example.lab.dto.UserRequestTo; +import com.example.lab.dto.UserResponseTo; +import com.example.lab.exception.EntityNotFoundException; +import com.example.lab.mapper.UserMapper; +import com.example.lab.model.User; +import com.example.lab.repository.UserRepository; @Service public class UserService { diff --git a/351004/Halukha/src/main/resources/application.properties b/351004/Halukha/src/main/resources/application.properties new file mode 100644 index 000000000..cc1ad9a62 --- /dev/null +++ b/351004/Halukha/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.application.name=lab diff --git a/351004/Halukha/lab1/src/main/resources/application.yaml b/351004/Halukha/src/main/resources/application.yaml similarity index 100% rename from 351004/Halukha/lab1/src/main/resources/application.yaml rename to 351004/Halukha/src/main/resources/application.yaml diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/Lab1ApplicationTests.java b/351004/Halukha/src/test/java/com/example/lab/LabApplicationTests.java similarity index 73% rename from 351004/Halukha/lab1/src/test/java/com/example/lab1/Lab1ApplicationTests.java rename to 351004/Halukha/src/test/java/com/example/lab/LabApplicationTests.java index 9ebfccc26..74eb19fa9 100644 --- a/351004/Halukha/lab1/src/test/java/com/example/lab1/Lab1ApplicationTests.java +++ b/351004/Halukha/src/test/java/com/example/lab/LabApplicationTests.java @@ -1,10 +1,10 @@ -package com.example.lab1; +package com.example.lab; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest -class Lab1ApplicationTests { +class LabApplicationTests { @Test void contextLoads() { diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/BaseIntegrationTest.java b/351004/Halukha/src/test/java/com/example/lab/test/BaseIntegrationTest.java similarity index 96% rename from 351004/Halukha/lab1/src/test/java/com/example/lab1/test/BaseIntegrationTest.java rename to 351004/Halukha/src/test/java/com/example/lab/test/BaseIntegrationTest.java index 8f1ad55c0..430104d27 100644 --- a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/BaseIntegrationTest.java +++ b/351004/Halukha/src/test/java/com/example/lab/test/BaseIntegrationTest.java @@ -1,4 +1,4 @@ -package com.example.lab1.test; +package com.example.lab.test; import io.restassured.RestAssured; import org.junit.jupiter.api.BeforeAll; diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/MarkerControllerIntegrationTest.java b/351004/Halukha/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java similarity index 99% rename from 351004/Halukha/lab1/src/test/java/com/example/lab1/test/MarkerControllerIntegrationTest.java rename to 351004/Halukha/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java index 0674521f6..1e34ed716 100644 --- a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/MarkerControllerIntegrationTest.java +++ b/351004/Halukha/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java @@ -1,4 +1,4 @@ -package com.example.lab1.test; +package com.example.lab.test; import io.restassured.http.ContentType; import org.junit.jupiter.api.*; diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/NewsControllerIntegrationTest.java b/351004/Halukha/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java similarity index 99% rename from 351004/Halukha/lab1/src/test/java/com/example/lab1/test/NewsControllerIntegrationTest.java rename to 351004/Halukha/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java index 3c2dce452..3b7ae5d1d 100644 --- a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/NewsControllerIntegrationTest.java +++ b/351004/Halukha/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java @@ -1,4 +1,4 @@ -package com.example.lab1.test; +package com.example.lab.test; import io.restassured.http.ContentType; import org.junit.jupiter.api.*; diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/PostControllerIntegrationTest.java b/351004/Halukha/src/test/java/com/example/lab/test/PostControllerIntegrationTest.java similarity index 99% rename from 351004/Halukha/lab1/src/test/java/com/example/lab1/test/PostControllerIntegrationTest.java rename to 351004/Halukha/src/test/java/com/example/lab/test/PostControllerIntegrationTest.java index f857b84df..e8d2c5bb1 100644 --- a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/PostControllerIntegrationTest.java +++ b/351004/Halukha/src/test/java/com/example/lab/test/PostControllerIntegrationTest.java @@ -1,4 +1,4 @@ -package com.example.lab1.test; +package com.example.lab.test; import io.restassured.http.ContentType; import org.junit.jupiter.api.*; diff --git a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/UserControllerIntegrationTest.java b/351004/Halukha/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java similarity index 99% rename from 351004/Halukha/lab1/src/test/java/com/example/lab1/test/UserControllerIntegrationTest.java rename to 351004/Halukha/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java index 1577ff9df..cef275a4f 100644 --- a/351004/Halukha/lab1/src/test/java/com/example/lab1/test/UserControllerIntegrationTest.java +++ b/351004/Halukha/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java @@ -1,4 +1,4 @@ -package com.example.lab1.test; +package com.example.lab.test; import io.restassured.http.ContentType; import org.junit.jupiter.api.*; From 42ccfa15dcc2c7d21232f686706dcd6c9cd196de Mon Sep 17 00:00:00 2001 From: Pavel Halukha Date: Sun, 15 Feb 2026 20:02:26 +0300 Subject: [PATCH 3/8] complete lab2 --- 351004/Halukha/pom.xml | 6 +- .../com/example/lab/dto/NewsRequestTo.java | 9 +++ .../lab/exception/GlobalExceptionHandler.java | 7 +++ .../com/example/lab/mapper/NewsMapper.java | 2 + .../java/com/example/lab/model/Marker.java | 6 +- .../main/java/com/example/lab/model/News.java | 23 +++++++- .../main/java/com/example/lab/model/Post.java | 3 +- .../main/java/com/example/lab/model/User.java | 7 ++- .../lab/repository/CrudRepository.java | 15 ----- .../lab/repository/MarkerRepository.java | 6 +- .../lab/repository/MarkerRepositoryImpl.java | 48 ---------------- .../lab/repository/NewsRepository.java | 8 +-- .../lab/repository/NewsRepositoryImpl.java | 48 ---------------- .../lab/repository/PostRepository.java | 6 +- .../lab/repository/PostRepositoryImpl.java | 48 ---------------- .../lab/repository/UserRepository.java | 6 +- .../lab/repository/UserRepositoryImpl.java | 48 ---------------- .../example/lab/service/MarkerService.java | 14 ++--- .../com/example/lab/service/NewsService.java | 57 ++++++++++++++----- .../com/example/lab/service/PostService.java | 21 ++++--- .../com/example/lab/service/UserService.java | 14 ++--- .../src/main/resources/application.properties | 11 ++++ 22 files changed, 138 insertions(+), 275 deletions(-) delete mode 100644 351004/Halukha/src/main/java/com/example/lab/repository/CrudRepository.java delete mode 100644 351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepositoryImpl.java delete mode 100644 351004/Halukha/src/main/java/com/example/lab/repository/NewsRepositoryImpl.java delete mode 100644 351004/Halukha/src/main/java/com/example/lab/repository/PostRepositoryImpl.java delete mode 100644 351004/Halukha/src/main/java/com/example/lab/repository/UserRepositoryImpl.java diff --git a/351004/Halukha/pom.xml b/351004/Halukha/pom.xml index b4b7730da..ed4ef4f75 100644 --- a/351004/Halukha/pom.xml +++ b/351004/Halukha/pom.xml @@ -61,10 +61,10 @@ jackson-databind - + - com.h2database - h2 + org.postgresql + postgresql runtime diff --git a/351004/Halukha/src/main/java/com/example/lab/dto/NewsRequestTo.java b/351004/Halukha/src/main/java/com/example/lab/dto/NewsRequestTo.java index dd580c1b0..fdf1aceef 100644 --- a/351004/Halukha/src/main/java/com/example/lab/dto/NewsRequestTo.java +++ b/351004/Halukha/src/main/java/com/example/lab/dto/NewsRequestTo.java @@ -1,6 +1,7 @@ package com.example.lab.dto; import java.time.LocalDateTime; +import java.util.List; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat.ISO; @@ -22,6 +23,8 @@ public class NewsRequestTo { @Size(min = 4, max = 2048) private String content; + private List markers; + @DateTimeFormat(iso = ISO.DATE_TIME) private LocalDateTime created; @@ -32,11 +35,13 @@ public NewsRequestTo( @JsonProperty("userId") Long userId, @JsonProperty("title") String title, @JsonProperty("content") String content, + @JsonProperty("markers") List markers, @JsonProperty("created") LocalDateTime created, @JsonProperty("modified") LocalDateTime modified) { this.userId = userId; this.title = title; this.content = content; + this.markers = markers; this.created = created; this.modified = modified; } @@ -53,6 +58,10 @@ public String getContent() { return content; } + public List getMarkers() { + return markers; + } + public LocalDateTime getCreated() { return created; } diff --git a/351004/Halukha/src/main/java/com/example/lab/exception/GlobalExceptionHandler.java b/351004/Halukha/src/main/java/com/example/lab/exception/GlobalExceptionHandler.java index 0f0a13f01..b3e14f2d6 100644 --- a/351004/Halukha/src/main/java/com/example/lab/exception/GlobalExceptionHandler.java +++ b/351004/Halukha/src/main/java/com/example/lab/exception/GlobalExceptionHandler.java @@ -1,5 +1,6 @@ package com.example.lab.exception; +import org.springframework.dao.DataIntegrityViolationException; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -15,6 +16,12 @@ public ResponseEntity handleEntityNotFound(EntityNotFoundExceptio return ResponseEntity.status(HttpStatus.NOT_FOUND).body(error); } + @ExceptionHandler(DataIntegrityViolationException.class) + public ResponseEntity handleDuplicate(DataIntegrityViolationException ex) { + ErrorResponse error = new ErrorResponse(40301, "Duplicate entry"); + return ResponseEntity.status(HttpStatus.FORBIDDEN).body(error); + } + @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity handleValidation(MethodArgumentNotValidException ex) { String msg = ex.getBindingResult().getFieldErrors().stream() diff --git a/351004/Halukha/src/main/java/com/example/lab/mapper/NewsMapper.java b/351004/Halukha/src/main/java/com/example/lab/mapper/NewsMapper.java index ef20ac91e..1264ab64f 100644 --- a/351004/Halukha/src/main/java/com/example/lab/mapper/NewsMapper.java +++ b/351004/Halukha/src/main/java/com/example/lab/mapper/NewsMapper.java @@ -15,6 +15,7 @@ public interface NewsMapper { NewsMapper INSTANCE = Mappers.getMapper(NewsMapper.class); @Mapping(target = "id", ignore = true) + @Mapping(target = "markers", ignore = true) News toEntity(NewsRequestTo dto); NewsResponseTo toDto(News entity); @@ -24,6 +25,7 @@ public interface NewsMapper { @Mapping(target = "userId", source = "dto.userId"), @Mapping(target = "title", source = "dto.title"), @Mapping(target = "content", source = "dto.content"), + @Mapping(target = "markers", ignore = true), @Mapping(target = "created", source = "dto.created"), @Mapping(target = "modified", source = "dto.modified"), }) diff --git a/351004/Halukha/src/main/java/com/example/lab/model/Marker.java b/351004/Halukha/src/main/java/com/example/lab/model/Marker.java index df6a8b43e..6e7b5383d 100644 --- a/351004/Halukha/src/main/java/com/example/lab/model/Marker.java +++ b/351004/Halukha/src/main/java/com/example/lab/model/Marker.java @@ -10,16 +10,14 @@ import jakarta.validation.constraints.Size; @Entity -@Table(name = "markers") +@Table(name = "tbl_marker") public class Marker { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") private Long id; - @Column(name = "userId") - private Long userId; - @NotBlank @Size(min = 2, max = 32) @Column(name = "name") diff --git a/351004/Halukha/src/main/java/com/example/lab/model/News.java b/351004/Halukha/src/main/java/com/example/lab/model/News.java index 36a93e295..e994a2d17 100644 --- a/351004/Halukha/src/main/java/com/example/lab/model/News.java +++ b/351004/Halukha/src/main/java/com/example/lab/model/News.java @@ -1,25 +1,30 @@ package com.example.lab.model; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat.ISO; +import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Size; @Entity -@Table(name = "news") +@Table(name = "tbl_news") public class News { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") private Long id; @Column(name = "userId") @@ -27,7 +32,7 @@ public class News { @NotBlank @Size(min = 2, max = 64) - @Column(name = "title") + @Column(name = "title", nullable = false, unique = true) private String title; @NotBlank @@ -35,6 +40,9 @@ public class News { @Column(name = "content") private String content; + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + private List markers = new ArrayList<>(); + @DateTimeFormat(iso = ISO.DATE_TIME) @Column(name = "created") private LocalDateTime created; @@ -46,11 +54,12 @@ public class News { public News() { } - public News(Long id, Long userId, String title, String content, LocalDateTime created, LocalDateTime modified) { + public News(Long id, Long userId, String title, String content, List markers, LocalDateTime created, LocalDateTime modified) { this.id = id; this.userId = userId; this.title = title; this.content = content; + this.markers = markers; this.created = created; this.modified = modified; } @@ -71,6 +80,10 @@ public String getContent() { return content; } + public List getMarkers() { + return markers; + } + public LocalDateTime getCreated() { return created; } @@ -95,6 +108,10 @@ public void setContent(String content) { this.content = content; } + public void setMarkers(List markers) { + this.markers = markers; + } + public void setCreated(LocalDateTime created) { this.created = created; } diff --git a/351004/Halukha/src/main/java/com/example/lab/model/Post.java b/351004/Halukha/src/main/java/com/example/lab/model/Post.java index 80c943e44..4b9eb3fe1 100644 --- a/351004/Halukha/src/main/java/com/example/lab/model/Post.java +++ b/351004/Halukha/src/main/java/com/example/lab/model/Post.java @@ -10,11 +10,12 @@ import jakarta.validation.constraints.Size; @Entity -@Table(name = "posts") +@Table(name = "tbl_post") public class Post { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") private Long id; @Column(name = "newsId") diff --git a/351004/Halukha/src/main/java/com/example/lab/model/User.java b/351004/Halukha/src/main/java/com/example/lab/model/User.java index 0982fe5b2..35e863c2a 100644 --- a/351004/Halukha/src/main/java/com/example/lab/model/User.java +++ b/351004/Halukha/src/main/java/com/example/lab/model/User.java @@ -10,11 +10,12 @@ import jakarta.validation.constraints.Size; @Entity -@Table(name = "users") +@Table(name = "tbl_user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") private Long id; @NotBlank @@ -29,12 +30,12 @@ public class User { @NotBlank @Size(min = 2, max = 64) - @Column(name = "firstName") + @Column(name = "firstname") private String firstName; @NotBlank @Size(min = 2, max = 64) - @Column(name = "lastName") + @Column(name = "lastname") private String lastName; public User() { diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/CrudRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/CrudRepository.java deleted file mode 100644 index d4c2c54aa..000000000 --- a/351004/Halukha/src/main/java/com/example/lab/repository/CrudRepository.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.example.lab.repository; - -import java.util.Optional; - -public interface CrudRepository { - Iterable getAllEntities(); - - Optional getEntityById(Long id); - - T createEntity(T entity); - - void deleteEntity(Long id); - - boolean existsEntity(Long id); -} diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepository.java index 59a462b67..3f25a72a8 100644 --- a/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepository.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepository.java @@ -1,10 +1,8 @@ package com.example.lab.repository; -import java.util.List; +import org.springframework.data.jpa.repository.JpaRepository; import com.example.lab.model.Marker; -public interface MarkerRepository extends CrudRepository { - @Override - List getAllEntities(); +public interface MarkerRepository extends JpaRepository { } diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepositoryImpl.java b/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepositoryImpl.java deleted file mode 100644 index 45f95276c..000000000 --- a/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepositoryImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.lab.repository; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicLong; - -import org.springframework.stereotype.Repository; - -import com.example.lab.model.Marker; - -@Repository -public class MarkerRepositoryImpl implements MarkerRepository { - - private final Map storage = new ConcurrentHashMap<>(); - private final AtomicLong counter = new AtomicLong(1); - - @Override - public List getAllEntities() { - return new ArrayList<>(storage.values()); - } - - @Override - public Optional getEntityById(Long id) { - return Optional.ofNullable(storage.get(id)); - } - - @Override - public Marker createEntity(Marker entity) { - if (entity.getId() == null || !storage.containsKey(entity.getId())) { - entity.setId(counter.getAndIncrement()); - } - storage.put(entity.getId(), entity); - return entity; - } - - @Override - public void deleteEntity(Long id) { - storage.remove(id); - } - - @Override - public boolean existsEntity(Long id) { - return storage.containsKey(id); - } -} diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepository.java index 27dbbe274..3401ea168 100644 --- a/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepository.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepository.java @@ -1,12 +1,8 @@ package com.example.lab.repository; -import java.util.List; +import org.springframework.data.jpa.repository.JpaRepository; import com.example.lab.model.News; -public interface NewsRepository extends CrudRepository { - @Override - List getAllEntities(); - - +public interface NewsRepository extends JpaRepository { } diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepositoryImpl.java b/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepositoryImpl.java deleted file mode 100644 index ee8adb54c..000000000 --- a/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepositoryImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.lab.repository; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicLong; - -import org.springframework.stereotype.Repository; - -import com.example.lab.model.News; - -@Repository -public class NewsRepositoryImpl implements NewsRepository { - - private final Map storage = new ConcurrentHashMap<>(); - private final AtomicLong counter = new AtomicLong(1); - - @Override - public List getAllEntities() { - return new ArrayList<>(storage.values()); - } - - @Override - public Optional getEntityById(Long id) { - return Optional.ofNullable(storage.get(id)); - } - - @Override - public News createEntity(News entity) { - if (entity.getId() == null || !storage.containsKey(entity.getId())) { - entity.setId(counter.getAndIncrement()); - } - storage.put(entity.getId(), entity); - return entity; - } - - @Override - public void deleteEntity(Long id) { - storage.remove(id); - } - - @Override - public boolean existsEntity(Long id) { - return storage.containsKey(id); - } -} diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java index ed7d99ca2..9feaeaf26 100644 --- a/351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java @@ -1,10 +1,8 @@ package com.example.lab.repository; -import java.util.List; +import org.springframework.data.jpa.repository.JpaRepository; import com.example.lab.model.Post; -public interface PostRepository extends CrudRepository { - @Override - List getAllEntities(); +public interface PostRepository extends JpaRepository { } diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/PostRepositoryImpl.java b/351004/Halukha/src/main/java/com/example/lab/repository/PostRepositoryImpl.java deleted file mode 100644 index 929a059ba..000000000 --- a/351004/Halukha/src/main/java/com/example/lab/repository/PostRepositoryImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.lab.repository; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicLong; - -import org.springframework.stereotype.Repository; - -import com.example.lab.model.Post; - -@Repository -public class PostRepositoryImpl implements PostRepository { - - private final Map storage = new ConcurrentHashMap<>(); - private final AtomicLong counter = new AtomicLong(1); - - @Override - public List getAllEntities() { - return new ArrayList<>(storage.values()); - } - - @Override - public Optional getEntityById(Long id) { - return Optional.ofNullable(storage.get(id)); - } - - @Override - public Post createEntity(Post entity) { - if (entity.getId() == null || !storage.containsKey(entity.getId())) { - entity.setId(counter.getAndIncrement()); - } - storage.put(entity.getId(), entity); - return entity; - } - - @Override - public void deleteEntity(Long id) { - storage.remove(id); - } - - @Override - public boolean existsEntity(Long id) { - return storage.containsKey(id); - } -} diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/UserRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/UserRepository.java index 82d86408f..0e36a4dbb 100644 --- a/351004/Halukha/src/main/java/com/example/lab/repository/UserRepository.java +++ b/351004/Halukha/src/main/java/com/example/lab/repository/UserRepository.java @@ -1,10 +1,8 @@ package com.example.lab.repository; -import java.util.List; +import org.springframework.data.jpa.repository.JpaRepository; import com.example.lab.model.User; -public interface UserRepository extends CrudRepository { - @Override - List getAllEntities(); +public interface UserRepository extends JpaRepository { } diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/UserRepositoryImpl.java b/351004/Halukha/src/main/java/com/example/lab/repository/UserRepositoryImpl.java deleted file mode 100644 index 5540a54a8..000000000 --- a/351004/Halukha/src/main/java/com/example/lab/repository/UserRepositoryImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.lab.repository; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicLong; - -import org.springframework.stereotype.Repository; - -import com.example.lab.model.User; - -@Repository -public class UserRepositoryImpl implements UserRepository { - - private final Map storage = new ConcurrentHashMap<>(); - private final AtomicLong counter = new AtomicLong(1); - - @Override - public List getAllEntities() { - return new ArrayList<>(storage.values()); - } - - @Override - public Optional getEntityById(Long id) { - return Optional.ofNullable(storage.get(id)); - } - - @Override - public User createEntity(User user) { - if (user.getId() == null || !storage.containsKey(user.getId())) { - user.setId(counter.getAndIncrement()); - } - storage.put(user.getId(), user); - return user; - } - - @Override - public void deleteEntity(Long id) { - storage.remove(id); - } - - @Override - public boolean existsEntity(Long id) { - return storage.containsKey(id); - } -} \ No newline at end of file diff --git a/351004/Halukha/src/main/java/com/example/lab/service/MarkerService.java b/351004/Halukha/src/main/java/com/example/lab/service/MarkerService.java index 15d1d96e6..342ed0baa 100644 --- a/351004/Halukha/src/main/java/com/example/lab/service/MarkerService.java +++ b/351004/Halukha/src/main/java/com/example/lab/service/MarkerService.java @@ -23,36 +23,36 @@ public MarkerService(MarkerRepository newsRepository) { } public List getAllMarker() { - return newsRepository.getAllEntities().stream() + return newsRepository.findAll().stream() .map(mapper::toDto) .collect(Collectors.toList()); } public MarkerResponseTo getMarkerById(Long id) { - return newsRepository.getEntityById(id) + return newsRepository.findById(id) .map(mapper::toDto) .orElseThrow(() -> new EntityNotFoundException("Marker not found", 40401)); } public MarkerResponseTo createMarker(MarkerRequestTo request) { Marker news = mapper.toEntity(request); - Marker saved = newsRepository.createEntity(news); + Marker saved = newsRepository.save(news); return mapper.toDto(saved); } public MarkerResponseTo updateMarker(Long id, MarkerRequestTo request) { - Marker existing = newsRepository.getEntityById(id) + Marker existing = newsRepository.findById(id) .orElseThrow(() -> new EntityNotFoundException("Marker not found", 40401)); Marker updated = mapper.updateEntity(request, existing); updated.setId(id); - Marker saved = newsRepository.createEntity(updated); + Marker saved = newsRepository.save(updated); return mapper.toDto(saved); } public void deleteMarker(Long id) { - if (!newsRepository.existsEntity(id)) { + if (!newsRepository.existsById(id)) { throw new EntityNotFoundException("Marker not found", 40401); } - newsRepository.deleteEntity(id); + newsRepository.deleteById(id); } } diff --git a/351004/Halukha/src/main/java/com/example/lab/service/NewsService.java b/351004/Halukha/src/main/java/com/example/lab/service/NewsService.java index 9c11be5d7..7bd7e419a 100644 --- a/351004/Halukha/src/main/java/com/example/lab/service/NewsService.java +++ b/351004/Halukha/src/main/java/com/example/lab/service/NewsService.java @@ -1,5 +1,6 @@ package com.example.lab.service; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -11,67 +12,97 @@ import com.example.lab.exception.EntityNotFoundException; import com.example.lab.mapper.NewsMapper; import com.example.lab.mapper.UserMapper; +import com.example.lab.model.Marker; import com.example.lab.model.News; import com.example.lab.model.User; +import com.example.lab.repository.MarkerRepository; import com.example.lab.repository.NewsRepository; import com.example.lab.repository.UserRepository; @Service public class NewsService { + private final MarkerRepository markerRepository; private final NewsRepository newsRepository; private final UserRepository userRepository; private final NewsMapper mapper = NewsMapper.INSTANCE; private final UserMapper userMapper = UserMapper.INSTANCE; - public NewsService(NewsRepository newsRepository, UserRepository userRepository) { + public NewsService(MarkerRepository markerRepository, NewsRepository newsRepository, + UserRepository userRepository) { + this.markerRepository = markerRepository; this.newsRepository = newsRepository; this.userRepository = userRepository; } public List getAllNews() { - return newsRepository.getAllEntities().stream() + return newsRepository.findAll().stream() .map(mapper::toDto) .collect(Collectors.toList()); } public NewsResponseTo getNewsById(Long id) { - return newsRepository.getEntityById(id) + return newsRepository.findById(id) .map(mapper::toDto) .orElseThrow(() -> new EntityNotFoundException("News not found", 40401)); } public NewsResponseTo createNews(NewsRequestTo request) { - if (!userRepository.existsEntity(request.getUserId())) { + if (!userRepository.existsById(request.getUserId())) { throw new EntityNotFoundException("User not found", 40401); } + + List markers = resolveMarkers(request.getMarkers()); + News news = mapper.toEntity(request); - News saved = newsRepository.createEntity(news); + news.setMarkers(markers); + News saved = newsRepository.save(news); return mapper.toDto(saved); } public NewsResponseTo updateNews(Long id, NewsRequestTo request) { - News existing = newsRepository.getEntityById(id) + News existing = newsRepository.findById(id) .orElseThrow(() -> new EntityNotFoundException("News not found", 40401)); + + List markers = resolveMarkers(request.getMarkers()); + News updated = mapper.updateEntity(request, existing); updated.setId(id); - News saved = newsRepository.createEntity(updated); + updated.setMarkers(markers); + News saved = newsRepository.save(updated); return mapper.toDto(saved); } + private List resolveMarkers(List markerNames) { + if (markerNames == null || markerNames.isEmpty()) { + return new ArrayList<>(); + } + + return markerNames.stream().map(name -> { + Marker newMarker = new Marker(); + newMarker.setName(name); + return markerRepository.save(newMarker); + }).collect(Collectors.toList()); + } + public void deleteNews(Long id) { - if (!newsRepository.existsEntity(id)) { + if (!newsRepository.existsById(id)) { throw new EntityNotFoundException("News not found", 40401); } - newsRepository.deleteEntity(id); + + News news = newsRepository.findById(id).get(); + + news.getMarkers().forEach(marker -> markerRepository.deleteById(marker.getId())); + + newsRepository.deleteById(id); } public UserResponseTo getUserByNewsId(Long newsId) { - News news = newsRepository.getEntityById(newsId) - .orElseThrow(() -> new EntityNotFoundException("News not found", 40401)); + News news = newsRepository.findById(newsId) + .orElseThrow(() -> new EntityNotFoundException("News not found", 40401)); - User user = userRepository.getEntityById(news.getUserId()) - .orElseThrow(() -> new EntityNotFoundException("User not found", 40401)); + User user = userRepository.findById(news.getUserId()) + .orElseThrow(() -> new EntityNotFoundException("User not found", 40401)); return userMapper.toDto(user); } diff --git a/351004/Halukha/src/main/java/com/example/lab/service/PostService.java b/351004/Halukha/src/main/java/com/example/lab/service/PostService.java index 127377c13..8833d1365 100644 --- a/351004/Halukha/src/main/java/com/example/lab/service/PostService.java +++ b/351004/Halukha/src/main/java/com/example/lab/service/PostService.java @@ -27,44 +27,47 @@ public PostService(PostRepository postRepository, NewsRepository newsRepository) } public List getAllPost() { - return postRepository.getAllEntities().stream() + return postRepository.findAll().stream() .map(mapper::toDto) .collect(Collectors.toList()); } public PostResponseTo getPostById(Long id) { - return postRepository.getEntityById(id) + return postRepository.findById(id) .map(mapper::toDto) .orElseThrow(() -> new EntityNotFoundException("Post not found", 40401)); } public PostResponseTo createPost(PostRequestTo request) { + if (!newsRepository.existsById(request.getNewsId())) { + throw new EntityNotFoundException("News not found", 40401); + } Post news = mapper.toEntity(request); - Post saved = postRepository.createEntity(news); + Post saved = postRepository.save(news); return mapper.toDto(saved); } public PostResponseTo updatePost(Long id, PostRequestTo request) { - Post existing = postRepository.getEntityById(id) + Post existing = postRepository.findById(id) .orElseThrow(() -> new EntityNotFoundException("Post not found", 40401)); Post updated = mapper.updateEntity(request, existing); updated.setId(id); - Post saved = postRepository.createEntity(updated); + Post saved = postRepository.save(updated); return mapper.toDto(saved); } public void deletePost(Long id) { - if (!postRepository.existsEntity(id)) { + if (!postRepository.existsById(id)) { throw new EntityNotFoundException("Post not found", 40401); } - postRepository.deleteEntity(id); + postRepository.deleteById(id); } public List getAllPostByNewsId(Long userId) { - List news = newsRepository.getAllEntities().stream() + List news = newsRepository.findAll().stream() .filter(news1 -> news1.getUserId().equals(userId)) .collect(Collectors.toList()); - return postRepository.getAllEntities().stream() + return postRepository.findAll().stream() .filter(post -> news.stream().anyMatch(post1 -> post1.getId().equals(post.getNewsId()))) .map(mapper::toDto) .collect(Collectors.toList()); diff --git a/351004/Halukha/src/main/java/com/example/lab/service/UserService.java b/351004/Halukha/src/main/java/com/example/lab/service/UserService.java index 8822b8c25..e6bc79526 100644 --- a/351004/Halukha/src/main/java/com/example/lab/service/UserService.java +++ b/351004/Halukha/src/main/java/com/example/lab/service/UserService.java @@ -23,36 +23,36 @@ public UserService(UserRepository userRepository) { } public List getAllUsers() { - return userRepository.getAllEntities().stream() + return userRepository.findAll().stream() .map(mapper::toDto) .collect(Collectors.toList()); } public UserResponseTo getUserById(Long id) { - return userRepository.getEntityById(id) + return userRepository.findById(id) .map(mapper::toDto) .orElseThrow(() -> new EntityNotFoundException("User not found", 40401)); } public UserResponseTo createUser(UserRequestTo request) { User user = mapper.toEntity(request); - User saved = userRepository.createEntity(user); + User saved = userRepository.save(user); return mapper.toDto(saved); } public UserResponseTo updateUser(Long id, UserRequestTo request) { - User existing = userRepository.getEntityById(id) + User existing = userRepository.findById(id) .orElseThrow(() -> new EntityNotFoundException("User not found", 40401)); User updated = mapper.updateEntity(request, existing); updated.setId(id); - User saved = userRepository.createEntity(updated); + User saved = userRepository.save(updated); return mapper.toDto(saved); } public void deleteUser(Long id) { - if (!userRepository.existsEntity(id)) { + if (!userRepository.existsById(id)) { throw new EntityNotFoundException("User not found", 40401); } - userRepository.deleteEntity(id); + userRepository.deleteById(id); } } \ No newline at end of file diff --git a/351004/Halukha/src/main/resources/application.properties b/351004/Halukha/src/main/resources/application.properties index cc1ad9a62..eeee4ba03 100644 --- a/351004/Halukha/src/main/resources/application.properties +++ b/351004/Halukha/src/main/resources/application.properties @@ -1 +1,12 @@ spring.application.name=lab + +spring.datasource.url=jdbc:postgresql://localhost:5432/distcomp +spring.datasource.username=postgres +spring.datasource.password=postgres +spring.datasource.driver-class-name=org.postgresql.Driver + +spring.jpa.database=postgresql +spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true From 57ba83fa2644fe61575f1765b13443ac0f0d83cd Mon Sep 17 00:00:00 2001 From: Pavel Halukha Date: Mon, 16 Mar 2026 15:59:25 +0300 Subject: [PATCH 4/8] complete lab3 --- 351004/Halukha/discussion/pom.xml | 55 ++ .../discussion/LabDiscussionApplication.java} | 6 +- .../controller/PostController.java | 11 +- .../lab/discussion}/dto/PostRequestTo.java | 4 +- .../lab/discussion}/dto/PostResponseTo.java | 2 +- .../exception/EntityNotFoundException.java | 12 + .../exception/GlobalExceptionHandler.java | 53 ++ .../lab/discussion}/mapper/PostMapper.java | 8 +- .../example/lab/discussion}/model/Post.java | 43 +- .../discussion/repository/PostRepository.java | 7 + .../lab/discussion/service/PostService.java | 80 ++ .../src/main/resources/application.yaml | 14 + .../com/example/lab/LabApplicationTests.java | 0 .../example/lab/test/BaseIntegrationTest.java | 0 .../test/MarkerControllerIntegrationTest.java | 0 .../test/NewsControllerIntegrationTest.java | 0 .../test/PostControllerIntegrationTest.java | 0 .../test/UserControllerIntegrationTest.java | 0 351004/Halukha/pom.xml | 124 +-- 351004/Halukha/publisher/pom.xml | 60 ++ .../publisher/LabPublisherApplication.java | 15 + .../controller/MarkerController.java | 13 +- .../publisher}/controller/NewsController.java | 12 +- .../controller/PostProxyController.java | 63 ++ .../publisher}/controller/UserController.java | 10 +- .../lab/publisher}/dto/MarkerRequestTo.java | 2 +- .../lab/publisher}/dto/MarkerResponseTo.java | 2 +- .../lab/publisher}/dto/NewsRequestTo.java | 20 +- .../lab/publisher}/dto/NewsResponseTo.java | 2 +- .../lab/publisher}/dto/UserRequestTo.java | 2 +- .../lab/publisher}/dto/UserResponseTo.java | 2 +- .../exception/EntityNotFoundException.java | 2 +- .../exception/GlobalExceptionHandler.java | 4 +- .../lab/publisher}/mapper/MarkerMapper.java | 8 +- .../lab/publisher}/mapper/NewsMapper.java | 10 +- .../lab/publisher}/mapper/UserMapper.java | 8 +- .../example/lab/publisher}/model/Marker.java | 2 +- .../example/lab/publisher}/model/News.java | 16 +- .../example/lab/publisher}/model/User.java | 6 +- .../repository/MarkerRepository.java | 4 +- .../publisher}/repository/NewsRepository.java | 4 +- .../publisher}/repository/UserRepository.java | 4 +- .../lab/publisher}/service/MarkerService.java | 32 +- .../lab/publisher}/service/NewsService.java | 26 +- .../lab/publisher}/service/UserService.java | 16 +- .../src/main/resources/application.yaml | 23 + .../com/example/lab/LabApplicationTests.java | 13 + .../example/lab/test/BaseIntegrationTest.java | 29 + .../test/MarkerControllerIntegrationTest.java | 149 ++++ .../test/NewsControllerIntegrationTest.java | 176 ++++ .../test/UserControllerIntegrationTest.java | 118 +++ .../lab/repository/PostRepository.java | 8 - .../com/example/lab/service/PostService.java | 75 -- .../src/main/resources/application.properties | 12 - .../src/main/resources/application.yaml | 6 - maven-mvnd-1.0.3-windows-amd64/LICENSE.txt | 203 +++++ maven-mvnd-1.0.3-windows-amd64/NOTICE.txt | 8 + maven-mvnd-1.0.3-windows-amd64/README.adoc | 249 ++++++ .../conf/mvnd.properties | 153 ++++ maven-mvnd-1.0.3-windows-amd64/mvn/LICENSE | 616 ++++++++++++++ maven-mvnd-1.0.3-windows-amd64/mvn/NOTICE | 98 +++ maven-mvnd-1.0.3-windows-amd64/mvn/README.txt | 41 + .../mvn/boot/plexus-classworlds.license | 202 +++++ .../conf/logging/java.util.logging.properties | 16 + .../mvn/conf/logging/simplelogger.properties | 30 + .../mvn/conf/settings.xml | 265 ++++++ .../mvn/conf/toolchains.xml | 103 +++ .../mvn/lib/aopalliance.license | 1 + .../mvn/lib/asm.license | 29 + .../mvn/lib/commons-cli.license | 202 +++++ .../mvn/lib/commons-codec.license | 202 +++++ .../mvn/lib/error_prone_annotations.license | 202 +++++ .../mvn/lib/ext/README.txt | 2 + .../mvn/lib/ext/hazelcast/README.txt | 6 + .../mvn/lib/ext/redisson/README.txt | 6 + .../mvn/lib/failureaccess.license | 202 +++++ .../mvn/lib/gson.license | 202 +++++ .../mvn/lib/guava.license | 202 +++++ .../mvn/lib/guice.license | 202 +++++ .../mvn/lib/httpclient.license | 202 +++++ .../mvn/lib/httpcore.license | 202 +++++ .../mvn/lib/jansi-native/README.txt | 8 + .../mvn/lib/jansi.license | 202 +++++ .../mvn/lib/javax.annotation-api.license | 759 ++++++++++++++++++ .../mvn/lib/javax.inject.license | 202 +++++ .../mvn/lib/jcl-over-slf4j.license | 202 +++++ .../mvn/lib/jspecify.license | 202 +++++ .../mvn/lib/org.eclipse.sisu.inject.license | 277 +++++++ .../mvn/lib/org.eclipse.sisu.plexus.license | 277 +++++++ .../mvn/lib/plexus-cipher.license | 202 +++++ .../lib/plexus-component-annotations.license | 202 +++++ .../mvn/lib/plexus-interpolation.license | 202 +++++ .../mvn/lib/plexus-sec-dispatcher.license | 202 +++++ .../mvn/lib/plexus-utils.license | 202 +++++ .../mvn/lib/slf4j-api.license | 24 + 95 files changed, 8032 insertions(+), 350 deletions(-) create mode 100644 351004/Halukha/discussion/pom.xml rename 351004/Halukha/{src/main/java/com/example/lab/LabApplication.java => discussion/src/main/java/com/example/lab/discussion/LabDiscussionApplication.java} (58%) rename 351004/Halukha/{src/main/java/com/example/lab => discussion/src/main/java/com/example/lab/discussion}/controller/PostController.java (89%) rename 351004/Halukha/{src/main/java/com/example/lab => discussion/src/main/java/com/example/lab/discussion}/dto/PostRequestTo.java (89%) rename 351004/Halukha/{src/main/java/com/example/lab => discussion/src/main/java/com/example/lab/discussion}/dto/PostResponseTo.java (93%) create mode 100644 351004/Halukha/discussion/src/main/java/com/example/lab/discussion/exception/EntityNotFoundException.java create mode 100644 351004/Halukha/discussion/src/main/java/com/example/lab/discussion/exception/GlobalExceptionHandler.java rename 351004/Halukha/{src/main/java/com/example/lab => discussion/src/main/java/com/example/lab/discussion}/mapper/PostMapper.java (75%) rename 351004/Halukha/{src/main/java/com/example/lab => discussion/src/main/java/com/example/lab/discussion}/model/Post.java (65%) create mode 100644 351004/Halukha/discussion/src/main/java/com/example/lab/discussion/repository/PostRepository.java create mode 100644 351004/Halukha/discussion/src/main/java/com/example/lab/discussion/service/PostService.java create mode 100644 351004/Halukha/discussion/src/main/resources/application.yaml rename 351004/Halukha/{ => discussion}/src/test/java/com/example/lab/LabApplicationTests.java (100%) rename 351004/Halukha/{ => discussion}/src/test/java/com/example/lab/test/BaseIntegrationTest.java (100%) rename 351004/Halukha/{ => discussion}/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java (100%) rename 351004/Halukha/{ => discussion}/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java (100%) rename 351004/Halukha/{ => discussion}/src/test/java/com/example/lab/test/PostControllerIntegrationTest.java (100%) rename 351004/Halukha/{ => discussion}/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java (100%) create mode 100644 351004/Halukha/publisher/pom.xml create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/LabPublisherApplication.java rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/controller/MarkerController.java (86%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/controller/NewsController.java (88%) create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/PostProxyController.java rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/controller/UserController.java (89%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/dto/MarkerRequestTo.java (91%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/dto/MarkerResponseTo.java (91%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/dto/NewsRequestTo.java (90%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/dto/NewsResponseTo.java (96%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/dto/UserRequestTo.java (96%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/dto/UserResponseTo.java (96%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/exception/EntityNotFoundException.java (86%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/exception/GlobalExceptionHandler.java (97%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/mapper/MarkerMapper.java (74%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/mapper/NewsMapper.java (82%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/mapper/UserMapper.java (79%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/model/Marker.java (95%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/model/News.java (91%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/model/User.java (95%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/repository/MarkerRepository.java (59%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/repository/NewsRepository.java (59%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/repository/UserRepository.java (59%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/service/MarkerService.java (59%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/service/NewsService.java (82%) rename 351004/Halukha/{src/main/java/com/example/lab => publisher/src/main/java/com/example/lab/publisher}/service/UserService.java (80%) create mode 100644 351004/Halukha/publisher/src/main/resources/application.yaml create mode 100644 351004/Halukha/publisher/src/test/java/com/example/lab/LabApplicationTests.java create mode 100644 351004/Halukha/publisher/src/test/java/com/example/lab/test/BaseIntegrationTest.java create mode 100644 351004/Halukha/publisher/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java create mode 100644 351004/Halukha/publisher/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java create mode 100644 351004/Halukha/publisher/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java delete mode 100644 351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java delete mode 100644 351004/Halukha/src/main/java/com/example/lab/service/PostService.java delete mode 100644 351004/Halukha/src/main/resources/application.properties delete mode 100644 351004/Halukha/src/main/resources/application.yaml create mode 100644 maven-mvnd-1.0.3-windows-amd64/LICENSE.txt create mode 100644 maven-mvnd-1.0.3-windows-amd64/NOTICE.txt create mode 100644 maven-mvnd-1.0.3-windows-amd64/README.adoc create mode 100644 maven-mvnd-1.0.3-windows-amd64/conf/mvnd.properties create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/LICENSE create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/NOTICE create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/README.txt create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/boot/plexus-classworlds.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/java.util.logging.properties create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/simplelogger.properties create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/conf/settings.xml create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/conf/toolchains.xml create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/aopalliance.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/asm.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-cli.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-codec.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/error_prone_annotations.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/README.txt create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/hazelcast/README.txt create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/redisson/README.txt create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/failureaccess.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/gson.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/guava.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/guice.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpclient.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpcore.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi-native/README.txt create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.annotation-api.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.inject.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/jcl-over-slf4j.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/jspecify.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.inject.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.plexus.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-cipher.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-component-annotations.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-interpolation.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-sec-dispatcher.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-utils.license create mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/slf4j-api.license diff --git a/351004/Halukha/discussion/pom.xml b/351004/Halukha/discussion/pom.xml new file mode 100644 index 000000000..d20b2ce09 --- /dev/null +++ b/351004/Halukha/discussion/pom.xml @@ -0,0 +1,55 @@ + + 4.0.0 + + com.example + lab-parent + 0.0.1-SNAPSHOT + + + discussion + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-cassandra + + + org.springframework.boot + spring-boot-starter-validation + + + org.mapstruct + mapstruct + 1.5.5.Final + + + org.mapstruct + mapstruct-processor + 1.5.5.Final + provided + + + org.springframework.boot + spring-boot-starter-webflux + + + org.springframework.boot + spring-boot-starter-test + test + + + io.rest-assured + rest-assured + test + + + io.rest-assured + json-path + test + + + \ No newline at end of file diff --git a/351004/Halukha/src/main/java/com/example/lab/LabApplication.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/LabDiscussionApplication.java similarity index 58% rename from 351004/Halukha/src/main/java/com/example/lab/LabApplication.java rename to 351004/Halukha/discussion/src/main/java/com/example/lab/discussion/LabDiscussionApplication.java index 145e3f3fa..0aa3558b2 100644 --- a/351004/Halukha/src/main/java/com/example/lab/LabApplication.java +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/LabDiscussionApplication.java @@ -1,12 +1,12 @@ -package com.example.lab; +package com.example.lab.discussion; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication -public class LabApplication { +public class LabDiscussionApplication { public static void main(String[] args) { - SpringApplication.run(LabApplication.class, args); + SpringApplication.run(LabDiscussionApplication.class, args); } } diff --git a/351004/Halukha/src/main/java/com/example/lab/controller/PostController.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/controller/PostController.java similarity index 89% rename from 351004/Halukha/src/main/java/com/example/lab/controller/PostController.java rename to 351004/Halukha/discussion/src/main/java/com/example/lab/discussion/controller/PostController.java index be9f472fe..56613a581 100644 --- a/351004/Halukha/src/main/java/com/example/lab/controller/PostController.java +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/controller/PostController.java @@ -1,7 +1,6 @@ -package com.example.lab.controller; +package com.example.lab.discussion.controller; import java.util.List; - import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; @@ -13,9 +12,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.example.lab.dto.PostRequestTo; -import com.example.lab.dto.PostResponseTo; -import com.example.lab.service.PostService; +import com.example.lab.discussion.dto.PostRequestTo; +import com.example.lab.discussion.dto.PostResponseTo; +import com.example.lab.discussion.service.PostService; import jakarta.validation.Valid; @@ -54,4 +53,4 @@ public ResponseEntity deletePost(@PathVariable Long id) { postService.deletePost(id); return ResponseEntity.noContent().build(); } -} \ No newline at end of file +} diff --git a/351004/Halukha/src/main/java/com/example/lab/dto/PostRequestTo.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/dto/PostRequestTo.java similarity index 89% rename from 351004/Halukha/src/main/java/com/example/lab/dto/PostRequestTo.java rename to 351004/Halukha/discussion/src/main/java/com/example/lab/discussion/dto/PostRequestTo.java index 6f3aeb79c..633657d13 100644 --- a/351004/Halukha/src/main/java/com/example/lab/dto/PostRequestTo.java +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/dto/PostRequestTo.java @@ -1,4 +1,4 @@ -package com.example.lab.dto; +package com.example.lab.discussion.dto; import com.fasterxml.jackson.annotation.JsonProperty; @@ -13,6 +13,8 @@ public class PostRequestTo { @Size(min = 2, max = 2048) private String content; + public PostRequestTo() {} + public PostRequestTo( @JsonProperty("newsId") Long newsId, @JsonProperty("content") String content) { diff --git a/351004/Halukha/src/main/java/com/example/lab/dto/PostResponseTo.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/dto/PostResponseTo.java similarity index 93% rename from 351004/Halukha/src/main/java/com/example/lab/dto/PostResponseTo.java rename to 351004/Halukha/discussion/src/main/java/com/example/lab/discussion/dto/PostResponseTo.java index 76c3fde2f..2a20f4d7d 100644 --- a/351004/Halukha/src/main/java/com/example/lab/dto/PostResponseTo.java +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/dto/PostResponseTo.java @@ -1,4 +1,4 @@ -package com.example.lab.dto; +package com.example.lab.discussion.dto; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/exception/EntityNotFoundException.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/exception/EntityNotFoundException.java new file mode 100644 index 000000000..f3c8b412b --- /dev/null +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/exception/EntityNotFoundException.java @@ -0,0 +1,12 @@ +package com.example.lab.discussion.exception; + +public class EntityNotFoundException extends RuntimeException { + private final int errorCode; + + public EntityNotFoundException(String message, int errorCode) { + super(message); + this.errorCode = errorCode; + } + + public int getErrorCode() { return errorCode; } +} \ No newline at end of file diff --git a/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/exception/GlobalExceptionHandler.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/exception/GlobalExceptionHandler.java new file mode 100644 index 000000000..5246cfaf0 --- /dev/null +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/exception/GlobalExceptionHandler.java @@ -0,0 +1,53 @@ +package com.example.lab.discussion.exception; + +import org.springframework.dao.DataIntegrityViolationException; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +@RestControllerAdvice +public class GlobalExceptionHandler { + + @ExceptionHandler(EntityNotFoundException.class) + public ResponseEntity handleEntityNotFound(EntityNotFoundException ex) { + ErrorResponse error = new ErrorResponse(ex.getErrorCode(), ex.getMessage()); + return ResponseEntity.status(HttpStatus.NOT_FOUND).body(error); + } + + @ExceptionHandler(DataIntegrityViolationException.class) + public ResponseEntity handleDuplicate(DataIntegrityViolationException ex) { + ErrorResponse error = new ErrorResponse(40301, "Duplicate entry"); + return ResponseEntity.status(HttpStatus.FORBIDDEN).body(error); + } + + @ExceptionHandler(MethodArgumentNotValidException.class) + public ResponseEntity handleValidation(MethodArgumentNotValidException ex) { + String msg = ex.getBindingResult().getFieldErrors().stream() + .map(e -> e.getField() + ": " + e.getDefaultMessage()) + .findFirst() + .orElse("Validation failed"); + ErrorResponse error = new ErrorResponse(40001, msg); + return ResponseEntity.badRequest().body(error); + } + + @ExceptionHandler(Exception.class) + public ResponseEntity handleGeneric(Exception ex) { + ErrorResponse error = new ErrorResponse(50001, "Internal server error"); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(error); + } + + public static class ErrorResponse { + private final int errorCode; + private final String errorMessage; + + public ErrorResponse(int errorCode, String errorMessage) { + this.errorCode = errorCode; + this.errorMessage = errorMessage; + } + + public int getErrorCode() { return errorCode; } + public String getErrorMessage() { return errorMessage; } + } +} diff --git a/351004/Halukha/src/main/java/com/example/lab/mapper/PostMapper.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/mapper/PostMapper.java similarity index 75% rename from 351004/Halukha/src/main/java/com/example/lab/mapper/PostMapper.java rename to 351004/Halukha/discussion/src/main/java/com/example/lab/discussion/mapper/PostMapper.java index 98241b181..d3b96dc74 100644 --- a/351004/Halukha/src/main/java/com/example/lab/mapper/PostMapper.java +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/mapper/PostMapper.java @@ -1,13 +1,13 @@ -package com.example.lab.mapper; +package com.example.lab.discussion.mapper; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.example.lab.dto.PostRequestTo; -import com.example.lab.dto.PostResponseTo; -import com.example.lab.model.Post; +import com.example.lab.discussion.dto.PostRequestTo; +import com.example.lab.discussion.dto.PostResponseTo; +import com.example.lab.discussion.model.Post; @Mapper public interface PostMapper { diff --git a/351004/Halukha/src/main/java/com/example/lab/model/Post.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/model/Post.java similarity index 65% rename from 351004/Halukha/src/main/java/com/example/lab/model/Post.java rename to 351004/Halukha/discussion/src/main/java/com/example/lab/discussion/model/Post.java index 4b9eb3fe1..e0f5977c2 100644 --- a/351004/Halukha/src/main/java/com/example/lab/model/Post.java +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/model/Post.java @@ -1,29 +1,24 @@ -package com.example.lab.model; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.Table; +package com.example.lab.discussion.model; + +import org.springframework.data.cassandra.core.mapping.PrimaryKey; +import org.springframework.data.cassandra.core.mapping.Table; +import org.springframework.data.cassandra.core.mapping.Column; + import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Size; -@Entity -@Table(name = "tbl_post") +@Table("tbl_post") public class Post { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id") + @PrimaryKey private Long id; - @Column(name = "newsId") + @Column("newsId") private Long newsId; @NotBlank @Size(min = 2, max = 2048) - @Column(name = "content") + @Column("content") private String content; public Post() { @@ -39,23 +34,23 @@ public Long getId() { return id; } - public Long getNewsId() { - return newsId; - } - - public String getContent() { - return content; - } - public void setId(Long id) { this.id = id; } + public Long getNewsId() { + return newsId; + } + public void setNewsId(Long newsId) { this.newsId = newsId; } + public String getContent() { + return content; + } + public void setContent(String content) { this.content = content; } -} +} \ No newline at end of file diff --git a/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/repository/PostRepository.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/repository/PostRepository.java new file mode 100644 index 000000000..f87c35c27 --- /dev/null +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/repository/PostRepository.java @@ -0,0 +1,7 @@ +package com.example.lab.discussion.repository; + +import org.springframework.data.cassandra.repository.CassandraRepository; +import com.example.lab.discussion.model.Post; + +public interface PostRepository extends CassandraRepository { +} diff --git a/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/service/PostService.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/service/PostService.java new file mode 100644 index 000000000..b1148950e --- /dev/null +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/service/PostService.java @@ -0,0 +1,80 @@ +package com.example.lab.discussion.service; + +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.stereotype.Service; +import org.springframework.web.reactive.function.client.WebClient; + +import com.example.lab.discussion.dto.PostRequestTo; +import com.example.lab.discussion.dto.PostResponseTo; +import com.example.lab.discussion.exception.EntityNotFoundException; +import com.example.lab.discussion.mapper.PostMapper; +import com.example.lab.discussion.model.Post; +import com.example.lab.discussion.repository.PostRepository; + +@Service +public class PostService { + + private final PostRepository postRepository; + private final PostMapper mapper = PostMapper.INSTANCE; + + private final WebClient webClient; + + public PostService(PostRepository postRepository, WebClient.Builder webClientBuilder) { + this.postRepository = postRepository; + this.webClient = webClientBuilder.baseUrl("http://localhost:24110").build(); + } + + public List getAllPost() { + return postRepository.findAll().stream() + .map(mapper::toDto) + .collect(Collectors.toList()); + } + + public PostResponseTo getPostById(Long id) { + return postRepository.findById(id) + .map(mapper::toDto) + .orElseThrow(() -> new EntityNotFoundException("Post not found", 40401)); + } + + public PostResponseTo createPost(PostRequestTo request) { + try { + Boolean exists = webClient.get() + .uri("/api/v1.0/news/{id}", request.getNewsId()) + .retrieve() + .toBodilessEntity() + .map(response -> response.getStatusCode().is2xxSuccessful()) + .block(); + + if (exists == null || !exists) { + throw new EntityNotFoundException("News not found", 40401); + } + } catch (Exception e) { + throw new EntityNotFoundException("News not found or service unavailable", 40401); + } + + Post post = new Post(); + post.setId(System.currentTimeMillis()); + post.setNewsId(request.getNewsId()); + post.setContent(request.getContent()); + + return mapper.toDto(postRepository.save(post)); + } + + public PostResponseTo updatePost(Long id, PostRequestTo request) { + Post existing = postRepository.findById(id) + .orElseThrow(() -> new EntityNotFoundException("Post not found", 40401)); + Post updated = mapper.updateEntity(request, existing); + updated.setId(id); + Post saved = postRepository.save(updated); + return mapper.toDto(saved); + } + + public void deletePost(Long id) { + if (!postRepository.existsById(id)) { + throw new EntityNotFoundException("Post not found", 40401); + } + postRepository.deleteById(id); + } +} diff --git a/351004/Halukha/discussion/src/main/resources/application.yaml b/351004/Halukha/discussion/src/main/resources/application.yaml new file mode 100644 index 000000000..80510f087 --- /dev/null +++ b/351004/Halukha/discussion/src/main/resources/application.yaml @@ -0,0 +1,14 @@ +server: + port: 24130 + +spring: + application: + name: discussion-service + + cassandra: + contact-points: localhost + port: 9042 + keyspace-name: distcomp + local-datacenter: datacenter1 # Исправлено здесь + schema-action: create_if_not_exists + \ No newline at end of file diff --git a/351004/Halukha/src/test/java/com/example/lab/LabApplicationTests.java b/351004/Halukha/discussion/src/test/java/com/example/lab/LabApplicationTests.java similarity index 100% rename from 351004/Halukha/src/test/java/com/example/lab/LabApplicationTests.java rename to 351004/Halukha/discussion/src/test/java/com/example/lab/LabApplicationTests.java diff --git a/351004/Halukha/src/test/java/com/example/lab/test/BaseIntegrationTest.java b/351004/Halukha/discussion/src/test/java/com/example/lab/test/BaseIntegrationTest.java similarity index 100% rename from 351004/Halukha/src/test/java/com/example/lab/test/BaseIntegrationTest.java rename to 351004/Halukha/discussion/src/test/java/com/example/lab/test/BaseIntegrationTest.java diff --git a/351004/Halukha/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java b/351004/Halukha/discussion/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java similarity index 100% rename from 351004/Halukha/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java rename to 351004/Halukha/discussion/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java diff --git a/351004/Halukha/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java b/351004/Halukha/discussion/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java similarity index 100% rename from 351004/Halukha/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java rename to 351004/Halukha/discussion/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java diff --git a/351004/Halukha/src/test/java/com/example/lab/test/PostControllerIntegrationTest.java b/351004/Halukha/discussion/src/test/java/com/example/lab/test/PostControllerIntegrationTest.java similarity index 100% rename from 351004/Halukha/src/test/java/com/example/lab/test/PostControllerIntegrationTest.java rename to 351004/Halukha/discussion/src/test/java/com/example/lab/test/PostControllerIntegrationTest.java diff --git a/351004/Halukha/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java b/351004/Halukha/discussion/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java similarity index 100% rename from 351004/Halukha/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java rename to 351004/Halukha/discussion/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java diff --git a/351004/Halukha/pom.xml b/351004/Halukha/pom.xml index ed4ef4f75..705ba106b 100644 --- a/351004/Halukha/pom.xml +++ b/351004/Halukha/pom.xml @@ -1,124 +1,32 @@ - + - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - - com.example - lab - 0.0.1-SNAPSHOT - jar - - + org.springframework.boot spring-boot-starter-parent - 3.4.0 + 3.2.0 + com.example + lab-parent + 0.0.1-SNAPSHOT + pom + publisher + discussion + + - 18 + 17 - - - - org.mapstruct - mapstruct - 1.5.5.Final - - - org.projectlombok lombok - provided - - - - - org.springframework.boot - spring-boot-starter-web - - - - - org.springframework.boot - spring-boot-starter-data-jpa - - - - - org.springframework.boot - spring-boot-starter-validation + true - - - - com.fasterxml.jackson.core - jackson-databind - - - - - org.postgresql - postgresql - runtime - - - - - org.springframework.boot - spring-boot-starter-test - test - - - - io.rest-assured - rest-assured - test - - - - io.rest-assured - json-path - test - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.11.0 - - - - - org.mapstruct - mapstruct-processor - 1.5.5.Final - - - - org.projectlombok - lombok - 1.18.34 - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - + \ No newline at end of file diff --git a/351004/Halukha/publisher/pom.xml b/351004/Halukha/publisher/pom.xml new file mode 100644 index 000000000..afb6536c0 --- /dev/null +++ b/351004/Halukha/publisher/pom.xml @@ -0,0 +1,60 @@ + + 4.0.0 + + com.example + lab-parent + 0.0.1-SNAPSHOT + + + publisher + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.postgresql + postgresql + runtime + + + org.springframework.boot + spring-boot-starter-webflux + + + org.springframework.boot + spring-boot-starter-validation + + + org.mapstruct + mapstruct + 1.5.5.Final + + + org.mapstruct + mapstruct-processor + 1.5.5.Final + provided + + + org.springframework.boot + spring-boot-starter-test + test + + + io.rest-assured + rest-assured + test + + + io.rest-assured + json-path + test + + + \ No newline at end of file diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/LabPublisherApplication.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/LabPublisherApplication.java new file mode 100644 index 000000000..0e4b517ba --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/LabPublisherApplication.java @@ -0,0 +1,15 @@ +package com.example.lab.publisher; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class LabPublisherApplication { + + public static void main(String[] args) { + SpringApplication.run(LabPublisherApplication.class, args); + } +} + +// docker exec -it cassandra cqlsh +// CREATE KEYSPACE distcomp WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; \ No newline at end of file diff --git a/351004/Halukha/src/main/java/com/example/lab/controller/MarkerController.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/MarkerController.java similarity index 86% rename from 351004/Halukha/src/main/java/com/example/lab/controller/MarkerController.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/MarkerController.java index f3647c1d3..26b9de245 100644 --- a/351004/Halukha/src/main/java/com/example/lab/controller/MarkerController.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/MarkerController.java @@ -1,4 +1,4 @@ -package com.example.lab.controller; +package com.example.lab.publisher.controller; import java.util.List; @@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.example.lab.dto.MarkerRequestTo; -import com.example.lab.dto.MarkerResponseTo; -import com.example.lab.service.MarkerService; +import com.example.lab.publisher.dto.MarkerRequestTo; +import com.example.lab.publisher.dto.MarkerResponseTo; +import com.example.lab.publisher.service.MarkerService; import jakarta.validation.Valid; @@ -45,7 +45,8 @@ public ResponseEntity createMarker(@Valid @RequestBody MarkerR } @PutMapping("/{id}") - public ResponseEntity updateMarker(@PathVariable Long id, @Valid @RequestBody MarkerRequestTo marker) { + public ResponseEntity updateMarker(@PathVariable Long id, + @Valid @RequestBody MarkerRequestTo marker) { return ResponseEntity.ok(markerService.updateMarker(id, marker)); } @@ -54,4 +55,4 @@ public ResponseEntity deleteMarker(@PathVariable Long id) { markerService.deleteMarker(id); return ResponseEntity.noContent().build(); } -} \ No newline at end of file +} diff --git a/351004/Halukha/src/main/java/com/example/lab/controller/NewsController.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/NewsController.java similarity index 88% rename from 351004/Halukha/src/main/java/com/example/lab/controller/NewsController.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/NewsController.java index 25a75c049..d835f368c 100644 --- a/351004/Halukha/src/main/java/com/example/lab/controller/NewsController.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/NewsController.java @@ -1,4 +1,4 @@ -package com.example.lab.controller; +package com.example.lab.publisher.controller; import java.util.List; @@ -13,10 +13,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.example.lab.dto.NewsRequestTo; -import com.example.lab.dto.NewsResponseTo; -import com.example.lab.dto.UserResponseTo; -import com.example.lab.service.NewsService; +import com.example.lab.publisher.dto.NewsRequestTo; +import com.example.lab.publisher.dto.NewsResponseTo; +import com.example.lab.publisher.dto.UserResponseTo; +import com.example.lab.publisher.service.NewsService; import jakarta.validation.Valid; @@ -60,4 +60,4 @@ public ResponseEntity deleteNews(@PathVariable Long id) { public ResponseEntity getUserByNewsId(@PathVariable Long id) { return ResponseEntity.ok(newsService.getUserByNewsId(id)); } -} \ No newline at end of file +} diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/PostProxyController.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/PostProxyController.java new file mode 100644 index 000000000..9721493ce --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/PostProxyController.java @@ -0,0 +1,63 @@ +package com.example.lab.publisher.controller; + +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.reactive.function.client.WebClient; +import org.springframework.web.reactive.function.client.WebClientResponseException; + +import reactor.core.publisher.Mono; + +@RestController +@RequestMapping("/api/v1.0/posts") +public class PostProxyController { + + private final WebClient webClient; + + public PostProxyController(WebClient.Builder webClientBuilder) { + this.webClient = webClientBuilder.baseUrl("http://localhost:24130").build(); + } + + @GetMapping + public Mono> getAllPosts() { + return webClient.get() + .uri("/api/v1.0/posts") + .exchangeToMono(response -> response.toEntity(Object.class)); + } + + @GetMapping("/{id}") + public Mono> getPostById(@PathVariable Long id) { + return webClient.get() + .uri("/api/v1.0/posts/{id}", id) + .exchangeToMono(response -> response.toEntity(Object.class)); + } + + @PostMapping + public Mono> createPost(@RequestBody Object post) { + return webClient.post() + .uri("/api/v1.0/posts") + .bodyValue(post) + .retrieve() + .toEntity(Object.class) + .onErrorResume(WebClientResponseException.class, e -> { + Object errorBody = e.getResponseBodyAs(Object.class); + return Mono.just(ResponseEntity + .status(e.getStatusCode()) + .body(errorBody)); + }); + } + + @PutMapping("/{id}") + public Mono> updatePost(@PathVariable Long id, @RequestBody Object post) { + return webClient.put() + .uri("/api/v1.0/posts/{id}", id) + .bodyValue(post) + .exchangeToMono(response -> response.toEntity(Object.class)); + } + + @DeleteMapping("/{id}") + public Mono> deletePost(@PathVariable Long id) { + return webClient.delete() + .uri("/api/v1.0/posts/{id}", id) + .exchangeToMono(response -> response.toBodilessEntity()); + } +} \ No newline at end of file diff --git a/351004/Halukha/src/main/java/com/example/lab/controller/UserController.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/UserController.java similarity index 89% rename from 351004/Halukha/src/main/java/com/example/lab/controller/UserController.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/UserController.java index 384c94b5a..9b179363d 100644 --- a/351004/Halukha/src/main/java/com/example/lab/controller/UserController.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/UserController.java @@ -1,4 +1,4 @@ -package com.example.lab.controller; +package com.example.lab.publisher.controller; import java.util.List; @@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.example.lab.dto.UserRequestTo; -import com.example.lab.dto.UserResponseTo; -import com.example.lab.service.UserService; +import com.example.lab.publisher.dto.UserRequestTo; +import com.example.lab.publisher.dto.UserResponseTo; +import com.example.lab.publisher.service.UserService; import jakarta.validation.Valid; @@ -54,4 +54,4 @@ public ResponseEntity deleteUser(@PathVariable Long id) { userService.deleteUser(id); return ResponseEntity.noContent().build(); } -} \ No newline at end of file +} diff --git a/351004/Halukha/src/main/java/com/example/lab/dto/MarkerRequestTo.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/MarkerRequestTo.java similarity index 91% rename from 351004/Halukha/src/main/java/com/example/lab/dto/MarkerRequestTo.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/MarkerRequestTo.java index 9000686d0..49e4d18b7 100644 --- a/351004/Halukha/src/main/java/com/example/lab/dto/MarkerRequestTo.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/MarkerRequestTo.java @@ -1,4 +1,4 @@ -package com.example.lab.dto; +package com.example.lab.publisher.dto; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/src/main/java/com/example/lab/dto/MarkerResponseTo.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/MarkerResponseTo.java similarity index 91% rename from 351004/Halukha/src/main/java/com/example/lab/dto/MarkerResponseTo.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/MarkerResponseTo.java index 5554df9f3..70909ec84 100644 --- a/351004/Halukha/src/main/java/com/example/lab/dto/MarkerResponseTo.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/MarkerResponseTo.java @@ -1,4 +1,4 @@ -package com.example.lab.dto; +package com.example.lab.publisher.dto; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/src/main/java/com/example/lab/dto/NewsRequestTo.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/NewsRequestTo.java similarity index 90% rename from 351004/Halukha/src/main/java/com/example/lab/dto/NewsRequestTo.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/NewsRequestTo.java index fdf1aceef..8d9f8a04f 100644 --- a/351004/Halukha/src/main/java/com/example/lab/dto/NewsRequestTo.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/NewsRequestTo.java @@ -1,4 +1,4 @@ -package com.example.lab.dto; +package com.example.lab.publisher.dto; import java.time.LocalDateTime; import java.util.List; @@ -23,27 +23,27 @@ public class NewsRequestTo { @Size(min = 4, max = 2048) private String content; - private List markers; - @DateTimeFormat(iso = ISO.DATE_TIME) private LocalDateTime created; @DateTimeFormat(iso = ISO.DATE_TIME) private LocalDateTime modified; + private List markers; + public NewsRequestTo( @JsonProperty("userId") Long userId, @JsonProperty("title") String title, @JsonProperty("content") String content, - @JsonProperty("markers") List markers, @JsonProperty("created") LocalDateTime created, - @JsonProperty("modified") LocalDateTime modified) { + @JsonProperty("modified") LocalDateTime modified, + @JsonProperty("markers") List markers) { this.userId = userId; this.title = title; this.content = content; - this.markers = markers; this.created = created; this.modified = modified; + this.markers = markers; } public Long getUserId() { @@ -58,10 +58,6 @@ public String getContent() { return content; } - public List getMarkers() { - return markers; - } - public LocalDateTime getCreated() { return created; } @@ -69,4 +65,8 @@ public LocalDateTime getCreated() { public LocalDateTime getModified() { return modified; } + + public List getMarkers() { + return markers; + } } diff --git a/351004/Halukha/src/main/java/com/example/lab/dto/NewsResponseTo.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/NewsResponseTo.java similarity index 96% rename from 351004/Halukha/src/main/java/com/example/lab/dto/NewsResponseTo.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/NewsResponseTo.java index ccfd206d7..f154ff0a1 100644 --- a/351004/Halukha/src/main/java/com/example/lab/dto/NewsResponseTo.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/NewsResponseTo.java @@ -1,4 +1,4 @@ -package com.example.lab.dto; +package com.example.lab.publisher.dto; import java.time.LocalDateTime; diff --git a/351004/Halukha/src/main/java/com/example/lab/dto/UserRequestTo.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserRequestTo.java similarity index 96% rename from 351004/Halukha/src/main/java/com/example/lab/dto/UserRequestTo.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserRequestTo.java index 664fdd348..18a99a219 100644 --- a/351004/Halukha/src/main/java/com/example/lab/dto/UserRequestTo.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserRequestTo.java @@ -1,4 +1,4 @@ -package com.example.lab.dto; +package com.example.lab.publisher.dto; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/src/main/java/com/example/lab/dto/UserResponseTo.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserResponseTo.java similarity index 96% rename from 351004/Halukha/src/main/java/com/example/lab/dto/UserResponseTo.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserResponseTo.java index b6673e7df..ba8407398 100644 --- a/351004/Halukha/src/main/java/com/example/lab/dto/UserResponseTo.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserResponseTo.java @@ -1,4 +1,4 @@ -package com.example.lab.dto; +package com.example.lab.publisher.dto; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/351004/Halukha/src/main/java/com/example/lab/exception/EntityNotFoundException.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/exception/EntityNotFoundException.java similarity index 86% rename from 351004/Halukha/src/main/java/com/example/lab/exception/EntityNotFoundException.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/exception/EntityNotFoundException.java index d33557ae5..7207a03ab 100644 --- a/351004/Halukha/src/main/java/com/example/lab/exception/EntityNotFoundException.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/exception/EntityNotFoundException.java @@ -1,4 +1,4 @@ -package com.example.lab.exception; +package com.example.lab.publisher.exception; public class EntityNotFoundException extends RuntimeException { private final int errorCode; diff --git a/351004/Halukha/src/main/java/com/example/lab/exception/GlobalExceptionHandler.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/exception/GlobalExceptionHandler.java similarity index 97% rename from 351004/Halukha/src/main/java/com/example/lab/exception/GlobalExceptionHandler.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/exception/GlobalExceptionHandler.java index b3e14f2d6..de6e94085 100644 --- a/351004/Halukha/src/main/java/com/example/lab/exception/GlobalExceptionHandler.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/exception/GlobalExceptionHandler.java @@ -1,4 +1,4 @@ -package com.example.lab.exception; +package com.example.lab.publisher.exception; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.http.HttpStatus; @@ -50,4 +50,4 @@ public ErrorResponse(int errorCode, String errorMessage) { public int getErrorCode() { return errorCode; } public String getErrorMessage() { return errorMessage; } } -} \ No newline at end of file +} diff --git a/351004/Halukha/src/main/java/com/example/lab/mapper/MarkerMapper.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/MarkerMapper.java similarity index 74% rename from 351004/Halukha/src/main/java/com/example/lab/mapper/MarkerMapper.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/MarkerMapper.java index 087293397..316bd249c 100644 --- a/351004/Halukha/src/main/java/com/example/lab/mapper/MarkerMapper.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/MarkerMapper.java @@ -1,13 +1,13 @@ -package com.example.lab.mapper; +package com.example.lab.publisher.mapper; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.example.lab.dto.MarkerRequestTo; -import com.example.lab.dto.MarkerResponseTo; -import com.example.lab.model.Marker; +import com.example.lab.publisher.dto.MarkerRequestTo; +import com.example.lab.publisher.dto.MarkerResponseTo; +import com.example.lab.publisher.model.Marker; @Mapper public interface MarkerMapper { diff --git a/351004/Halukha/src/main/java/com/example/lab/mapper/NewsMapper.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/NewsMapper.java similarity index 82% rename from 351004/Halukha/src/main/java/com/example/lab/mapper/NewsMapper.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/NewsMapper.java index 1264ab64f..7be54fa3b 100644 --- a/351004/Halukha/src/main/java/com/example/lab/mapper/NewsMapper.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/NewsMapper.java @@ -1,13 +1,13 @@ -package com.example.lab.mapper; +package com.example.lab.publisher.mapper; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.example.lab.dto.NewsRequestTo; -import com.example.lab.dto.NewsResponseTo; -import com.example.lab.model.News; +import com.example.lab.publisher.dto.NewsRequestTo; +import com.example.lab.publisher.dto.NewsResponseTo; +import com.example.lab.publisher.model.News; @Mapper public interface NewsMapper { @@ -25,9 +25,9 @@ public interface NewsMapper { @Mapping(target = "userId", source = "dto.userId"), @Mapping(target = "title", source = "dto.title"), @Mapping(target = "content", source = "dto.content"), - @Mapping(target = "markers", ignore = true), @Mapping(target = "created", source = "dto.created"), @Mapping(target = "modified", source = "dto.modified"), + @Mapping(target = "markers", ignore = true), }) News updateEntity(NewsRequestTo dto, News existing); } diff --git a/351004/Halukha/src/main/java/com/example/lab/mapper/UserMapper.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/UserMapper.java similarity index 79% rename from 351004/Halukha/src/main/java/com/example/lab/mapper/UserMapper.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/UserMapper.java index fe218483f..07e54ef67 100644 --- a/351004/Halukha/src/main/java/com/example/lab/mapper/UserMapper.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/UserMapper.java @@ -1,13 +1,13 @@ -package com.example.lab.mapper; +package com.example.lab.publisher.mapper; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.example.lab.dto.UserRequestTo; -import com.example.lab.dto.UserResponseTo; -import com.example.lab.model.User; +import com.example.lab.publisher.dto.UserRequestTo; +import com.example.lab.publisher.dto.UserResponseTo; +import com.example.lab.publisher.model.User; @Mapper public interface UserMapper { diff --git a/351004/Halukha/src/main/java/com/example/lab/model/Marker.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/Marker.java similarity index 95% rename from 351004/Halukha/src/main/java/com/example/lab/model/Marker.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/Marker.java index 6e7b5383d..a5f48a8cf 100644 --- a/351004/Halukha/src/main/java/com/example/lab/model/Marker.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/Marker.java @@ -1,4 +1,4 @@ -package com.example.lab.model; +package com.example.lab.publisher.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/351004/Halukha/src/main/java/com/example/lab/model/News.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/News.java similarity index 91% rename from 351004/Halukha/src/main/java/com/example/lab/model/News.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/News.java index e994a2d17..5e56cff83 100644 --- a/351004/Halukha/src/main/java/com/example/lab/model/News.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/News.java @@ -1,4 +1,4 @@ -package com.example.lab.model; +package com.example.lab.publisher.model; import java.time.LocalDateTime; import java.util.ArrayList; @@ -32,7 +32,7 @@ public class News { @NotBlank @Size(min = 2, max = 64) - @Column(name = "title", nullable = false, unique = true) + @Column(name = "title", unique = true) private String title; @NotBlank @@ -40,9 +40,6 @@ public class News { @Column(name = "content") private String content; - @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) - private List markers = new ArrayList<>(); - @DateTimeFormat(iso = ISO.DATE_TIME) @Column(name = "created") private LocalDateTime created; @@ -51,17 +48,22 @@ public class News { @Column(name = "modified") private LocalDateTime modified; + // Выражение связи many-to-many с таблицей tbl_markers + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + private List markers = new ArrayList<>(); + public News() { } - public News(Long id, Long userId, String title, String content, List markers, LocalDateTime created, LocalDateTime modified) { + public News(Long id, Long userId, String title, String content, LocalDateTime created, LocalDateTime modified, + List markers) { this.id = id; this.userId = userId; this.title = title; this.content = content; - this.markers = markers; this.created = created; this.modified = modified; + this.markers = markers; } public Long getId() { diff --git a/351004/Halukha/src/main/java/com/example/lab/model/User.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/User.java similarity index 95% rename from 351004/Halukha/src/main/java/com/example/lab/model/User.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/User.java index 35e863c2a..1222f9d38 100644 --- a/351004/Halukha/src/main/java/com/example/lab/model/User.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/User.java @@ -1,4 +1,4 @@ -package com.example.lab.model; +package com.example.lab.publisher.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -20,7 +20,7 @@ public class User { @NotBlank @Size(min = 2, max = 64) - @Column(name = "login", nullable = false, unique = true) + @Column(name = "login", unique = true) private String login; @NotBlank @@ -87,4 +87,4 @@ public void setFirstName(String firstName) { public void setLastName(String lastName) { this.lastName = lastName; } -} \ No newline at end of file +} diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepository.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/MarkerRepository.java similarity index 59% rename from 351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepository.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/MarkerRepository.java index 3f25a72a8..1d08d31df 100644 --- a/351004/Halukha/src/main/java/com/example/lab/repository/MarkerRepository.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/MarkerRepository.java @@ -1,8 +1,8 @@ -package com.example.lab.repository; +package com.example.lab.publisher.repository; import org.springframework.data.jpa.repository.JpaRepository; -import com.example.lab.model.Marker; +import com.example.lab.publisher.model.Marker; public interface MarkerRepository extends JpaRepository { } diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepository.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/NewsRepository.java similarity index 59% rename from 351004/Halukha/src/main/java/com/example/lab/repository/NewsRepository.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/NewsRepository.java index 3401ea168..3a0d45fa7 100644 --- a/351004/Halukha/src/main/java/com/example/lab/repository/NewsRepository.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/NewsRepository.java @@ -1,8 +1,8 @@ -package com.example.lab.repository; +package com.example.lab.publisher.repository; import org.springframework.data.jpa.repository.JpaRepository; -import com.example.lab.model.News; +import com.example.lab.publisher.model.News; public interface NewsRepository extends JpaRepository { } diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/UserRepository.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/UserRepository.java similarity index 59% rename from 351004/Halukha/src/main/java/com/example/lab/repository/UserRepository.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/UserRepository.java index 0e36a4dbb..7a136d04f 100644 --- a/351004/Halukha/src/main/java/com/example/lab/repository/UserRepository.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/UserRepository.java @@ -1,8 +1,8 @@ -package com.example.lab.repository; +package com.example.lab.publisher.repository; import org.springframework.data.jpa.repository.JpaRepository; -import com.example.lab.model.User; +import com.example.lab.publisher.model.User; public interface UserRepository extends JpaRepository { } diff --git a/351004/Halukha/src/main/java/com/example/lab/service/MarkerService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/MarkerService.java similarity index 59% rename from 351004/Halukha/src/main/java/com/example/lab/service/MarkerService.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/MarkerService.java index 342ed0baa..e6fc3eb6e 100644 --- a/351004/Halukha/src/main/java/com/example/lab/service/MarkerService.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/MarkerService.java @@ -1,58 +1,58 @@ -package com.example.lab.service; +package com.example.lab.publisher.service; import java.util.List; import java.util.stream.Collectors; import org.springframework.stereotype.Service; -import com.example.lab.dto.MarkerRequestTo; -import com.example.lab.dto.MarkerResponseTo; -import com.example.lab.exception.EntityNotFoundException; -import com.example.lab.mapper.MarkerMapper; -import com.example.lab.model.Marker; -import com.example.lab.repository.MarkerRepository; +import com.example.lab.publisher.dto.MarkerRequestTo; +import com.example.lab.publisher.dto.MarkerResponseTo; +import com.example.lab.publisher.exception.EntityNotFoundException; +import com.example.lab.publisher.mapper.MarkerMapper; +import com.example.lab.publisher.model.Marker; +import com.example.lab.publisher.repository.MarkerRepository; @Service public class MarkerService { - private final MarkerRepository newsRepository; + private final MarkerRepository markerRepository; private final MarkerMapper mapper = MarkerMapper.INSTANCE; public MarkerService(MarkerRepository newsRepository) { - this.newsRepository = newsRepository; + this.markerRepository = newsRepository; } public List getAllMarker() { - return newsRepository.findAll().stream() + return markerRepository.findAll().stream() .map(mapper::toDto) .collect(Collectors.toList()); } public MarkerResponseTo getMarkerById(Long id) { - return newsRepository.findById(id) + return markerRepository.findById(id) .map(mapper::toDto) .orElseThrow(() -> new EntityNotFoundException("Marker not found", 40401)); } public MarkerResponseTo createMarker(MarkerRequestTo request) { Marker news = mapper.toEntity(request); - Marker saved = newsRepository.save(news); + Marker saved = markerRepository.save(news); return mapper.toDto(saved); } public MarkerResponseTo updateMarker(Long id, MarkerRequestTo request) { - Marker existing = newsRepository.findById(id) + Marker existing = markerRepository.findById(id) .orElseThrow(() -> new EntityNotFoundException("Marker not found", 40401)); Marker updated = mapper.updateEntity(request, existing); updated.setId(id); - Marker saved = newsRepository.save(updated); + Marker saved = markerRepository.save(updated); return mapper.toDto(saved); } public void deleteMarker(Long id) { - if (!newsRepository.existsById(id)) { + if (!markerRepository.existsById(id)) { throw new EntityNotFoundException("Marker not found", 40401); } - newsRepository.deleteById(id); + markerRepository.deleteById(id); } } diff --git a/351004/Halukha/src/main/java/com/example/lab/service/NewsService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/NewsService.java similarity index 82% rename from 351004/Halukha/src/main/java/com/example/lab/service/NewsService.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/NewsService.java index 7bd7e419a..ab46ab2d7 100644 --- a/351004/Halukha/src/main/java/com/example/lab/service/NewsService.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/NewsService.java @@ -1,4 +1,4 @@ -package com.example.lab.service; +package com.example.lab.publisher.service; import java.util.ArrayList; import java.util.List; @@ -6,18 +6,18 @@ import org.springframework.stereotype.Service; -import com.example.lab.dto.NewsRequestTo; -import com.example.lab.dto.NewsResponseTo; -import com.example.lab.dto.UserResponseTo; -import com.example.lab.exception.EntityNotFoundException; -import com.example.lab.mapper.NewsMapper; -import com.example.lab.mapper.UserMapper; -import com.example.lab.model.Marker; -import com.example.lab.model.News; -import com.example.lab.model.User; -import com.example.lab.repository.MarkerRepository; -import com.example.lab.repository.NewsRepository; -import com.example.lab.repository.UserRepository; +import com.example.lab.publisher.dto.NewsRequestTo; +import com.example.lab.publisher.dto.NewsResponseTo; +import com.example.lab.publisher.dto.UserResponseTo; +import com.example.lab.publisher.exception.EntityNotFoundException; +import com.example.lab.publisher.mapper.NewsMapper; +import com.example.lab.publisher.mapper.UserMapper; +import com.example.lab.publisher.model.Marker; +import com.example.lab.publisher.model.News; +import com.example.lab.publisher.model.User; +import com.example.lab.publisher.repository.MarkerRepository; +import com.example.lab.publisher.repository.NewsRepository; +import com.example.lab.publisher.repository.UserRepository; @Service public class NewsService { diff --git a/351004/Halukha/src/main/java/com/example/lab/service/UserService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/UserService.java similarity index 80% rename from 351004/Halukha/src/main/java/com/example/lab/service/UserService.java rename to 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/UserService.java index e6bc79526..7fbc7a072 100644 --- a/351004/Halukha/src/main/java/com/example/lab/service/UserService.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/UserService.java @@ -1,16 +1,16 @@ -package com.example.lab.service; +package com.example.lab.publisher.service; import java.util.List; import java.util.stream.Collectors; import org.springframework.stereotype.Service; -import com.example.lab.dto.UserRequestTo; -import com.example.lab.dto.UserResponseTo; -import com.example.lab.exception.EntityNotFoundException; -import com.example.lab.mapper.UserMapper; -import com.example.lab.model.User; -import com.example.lab.repository.UserRepository; +import com.example.lab.publisher.dto.UserRequestTo; +import com.example.lab.publisher.dto.UserResponseTo; +import com.example.lab.publisher.exception.EntityNotFoundException; +import com.example.lab.publisher.mapper.UserMapper; +import com.example.lab.publisher.model.User; +import com.example.lab.publisher.repository.UserRepository; @Service public class UserService { @@ -55,4 +55,4 @@ public void deleteUser(Long id) { } userRepository.deleteById(id); } -} \ No newline at end of file +} diff --git a/351004/Halukha/publisher/src/main/resources/application.yaml b/351004/Halukha/publisher/src/main/resources/application.yaml new file mode 100644 index 000000000..6bef743b9 --- /dev/null +++ b/351004/Halukha/publisher/src/main/resources/application.yaml @@ -0,0 +1,23 @@ +server: + port: 24110 + +spring: + application: + name: publisher-service + + datasource: + url: jdbc:postgresql://localhost:5432/distcomp + username: postgres + password: postgres + driver-class-name: org.postgresql.Driver + + jpa: + database: postgresql + database-platform: org.hibernate.dialect.PostgreSQLDialect + hibernate: + ddl-auto: update + show-sql: true + properties: + hibernate: + format_sql: true + \ No newline at end of file diff --git a/351004/Halukha/publisher/src/test/java/com/example/lab/LabApplicationTests.java b/351004/Halukha/publisher/src/test/java/com/example/lab/LabApplicationTests.java new file mode 100644 index 000000000..74eb19fa9 --- /dev/null +++ b/351004/Halukha/publisher/src/test/java/com/example/lab/LabApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.lab; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class LabApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/351004/Halukha/publisher/src/test/java/com/example/lab/test/BaseIntegrationTest.java b/351004/Halukha/publisher/src/test/java/com/example/lab/test/BaseIntegrationTest.java new file mode 100644 index 000000000..430104d27 --- /dev/null +++ b/351004/Halukha/publisher/src/test/java/com/example/lab/test/BaseIntegrationTest.java @@ -0,0 +1,29 @@ +package com.example.lab.test; + +import io.restassured.RestAssured; +import org.junit.jupiter.api.BeforeAll; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.web.server.LocalServerPort; +import org.springframework.test.context.DynamicPropertyRegistry; +import org.springframework.test.context.DynamicPropertySource; + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public abstract class BaseIntegrationTest { + + @LocalServerPort + protected int port; + + @BeforeAll + static void setUpRestAssured() { + RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); + } + + @DynamicPropertySource + static void configureBaseUrl(DynamicPropertyRegistry registry) { + registry.add("server.port", () -> 0); + } + + protected String getBaseUrl() { + return "http://localhost:" + port; + } +} \ No newline at end of file diff --git a/351004/Halukha/publisher/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java b/351004/Halukha/publisher/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java new file mode 100644 index 000000000..1e34ed716 --- /dev/null +++ b/351004/Halukha/publisher/src/test/java/com/example/lab/test/MarkerControllerIntegrationTest.java @@ -0,0 +1,149 @@ +package com.example.lab.test; + +import io.restassured.http.ContentType; +import org.junit.jupiter.api.*; +import org.springframework.http.HttpStatus; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.Matchers.*; + +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +public class MarkerControllerIntegrationTest extends BaseIntegrationTest { + + private static Long markerId; + + @Test + @Order(1) + @DisplayName("STEP 1: CREATE MARKER - Should return 201 Created") + void createMarker() { + String payload = """ + { + "name": "Test Marker" + } + """; + + markerId = given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/markers") + .then() + .statusCode(HttpStatus.CREATED.value()) + .contentType(ContentType.JSON) + .body("id", notNullValue()) + .body("name", equalTo("Test Marker")) + .extract() + .jsonPath() + .getLong("id"); + + Assertions.assertNotNull(markerId); + } + + @Test + @Order(2) + @DisplayName("STEP 2: GET MARKER BY ID - Should return 200 OK") + void getMarkerById() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/markers/{id}", markerId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(markerId.intValue())) + .body("name", equalTo("Test Marker")); + } + + @Test + @Order(3) + @DisplayName("STEP 3: UPDATE MARKER - Should return 200 OK") + void updateMarker() { + String payload = """ + { + "id": %d, + "name": "Updated Marker" + } + """.formatted(markerId); + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .put("/api/v1.0/markers/{id}", markerId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(markerId.intValue())) + .body("name", equalTo("Updated Marker")); + } + + @Test + @Order(4) + @DisplayName("STEP 4: DELETE MARKER - Should return 204 No Content") + void deleteMarker() { + given() + .baseUri(getBaseUrl()) + .when() + .delete("/api/v1.0/markers/{id}", markerId) + .then() + .statusCode(HttpStatus.NO_CONTENT.value()); + } + + @Test + @Order(5) + @DisplayName("STEP 5: GET DELETED MARKER - Should return 404 Not Found") + void getDeletedMarker() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/markers/{id}", markerId) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .contentType(ContentType.JSON) + .body("errorCode", equalTo(40401)); + } + + @Test + @Order(6) + @DisplayName("NEGATIVE: CREATE MARKER WITH INVALID DATA - Should return 400 Bad Request") + void createMarkerWithInvalidData() { + String payload = """ + { + "name": "" + } + """; + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/markers") + .then() + .statusCode(HttpStatus.BAD_REQUEST.value()); + } + + @Test + @Order(7) + @DisplayName("NEGATIVE: UPDATE NON-EXISTENT MARKER - Should return 404 Not Found") + void updateNonExistentMarker() { + String payload = """ + { + "id": 999999, + "name": "Non-existent" + } + """; + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .put("/api/v1.0/markers/{id}", 999999) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .body("errorCode", equalTo(40401)); + } +} \ No newline at end of file diff --git a/351004/Halukha/publisher/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java b/351004/Halukha/publisher/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java new file mode 100644 index 000000000..3b7ae5d1d --- /dev/null +++ b/351004/Halukha/publisher/src/test/java/com/example/lab/test/NewsControllerIntegrationTest.java @@ -0,0 +1,176 @@ +package com.example.lab.test; + +import io.restassured.http.ContentType; +import org.junit.jupiter.api.*; +import org.springframework.http.HttpStatus; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.Matchers.*; + +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +public class NewsControllerIntegrationTest extends BaseIntegrationTest { + + private static Long newsId; + private static Long userId; + + @BeforeEach + void createTestUser() { + // Создаем пользователя для новости + String userPayload = """ + { + "login": "news_author", + "password": "password123", + "firstname": "Author", + "lastname": "Name" + } + """; + + userId = given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(userPayload) + .when() + .post("/api/v1.0/users") + .then() + .statusCode(HttpStatus.CREATED.value()) + .extract() + .jsonPath() + .getLong("id"); + } + + @Test + @Order(1) + @DisplayName("STEP 1: CREATE NEWS - Should return 201 Created") + void createNews() { + String payload = """ + { + "title": "Breaking News", + "content": "This is important news!", + "userId": %d + } + """.formatted(userId); + + newsId = given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/news") + .then() + .statusCode(HttpStatus.CREATED.value()) + .contentType(ContentType.JSON) + .body("id", notNullValue()) + .body("title", equalTo("Breaking News")) + .body("content", equalTo("This is important news!")) + .extract() + .jsonPath() + .getLong("id"); + + Assertions.assertNotNull(newsId); + } + + @Test + @Order(2) + @DisplayName("STEP 2: GET NEWS BY ID - Should return 200 OK") + void getNewsById() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/news/{id}", newsId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(newsId.intValue())) + .body("title", equalTo("Breaking News")) + .body("content", equalTo("This is important news!")); + } + + @Test + @Order(4) + @DisplayName("STEP 4: UPDATE NEWS - Should return 200 OK") + void updateNews() { + String payload = """ + { + "id": %d, + "title": "Updated News", + "content": "Updated content!", + "userId": %d + } + """.formatted(newsId, userId); + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .put("/api/v1.0/news/{id}", newsId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(newsId.intValue())) + .body("title", equalTo("Updated News")) + .body("content", equalTo("Updated content!")); + } + + @Test + @Order(5) + @DisplayName("STEP 5: DELETE NEWS - Should return 204 No Content") + void deleteNews() { + given() + .baseUri(getBaseUrl()) + .when() + .delete("/api/v1.0/news/{id}", newsId) + .then() + .statusCode(HttpStatus.NO_CONTENT.value()); + } + + @Test + @Order(6) + @DisplayName("STEP 6: GET DELETED NEWS - Should return 404 Not Found") + void getDeletedNews() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/news/{id}", newsId) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .contentType(ContentType.JSON) + .body("errorCode", equalTo(40401)); + } + + @Test + @Order(7) + @DisplayName("STEP 7: GET USER BY DELETED NEWS ID - Should return 404 Not Found") + void getUserByDeletedNewsId() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/news/user/{id}", newsId) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .body("errorCode", equalTo(40401)); + } + + @Test + @Order(8) + @DisplayName("NEGATIVE: CREATE NEWS WITH INVALID USER ID - Should return 404 Not Found") + void createNewsWithInvalidUserId() { + String payload = """ + { + "title": "Invalid News", + "content": "This should fail", + "userId": 999999 + } + """; + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/news") + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .body("errorCode", equalTo(40401)); + } +} \ No newline at end of file diff --git a/351004/Halukha/publisher/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java b/351004/Halukha/publisher/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java new file mode 100644 index 000000000..cef275a4f --- /dev/null +++ b/351004/Halukha/publisher/src/test/java/com/example/lab/test/UserControllerIntegrationTest.java @@ -0,0 +1,118 @@ +package com.example.lab.test; + +import io.restassured.http.ContentType; +import org.junit.jupiter.api.*; +import org.springframework.http.HttpStatus; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.Matchers.*; + +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +public class UserControllerIntegrationTest extends BaseIntegrationTest { + + private static Long userId; + + @Test + @Order(1) + @DisplayName("STEP 1: CREATE USER - Should return 201 Created") + void createUser() { + String payload = """ + { + "login": "test_user", + "password": "secure123", + "firstname": "John", + "lastname": "Doe" + } + """; + + userId = given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .post("/api/v1.0/users") + .then() + .statusCode(HttpStatus.CREATED.value()) + .contentType(ContentType.JSON) + .body("id", notNullValue()) + .body("login", equalTo("test_user")) + .body("firstname", equalTo("John")) + .body("lastname", equalTo("Doe")) + .extract() + .jsonPath() + .getLong("id"); + + Assertions.assertNotNull(userId); + } + + @Test + @Order(2) + @DisplayName("STEP 2: GET USER BY ID - Should return 200 OK") + void getUserById() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/users/{id}", userId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(userId.intValue())) + .body("login", equalTo("test_user")) + .body("firstname", equalTo("John")); + } + + @Test + @Order(3) + @DisplayName("STEP 3: UPDATE USER - Should return 200 OK") + void updateUser() { + String payload = """ + { + "id": %d, + "login": "test_user", + "password": "newpassword456", + "firstname": "Jane", + "lastname": "Smith" + } + """.formatted(userId); + + given() + .baseUri(getBaseUrl()) + .contentType(ContentType.JSON) + .body(payload) + .when() + .put("/api/v1.0/users/{id}", userId) + .then() + .statusCode(HttpStatus.OK.value()) + .contentType(ContentType.JSON) + .body("id", equalTo(userId.intValue())) + .body("login", equalTo("test_user")) + .body("firstname", equalTo("Jane")) + .body("lastname", equalTo("Smith")); + } + + @Test + @Order(4) + @DisplayName("STEP 4: DELETE USER - Should return 204 No Content") + void deleteUser() { + given() + .baseUri(getBaseUrl()) + .when() + .delete("/api/v1.0/users/{id}", userId) + .then() + .statusCode(HttpStatus.NO_CONTENT.value()); + } + + @Test + @Order(5) + @DisplayName("STEP 5: GET DELETED USER - Should return 404 Not Found") + void getDeletedUser() { + given() + .baseUri(getBaseUrl()) + .when() + .get("/api/v1.0/users/{id}", userId) + .then() + .statusCode(HttpStatus.NOT_FOUND.value()) + .contentType(ContentType.JSON) + .body("errorCode", equalTo(40401)); + } +} \ No newline at end of file diff --git a/351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java b/351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java deleted file mode 100644 index 9feaeaf26..000000000 --- a/351004/Halukha/src/main/java/com/example/lab/repository/PostRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.example.lab.repository; - -import org.springframework.data.jpa.repository.JpaRepository; - -import com.example.lab.model.Post; - -public interface PostRepository extends JpaRepository { -} diff --git a/351004/Halukha/src/main/java/com/example/lab/service/PostService.java b/351004/Halukha/src/main/java/com/example/lab/service/PostService.java deleted file mode 100644 index 8833d1365..000000000 --- a/351004/Halukha/src/main/java/com/example/lab/service/PostService.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.example.lab.service; - -import java.util.List; -import java.util.stream.Collectors; - -import org.springframework.stereotype.Service; - -import com.example.lab.dto.PostRequestTo; -import com.example.lab.dto.PostResponseTo; -import com.example.lab.exception.EntityNotFoundException; -import com.example.lab.mapper.PostMapper; -import com.example.lab.model.News; -import com.example.lab.model.Post; -import com.example.lab.repository.NewsRepository; -import com.example.lab.repository.PostRepository; - -@Service -public class PostService { - - private final PostRepository postRepository; - private final NewsRepository newsRepository; - private final PostMapper mapper = PostMapper.INSTANCE; - - public PostService(PostRepository postRepository, NewsRepository newsRepository) { - this.postRepository = postRepository; - this.newsRepository = newsRepository; - } - - public List getAllPost() { - return postRepository.findAll().stream() - .map(mapper::toDto) - .collect(Collectors.toList()); - } - - public PostResponseTo getPostById(Long id) { - return postRepository.findById(id) - .map(mapper::toDto) - .orElseThrow(() -> new EntityNotFoundException("Post not found", 40401)); - } - - public PostResponseTo createPost(PostRequestTo request) { - if (!newsRepository.existsById(request.getNewsId())) { - throw new EntityNotFoundException("News not found", 40401); - } - Post news = mapper.toEntity(request); - Post saved = postRepository.save(news); - return mapper.toDto(saved); - } - - public PostResponseTo updatePost(Long id, PostRequestTo request) { - Post existing = postRepository.findById(id) - .orElseThrow(() -> new EntityNotFoundException("Post not found", 40401)); - Post updated = mapper.updateEntity(request, existing); - updated.setId(id); - Post saved = postRepository.save(updated); - return mapper.toDto(saved); - } - - public void deletePost(Long id) { - if (!postRepository.existsById(id)) { - throw new EntityNotFoundException("Post not found", 40401); - } - postRepository.deleteById(id); - } - - public List getAllPostByNewsId(Long userId) { - List news = newsRepository.findAll().stream() - .filter(news1 -> news1.getUserId().equals(userId)) - .collect(Collectors.toList()); - return postRepository.findAll().stream() - .filter(post -> news.stream().anyMatch(post1 -> post1.getId().equals(post.getNewsId()))) - .map(mapper::toDto) - .collect(Collectors.toList()); - } -} diff --git a/351004/Halukha/src/main/resources/application.properties b/351004/Halukha/src/main/resources/application.properties deleted file mode 100644 index eeee4ba03..000000000 --- a/351004/Halukha/src/main/resources/application.properties +++ /dev/null @@ -1,12 +0,0 @@ -spring.application.name=lab - -spring.datasource.url=jdbc:postgresql://localhost:5432/distcomp -spring.datasource.username=postgres -spring.datasource.password=postgres -spring.datasource.driver-class-name=org.postgresql.Driver - -spring.jpa.database=postgresql -spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect -spring.jpa.hibernate.ddl-auto=update -spring.jpa.show-sql=true -spring.jpa.properties.hibernate.format_sql=true diff --git a/351004/Halukha/src/main/resources/application.yaml b/351004/Halukha/src/main/resources/application.yaml deleted file mode 100644 index 84eba713e..000000000 --- a/351004/Halukha/src/main/resources/application.yaml +++ /dev/null @@ -1,6 +0,0 @@ -server: - port: 24110 - -spring: - application: - name: task310-rest-api \ No newline at end of file diff --git a/maven-mvnd-1.0.3-windows-amd64/LICENSE.txt b/maven-mvnd-1.0.3-windows-amd64/LICENSE.txt new file mode 100644 index 000000000..6b0b1270f --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/LICENSE.txt @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + diff --git a/maven-mvnd-1.0.3-windows-amd64/NOTICE.txt b/maven-mvnd-1.0.3-windows-amd64/NOTICE.txt new file mode 100644 index 000000000..62f1b4b76 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/NOTICE.txt @@ -0,0 +1,8 @@ +This project contains code coming from other projects +licensed under the Apache Software License 2.0: + + - Apache Maven project (https://maven.apache.org) + - Takari Smart Builder (https://github.com/takari/takari-smart-builder) + - maven-buildtime-extension (https://github.com/timgifford/maven-buildtime-extension) + - Apache Karaf (https://karaf.apache.org) + - Gradle Launcher (https://github.com/gradle/gradle/tree/master/subprojects/launcher) diff --git a/maven-mvnd-1.0.3-windows-amd64/README.adoc b/maven-mvnd-1.0.3-windows-amd64/README.adoc new file mode 100644 index 000000000..f0935afb9 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/README.adoc @@ -0,0 +1,249 @@ += `mvnd` - the Maven Daemon +:toc: macro + +image::https://img.shields.io/twitter/url/https/twitter.com/mvndaemon.svg?style=social&label=Follow%20%40mvndaemon[link="https://twitter.com/mvndaemon"] + +toc::[] + +== Introduction + +This project aims at providing faster https://maven.apache.org/[Maven] builds using techniques known from Gradle and +Takari. + +Architecture overview: + +* `mvnd` embeds Maven (so there is no need to install Maven separately). +* The actual builds happen inside a long living background process, a.k.a. daemon. +* One daemon instance can serve multiple consecutive requests from the `mvnd` client. +* The `mvnd` client is a native executable built using https://www.graalvm.org/reference-manual/native-image/[GraalVM]. + It starts faster and uses less memory compared to starting a traditional JVM. +* Multiple daemons can be spawned in parallel if there is no idle daemon to serve a build request. + +This architecture brings the following advantages: + +* The JVM for running the actual builds does not need to get started anew for each build. +* The classloaders holding classes of Maven plugins are cached over multiple builds. The plugin jars are thus read + and parsed just once. SNAPSHOT versions of Maven plugins are not cached. +* The native code produced by the Just-In-Time (JIT) compiler inside the JVM is kept too. Compared to stock Maven, + less time is spent by the JIT compilation. During the repeated builds the JIT-optimized code is available + immediately. This applies not only to the code coming from Maven plugins and Maven Core, but also to all code coming + from the JDK itself. + +== Additional features + +`mvnd` brings the following features on top of the stock Maven: + +* By default, `mvnd` is building your modules in parallel using multiple CPU cores. The number of utilized cores is + given by the formula `Math.max(Runtime.getRuntime().availableProcessors() - 1, 1)`. If your source tree does not + support parallel builds, pass `-T1` into the command line to make your build serial. +* Improved console output: we believe that the output of a parallel build on stock Maven is hard to follow. Therefore, +we implemented a simplified non-rolling view showing the status of each build thread on a separate line. This is +what it looks like on a machine with 24 cores: ++ +image::https://user-images.githubusercontent.com/1826249/103917178-94ee4500-510d-11eb-9abb-f52dae58a544.gif[] ++ +Once the build is finished, the complete Maven output is forwarded to the console. + +== How to install `mvnd` + +=== Install using https://sdkman.io/[SDKMAN!] + +If SDKMAN! supports your operating system, it is as easy as + +[source,shell] +---- +$ sdk install mvnd +---- + +If you used the manual install in the past, please make sure that the settings in `~/.m2/mvnd.properties` still make +sense. With SDKMAN!, the `~/.m2/mvnd.properties` file is typically not needed at all, because both `JAVA_HOME` and +`MVND_HOME` are managed by SDKMAN!. + +=== Install using https://brew.sh/[Homebrew] + +[source,shell] +---- +$ brew install mvndaemon/homebrew-mvnd/mvnd +---- + +=== Other installers + +We're looking for contribution to support https://www.macports.org[MacPorts], +https://community.chocolatey.org/packages/mvndaemon/[Chocolatey], https://scoop.sh/[Scoop] or +https://github.com/joschi/asdf-mvnd#install[asdf]. If you fancy helping us... + +//// +=== Install using https://www.macports.org[MacPorts] + +[source,shell] +---- +$ sudo port install mvnd +---- + +=== Install using https://community.chocolatey.org/packages/mvndaemon/[Chocolatey] + +[source,shell] +---- +$ choco install mvndaemon +---- + +=== Install using https://scoop.sh/[Scoop] + +[source,shell] +---- +$ scoop install mvndaemon +---- + +=== Install using https://github.com/joschi/asdf-mvnd#install[asdf] + +[source,shell] +---- +$ asdf plugin-add mvnd +$ asdf install mvnd latest +---- +//// + +=== Set up completion + +Optionally, you can set up completion as follows: +[source,shell] +---- +# ensure that MVND_HOME points to your mvnd distribution, note that sdkman does it for you +$ echo 'source $MVND_HOME/bin/mvnd-bash-completion.bash' >> ~/.bashrc +---- +`bash` is the only shell supported at this time. + +=== Note for oh-my-zsh users === + +Users that use `oh-my-zsh` often use completion for maven. The default maven completion plugin defines `mvnd` as an alias to `mvn deploy`. So before being able to use `mvnd`, you need to unalias using the following command: +[source,shell] +---- +$ unalias mvnd +---- + + +=== Install manually + +* Download the latest ZIP suitable for your platform from https://downloads.apache.org/maven/mvnd/ +* Unzip to a directory of your choice +* Add the `bin` directory to `PATH` +* Optionally, you can create `~/.m2/mvnd.properties` and set the `java.home` property in case you do not want to bother + with setting the `JAVA_HOME` environment variable. +* Test whether `mvnd` works: ++ +[source,shell] +---- +$ mvnd --version +Maven Daemon 0.0.11-linux-amd64 (native) +Terminal: org.jline.terminal.impl.PosixSysTerminal with pty org.jline.terminal.impl.jansi.osx.OsXNativePty +Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) +Maven home: /home/ppalaga/orgs/mvnd/mvnd/daemon/target/maven-distro +Java version: 11.0.1, vendor: AdoptOpenJDK, runtime: /home/data/jvm/adopt-openjdk/jdk-11.0.1+13 +Default locale: en_IE, platform encoding: UTF-8 +OS name: "linux", version: "5.6.13-200.fc31.x86_64", arch: "amd64", family: "unix" +---- ++ +If you are on Windows and see a message that `VCRUNTIME140.dll was not found`, you need to install +`vc_redist.x64.exe` from https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads. +See https://github.com/oracle/graal/issues/1762 for more information. ++ +If you are on macOS, you'll need to remove the quarantine flags from all the files after unpacking the archive: +[source,shell] +---- +$ xattr -r -d com.apple.quarantine mvnd-x.y.z-darwin-amd64 +---- + +== Usage + +`mvnd` is designed to accept the same command line options like stock `mvn` (plus some extras - see below), e.g.: + +[source,shell] +---- +mvnd verify +---- + +== `mvnd` specific options + +`--status` lists running daemons + +`--stop` kills all running daemons + +`mvnd --help` prints the complete list of options + + +== Configuration +Configuration can be provided through the properties file. Mvnd reads the properties file from the following locations: + +* the properties path supplied using `MVND_PROPERTIES_PATH` environment variable or `mvnd.propertiesPath` system variable +* the local properties path located at `[PROJECT_HOME]/.mvn/mvnd.properties` +* the user properties path located at: `[USER_HOME]/.m2/mvnd.properties` +* the system properties path located at: `[MVND_HOME]/conf/mvnd.properties` + +Properties defined in the first files will take precedence over properties specified in a lower ranked file. + +A few special properties do not follow the above mechanism: + +* `mvnd.daemonStorage`: this property defines the location where mvnd stores its files (registry and daemon logs). This property can only be defined as a system property on the command line +* `mvnd.id`: this property is used internally to identify the daemon being created +* `mvnd.extClasspath`: internal option to specify the maven extension classpath +* `mvnd.coreExtensions`: internal option to specify the list of maven extension to register + +For a full list of available properties please see +https://github.com/apache/maven-mvnd/blob/master/dist/src/main/distro/conf/mvnd.properties[/dist/src/main/distro/conf/mvnd.properties]. + +== Build `mvnd` from source + +=== Prerequisites: + +* `git` +* Maven +* Download and unpack GraalVM CE from https://github.com/graalvm/graalvm-ce-builds/releases[GitHub] +* Set `JAVA_HOME` to where you unpacked GraalVM in the previous step. Check that `java -version` output is as + expected: ++ +[source,shell] +---- +$ $JAVA_HOME/bin/java -version +openjdk version "11.0.9" 2020-10-20 +OpenJDK Runtime Environment GraalVM CE 20.3.0 (build 11.0.9+10-jvmci-20.3-b06) +OpenJDK 64-Bit Server VM GraalVM CE 20.3.0 (build 11.0.9+10-jvmci-20.3-b06, mixed mode, sharing) +---- ++ +* Install the `native-image` tool: ++ +[source,shell] +---- +$ $JAVA_HOME/bin/gu install native-image +---- + +* `native-image` may require additional software to be installed depending on your platform - see the +https://www.graalvm.org/reference-manual/native-image/#prerequisites[`native-image` documentation]. + +=== Build `mvnd` + +[source,shell] +---- +$ git clone https://github.com/apache/maven-mvnd.git +$ cd maven-mvnd +$ mvn clean verify -Pnative +... +$ cd client +$ file target/mvnd +target/mvnd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=93a554f3807550a13c986d2af9a311ef299bdc5a, for GNU/Linux 3.2.0, with debug_info, not stripped +$ ls -lh target/mvnd +-rwxrwxr-x. 1 ppalaga ppalaga 25M Jun 2 13:23 target/mvnd +---- + +Please note that if you are using Windows as your operating system you will need the following prerequisites for building `maven-mvnd`: +a version of Visual Studio with the workload "Desktop development with C++" and the individual component "Windows Universal CRT SDK". + +=== Install `mvnd` + +[source, shell] +---- +$ cp -R dist/target/mvnd-[version] [target-dir] +---- + +Then you can simply add `[target-dir]/bin` to your `PATH` and run `mvnd`. + +We're happy to improve `mvnd`, so https://github.com/apache/maven-mvnd/issues[feedback] is most welcome! diff --git a/maven-mvnd-1.0.3-windows-amd64/conf/mvnd.properties b/maven-mvnd-1.0.3-windows-amd64/conf/mvnd.properties new file mode 100644 index 000000000..d528002e9 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/conf/mvnd.properties @@ -0,0 +1,153 @@ +# +# Copyright 2020 the original author or authors. +# +# Licensed 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. +# + +# +# This file contains the properties that can be configured through properties file. +# Note that mvnd read properties file from the following locations: +# - the supplied properties path +# through the MVND_PROPERTIES_PATH environment variable or +# through the mvnd.propertiesPath system variable +# - the local properties path +# located at [PROJECT_HOME]/.mvn/mvnd.properties +# - the user properties path +# located at [USER_HOME]/.m2/mvnd.properties +# - the system properties path +# located at [MVND_HOME]/conf/mvnd.properties +# Properties defined in the first files will take precedence over properties +# specified in a lower ranked file. +# +# A few special properties do not follow the above mechanism: +# - mvnd.daemonStorage: this property defines the location where mvnd stores its +# files (registry and daemon logs). This property can only be defined as +# a system property on the command line +# - mvnd.id: this property is used internally to identify the daemon being created +# - mvnd.extClasspath: internal option to specify the maven extension classpath +# - mvnd.coreExtensions: internal option to specify the list of maven extension to register +# + +# MVND_NO_BUFFERING +# Property that can be set to avoid buffering the output and display events continuously, +# closer to the usual maven display. Passing {@code -B} or {@code --batch-mode} on the +# command line enables this too for the given build. +# +# mvnd.noBuffering = false + +# MVND_ROLLING_WINDOW_SIZE +# The number of log lines to display for each Maven module that is built in parallel. +# +# mvnd.rollingWindowSize = 0 + +# MVND_LOG_PURGE_PERIOD +# The automatic log purge period. +# +# mvnd.logPurgePeriod = 7d + +# MVND_NO_DAEMON +# Property to disable using a daemon (usefull for debugging, and only available in non native mode). +# +# mvnd.noDaemon = false + +# MVND_DEBUG +# Property to launch the daemon in debug mode with the following JVM argument +# -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000 +# +# mvnd.debug = false + +# MVND_IDLE_TIMEOUT +# Duration after which an unused daemon will shut down. +# +# mvnd.idleTimeout = 3 hours + +# MVND_KEEP_ALIVE +# Time after which a daemon will send a keep-alive message to the client if the current build +# has produced no output. +# +# mvnd.keepAlive = 100 ms + +# MVND_MAX_LOST_KEEP_ALIVE +# The maximum number of keep alive message that can be lost before the client considers the daemon +# as having had a failure. +# +# mvnd.maxLostKeepAlive = 30 + +# MVND_MIN_THREADS +# The minimum number of threads to use when constructing the default {@code -T} parameter for the daemon. +# This value is ignored if @{@code -T}, @{@code --threads} or {@code -Dmvnd.threads} is specified on the command +# line, or if {@code mvnd.threads} is specified in {@code ~/.m2/mvnd.properties}. +# +# mvnd.minThreads = 1 + +# MVND_THREADS +# The number of threads to pass to the daemon; same syntax as Maven's {@code -T}/{@code --threads} option. Ignored +# if the user passes @{@code -T}, @{@code --threads} or {@code -Dmvnd.threads} on the command +# line. +# +# mvnd.threads = + +# MVND_BUILDER +# The maven builder name to use. Ignored if the user passes +# {@code -b} or {@code --builder} on the command line +# +# mvnd.builder = smart + +# MVND_MIN_HEAP_SIZE +# JVM options for the daemon to specify the starting heap size +## +# mvnd.minHeapSize = 128M + +# MVND_MAX_HEAP_SIZE +# JVM options for the daemon to specify the maximum heap size +# +# mvnd.maxHeapSize = 2G + +# MVND_THREAD_STACK_SIZE +# JVM options for the daemon to specify the thread stack size +# +# mvnd.threadStackSize = 1M + +# MVND_JVM_ARGS +# Additional JVM args for the daemon +# +# mvnd.jvmArgs = + +# MVND_ENABLE_ASSERTIONS +# JVM options for the daemon to enable assertions +# +# mvnd.enableAssertions = false + +# MVND_EXPIRATION_CHECK_DELAY +# Interval to check if the daemon should expire +# +# mvnd.expirationCheckDelay = 10 seconds + +# MVND_DUPLICATE_DAEMON_GRACE_PERIOD +# Period after which idle daemons will shut down +# +# mvnd.duplicateDaemonGracePeriod = 10 seconds + +# MVND_HOME +# The daemon installation directory. The client normally sets this according to where its mvnd executable is located +# +# mvnd.home= + +# JAVA_HOME +# Java home for starting the daemon. The client normally sets this as environment variable: JAVA_HOME +# +# java.home= + +# +# The location of the maven settings file. The client normally uses default settings in {@code ~/.m2/settings.xml}. +# maven.settings= diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/LICENSE b/maven-mvnd-1.0.3-windows-amd64/mvn/LICENSE new file mode 100644 index 000000000..0dc9a9fda --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/LICENSE @@ -0,0 +1,616 @@ + + +Apache Maven includes a number of components and libraries with separate +copyright notices and license terms. Your use of those components are +subject to the terms and conditions of the following licenses: + + + + + + + + + + + +- lib/aopalliance-1.0.jar: aopalliance:aopalliance:jar:1.0 + Project: AOP alliance +Project URL: http://aopalliance.sourceforge.net + License: Public Domain (unrecognized) + + License URL: $license.url (lib/aopalliance.license) + + + + + + + + + + + + + + +- lib/gson-2.13.1.jar: com.google.code.gson:gson:jar:2.13.1 + Project: Gson +Project URL: https://github.com/google/gson + License: Apache-2.0 (Apache-2.0) + + License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/gson.license) + + + + + + + + + + + + + + +- lib/error_prone_annotations-2.38.0.jar: com.google.errorprone:error_prone_annotations:jar:2.38.0 + Project: error-prone annotations +Project URL: https://errorprone.info/error_prone_annotations + License: Apache 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/error_prone_annotations.license) + + + + + + + + + + + + + + + +- lib/failureaccess-1.0.3.jar: com.google.guava:failureaccess:jar:1.0.3 + Project: Guava InternalFutureFailureAccess and InternalFutures +Project URL: https://github.com/google/guava/ + License: Apache License, Version 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/failureaccess.license) + + + + + + + + + + + + + + +- lib/guava-33.4.8-jre.jar: com.google.guava:guava:bundle:33.4.8-jre + Project: Guava: Google Core Libraries for Java +Project URL: https://github.com/google/guava + License: Apache License, Version 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/guava.license) + + + + + + + + + + + + + + + +- lib/guice-5.1.0.jar: com.google.inject:guice:jar:5.1.0 + Project: Google Guice - Core Library +Project URL: https://github.com/google/guice/ + License: The Apache Software License, Version 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/guice.license) + + + + + + + + + + + + + + +- lib/commons-cli-1.9.0.jar: commons-cli:commons-cli:jar:1.9.0 + Project: Apache Commons CLI +Project URL: https://commons.apache.org/proper/commons-cli/ + License: Apache-2.0 (Apache-2.0) + + License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/commons-cli.license) + + + + + + + + + + + + + + +- lib/commons-codec-1.18.0.jar: commons-codec:commons-codec:jar:1.18.0 + Project: Apache Commons Codec +Project URL: https://commons.apache.org/proper/commons-codec/ + License: Apache-2.0 (Apache-2.0) + + License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/commons-codec.license) + + + + + + + + + + + + + + +- lib/javax.annotation-api-1.3.2.jar: javax.annotation:javax.annotation-api:jar:1.3.2 + Project: javax.annotation API +Project URL: http://jcp.org/en/jsr/detail?id=250 + License: CDDL + GPLv2 with classpath exception (unrecognized) + + License URL: https://github.com/javaee/javax.annotation/blob/master/LICENSE (lib/javax.annotation-api.license) + + + + + + + + + + + + + + +- lib/javax.inject-1.jar: javax.inject:javax.inject:jar:1 + Project: javax.inject +Project URL: http://code.google.com/p/atinject/ + License: The Apache Software License, Version 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/javax.inject.license) + + + + + + + + + + + + + + +- lib/httpclient-4.5.14.jar: org.apache.httpcomponents:httpclient:jar:4.5.14 + Project: Apache HttpClient +Project URL: http://hc.apache.org/httpcomponents-client-ga + License: Apache License, Version 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/httpclient.license) + + + + + + + + + + + + + + +- lib/httpcore-4.4.16.jar: org.apache.httpcomponents:httpcore:jar:4.4.16 + Project: Apache HttpCore +Project URL: http://hc.apache.org/httpcomponents-core-ga + License: Apache License, Version 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/httpcore.license) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +- lib/plexus-cipher-2.0.jar: org.codehaus.plexus:plexus-cipher:jar:2.0 + Project: Plexus Cipher: encryption/decryption Component +Project URL: https://codehaus-plexus.github.io/plexus-cipher/ + License: Apache License, Version 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-cipher.license) + + + + + + + + + + + + + + + +- boot/plexus-classworlds-2.9.0.jar: org.codehaus.plexus:plexus-classworlds:bundle:2.9.0 + Project: Plexus Classworlds +Project URL: https://codehaus-plexus.github.io/plexus-classworlds/ + License: Apache-2.0 (Apache-2.0) + + License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (boot/plexus-classworlds.license) + + + + + + + + + + + + + + +- lib/plexus-component-annotations-2.2.0.jar: org.codehaus.plexus:plexus-component-annotations:jar:2.2.0 + Project: Plexus :: Component Annotations (deprecated) +Project URL: https://codehaus-plexus.github.io/plexus-containers/plexus-component-annotations/ + License: Apache License, Version 2.0 (Apache-2.0) + + License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-component-annotations.license) + + + + + + + + + + + + + + +- lib/plexus-interpolation-1.28.jar: org.codehaus.plexus:plexus-interpolation:bundle:1.28 + Project: Plexus Interpolation API +Project URL: https://codehaus-plexus.github.io/plexus-pom/plexus-interpolation/ + License: Apache-2.0 (Apache-2.0) + + License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-interpolation.license) + + + + + + + + + + + + + + +- lib/plexus-sec-dispatcher-2.0.jar: org.codehaus.plexus:plexus-sec-dispatcher:jar:2.0 + Project: Plexus Security Dispatcher Component +Project URL: https://codehaus-plexus.github.io/plexus-sec-dispatcher/ + License: Apache License, Version 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-sec-dispatcher.license) + + + + + + + + + + + + + + +- lib/plexus-utils-3.6.0.jar: org.codehaus.plexus:plexus-utils:jar:3.6.0 + Project: Plexus Common Utilities +Project URL: https://codehaus-plexus.github.io/plexus-utils/ + License: Apache License, Version 2.0 (Apache-2.0) + + License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-utils.license) + + + + + + + + + + + + + + +- lib/org.eclipse.sisu.inject-0.9.0.M4.jar: org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.9.0.M4 + Project: org.eclipse.sisu:org.eclipse.sisu.inject +Project URL: https://eclipse.dev/sisu/org.eclipse.sisu.inject/ + License: Eclipse Public License, Version 2.0 (EPL-2.0) + + License URL: https://www.eclipse.org/legal/epl-v20.html (lib/org.eclipse.sisu.inject.license) + + + + + + + + + + + + + + +- lib/org.eclipse.sisu.plexus-0.9.0.M4.jar: org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.9.0.M4 + Project: org.eclipse.sisu:org.eclipse.sisu.plexus +Project URL: https://eclipse.dev/sisu/org.eclipse.sisu.plexus/ + License: Eclipse Public License, Version 2.0 (EPL-2.0) + + License URL: https://www.eclipse.org/legal/epl-v20.html (lib/org.eclipse.sisu.plexus.license) + + + + + + + + + + + + + + +- lib/jansi-2.4.2.jar: org.fusesource.jansi:jansi:jar:2.4.2 + Project: Jansi +Project URL: http://fusesource.github.io/jansi + License: Apache License, Version 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/jansi.license) + + + + + + + + + + + + + + +- lib/jspecify-1.0.0.jar: org.jspecify:jspecify:jar:1.0.0 + Project: JSpecify annotations +Project URL: http://jspecify.org/ + License: The Apache License, Version 2.0 (Apache-2.0) + + License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/jspecify.license) + + + + + + + + + + + + + + +- lib/asm-9.8.jar: org.ow2.asm:asm:jar:9.8 + Project: asm +Project URL: http://asm.ow2.io/ + License: BSD-3-Clause (unrecognized) + + License URL: https://asm.ow2.io/license.html (lib/asm.license) + + + + + + + + + + + + + + +- lib/jcl-over-slf4j-1.7.36.jar: org.slf4j:jcl-over-slf4j:jar:1.7.36 + Project: JCL 1.2 implemented over SLF4J +Project URL: http://www.slf4j.org + License: Apache License, Version 2.0 (Apache-2.0) + + License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/jcl-over-slf4j.license) + + + + + + + + + + + + + + +- lib/slf4j-api-1.7.36.jar: org.slf4j:slf4j-api:jar:1.7.36 + Project: SLF4J API Module +Project URL: http://www.slf4j.org + License: MIT License (MIT) + + License URL: http://www.opensource.org/licenses/mit-license.php (lib/slf4j-api.license) + + + diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/NOTICE b/maven-mvnd-1.0.3-windows-amd64/mvn/NOTICE new file mode 100644 index 000000000..c05881722 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/NOTICE @@ -0,0 +1,98 @@ +This software bundles the following NOTICE files from third party library providers: + +META-INF/NOTICE in archive lib/guice-5.1.0.jar +Google Guice - Core Library +Copyright 2006-2022 Google, Inc. +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +META-INF/NOTICE in archive lib/plexus-utils-3.2.1.jar +This product includes software developed by the Indiana University + Extreme! Lab (http://www.extreme.indiana.edu/). +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). +This product includes software developed by +ThoughtWorks (http://www.thoughtworks.com). +This product includes software developed by +javolution (http://javolution.org/). +This product includes software developed by +Rome (https://rome.dev.java.net/). + +about.html in archive lib/org.eclipse.sisu.inject-0.3.5.jar + + + + + +About org.eclipse.sisu.inject + + +

About org.eclipse.sisu.inject

+ +

November 5, 2013

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ +

Third Party Content

+

The Content includes items that have been sourced from third parties as set +out below. If you did not receive this Content directly from the Eclipse Foundation, +the following is provided for informational purposes only, and you should look +to the Redistributor's license for terms and conditions of use.

+ +

ASM 4.1

+

The plug-in includes software developed by the ObjectWeb consortium as part +of the ASM project at http://asm.ow2.org/.

+ +

A subset of ASM is re-packaged within the source and binary of the plug-in (org.eclipse.sisu.space.asm.*) +to avoid version collisions with other usage and is also available from the plug-in's github repository.

+ +

Your use of the ASM code is subject to the terms and conditions of the ASM License +below which is also available at http://asm.ow2.org/license.html.

+ +
+Copyright (c) 2000-2011 INRIA, France Telecom
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holders nor the names of its
+   contributors may be used to endorse or promote products derived from
+   this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
+
+ + + diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/README.txt b/maven-mvnd-1.0.3-windows-amd64/mvn/README.txt new file mode 100644 index 000000000..6d959bbf7 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/README.txt @@ -0,0 +1,41 @@ + + Apache Maven + + What is it? + ----------- + + Maven is a software project management and comprehension tool. Based on + the concept of a Project Object Model (POM), Maven can manage a project's + build, reporting and documentation from a central piece of information. + + Documentation + ------------- + + The most up-to-date documentation can be found at https://maven.apache.org/. + + Release Notes + ------------- + + The full list of changes, system requirements and related can be found at https://maven.apache.org/docs/history.html. + + Installing Maven + ---------------- + + For complete documentation see https://maven.apache.org/download.html#Installation + + Licensing + --------- + + Please see the file called LICENSE. + + Maven URLS + ---------- + + Home Page: https://maven.apache.org/ + Downloads: https://maven.apache.org/download.html + Release Notes: https://maven.apache.org/docs/history.html + Mailing Lists: https://maven.apache.org/mailing-lists.html + Source Code: https://gitbox.apache.org/repos/asf/maven.git + Issue Tracking: https://issues.apache.org/jira/browse/MNG + Wiki: https://cwiki.apache.org/confluence/display/MAVEN/ + Available Plugins: https://maven.apache.org/plugins/ diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/boot/plexus-classworlds.license b/maven-mvnd-1.0.3-windows-amd64/mvn/boot/plexus-classworlds.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/boot/plexus-classworlds.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/java.util.logging.properties b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/java.util.logging.properties new file mode 100644 index 000000000..b21a7d3b7 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/java.util.logging.properties @@ -0,0 +1,16 @@ +# 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/simplelogger.properties b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/simplelogger.properties new file mode 100644 index 000000000..8c4a5d1e4 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/simplelogger.properties @@ -0,0 +1,30 @@ +# 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. + +org.slf4j.simpleLogger.defaultLogLevel=info +org.slf4j.simpleLogger.showDateTime=false +org.slf4j.simpleLogger.showThreadName=false +org.slf4j.simpleLogger.showLogName=false +org.slf4j.simpleLogger.logFile=System.out +org.slf4j.simpleLogger.cacheOutputStream=true +org.slf4j.simpleLogger.levelInBrackets=true +org.slf4j.simpleLogger.log.Sisu=info +org.slf4j.simpleLogger.warnLevelString=WARNING + +# MNG-6181: mvn -X also prints all debug logging from HttpClient +org.slf4j.simpleLogger.log.org.apache.http=off +org.slf4j.simpleLogger.log.org.apache.http.wire=off diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/settings.xml b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/settings.xml new file mode 100644 index 000000000..0d649762e --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/settings.xml @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maven-default-http-blocker + external:http:* + Pseudo repository to mirror external repositories initially using HTTP. + http://0.0.0.0/ + true + + + + + + + + + + + + diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/toolchains.xml b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/toolchains.xml new file mode 100644 index 000000000..b2630723e --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/toolchains.xml @@ -0,0 +1,103 @@ + + + + + + + + + + \ No newline at end of file diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/aopalliance.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/aopalliance.license new file mode 100644 index 000000000..a7a158b93 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/aopalliance.license @@ -0,0 +1 @@ +Public Domain \ No newline at end of file diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/asm.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/asm.license new file mode 100644 index 000000000..55761edde --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/asm.license @@ -0,0 +1,29 @@ +ASM is released under the following 3-Clause BSD License: + +ASM: a very small and fast Java bytecode manipulation framework +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-cli.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-cli.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-cli.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-codec.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-codec.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-codec.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/error_prone_annotations.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/error_prone_annotations.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/error_prone_annotations.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/README.txt b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/README.txt new file mode 100644 index 000000000..ab7f12a71 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/README.txt @@ -0,0 +1,2 @@ +Use this directory to add third party extensions to Maven Core. These extensions can either extend or override +Maven's default implementation. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/hazelcast/README.txt b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/hazelcast/README.txt new file mode 100644 index 000000000..77d19b140 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/hazelcast/README.txt @@ -0,0 +1,6 @@ +This directory is intended to contain Hazelcast [1] JARs for Maven Resolver Named Locks using Hazelcast. + +See here [2] on how to add necessary JARs. + +[1] https://github.com/hazelcast/hazelcast +[2] https://maven.apache.org/resolver/maven-resolver-named-locks-hazelcast/index.html#installation-testing diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/redisson/README.txt b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/redisson/README.txt new file mode 100644 index 000000000..58342b19d --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/redisson/README.txt @@ -0,0 +1,6 @@ +This directory is intended to contain Redisson [1] JARs for Maven Resolver Named Locks using Redisson. + +See here [2] on how to add necessary JARs. + +[1] https://github.com/redisson/redisson +[2] https://maven.apache.org/resolver/maven-resolver-named-locks-redisson/index.html#installation-testing diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/failureaccess.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/failureaccess.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/failureaccess.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/gson.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/gson.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/gson.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guava.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guava.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guava.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guice.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guice.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guice.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpclient.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpclient.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpclient.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpcore.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpcore.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpcore.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi-native/README.txt b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi-native/README.txt new file mode 100644 index 000000000..26a957e1b --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi-native/README.txt @@ -0,0 +1,8 @@ +This directory contains Jansi native libraries extracted from Jansi JAR. + +You can add your own build for platforms not natively supported by Jansi. +See here [1] on how to compile for your platform and and here [2] how libraries +follow Jansi's directory and filename conventions. + +[1] https://github.com/fusesource/jansi/tree/master/src/main/native +[2] https://github.com/fusesource/jansi/blob/321a8ff71c731e10f4ea05c607860180276b2215/src/main/java/org/fusesource/jansi/internal/OSInfo.java diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.annotation-api.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.annotation-api.license new file mode 100644 index 000000000..b1c74f95e --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.annotation-api.license @@ -0,0 +1,759 @@ +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 + +1. Definitions. + + 1.1. "Contributor" means each individual or entity that creates or + contributes to the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Software, prior Modifications used by a Contributor (if any), and + the Modifications made by that particular Contributor. + + 1.3. "Covered Software" means (a) the Original Software, or (b) + Modifications, or (c) the combination of files containing Original + Software with files containing Modifications, in each case including + portions thereof. + + 1.4. "Executable" means the Covered Software in any form other than + Source Code. + + 1.5. "Initial Developer" means the individual or entity that first + makes Original Software available under this License. + + 1.6. "Larger Work" means a work which combines Covered Software or + portions thereof with code not governed by the terms of this License. + + 1.7. "License" means this document. + + 1.8. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means the Source Code and Executable form of + any of the following: + + A. Any file that results from an addition to, deletion from or + modification of the contents of a file containing Original Software + or previous Modifications; + + B. Any new file that contains any part of the Original Software or + previous Modification; or + + C. Any new file that is contributed or otherwise made available + under the terms of this License. + + 1.10. "Original Software" means the Source Code and Executable form + of computer software code that is originally released under this + License. + + 1.11. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.12. "Source Code" means (a) the common form of computer software + code in which modifications are made and (b) associated + documentation included in or with such code. + + 1.13. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, + this License. For legal entities, "You" includes any entity which + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants. + + 2.1. The Initial Developer Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject + to third party intellectual property claims, the Initial Developer + hereby grants You a world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer, to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Software (or portions thereof), with or without Modifications, + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using or selling of + Original Software, to make, have made, use, practice, sell, and + offer for sale, and/or otherwise dispose of the Original Software + (or portions thereof). + + (c) The licenses granted in Sections 2.1(a) and (b) are effective on + the date Initial Developer first distributes or otherwise makes the + Original Software available to a third party under the terms of this + License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: (1) for code that You delete from the Original Software, or + (2) for infringements caused by: (i) the modification of the + Original Software, or (ii) the combination of the Original Software + with other software or devices. + + 2.2. Contributor Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject + to third party intellectual property claims, each Contributor hereby + grants You a world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof), either on an + unmodified basis, with other Modifications, as Covered Software + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or selling + of Modifications made by that Contributor either alone and/or in + combination with its Contributor Version (or portions of such + combination), to make, use, sell, offer for sale, have made, and/or + otherwise dispose of: (1) Modifications made by that Contributor (or + portions thereof); and (2) the combination of Modifications made by + that Contributor with its Contributor Version (or portions of such + combination). + + (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective + on the date Contributor first distributes or otherwise makes the + Modifications available to a third party. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: (1) for any code that Contributor has deleted from the + Contributor Version; (2) for infringements caused by: (i) third + party modifications of Contributor Version, or (ii) the combination + of Modifications made by that Contributor with other software + (except as part of the Contributor Version) or other devices; or (3) + under Patent Claims infringed by Covered Software in the absence of + Modifications made by that Contributor. + +3. Distribution Obligations. + + 3.1. Availability of Source Code. + + Any Covered Software that You distribute or otherwise make available + in Executable form must also be made available in Source Code form + and that Source Code form must be distributed only under the terms + of this License. You must include a copy of this License with every + copy of the Source Code form of the Covered Software You distribute + or otherwise make available. You must inform recipients of any such + Covered Software in Executable form as to how they can obtain such + Covered Software in Source Code form in a reasonable manner on or + through a medium customarily used for software exchange. + + 3.2. Modifications. + + The Modifications that You create or to which You contribute are + governed by the terms of this License. You represent that You + believe Your Modifications are Your original creation(s) and/or You + have sufficient rights to grant the rights conveyed by this License. + + 3.3. Required Notices. + + You must include a notice in each of Your Modifications that + identifies You as the Contributor of the Modification. You may not + remove or alter any copyright, patent or trademark notices contained + within the Covered Software, or any notices of licensing or any + descriptive text giving attribution to any Contributor or the + Initial Developer. + + 3.4. Application of Additional Terms. + + You may not offer or impose any terms on any Covered Software in + Source Code form that alters or restricts the applicable version of + this License or the recipients' rights hereunder. You may choose to + offer, and to charge a fee for, warranty, support, indemnity or + liability obligations to one or more recipients of Covered Software. + However, you may do so only on Your own behalf, and not on behalf of + the Initial Developer or any Contributor. You must make it + absolutely clear that any such warranty, support, indemnity or + liability obligation is offered by You alone, and You hereby agree + to indemnify the Initial Developer and every Contributor for any + liability incurred by the Initial Developer or such Contributor as a + result of warranty, support, indemnity or liability terms You offer. + + 3.5. Distribution of Executable Versions. + + You may distribute the Executable form of the Covered Software under + the terms of this License or under the terms of a license of Your + choice, which may contain terms different from this License, + provided that You are in compliance with the terms of this License + and that the license for the Executable form does not attempt to + limit or alter the recipient's rights in the Source Code form from + the rights set forth in this License. If You distribute the Covered + Software in Executable form under a different license, You must make + it absolutely clear that any terms which differ from this License + are offered by You alone, not by the Initial Developer or + Contributor. You hereby agree to indemnify the Initial Developer and + every Contributor for any liability incurred by the Initial + Developer or such Contributor as a result of any such terms You offer. + + 3.6. Larger Works. + + You may create a Larger Work by combining Covered Software with + other code not governed by the terms of this License and distribute + the Larger Work as a single product. In such a case, You must make + sure the requirements of this License are fulfilled for the Covered + Software. + +4. Versions of the License. + + 4.1. New Versions. + + Oracle is the initial license steward and may publish revised and/or + new versions of this License from time to time. Each version will be + given a distinguishing version number. Except as provided in Section + 4.3, no one other than the license steward has the right to modify + this License. + + 4.2. Effect of New Versions. + + You may always continue to use, distribute or otherwise make the + Covered Software available under the terms of the version of the + License under which You originally received the Covered Software. If + the Initial Developer includes a notice in the Original Software + prohibiting it from being distributed or otherwise made available + under any subsequent version of the License, You must distribute and + make the Covered Software available under the terms of the version + of the License under which You originally received the Covered + Software. Otherwise, You may also choose to use, distribute or + otherwise make the Covered Software available under the terms of any + subsequent version of the License published by the license steward. + + 4.3. Modified Versions. + + When You are an Initial Developer and You want to create a new + license for Your Original Software, You may create and use a + modified version of this License if You: (a) rename the license and + remove any references to the name of the license steward (except to + note that the license differs from this License); and (b) otherwise + make it clear that the license contains terms which differ from this + License. + +5. DISCLAIMER OF WARRANTY. + + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, + INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE + IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR + NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF + THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE + DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY + OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, + REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN + ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS + AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +6. TERMINATION. + + 6.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to + cure such breach within 30 days of becoming aware of the breach. + Provisions which, by their nature, must remain in effect beyond the + termination of this License shall survive. + + 6.2. If You assert a patent infringement claim (excluding + declaratory judgment actions) against Initial Developer or a + Contributor (the Initial Developer or Contributor against whom You + assert such claim is referred to as "Participant") alleging that the + Participant Software (meaning the Contributor Version where the + Participant is a Contributor or the Original Software where the + Participant is the Initial Developer) directly or indirectly + infringes any patent, then any and all rights granted directly or + indirectly to You by such Participant, the Initial Developer (if the + Initial Developer is not the Participant) and all Contributors under + Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice + from Participant terminate prospectively and automatically at the + expiration of such 60 day notice period, unless if within such 60 + day period You withdraw Your claim with respect to the Participant + Software against such Participant either unilaterally or pursuant to + a written agreement with Participant. + + 6.3. If You assert a patent infringement claim against Participant + alleging that the Participant Software directly or indirectly + infringes any patent where such claim is resolved (such as by + license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 6.4. In the event of termination under Sections 6.1 or 6.2 above, + all end user licenses that have been validly granted by You or any + distributor hereunder prior to termination (excluding licenses + granted to You by any distributor) shall survive termination. + +7. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE + INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF + COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE + TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT + LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER + FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR + LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE + POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT + APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH + PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH + LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR + LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION + AND LIMITATION MAY NOT APPLY TO YOU. + +8. U.S. GOVERNMENT END USERS. + + The Covered Software is a "commercial item," as that term is defined + in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" (as that term is defined at 48 C.F.R. § + 252.227-7014(a)(1)) and "commercial computer software documentation" + as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent + with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 + (June 1995), all U.S. Government End Users acquire Covered Software + with only those rights set forth herein. This U.S. Government Rights + clause is in lieu of, and supersedes, any other FAR, DFAR, or other + clause or provision that addresses Government rights in computer + software under this License. + +9. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + the law of the jurisdiction specified in a notice contained within + the Original Software (except to the extent applicable law, if any, + provides otherwise), excluding such jurisdiction's conflict-of-law + provisions. Any litigation relating to this License shall be subject + to the jurisdiction of the courts located in the jurisdiction and + venue specified in a notice contained within the Original Software, + with the losing party responsible for costs, including, without + limitation, court costs and reasonable attorneys' fees and expenses. + The application of the United Nations Convention on Contracts for + the International Sale of Goods is expressly excluded. Any law or + regulation which provides that the language of a contract shall be + construed against the drafter shall not apply to this License. You + agree that You alone are responsible for compliance with the United + States export administration regulations (and the export control + laws and regulation of any other countries) when You use, distribute + or otherwise make available any Covered Software. + +10. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +------------------------------------------------------------------------ + +NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION +LICENSE (CDDL) + +The code released under the CDDL shall be governed by the laws of the +State of California (excluding conflict-of-law provisions). Any +litigation relating to this License shall be subject to the jurisdiction +of the Federal Courts of the Northern District of California and the +state courts of the State of California, with venue lying in Santa Clara +County, California. + + + + The GNU General Public License (GPL) Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor +Boston, MA 02110-1335 +USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to +share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free software--to +make sure the software is free for all its users. This General Public +License applies to most of the Free Software Foundation's software and +to any other program whose authors commit to using it. (Some other Free +Software Foundation software is covered by the GNU Library General +Public License instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. +Our General Public Licenses are designed to make sure that you have the +freedom to distribute copies of free software (and charge for this +service if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone +to deny you these rights or to ask you to surrender the rights. These +restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis +or for a fee, you must give the recipients all the rights that you have. +You must make sure that they, too, receive or can get the source code. +And you must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + +Finally, any free program is threatened constantly by software patents. +We wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program +proprietary. To prevent this, we have made it clear that any patent must +be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and +modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a +notice placed by the copyright holder saying it may be distributed under +the terms of this General Public License. The "Program", below, refers +to any such program or work, and a "work based on the Program" means +either the Program or any derivative work under copyright law: that is +to say, a work containing the Program or a portion of it, either +verbatim or with modifications and/or translated into another language. +(Hereinafter, translation is included without limitation in the term +"modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of running +the Program is not restricted, and the output from the Program is +covered only if its contents constitute a work based on the Program +(independent of having been made by running the Program). Whether that +is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source +code as you receive it, in any medium, provided that you conspicuously +and appropriately publish on each copy an appropriate copyright notice +and disclaimer of warranty; keep intact all the notices that refer to +this License and to the absence of any warranty; and give any other +recipients of the Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of +it, thus forming a work based on the Program, and copy and distribute +such modifications or work under the terms of Section 1 above, provided +that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any part + thereof, to be licensed as a whole at no charge to all third parties + under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a notice + that there is no warranty (or else, saying that you provide a + warranty) and that users may redistribute the program under these + conditions, and telling the user how to view a copy of this License. + (Exception: if the Program itself is interactive but does not + normally print such an announcement, your work based on the Program + is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, and +can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based on +the Program, the distribution of the whole must be on the terms of this +License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of a +storage or distribution medium does not bring the other work under the +scope of this License. + +3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your cost + of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed + only for noncommercial distribution and only if you received the + program in object code or executable form with such an offer, in + accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source code +means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to control +compilation and installation of the executable. However, as a special +exception, the source code distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies the +executable. + +If distribution of executable or object code is made by offering access +to copy from a designated place, then offering equivalent access to copy +the source code from the same place counts as distribution of the source +code, even though third parties are not compelled to copy the source +along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt otherwise +to copy, modify, sublicense or distribute the Program is void, and will +automatically terminate your rights under this License. However, parties +who have received copies, or rights, from you under this License will +not have their licenses terminated so long as such parties remain in +full compliance. + +5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and all +its terms and conditions for copying, distributing or modifying the +Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further restrictions +on the recipients' exercise of the rights granted herein. You are not +responsible for enforcing compliance by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot distribute +so as to satisfy simultaneously your obligations under this License and +any other pertinent obligations, then as a consequence you may not +distribute the Program at all. For example, if a patent license would +not permit royalty-free redistribution of the Program by all those who +receive copies directly or indirectly through you, then the only way you +could satisfy both it and this License would be to refrain entirely from +distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is implemented +by public license practices. Many people have made generous +contributions to the wide range of software distributed through that +system in reliance on consistent application of that system; it is up to +the author/donor to decide if he or she is willing to distribute +software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be +a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License may +add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among countries +not thus excluded. In such case, this License incorporates the +limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new +versions of the General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Program does not specify a version +number of this License, you may choose any version ever published by the +Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the +author to ask for permission. For software which is copyrighted by the +Free Software Foundation, write to the Free Software Foundation; we +sometimes make exceptions for this. Our decision will be guided by the +two goals of preserving the free status of all derivatives of our free +software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, +EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE +ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH +YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL +NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR +DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM +(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED +INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF +THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR +OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively convey +the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type + `show w'. This is free software, and you are welcome to redistribute + it under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the commands +you use may be called something other than `show w' and `show c'; they +could even be mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + program `Gnomovision' (which makes passes at compilers) written by + James Hacker. + + signature of Ty Coon, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications +with the library. If this is what you want to do, use the GNU Library +General Public License instead of this License. + +# + +Certain source files distributed by Oracle America, Inc. and/or its +affiliates are subject to the following clarification and special +exception to the GPLv2, based on the GNU Project exception for its +Classpath libraries, known as the GNU Classpath Exception, but only +where Oracle has expressly included in the particular source file's +header the words "Oracle designates this particular file as subject to +the "Classpath" exception as provided by Oracle in the LICENSE file +that accompanied this code." + +You should also note that Oracle includes multiple, independent +programs in this software package. Some of those programs are provided +under licenses deemed incompatible with the GPLv2 by the Free Software +Foundation and others. For example, the package includes programs +licensed under the Apache License, Version 2.0. Such programs are +licensed to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding +the Classpath Exception to the necessary parts of its GPLv2 code, which +permits you to use that code in combination with other independent +modules not licensed under the GPLv2. However, note that this would +not permit you to commingle code under an incompatible license with +Oracle's GPLv2 licensed code by, for example, cutting and pasting such +code into a file also containing Oracle's GPLv2 licensed code and then +distributing the result. Additionally, if you were to remove the +Classpath Exception from any of the files to which it applies and +distribute the result, you would likely be required to license some or +all of the other code in that distribution under the GPLv2 as well, and +since the GPLv2 is incompatible with the license terms of some items +included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to +further distribute the package. + +Proceed with caution and we recommend that you obtain the advice of a +lawyer skilled in open source matters before removing the Classpath +Exception or making modifications to this package which may +subsequently be redistributed and/or involve the use of third party +software. + +CLASSPATH EXCEPTION +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License version 2 cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from or +based on this library. If you modify this library, you may extend this +exception to your version of the library, but you are not obligated to +do so. If you do not wish to do so, delete this exception statement +from your version. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.inject.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.inject.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.inject.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jcl-over-slf4j.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jcl-over-slf4j.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jcl-over-slf4j.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jspecify.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jspecify.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jspecify.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.inject.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.inject.license new file mode 100644 index 000000000..e55f34467 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.inject.license @@ -0,0 +1,277 @@ +Eclipse Public License - v 2.0 + + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE + PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION + OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial content + Distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + i) changes to the Program, and + ii) additions to the Program; + where such changes and/or additions to the Program originate from + and are Distributed by that particular Contributor. A Contribution + "originates" from a Contributor if it was added to the Program by + such Contributor itself or anyone acting on such Contributor's behalf. + Contributions do not include changes or additions to the Program that + are not Modified Works. + +"Contributor" means any person or entity that Distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +"Program" means the Contributions Distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement +or any Secondary License (as applicable), including Contributors. + +"Derivative Works" shall mean any work, whether in Source Code or other +form, that is based on (or derived from) the Program and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. + +"Modified Works" shall mean any work in Source Code or other form that +results from an addition to, deletion from, or modification of the +contents of the Program, including, for purposes of clarity any new file +in Source Code form that contains any contents of the Program. Modified +Works shall not include works that contain only declarations, +interfaces, types, classes, structures, or files of the Program solely +in each case in order to link to, bind by name, or subclass the Program +or Modified Works thereof. + +"Distribute" means the acts of a) distributing or b) making available +in any manner that enables the transfer of a copy. + +"Source Code" means the form of a Program preferred for making +modifications, including but not limited to software source code, +documentation source, and configuration files. + +"Secondary License" means either the GNU General Public License, +Version 2.0, or any later versions of that license, including any +exceptions or additional permissions as identified by the initial +Contributor. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free copyright + license to reproduce, prepare Derivative Works of, publicly display, + publicly perform, Distribute and sublicense the Contribution of such + Contributor, if any, and such Derivative Works. + + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free patent + license under Licensed Patents to make, use, sell, offer to sell, + import and otherwise transfer the Contribution of such Contributor, + if any, in Source Code or other form. This patent license shall + apply to the combination of the Contribution and the Program if, at + the time the Contribution is added by the Contributor, such addition + of the Contribution causes such combination to be covered by the + Licensed Patents. The patent license shall not apply to any other + combinations which include the Contribution. No hardware per se is + licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the + patent or other intellectual property rights of any other entity. + Each Contributor disclaims any liability to Recipient for claims + brought by any other entity based on infringement of intellectual + property rights or otherwise. As a condition to exercising the + rights and licenses granted hereunder, each Recipient hereby + assumes sole responsibility to secure any other intellectual + property rights needed, if any. For example, if a third party + patent license is required to allow Recipient to Distribute the + Program, it is Recipient's responsibility to acquire that license + before distributing the Program. + + d) Each Contributor represents that to its knowledge it has + sufficient copyright rights in its Contribution, if any, to grant + the copyright license set forth in this Agreement. + + e) Notwithstanding the terms of any Secondary License, no + Contributor makes additional grants to any Recipient (other than + those set forth in this Agreement) as a result of such Recipient's + receipt of the Program under the terms of a Secondary License + (if permitted under the terms of Section 3). + +3. REQUIREMENTS + +3.1 If a Contributor Distributes the Program in any form, then: + + a) the Program must also be made available as Source Code, in + accordance with section 3.2, and the Contributor must accompany + the Program with a statement that the Source Code for the Program + is available under this Agreement, and informs Recipients how to + obtain it in a reasonable manner on or through a medium customarily + used for software exchange; and + + b) the Contributor may Distribute the Program under a license + different than this Agreement, provided that such license: + i) effectively disclaims on behalf of all other Contributors all + warranties and conditions, express and implied, including + warranties or conditions of title and non-infringement, and + implied warranties or conditions of merchantability and fitness + for a particular purpose; + + ii) effectively excludes on behalf of all other Contributors all + liability for damages, including direct, indirect, special, + incidental and consequential damages, such as lost profits; + + iii) does not attempt to limit or alter the recipients' rights + in the Source Code under section 3.2; and + + iv) requires any subsequent distribution of the Program by any + party to be under a license that satisfies the requirements + of this section 3. + +3.2 When the Program is Distributed as Source Code: + + a) it must be made available under this Agreement, or if the + Program (i) is combined with other material in a separate file or + files made available under a Secondary License, and (ii) the initial + Contributor attached to the Source Code the notice described in + Exhibit A of this Agreement, then the Program may be made available + under the terms of such Secondary Licenses, and + + b) a copy of this Agreement must be included with each copy of + the Program. + +3.3 Contributors may not remove or alter any copyright, patent, +trademark, attribution notices, disclaimers of warranty, or limitations +of liability ("notices") contained within the Program from any copy of +the Program which they Distribute, provided that Contributors may add +their own appropriate notices. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, +the Contributor who includes the Program in a commercial product +offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes +the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and indemnify every +other Contributor ("Indemnified Contributor") against any losses, +damages and costs (collectively "Losses") arising from claims, lawsuits +and other legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the Program +in a commercial product offering. The obligations in this section do not +apply to any claims or Losses relating to any actual or alleged +intellectual property infringement. In order to qualify, an Indemnified +Contributor must: a) promptly notify the Commercial Contributor in +writing of such claim, and b) allow the Commercial Contributor to control, +and cooperate with the Commercial Contributor in, the defense and any +related settlement negotiations. The Indemnified Contributor may +participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those performance +claims and warranties, and if a court requires any other Contributor to +pay any damages as a result, the Commercial Contributor must pay +those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF +TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE. Each Recipient is solely responsible for determining the +appropriateness of using and distributing the Program and assumes all +risks associated with its exercise of rights under this Agreement, +including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs +or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS +SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE +EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further +action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other software +or hardware) infringes such Recipient's patent(s), then such Recipient's +rights granted under Section 2(b) shall terminate as of the date such +litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of +time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use +and distribution of the Program as soon as reasonably practicable. +However, Recipient's obligations under this Agreement and any licenses +granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and +may only be modified in the following manner. The Agreement Steward +reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement +Steward has the right to modify this Agreement. The Eclipse Foundation +is the initial Agreement Steward. The Eclipse Foundation may assign the +responsibility to serve as the Agreement Steward to a suitable separate +entity. Each new version of the Agreement will be given a distinguishing +version number. The Program (including Contributions) may always be +Distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is published, +Contributor may elect to Distribute the Program (including its +Contributions) under the new version. + +Except as expressly stated in Sections 2(a) and 2(b) above, Recipient +receives no rights or licenses to the intellectual property of any +Contributor under this Agreement, whether expressly, by implication, +estoppel or otherwise. All rights in the Program not expressly granted +under this Agreement are reserved. Nothing in this Agreement is intended +to be enforceable by any entity that is not a Contributor or Recipient. +No third-party beneficiary rights are created under this Agreement. + +Exhibit A - Form of Secondary Licenses Notice + +"This Source Code may also be made available under the following +Secondary Licenses when the conditions for such availability set forth +in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), +version(s), and exceptions or additional permissions here}." + + Simply including a copy of this Agreement, including this Exhibit A + is not sufficient to license the Source Code under Secondary Licenses. + + If it is not possible or desirable to put the notice in a particular + file, then You may include the notice in a location (such as a LICENSE + file in a relevant directory) where a recipient would be likely to + look for such a notice. + + You may add additional accurate notices of copyright ownership. \ No newline at end of file diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.plexus.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.plexus.license new file mode 100644 index 000000000..e55f34467 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.plexus.license @@ -0,0 +1,277 @@ +Eclipse Public License - v 2.0 + + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE + PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION + OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial content + Distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + i) changes to the Program, and + ii) additions to the Program; + where such changes and/or additions to the Program originate from + and are Distributed by that particular Contributor. A Contribution + "originates" from a Contributor if it was added to the Program by + such Contributor itself or anyone acting on such Contributor's behalf. + Contributions do not include changes or additions to the Program that + are not Modified Works. + +"Contributor" means any person or entity that Distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +"Program" means the Contributions Distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement +or any Secondary License (as applicable), including Contributors. + +"Derivative Works" shall mean any work, whether in Source Code or other +form, that is based on (or derived from) the Program and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. + +"Modified Works" shall mean any work in Source Code or other form that +results from an addition to, deletion from, or modification of the +contents of the Program, including, for purposes of clarity any new file +in Source Code form that contains any contents of the Program. Modified +Works shall not include works that contain only declarations, +interfaces, types, classes, structures, or files of the Program solely +in each case in order to link to, bind by name, or subclass the Program +or Modified Works thereof. + +"Distribute" means the acts of a) distributing or b) making available +in any manner that enables the transfer of a copy. + +"Source Code" means the form of a Program preferred for making +modifications, including but not limited to software source code, +documentation source, and configuration files. + +"Secondary License" means either the GNU General Public License, +Version 2.0, or any later versions of that license, including any +exceptions or additional permissions as identified by the initial +Contributor. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free copyright + license to reproduce, prepare Derivative Works of, publicly display, + publicly perform, Distribute and sublicense the Contribution of such + Contributor, if any, and such Derivative Works. + + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free patent + license under Licensed Patents to make, use, sell, offer to sell, + import and otherwise transfer the Contribution of such Contributor, + if any, in Source Code or other form. This patent license shall + apply to the combination of the Contribution and the Program if, at + the time the Contribution is added by the Contributor, such addition + of the Contribution causes such combination to be covered by the + Licensed Patents. The patent license shall not apply to any other + combinations which include the Contribution. No hardware per se is + licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the + patent or other intellectual property rights of any other entity. + Each Contributor disclaims any liability to Recipient for claims + brought by any other entity based on infringement of intellectual + property rights or otherwise. As a condition to exercising the + rights and licenses granted hereunder, each Recipient hereby + assumes sole responsibility to secure any other intellectual + property rights needed, if any. For example, if a third party + patent license is required to allow Recipient to Distribute the + Program, it is Recipient's responsibility to acquire that license + before distributing the Program. + + d) Each Contributor represents that to its knowledge it has + sufficient copyright rights in its Contribution, if any, to grant + the copyright license set forth in this Agreement. + + e) Notwithstanding the terms of any Secondary License, no + Contributor makes additional grants to any Recipient (other than + those set forth in this Agreement) as a result of such Recipient's + receipt of the Program under the terms of a Secondary License + (if permitted under the terms of Section 3). + +3. REQUIREMENTS + +3.1 If a Contributor Distributes the Program in any form, then: + + a) the Program must also be made available as Source Code, in + accordance with section 3.2, and the Contributor must accompany + the Program with a statement that the Source Code for the Program + is available under this Agreement, and informs Recipients how to + obtain it in a reasonable manner on or through a medium customarily + used for software exchange; and + + b) the Contributor may Distribute the Program under a license + different than this Agreement, provided that such license: + i) effectively disclaims on behalf of all other Contributors all + warranties and conditions, express and implied, including + warranties or conditions of title and non-infringement, and + implied warranties or conditions of merchantability and fitness + for a particular purpose; + + ii) effectively excludes on behalf of all other Contributors all + liability for damages, including direct, indirect, special, + incidental and consequential damages, such as lost profits; + + iii) does not attempt to limit or alter the recipients' rights + in the Source Code under section 3.2; and + + iv) requires any subsequent distribution of the Program by any + party to be under a license that satisfies the requirements + of this section 3. + +3.2 When the Program is Distributed as Source Code: + + a) it must be made available under this Agreement, or if the + Program (i) is combined with other material in a separate file or + files made available under a Secondary License, and (ii) the initial + Contributor attached to the Source Code the notice described in + Exhibit A of this Agreement, then the Program may be made available + under the terms of such Secondary Licenses, and + + b) a copy of this Agreement must be included with each copy of + the Program. + +3.3 Contributors may not remove or alter any copyright, patent, +trademark, attribution notices, disclaimers of warranty, or limitations +of liability ("notices") contained within the Program from any copy of +the Program which they Distribute, provided that Contributors may add +their own appropriate notices. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, +the Contributor who includes the Program in a commercial product +offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes +the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and indemnify every +other Contributor ("Indemnified Contributor") against any losses, +damages and costs (collectively "Losses") arising from claims, lawsuits +and other legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the Program +in a commercial product offering. The obligations in this section do not +apply to any claims or Losses relating to any actual or alleged +intellectual property infringement. In order to qualify, an Indemnified +Contributor must: a) promptly notify the Commercial Contributor in +writing of such claim, and b) allow the Commercial Contributor to control, +and cooperate with the Commercial Contributor in, the defense and any +related settlement negotiations. The Indemnified Contributor may +participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those performance +claims and warranties, and if a court requires any other Contributor to +pay any damages as a result, the Commercial Contributor must pay +those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF +TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE. Each Recipient is solely responsible for determining the +appropriateness of using and distributing the Program and assumes all +risks associated with its exercise of rights under this Agreement, +including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs +or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS +SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE +EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further +action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other software +or hardware) infringes such Recipient's patent(s), then such Recipient's +rights granted under Section 2(b) shall terminate as of the date such +litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of +time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use +and distribution of the Program as soon as reasonably practicable. +However, Recipient's obligations under this Agreement and any licenses +granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and +may only be modified in the following manner. The Agreement Steward +reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement +Steward has the right to modify this Agreement. The Eclipse Foundation +is the initial Agreement Steward. The Eclipse Foundation may assign the +responsibility to serve as the Agreement Steward to a suitable separate +entity. Each new version of the Agreement will be given a distinguishing +version number. The Program (including Contributions) may always be +Distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is published, +Contributor may elect to Distribute the Program (including its +Contributions) under the new version. + +Except as expressly stated in Sections 2(a) and 2(b) above, Recipient +receives no rights or licenses to the intellectual property of any +Contributor under this Agreement, whether expressly, by implication, +estoppel or otherwise. All rights in the Program not expressly granted +under this Agreement are reserved. Nothing in this Agreement is intended +to be enforceable by any entity that is not a Contributor or Recipient. +No third-party beneficiary rights are created under this Agreement. + +Exhibit A - Form of Secondary Licenses Notice + +"This Source Code may also be made available under the following +Secondary Licenses when the conditions for such availability set forth +in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), +version(s), and exceptions or additional permissions here}." + + Simply including a copy of this Agreement, including this Exhibit A + is not sufficient to license the Source Code under Secondary Licenses. + + If it is not possible or desirable to put the notice in a particular + file, then You may include the notice in a location (such as a LICENSE + file in a relevant directory) where a recipient would be likely to + look for such a notice. + + You may add additional accurate notices of copyright ownership. \ No newline at end of file diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-cipher.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-cipher.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-cipher.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-component-annotations.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-component-annotations.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-component-annotations.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-interpolation.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-interpolation.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-interpolation.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-sec-dispatcher.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-sec-dispatcher.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-sec-dispatcher.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-utils.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-utils.license new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-utils.license @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/slf4j-api.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/slf4j-api.license new file mode 100644 index 000000000..1a3d05323 --- /dev/null +++ b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/slf4j-api.license @@ -0,0 +1,24 @@ +Copyright (c) 2004-2022 QOS.ch Sarl (Switzerland) +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + From dc98618e1d61d374c68c4b89866d20973da6060e Mon Sep 17 00:00:00 2001 From: Pavel Halukha Date: Mon, 16 Mar 2026 16:15:28 +0300 Subject: [PATCH 5/8] fix lab3 --- maven-mvnd-1.0.3-windows-amd64/LICENSE.txt | 203 ----- maven-mvnd-1.0.3-windows-amd64/NOTICE.txt | 8 - maven-mvnd-1.0.3-windows-amd64/README.adoc | 249 ------ .../conf/mvnd.properties | 153 ---- maven-mvnd-1.0.3-windows-amd64/mvn/LICENSE | 616 -------------- maven-mvnd-1.0.3-windows-amd64/mvn/NOTICE | 98 --- maven-mvnd-1.0.3-windows-amd64/mvn/README.txt | 41 - .../mvn/boot/plexus-classworlds.license | 202 ----- .../conf/logging/java.util.logging.properties | 16 - .../mvn/conf/logging/simplelogger.properties | 30 - .../mvn/conf/settings.xml | 265 ------ .../mvn/conf/toolchains.xml | 103 --- .../mvn/lib/aopalliance.license | 1 - .../mvn/lib/asm.license | 29 - .../mvn/lib/commons-cli.license | 202 ----- .../mvn/lib/commons-codec.license | 202 ----- .../mvn/lib/error_prone_annotations.license | 202 ----- .../mvn/lib/ext/README.txt | 2 - .../mvn/lib/ext/hazelcast/README.txt | 6 - .../mvn/lib/ext/redisson/README.txt | 6 - .../mvn/lib/failureaccess.license | 202 ----- .../mvn/lib/gson.license | 202 ----- .../mvn/lib/guava.license | 202 ----- .../mvn/lib/guice.license | 202 ----- .../mvn/lib/httpclient.license | 202 ----- .../mvn/lib/httpcore.license | 202 ----- .../mvn/lib/jansi-native/README.txt | 8 - .../mvn/lib/jansi.license | 202 ----- .../mvn/lib/javax.annotation-api.license | 759 ------------------ .../mvn/lib/javax.inject.license | 202 ----- .../mvn/lib/jcl-over-slf4j.license | 202 ----- .../mvn/lib/jspecify.license | 202 ----- .../mvn/lib/org.eclipse.sisu.inject.license | 277 ------- .../mvn/lib/org.eclipse.sisu.plexus.license | 277 ------- .../mvn/lib/plexus-cipher.license | 202 ----- .../lib/plexus-component-annotations.license | 202 ----- .../mvn/lib/plexus-interpolation.license | 202 ----- .../mvn/lib/plexus-sec-dispatcher.license | 202 ----- .../mvn/lib/plexus-utils.license | 202 ----- .../mvn/lib/slf4j-api.license | 24 - 40 files changed, 7009 deletions(-) delete mode 100644 maven-mvnd-1.0.3-windows-amd64/LICENSE.txt delete mode 100644 maven-mvnd-1.0.3-windows-amd64/NOTICE.txt delete mode 100644 maven-mvnd-1.0.3-windows-amd64/README.adoc delete mode 100644 maven-mvnd-1.0.3-windows-amd64/conf/mvnd.properties delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/LICENSE delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/NOTICE delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/README.txt delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/boot/plexus-classworlds.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/java.util.logging.properties delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/simplelogger.properties delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/conf/settings.xml delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/conf/toolchains.xml delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/aopalliance.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/asm.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-cli.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-codec.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/error_prone_annotations.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/README.txt delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/hazelcast/README.txt delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/redisson/README.txt delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/failureaccess.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/gson.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/guava.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/guice.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpclient.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpcore.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi-native/README.txt delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.annotation-api.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.inject.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/jcl-over-slf4j.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/jspecify.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.inject.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.plexus.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-cipher.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-component-annotations.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-interpolation.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-sec-dispatcher.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-utils.license delete mode 100644 maven-mvnd-1.0.3-windows-amd64/mvn/lib/slf4j-api.license diff --git a/maven-mvnd-1.0.3-windows-amd64/LICENSE.txt b/maven-mvnd-1.0.3-windows-amd64/LICENSE.txt deleted file mode 100644 index 6b0b1270f..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/LICENSE.txt +++ /dev/null @@ -1,203 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. - diff --git a/maven-mvnd-1.0.3-windows-amd64/NOTICE.txt b/maven-mvnd-1.0.3-windows-amd64/NOTICE.txt deleted file mode 100644 index 62f1b4b76..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/NOTICE.txt +++ /dev/null @@ -1,8 +0,0 @@ -This project contains code coming from other projects -licensed under the Apache Software License 2.0: - - - Apache Maven project (https://maven.apache.org) - - Takari Smart Builder (https://github.com/takari/takari-smart-builder) - - maven-buildtime-extension (https://github.com/timgifford/maven-buildtime-extension) - - Apache Karaf (https://karaf.apache.org) - - Gradle Launcher (https://github.com/gradle/gradle/tree/master/subprojects/launcher) diff --git a/maven-mvnd-1.0.3-windows-amd64/README.adoc b/maven-mvnd-1.0.3-windows-amd64/README.adoc deleted file mode 100644 index f0935afb9..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/README.adoc +++ /dev/null @@ -1,249 +0,0 @@ -= `mvnd` - the Maven Daemon -:toc: macro - -image::https://img.shields.io/twitter/url/https/twitter.com/mvndaemon.svg?style=social&label=Follow%20%40mvndaemon[link="https://twitter.com/mvndaemon"] - -toc::[] - -== Introduction - -This project aims at providing faster https://maven.apache.org/[Maven] builds using techniques known from Gradle and -Takari. - -Architecture overview: - -* `mvnd` embeds Maven (so there is no need to install Maven separately). -* The actual builds happen inside a long living background process, a.k.a. daemon. -* One daemon instance can serve multiple consecutive requests from the `mvnd` client. -* The `mvnd` client is a native executable built using https://www.graalvm.org/reference-manual/native-image/[GraalVM]. - It starts faster and uses less memory compared to starting a traditional JVM. -* Multiple daemons can be spawned in parallel if there is no idle daemon to serve a build request. - -This architecture brings the following advantages: - -* The JVM for running the actual builds does not need to get started anew for each build. -* The classloaders holding classes of Maven plugins are cached over multiple builds. The plugin jars are thus read - and parsed just once. SNAPSHOT versions of Maven plugins are not cached. -* The native code produced by the Just-In-Time (JIT) compiler inside the JVM is kept too. Compared to stock Maven, - less time is spent by the JIT compilation. During the repeated builds the JIT-optimized code is available - immediately. This applies not only to the code coming from Maven plugins and Maven Core, but also to all code coming - from the JDK itself. - -== Additional features - -`mvnd` brings the following features on top of the stock Maven: - -* By default, `mvnd` is building your modules in parallel using multiple CPU cores. The number of utilized cores is - given by the formula `Math.max(Runtime.getRuntime().availableProcessors() - 1, 1)`. If your source tree does not - support parallel builds, pass `-T1` into the command line to make your build serial. -* Improved console output: we believe that the output of a parallel build on stock Maven is hard to follow. Therefore, -we implemented a simplified non-rolling view showing the status of each build thread on a separate line. This is -what it looks like on a machine with 24 cores: -+ -image::https://user-images.githubusercontent.com/1826249/103917178-94ee4500-510d-11eb-9abb-f52dae58a544.gif[] -+ -Once the build is finished, the complete Maven output is forwarded to the console. - -== How to install `mvnd` - -=== Install using https://sdkman.io/[SDKMAN!] - -If SDKMAN! supports your operating system, it is as easy as - -[source,shell] ----- -$ sdk install mvnd ----- - -If you used the manual install in the past, please make sure that the settings in `~/.m2/mvnd.properties` still make -sense. With SDKMAN!, the `~/.m2/mvnd.properties` file is typically not needed at all, because both `JAVA_HOME` and -`MVND_HOME` are managed by SDKMAN!. - -=== Install using https://brew.sh/[Homebrew] - -[source,shell] ----- -$ brew install mvndaemon/homebrew-mvnd/mvnd ----- - -=== Other installers - -We're looking for contribution to support https://www.macports.org[MacPorts], -https://community.chocolatey.org/packages/mvndaemon/[Chocolatey], https://scoop.sh/[Scoop] or -https://github.com/joschi/asdf-mvnd#install[asdf]. If you fancy helping us... - -//// -=== Install using https://www.macports.org[MacPorts] - -[source,shell] ----- -$ sudo port install mvnd ----- - -=== Install using https://community.chocolatey.org/packages/mvndaemon/[Chocolatey] - -[source,shell] ----- -$ choco install mvndaemon ----- - -=== Install using https://scoop.sh/[Scoop] - -[source,shell] ----- -$ scoop install mvndaemon ----- - -=== Install using https://github.com/joschi/asdf-mvnd#install[asdf] - -[source,shell] ----- -$ asdf plugin-add mvnd -$ asdf install mvnd latest ----- -//// - -=== Set up completion - -Optionally, you can set up completion as follows: -[source,shell] ----- -# ensure that MVND_HOME points to your mvnd distribution, note that sdkman does it for you -$ echo 'source $MVND_HOME/bin/mvnd-bash-completion.bash' >> ~/.bashrc ----- -`bash` is the only shell supported at this time. - -=== Note for oh-my-zsh users === - -Users that use `oh-my-zsh` often use completion for maven. The default maven completion plugin defines `mvnd` as an alias to `mvn deploy`. So before being able to use `mvnd`, you need to unalias using the following command: -[source,shell] ----- -$ unalias mvnd ----- - - -=== Install manually - -* Download the latest ZIP suitable for your platform from https://downloads.apache.org/maven/mvnd/ -* Unzip to a directory of your choice -* Add the `bin` directory to `PATH` -* Optionally, you can create `~/.m2/mvnd.properties` and set the `java.home` property in case you do not want to bother - with setting the `JAVA_HOME` environment variable. -* Test whether `mvnd` works: -+ -[source,shell] ----- -$ mvnd --version -Maven Daemon 0.0.11-linux-amd64 (native) -Terminal: org.jline.terminal.impl.PosixSysTerminal with pty org.jline.terminal.impl.jansi.osx.OsXNativePty -Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) -Maven home: /home/ppalaga/orgs/mvnd/mvnd/daemon/target/maven-distro -Java version: 11.0.1, vendor: AdoptOpenJDK, runtime: /home/data/jvm/adopt-openjdk/jdk-11.0.1+13 -Default locale: en_IE, platform encoding: UTF-8 -OS name: "linux", version: "5.6.13-200.fc31.x86_64", arch: "amd64", family: "unix" ----- -+ -If you are on Windows and see a message that `VCRUNTIME140.dll was not found`, you need to install -`vc_redist.x64.exe` from https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads. -See https://github.com/oracle/graal/issues/1762 for more information. -+ -If you are on macOS, you'll need to remove the quarantine flags from all the files after unpacking the archive: -[source,shell] ----- -$ xattr -r -d com.apple.quarantine mvnd-x.y.z-darwin-amd64 ----- - -== Usage - -`mvnd` is designed to accept the same command line options like stock `mvn` (plus some extras - see below), e.g.: - -[source,shell] ----- -mvnd verify ----- - -== `mvnd` specific options - -`--status` lists running daemons - -`--stop` kills all running daemons - -`mvnd --help` prints the complete list of options - - -== Configuration -Configuration can be provided through the properties file. Mvnd reads the properties file from the following locations: - -* the properties path supplied using `MVND_PROPERTIES_PATH` environment variable or `mvnd.propertiesPath` system variable -* the local properties path located at `[PROJECT_HOME]/.mvn/mvnd.properties` -* the user properties path located at: `[USER_HOME]/.m2/mvnd.properties` -* the system properties path located at: `[MVND_HOME]/conf/mvnd.properties` - -Properties defined in the first files will take precedence over properties specified in a lower ranked file. - -A few special properties do not follow the above mechanism: - -* `mvnd.daemonStorage`: this property defines the location where mvnd stores its files (registry and daemon logs). This property can only be defined as a system property on the command line -* `mvnd.id`: this property is used internally to identify the daemon being created -* `mvnd.extClasspath`: internal option to specify the maven extension classpath -* `mvnd.coreExtensions`: internal option to specify the list of maven extension to register - -For a full list of available properties please see -https://github.com/apache/maven-mvnd/blob/master/dist/src/main/distro/conf/mvnd.properties[/dist/src/main/distro/conf/mvnd.properties]. - -== Build `mvnd` from source - -=== Prerequisites: - -* `git` -* Maven -* Download and unpack GraalVM CE from https://github.com/graalvm/graalvm-ce-builds/releases[GitHub] -* Set `JAVA_HOME` to where you unpacked GraalVM in the previous step. Check that `java -version` output is as - expected: -+ -[source,shell] ----- -$ $JAVA_HOME/bin/java -version -openjdk version "11.0.9" 2020-10-20 -OpenJDK Runtime Environment GraalVM CE 20.3.0 (build 11.0.9+10-jvmci-20.3-b06) -OpenJDK 64-Bit Server VM GraalVM CE 20.3.0 (build 11.0.9+10-jvmci-20.3-b06, mixed mode, sharing) ----- -+ -* Install the `native-image` tool: -+ -[source,shell] ----- -$ $JAVA_HOME/bin/gu install native-image ----- - -* `native-image` may require additional software to be installed depending on your platform - see the -https://www.graalvm.org/reference-manual/native-image/#prerequisites[`native-image` documentation]. - -=== Build `mvnd` - -[source,shell] ----- -$ git clone https://github.com/apache/maven-mvnd.git -$ cd maven-mvnd -$ mvn clean verify -Pnative -... -$ cd client -$ file target/mvnd -target/mvnd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=93a554f3807550a13c986d2af9a311ef299bdc5a, for GNU/Linux 3.2.0, with debug_info, not stripped -$ ls -lh target/mvnd --rwxrwxr-x. 1 ppalaga ppalaga 25M Jun 2 13:23 target/mvnd ----- - -Please note that if you are using Windows as your operating system you will need the following prerequisites for building `maven-mvnd`: -a version of Visual Studio with the workload "Desktop development with C++" and the individual component "Windows Universal CRT SDK". - -=== Install `mvnd` - -[source, shell] ----- -$ cp -R dist/target/mvnd-[version] [target-dir] ----- - -Then you can simply add `[target-dir]/bin` to your `PATH` and run `mvnd`. - -We're happy to improve `mvnd`, so https://github.com/apache/maven-mvnd/issues[feedback] is most welcome! diff --git a/maven-mvnd-1.0.3-windows-amd64/conf/mvnd.properties b/maven-mvnd-1.0.3-windows-amd64/conf/mvnd.properties deleted file mode 100644 index d528002e9..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/conf/mvnd.properties +++ /dev/null @@ -1,153 +0,0 @@ -# -# Copyright 2020 the original author or authors. -# -# Licensed 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. -# - -# -# This file contains the properties that can be configured through properties file. -# Note that mvnd read properties file from the following locations: -# - the supplied properties path -# through the MVND_PROPERTIES_PATH environment variable or -# through the mvnd.propertiesPath system variable -# - the local properties path -# located at [PROJECT_HOME]/.mvn/mvnd.properties -# - the user properties path -# located at [USER_HOME]/.m2/mvnd.properties -# - the system properties path -# located at [MVND_HOME]/conf/mvnd.properties -# Properties defined in the first files will take precedence over properties -# specified in a lower ranked file. -# -# A few special properties do not follow the above mechanism: -# - mvnd.daemonStorage: this property defines the location where mvnd stores its -# files (registry and daemon logs). This property can only be defined as -# a system property on the command line -# - mvnd.id: this property is used internally to identify the daemon being created -# - mvnd.extClasspath: internal option to specify the maven extension classpath -# - mvnd.coreExtensions: internal option to specify the list of maven extension to register -# - -# MVND_NO_BUFFERING -# Property that can be set to avoid buffering the output and display events continuously, -# closer to the usual maven display. Passing {@code -B} or {@code --batch-mode} on the -# command line enables this too for the given build. -# -# mvnd.noBuffering = false - -# MVND_ROLLING_WINDOW_SIZE -# The number of log lines to display for each Maven module that is built in parallel. -# -# mvnd.rollingWindowSize = 0 - -# MVND_LOG_PURGE_PERIOD -# The automatic log purge period. -# -# mvnd.logPurgePeriod = 7d - -# MVND_NO_DAEMON -# Property to disable using a daemon (usefull for debugging, and only available in non native mode). -# -# mvnd.noDaemon = false - -# MVND_DEBUG -# Property to launch the daemon in debug mode with the following JVM argument -# -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000 -# -# mvnd.debug = false - -# MVND_IDLE_TIMEOUT -# Duration after which an unused daemon will shut down. -# -# mvnd.idleTimeout = 3 hours - -# MVND_KEEP_ALIVE -# Time after which a daemon will send a keep-alive message to the client if the current build -# has produced no output. -# -# mvnd.keepAlive = 100 ms - -# MVND_MAX_LOST_KEEP_ALIVE -# The maximum number of keep alive message that can be lost before the client considers the daemon -# as having had a failure. -# -# mvnd.maxLostKeepAlive = 30 - -# MVND_MIN_THREADS -# The minimum number of threads to use when constructing the default {@code -T} parameter for the daemon. -# This value is ignored if @{@code -T}, @{@code --threads} or {@code -Dmvnd.threads} is specified on the command -# line, or if {@code mvnd.threads} is specified in {@code ~/.m2/mvnd.properties}. -# -# mvnd.minThreads = 1 - -# MVND_THREADS -# The number of threads to pass to the daemon; same syntax as Maven's {@code -T}/{@code --threads} option. Ignored -# if the user passes @{@code -T}, @{@code --threads} or {@code -Dmvnd.threads} on the command -# line. -# -# mvnd.threads = - -# MVND_BUILDER -# The maven builder name to use. Ignored if the user passes -# {@code -b} or {@code --builder} on the command line -# -# mvnd.builder = smart - -# MVND_MIN_HEAP_SIZE -# JVM options for the daemon to specify the starting heap size -## -# mvnd.minHeapSize = 128M - -# MVND_MAX_HEAP_SIZE -# JVM options for the daemon to specify the maximum heap size -# -# mvnd.maxHeapSize = 2G - -# MVND_THREAD_STACK_SIZE -# JVM options for the daemon to specify the thread stack size -# -# mvnd.threadStackSize = 1M - -# MVND_JVM_ARGS -# Additional JVM args for the daemon -# -# mvnd.jvmArgs = - -# MVND_ENABLE_ASSERTIONS -# JVM options for the daemon to enable assertions -# -# mvnd.enableAssertions = false - -# MVND_EXPIRATION_CHECK_DELAY -# Interval to check if the daemon should expire -# -# mvnd.expirationCheckDelay = 10 seconds - -# MVND_DUPLICATE_DAEMON_GRACE_PERIOD -# Period after which idle daemons will shut down -# -# mvnd.duplicateDaemonGracePeriod = 10 seconds - -# MVND_HOME -# The daemon installation directory. The client normally sets this according to where its mvnd executable is located -# -# mvnd.home= - -# JAVA_HOME -# Java home for starting the daemon. The client normally sets this as environment variable: JAVA_HOME -# -# java.home= - -# -# The location of the maven settings file. The client normally uses default settings in {@code ~/.m2/settings.xml}. -# maven.settings= diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/LICENSE b/maven-mvnd-1.0.3-windows-amd64/mvn/LICENSE deleted file mode 100644 index 0dc9a9fda..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/LICENSE +++ /dev/null @@ -1,616 +0,0 @@ - - -Apache Maven includes a number of components and libraries with separate -copyright notices and license terms. Your use of those components are -subject to the terms and conditions of the following licenses: - - - - - - - - - - - -- lib/aopalliance-1.0.jar: aopalliance:aopalliance:jar:1.0 - Project: AOP alliance -Project URL: http://aopalliance.sourceforge.net - License: Public Domain (unrecognized) - - License URL: $license.url (lib/aopalliance.license) - - - - - - - - - - - - - - -- lib/gson-2.13.1.jar: com.google.code.gson:gson:jar:2.13.1 - Project: Gson -Project URL: https://github.com/google/gson - License: Apache-2.0 (Apache-2.0) - - License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/gson.license) - - - - - - - - - - - - - - -- lib/error_prone_annotations-2.38.0.jar: com.google.errorprone:error_prone_annotations:jar:2.38.0 - Project: error-prone annotations -Project URL: https://errorprone.info/error_prone_annotations - License: Apache 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/error_prone_annotations.license) - - - - - - - - - - - - - - - -- lib/failureaccess-1.0.3.jar: com.google.guava:failureaccess:jar:1.0.3 - Project: Guava InternalFutureFailureAccess and InternalFutures -Project URL: https://github.com/google/guava/ - License: Apache License, Version 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/failureaccess.license) - - - - - - - - - - - - - - -- lib/guava-33.4.8-jre.jar: com.google.guava:guava:bundle:33.4.8-jre - Project: Guava: Google Core Libraries for Java -Project URL: https://github.com/google/guava - License: Apache License, Version 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/guava.license) - - - - - - - - - - - - - - - -- lib/guice-5.1.0.jar: com.google.inject:guice:jar:5.1.0 - Project: Google Guice - Core Library -Project URL: https://github.com/google/guice/ - License: The Apache Software License, Version 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/guice.license) - - - - - - - - - - - - - - -- lib/commons-cli-1.9.0.jar: commons-cli:commons-cli:jar:1.9.0 - Project: Apache Commons CLI -Project URL: https://commons.apache.org/proper/commons-cli/ - License: Apache-2.0 (Apache-2.0) - - License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/commons-cli.license) - - - - - - - - - - - - - - -- lib/commons-codec-1.18.0.jar: commons-codec:commons-codec:jar:1.18.0 - Project: Apache Commons Codec -Project URL: https://commons.apache.org/proper/commons-codec/ - License: Apache-2.0 (Apache-2.0) - - License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/commons-codec.license) - - - - - - - - - - - - - - -- lib/javax.annotation-api-1.3.2.jar: javax.annotation:javax.annotation-api:jar:1.3.2 - Project: javax.annotation API -Project URL: http://jcp.org/en/jsr/detail?id=250 - License: CDDL + GPLv2 with classpath exception (unrecognized) - - License URL: https://github.com/javaee/javax.annotation/blob/master/LICENSE (lib/javax.annotation-api.license) - - - - - - - - - - - - - - -- lib/javax.inject-1.jar: javax.inject:javax.inject:jar:1 - Project: javax.inject -Project URL: http://code.google.com/p/atinject/ - License: The Apache Software License, Version 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/javax.inject.license) - - - - - - - - - - - - - - -- lib/httpclient-4.5.14.jar: org.apache.httpcomponents:httpclient:jar:4.5.14 - Project: Apache HttpClient -Project URL: http://hc.apache.org/httpcomponents-client-ga - License: Apache License, Version 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/httpclient.license) - - - - - - - - - - - - - - -- lib/httpcore-4.4.16.jar: org.apache.httpcomponents:httpcore:jar:4.4.16 - Project: Apache HttpCore -Project URL: http://hc.apache.org/httpcomponents-core-ga - License: Apache License, Version 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/httpcore.license) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- lib/plexus-cipher-2.0.jar: org.codehaus.plexus:plexus-cipher:jar:2.0 - Project: Plexus Cipher: encryption/decryption Component -Project URL: https://codehaus-plexus.github.io/plexus-cipher/ - License: Apache License, Version 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-cipher.license) - - - - - - - - - - - - - - - -- boot/plexus-classworlds-2.9.0.jar: org.codehaus.plexus:plexus-classworlds:bundle:2.9.0 - Project: Plexus Classworlds -Project URL: https://codehaus-plexus.github.io/plexus-classworlds/ - License: Apache-2.0 (Apache-2.0) - - License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (boot/plexus-classworlds.license) - - - - - - - - - - - - - - -- lib/plexus-component-annotations-2.2.0.jar: org.codehaus.plexus:plexus-component-annotations:jar:2.2.0 - Project: Plexus :: Component Annotations (deprecated) -Project URL: https://codehaus-plexus.github.io/plexus-containers/plexus-component-annotations/ - License: Apache License, Version 2.0 (Apache-2.0) - - License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-component-annotations.license) - - - - - - - - - - - - - - -- lib/plexus-interpolation-1.28.jar: org.codehaus.plexus:plexus-interpolation:bundle:1.28 - Project: Plexus Interpolation API -Project URL: https://codehaus-plexus.github.io/plexus-pom/plexus-interpolation/ - License: Apache-2.0 (Apache-2.0) - - License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-interpolation.license) - - - - - - - - - - - - - - -- lib/plexus-sec-dispatcher-2.0.jar: org.codehaus.plexus:plexus-sec-dispatcher:jar:2.0 - Project: Plexus Security Dispatcher Component -Project URL: https://codehaus-plexus.github.io/plexus-sec-dispatcher/ - License: Apache License, Version 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-sec-dispatcher.license) - - - - - - - - - - - - - - -- lib/plexus-utils-3.6.0.jar: org.codehaus.plexus:plexus-utils:jar:3.6.0 - Project: Plexus Common Utilities -Project URL: https://codehaus-plexus.github.io/plexus-utils/ - License: Apache License, Version 2.0 (Apache-2.0) - - License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-utils.license) - - - - - - - - - - - - - - -- lib/org.eclipse.sisu.inject-0.9.0.M4.jar: org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.9.0.M4 - Project: org.eclipse.sisu:org.eclipse.sisu.inject -Project URL: https://eclipse.dev/sisu/org.eclipse.sisu.inject/ - License: Eclipse Public License, Version 2.0 (EPL-2.0) - - License URL: https://www.eclipse.org/legal/epl-v20.html (lib/org.eclipse.sisu.inject.license) - - - - - - - - - - - - - - -- lib/org.eclipse.sisu.plexus-0.9.0.M4.jar: org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.9.0.M4 - Project: org.eclipse.sisu:org.eclipse.sisu.plexus -Project URL: https://eclipse.dev/sisu/org.eclipse.sisu.plexus/ - License: Eclipse Public License, Version 2.0 (EPL-2.0) - - License URL: https://www.eclipse.org/legal/epl-v20.html (lib/org.eclipse.sisu.plexus.license) - - - - - - - - - - - - - - -- lib/jansi-2.4.2.jar: org.fusesource.jansi:jansi:jar:2.4.2 - Project: Jansi -Project URL: http://fusesource.github.io/jansi - License: Apache License, Version 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/jansi.license) - - - - - - - - - - - - - - -- lib/jspecify-1.0.0.jar: org.jspecify:jspecify:jar:1.0.0 - Project: JSpecify annotations -Project URL: http://jspecify.org/ - License: The Apache License, Version 2.0 (Apache-2.0) - - License URL: http://www.apache.org/licenses/LICENSE-2.0.txt (lib/jspecify.license) - - - - - - - - - - - - - - -- lib/asm-9.8.jar: org.ow2.asm:asm:jar:9.8 - Project: asm -Project URL: http://asm.ow2.io/ - License: BSD-3-Clause (unrecognized) - - License URL: https://asm.ow2.io/license.html (lib/asm.license) - - - - - - - - - - - - - - -- lib/jcl-over-slf4j-1.7.36.jar: org.slf4j:jcl-over-slf4j:jar:1.7.36 - Project: JCL 1.2 implemented over SLF4J -Project URL: http://www.slf4j.org - License: Apache License, Version 2.0 (Apache-2.0) - - License URL: https://www.apache.org/licenses/LICENSE-2.0.txt (lib/jcl-over-slf4j.license) - - - - - - - - - - - - - - -- lib/slf4j-api-1.7.36.jar: org.slf4j:slf4j-api:jar:1.7.36 - Project: SLF4J API Module -Project URL: http://www.slf4j.org - License: MIT License (MIT) - - License URL: http://www.opensource.org/licenses/mit-license.php (lib/slf4j-api.license) - - - diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/NOTICE b/maven-mvnd-1.0.3-windows-amd64/mvn/NOTICE deleted file mode 100644 index c05881722..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/NOTICE +++ /dev/null @@ -1,98 +0,0 @@ -This software bundles the following NOTICE files from third party library providers: - -META-INF/NOTICE in archive lib/guice-5.1.0.jar -Google Guice - Core Library -Copyright 2006-2022 Google, Inc. -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -META-INF/NOTICE in archive lib/plexus-utils-3.2.1.jar -This product includes software developed by the Indiana University - Extreme! Lab (http://www.extreme.indiana.edu/). -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). -This product includes software developed by -ThoughtWorks (http://www.thoughtworks.com). -This product includes software developed by -javolution (http://javolution.org/). -This product includes software developed by -Rome (https://rome.dev.java.net/). - -about.html in archive lib/org.eclipse.sisu.inject-0.3.5.jar - - - - - -About org.eclipse.sisu.inject - - -

About org.eclipse.sisu.inject

- -

November 5, 2013

-

License

- -

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

- -

If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

- -

Third Party Content

-

The Content includes items that have been sourced from third parties as set -out below. If you did not receive this Content directly from the Eclipse Foundation, -the following is provided for informational purposes only, and you should look -to the Redistributor's license for terms and conditions of use.

- -

ASM 4.1

-

The plug-in includes software developed by the ObjectWeb consortium as part -of the ASM project at http://asm.ow2.org/.

- -

A subset of ASM is re-packaged within the source and binary of the plug-in (org.eclipse.sisu.space.asm.*) -to avoid version collisions with other usage and is also available from the plug-in's github repository.

- -

Your use of the ASM code is subject to the terms and conditions of the ASM License -below which is also available at http://asm.ow2.org/license.html.

- -
-Copyright (c) 2000-2011 INRIA, France Telecom
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holders nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGE.
-
- - - diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/README.txt b/maven-mvnd-1.0.3-windows-amd64/mvn/README.txt deleted file mode 100644 index 6d959bbf7..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/README.txt +++ /dev/null @@ -1,41 +0,0 @@ - - Apache Maven - - What is it? - ----------- - - Maven is a software project management and comprehension tool. Based on - the concept of a Project Object Model (POM), Maven can manage a project's - build, reporting and documentation from a central piece of information. - - Documentation - ------------- - - The most up-to-date documentation can be found at https://maven.apache.org/. - - Release Notes - ------------- - - The full list of changes, system requirements and related can be found at https://maven.apache.org/docs/history.html. - - Installing Maven - ---------------- - - For complete documentation see https://maven.apache.org/download.html#Installation - - Licensing - --------- - - Please see the file called LICENSE. - - Maven URLS - ---------- - - Home Page: https://maven.apache.org/ - Downloads: https://maven.apache.org/download.html - Release Notes: https://maven.apache.org/docs/history.html - Mailing Lists: https://maven.apache.org/mailing-lists.html - Source Code: https://gitbox.apache.org/repos/asf/maven.git - Issue Tracking: https://issues.apache.org/jira/browse/MNG - Wiki: https://cwiki.apache.org/confluence/display/MAVEN/ - Available Plugins: https://maven.apache.org/plugins/ diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/boot/plexus-classworlds.license b/maven-mvnd-1.0.3-windows-amd64/mvn/boot/plexus-classworlds.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/boot/plexus-classworlds.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/java.util.logging.properties b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/java.util.logging.properties deleted file mode 100644 index b21a7d3b7..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/java.util.logging.properties +++ /dev/null @@ -1,16 +0,0 @@ -# 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/simplelogger.properties b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/simplelogger.properties deleted file mode 100644 index 8c4a5d1e4..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/logging/simplelogger.properties +++ /dev/null @@ -1,30 +0,0 @@ -# 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. - -org.slf4j.simpleLogger.defaultLogLevel=info -org.slf4j.simpleLogger.showDateTime=false -org.slf4j.simpleLogger.showThreadName=false -org.slf4j.simpleLogger.showLogName=false -org.slf4j.simpleLogger.logFile=System.out -org.slf4j.simpleLogger.cacheOutputStream=true -org.slf4j.simpleLogger.levelInBrackets=true -org.slf4j.simpleLogger.log.Sisu=info -org.slf4j.simpleLogger.warnLevelString=WARNING - -# MNG-6181: mvn -X also prints all debug logging from HttpClient -org.slf4j.simpleLogger.log.org.apache.http=off -org.slf4j.simpleLogger.log.org.apache.http.wire=off diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/settings.xml b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/settings.xml deleted file mode 100644 index 0d649762e..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/settings.xml +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - maven-default-http-blocker - external:http:* - Pseudo repository to mirror external repositories initially using HTTP. - http://0.0.0.0/ - true - - - - - - - - - - - - diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/toolchains.xml b/maven-mvnd-1.0.3-windows-amd64/mvn/conf/toolchains.xml deleted file mode 100644 index b2630723e..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/conf/toolchains.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/aopalliance.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/aopalliance.license deleted file mode 100644 index a7a158b93..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/aopalliance.license +++ /dev/null @@ -1 +0,0 @@ -Public Domain \ No newline at end of file diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/asm.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/asm.license deleted file mode 100644 index 55761edde..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/asm.license +++ /dev/null @@ -1,29 +0,0 @@ -ASM is released under the following 3-Clause BSD License: - -ASM: a very small and fast Java bytecode manipulation framework -Copyright (c) 2000-2011 INRIA, France Telecom -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-cli.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-cli.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-cli.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-codec.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-codec.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/commons-codec.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/error_prone_annotations.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/error_prone_annotations.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/error_prone_annotations.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/README.txt b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/README.txt deleted file mode 100644 index ab7f12a71..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -Use this directory to add third party extensions to Maven Core. These extensions can either extend or override -Maven's default implementation. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/hazelcast/README.txt b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/hazelcast/README.txt deleted file mode 100644 index 77d19b140..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/hazelcast/README.txt +++ /dev/null @@ -1,6 +0,0 @@ -This directory is intended to contain Hazelcast [1] JARs for Maven Resolver Named Locks using Hazelcast. - -See here [2] on how to add necessary JARs. - -[1] https://github.com/hazelcast/hazelcast -[2] https://maven.apache.org/resolver/maven-resolver-named-locks-hazelcast/index.html#installation-testing diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/redisson/README.txt b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/redisson/README.txt deleted file mode 100644 index 58342b19d..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/ext/redisson/README.txt +++ /dev/null @@ -1,6 +0,0 @@ -This directory is intended to contain Redisson [1] JARs for Maven Resolver Named Locks using Redisson. - -See here [2] on how to add necessary JARs. - -[1] https://github.com/redisson/redisson -[2] https://maven.apache.org/resolver/maven-resolver-named-locks-redisson/index.html#installation-testing diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/failureaccess.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/failureaccess.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/failureaccess.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/gson.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/gson.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/gson.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guava.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guava.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guava.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guice.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guice.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/guice.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpclient.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpclient.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpclient.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpcore.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpcore.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/httpcore.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi-native/README.txt b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi-native/README.txt deleted file mode 100644 index 26a957e1b..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi-native/README.txt +++ /dev/null @@ -1,8 +0,0 @@ -This directory contains Jansi native libraries extracted from Jansi JAR. - -You can add your own build for platforms not natively supported by Jansi. -See here [1] on how to compile for your platform and and here [2] how libraries -follow Jansi's directory and filename conventions. - -[1] https://github.com/fusesource/jansi/tree/master/src/main/native -[2] https://github.com/fusesource/jansi/blob/321a8ff71c731e10f4ea05c607860180276b2215/src/main/java/org/fusesource/jansi/internal/OSInfo.java diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jansi.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.annotation-api.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.annotation-api.license deleted file mode 100644 index b1c74f95e..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.annotation-api.license +++ /dev/null @@ -1,759 +0,0 @@ -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 - -1. Definitions. - - 1.1. "Contributor" means each individual or entity that creates or - contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Software, prior Modifications used by a Contributor (if any), and - the Modifications made by that particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or (b) - Modifications, or (c) the combination of files containing Original - Software with files containing Modifications, in each case including - portions thereof. - - 1.4. "Executable" means the Covered Software in any form other than - Source Code. - - 1.5. "Initial Developer" means the individual or entity that first - makes Original Software available under this License. - - 1.6. "Larger Work" means a work which combines Covered Software or - portions thereof with code not governed by the terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable form of - any of the following: - - A. Any file that results from an addition to, deletion from or - modification of the contents of a file containing Original Software - or previous Modifications; - - B. Any new file that contains any part of the Original Software or - previous Modification; or - - C. Any new file that is contributed or otherwise made available - under the terms of this License. - - 1.10. "Original Software" means the Source Code and Executable form - of computer software code that is originally released under this - License. - - 1.11. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer software - code in which modifications are made and (b) associated - documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, - this License. For legal entities, "You" includes any entity which - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and subject - to third party intellectual property claims, the Initial Developer - hereby grants You a world-wide, royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer, to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Software (or portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using or selling of - Original Software, to make, have made, use, practice, sell, and - offer for sale, and/or otherwise dispose of the Original Software - (or portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) are effective on - the date Initial Developer first distributes or otherwise makes the - Original Software available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: (1) for code that You delete from the Original Software, or - (2) for infringements caused by: (i) the modification of the - Original Software, or (ii) the combination of the Original Software - with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and subject - to third party intellectual property claims, each Contributor hereby - grants You a world-wide, royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as Covered Software - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or selling - of Modifications made by that Contributor either alone and/or in - combination with its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, have made, and/or - otherwise dispose of: (1) Modifications made by that Contributor (or - portions thereof); and (2) the combination of Modifications made by - that Contributor with its Contributor Version (or portions of such - combination). - - (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective - on the date Contributor first distributes or otherwise makes the - Modifications available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: (1) for any code that Contributor has deleted from the - Contributor Version; (2) for infringements caused by: (i) third - party modifications of Contributor Version, or (ii) the combination - of Modifications made by that Contributor with other software - (except as part of the Contributor Version) or other devices; or (3) - under Patent Claims infringed by Covered Software in the absence of - Modifications made by that Contributor. - -3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make available - in Executable form must also be made available in Source Code form - and that Source Code form must be distributed only under the terms - of this License. You must include a copy of this License with every - copy of the Source Code form of the Covered Software You distribute - or otherwise make available. You must inform recipients of any such - Covered Software in Executable form as to how they can obtain such - Covered Software in Source Code form in a reasonable manner on or - through a medium customarily used for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You contribute are - governed by the terms of this License. You represent that You - believe Your Modifications are Your original creation(s) and/or You - have sufficient rights to grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications that - identifies You as the Contributor of the Modification. You may not - remove or alter any copyright, patent or trademark notices contained - within the Covered Software, or any notices of licensing or any - descriptive text giving attribution to any Contributor or the - Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered Software in - Source Code form that alters or restricts the applicable version of - this License or the recipients' rights hereunder. You may choose to - offer, and to charge a fee for, warranty, support, indemnity or - liability obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on behalf of - the Initial Developer or any Contributor. You must make it - absolutely clear that any such warranty, support, indemnity or - liability obligation is offered by You alone, and You hereby agree - to indemnify the Initial Developer and every Contributor for any - liability incurred by the Initial Developer or such Contributor as a - result of warranty, support, indemnity or liability terms You offer. - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered Software under - the terms of this License or under the terms of a license of Your - choice, which may contain terms different from this License, - provided that You are in compliance with the terms of this License - and that the license for the Executable form does not attempt to - limit or alter the recipient's rights in the Source Code form from - the rights set forth in this License. If You distribute the Covered - Software in Executable form under a different license, You must make - it absolutely clear that any terms which differ from this License - are offered by You alone, not by the Initial Developer or - Contributor. You hereby agree to indemnify the Initial Developer and - every Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software with - other code not governed by the terms of this License and distribute - the Larger Work as a single product. In such a case, You must make - sure the requirements of this License are fulfilled for the Covered - Software. - -4. Versions of the License. - - 4.1. New Versions. - - Oracle is the initial license steward and may publish revised and/or - new versions of this License from time to time. Each version will be - given a distinguishing version number. Except as provided in Section - 4.3, no one other than the license steward has the right to modify - this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise make the - Covered Software available under the terms of the version of the - License under which You originally received the Covered Software. If - the Initial Developer includes a notice in the Original Software - prohibiting it from being distributed or otherwise made available - under any subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the version - of the License under which You originally received the Covered - Software. Otherwise, You may also choose to use, distribute or - otherwise make the Covered Software available under the terms of any - subsequent version of the License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a new - license for Your Original Software, You may create and use a - modified version of this License if You: (a) rename the license and - remove any references to the name of the license steward (except to - note that the license differs from this License); and (b) otherwise - make it clear that the license contains terms which differ from this - License. - -5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE - IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR - NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF - THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE - DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY - OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, - REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN - ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS - AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -6. TERMINATION. - - 6.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to - cure such breach within 30 days of becoming aware of the breach. - Provisions which, by their nature, must remain in effect beyond the - termination of this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or a - Contributor (the Initial Developer or Contributor against whom You - assert such claim is referred to as "Participant") alleging that the - Participant Software (meaning the Contributor Version where the - Participant is a Contributor or the Original Software where the - Participant is the Initial Developer) directly or indirectly - infringes any patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial Developer (if the - Initial Developer is not the Participant) and all Contributors under - Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice - from Participant terminate prospectively and automatically at the - expiration of such 60 day notice period, unless if within such 60 - day period You withdraw Your claim with respect to the Participant - Software against such Participant either unilaterally or pursuant to - a written agreement with Participant. - - 6.3. If You assert a patent infringement claim against Participant - alleging that the Participant Software directly or indirectly - infringes any patent where such claim is resolved (such as by - license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 6.4. In the event of termination under Sections 6.1 or 6.2 above, - all end user licenses that have been validly granted by You or any - distributor hereunder prior to termination (excluding licenses - granted to You by any distributor) shall survive termination. - -7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE - TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER - FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR - LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE - POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT - APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH - PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH - LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR - LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION - AND LIMITATION MAY NOT APPLY TO YOU. - -8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is defined - in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" (as that term is defined at 48 C.F.R. § - 252.227-7014(a)(1)) and "commercial computer software documentation" - as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent - with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 - (June 1995), all U.S. Government End Users acquire Covered Software - with only those rights set forth herein. This U.S. Government Rights - clause is in lieu of, and supersedes, any other FAR, DFAR, or other - clause or provision that addresses Government rights in computer - software under this License. - -9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - the law of the jurisdiction specified in a notice contained within - the Original Software (except to the extent applicable law, if any, - provides otherwise), excluding such jurisdiction's conflict-of-law - provisions. Any litigation relating to this License shall be subject - to the jurisdiction of the courts located in the jurisdiction and - venue specified in a notice contained within the Original Software, - with the losing party responsible for costs, including, without - limitation, court costs and reasonable attorneys' fees and expenses. - The application of the United Nations Convention on Contracts for - the International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall be - construed against the drafter shall not apply to this License. You - agree that You alone are responsible for compliance with the United - States export administration regulations (and the export control - laws and regulation of any other countries) when You use, distribute - or otherwise make available any Covered Software. - -10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - ------------------------------------------------------------------------- - -NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION -LICENSE (CDDL) - -The code released under the CDDL shall be governed by the laws of the -State of California (excluding conflict-of-law provisions). Any -litigation relating to this License shall be subject to the jurisdiction -of the Federal Courts of the Northern District of California and the -state courts of the State of California, with venue lying in Santa Clara -County, California. - - - - The GNU General Public License (GPL) Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor -Boston, MA 02110-1335 -USA - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to -share and change it. By contrast, the GNU General Public License is -intended to guarantee your freedom to share and change free software--to -make sure the software is free for all its users. This General Public -License applies to most of the Free Software Foundation's software and -to any other program whose authors commit to using it. (Some other Free -Software Foundation software is covered by the GNU Library General -Public License instead.) You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. -Our General Public Licenses are designed to make sure that you have the -freedom to distribute copies of free software (and charge for this -service if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone -to deny you these rights or to ask you to surrender the rights. These -restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis -or for a fee, you must give the recipients all the rights that you have. -You must make sure that they, too, receive or can get the source code. -And you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - -Finally, any free program is threatened constantly by software patents. -We wish to avoid the danger that redistributors of a free program will -individually obtain patent licenses, in effect making the program -proprietary. To prevent this, we have made it clear that any patent must -be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and -modification follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a -notice placed by the copyright holder saying it may be distributed under -the terms of this General Public License. The "Program", below, refers -to any such program or work, and a "work based on the Program" means -either the Program or any derivative work under copyright law: that is -to say, a work containing the Program or a portion of it, either -verbatim or with modifications and/or translated into another language. -(Hereinafter, translation is included without limitation in the term -"modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of running -the Program is not restricted, and the output from the Program is -covered only if its contents constitute a work based on the Program -(independent of having been made by running the Program). Whether that -is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source -code as you receive it, in any medium, provided that you conspicuously -and appropriately publish on each copy an appropriate copyright notice -and disclaimer of warranty; keep intact all the notices that refer to -this License and to the absence of any warranty; and give any other -recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of -it, thus forming a work based on the Program, and copy and distribute -such modifications or work under the terms of Section 1 above, provided -that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any part - thereof, to be licensed as a whole at no charge to all third parties - under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a notice - that there is no warranty (or else, saying that you provide a - warranty) and that users may redistribute the program under these - conditions, and telling the user how to view a copy of this License. - (Exception: if the Program itself is interactive but does not - normally print such an announcement, your work based on the Program - is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, and -can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based on -the Program, the distribution of the whole must be on the terms of this -License, whose permissions for other licensees extend to the entire -whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of a -storage or distribution medium does not bring the other work under the -scope of this License. - -3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections 1 - and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your cost - of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer to - distribute corresponding source code. (This alternative is allowed - only for noncommercial distribution and only if you received the - program in object code or executable form with such an offer, in - accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source code -means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to control -compilation and installation of the executable. However, as a special -exception, the source code distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies the -executable. - -If distribution of executable or object code is made by offering access -to copy from a designated place, then offering equivalent access to copy -the source code from the same place counts as distribution of the source -code, even though third parties are not compelled to copy the source -along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt otherwise -to copy, modify, sublicense or distribute the Program is void, and will -automatically terminate your rights under this License. However, parties -who have received copies, or rights, from you under this License will -not have their licenses terminated so long as such parties remain in -full compliance. - -5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and all -its terms and conditions for copying, distributing or modifying the -Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further restrictions -on the recipients' exercise of the rights granted herein. You are not -responsible for enforcing compliance by third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot distribute -so as to satisfy simultaneously your obligations under this License and -any other pertinent obligations, then as a consequence you may not -distribute the Program at all. For example, if a patent license would -not permit royalty-free redistribution of the Program by all those who -receive copies directly or indirectly through you, then the only way you -could satisfy both it and this License would be to refrain entirely from -distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is implemented -by public license practices. Many people have made generous -contributions to the wide range of software distributed through that -system in reliance on consistent application of that system; it is up to -the author/donor to decide if he or she is willing to distribute -software through any other system and a licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be -a consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License may -add an explicit geographical distribution limitation excluding those -countries, so that distribution is permitted only in or among countries -not thus excluded. In such case, this License incorporates the -limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new -versions of the General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Program does not specify a version -number of this License, you may choose any version ever published by the -Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the -author to ask for permission. For software which is copyrighted by the -Free Software Foundation, write to the Free Software Foundation; we -sometimes make exceptions for this. Our decision will be guided by the -two goals of preserving the free status of all derivatives of our free -software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, -EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE -ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH -YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR -DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL -DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM -(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED -INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF -THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR -OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to -attach them to the start of each source file to most effectively convey -the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - One line to give the program's name and a brief idea of what it does. - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type - `show w'. This is free software, and you are welcome to redistribute - it under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the -appropriate parts of the General Public License. Of course, the commands -you use may be called something other than `show w' and `show c'; they -could even be mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - program `Gnomovision' (which makes passes at compilers) written by - James Hacker. - - signature of Ty Coon, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications -with the library. If this is what you want to do, use the GNU Library -General Public License instead of this License. - -# - -Certain source files distributed by Oracle America, Inc. and/or its -affiliates are subject to the following clarification and special -exception to the GPLv2, based on the GNU Project exception for its -Classpath libraries, known as the GNU Classpath Exception, but only -where Oracle has expressly included in the particular source file's -header the words "Oracle designates this particular file as subject to -the "Classpath" exception as provided by Oracle in the LICENSE file -that accompanied this code." - -You should also note that Oracle includes multiple, independent -programs in this software package. Some of those programs are provided -under licenses deemed incompatible with the GPLv2 by the Free Software -Foundation and others. For example, the package includes programs -licensed under the Apache License, Version 2.0. Such programs are -licensed to you under their original licenses. - -Oracle facilitates your further distribution of this package by adding -the Classpath Exception to the necessary parts of its GPLv2 code, which -permits you to use that code in combination with other independent -modules not licensed under the GPLv2. However, note that this would -not permit you to commingle code under an incompatible license with -Oracle's GPLv2 licensed code by, for example, cutting and pasting such -code into a file also containing Oracle's GPLv2 licensed code and then -distributing the result. Additionally, if you were to remove the -Classpath Exception from any of the files to which it applies and -distribute the result, you would likely be required to license some or -all of the other code in that distribution under the GPLv2 as well, and -since the GPLv2 is incompatible with the license terms of some items -included in the distribution by Oracle, removing the Classpath -Exception could therefore effectively compromise your ability to -further distribute the package. - -Proceed with caution and we recommend that you obtain the advice of a -lawyer skilled in open source matters before removing the Classpath -Exception or making modifications to this package which may -subsequently be redistributed and/or involve the use of third party -software. - -CLASSPATH EXCEPTION -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License version 2 cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from or -based on this library. If you modify this library, you may extend this -exception to your version of the library, but you are not obligated to -do so. If you do not wish to do so, delete this exception statement -from your version. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.inject.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.inject.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/javax.inject.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jcl-over-slf4j.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jcl-over-slf4j.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jcl-over-slf4j.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jspecify.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jspecify.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/jspecify.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.inject.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.inject.license deleted file mode 100644 index e55f34467..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.inject.license +++ /dev/null @@ -1,277 +0,0 @@ -Eclipse Public License - v 2.0 - - THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE - PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION - OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial content - Distributed under this Agreement, and - - b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; - where such changes and/or additions to the Program originate from - and are Distributed by that particular Contributor. A Contribution - "originates" from a Contributor if it was added to the Program by - such Contributor itself or anyone acting on such Contributor's behalf. - Contributions do not include changes or additions to the Program that - are not Modified Works. - -"Contributor" means any person or entity that Distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which -are necessarily infringed by the use or sale of its Contribution alone -or when combined with the Program. - -"Program" means the Contributions Distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this Agreement -or any Secondary License (as applicable), including Contributors. - -"Derivative Works" shall mean any work, whether in Source Code or other -form, that is based on (or derived from) the Program and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. - -"Modified Works" shall mean any work in Source Code or other form that -results from an addition to, deletion from, or modification of the -contents of the Program, including, for purposes of clarity any new file -in Source Code form that contains any contents of the Program. Modified -Works shall not include works that contain only declarations, -interfaces, types, classes, structures, or files of the Program solely -in each case in order to link to, bind by name, or subclass the Program -or Modified Works thereof. - -"Distribute" means the acts of a) distributing or b) making available -in any manner that enables the transfer of a copy. - -"Source Code" means the form of a Program preferred for making -modifications, including but not limited to software source code, -documentation source, and configuration files. - -"Secondary License" means either the GNU General Public License, -Version 2.0, or any later versions of that license, including any -exceptions or additional permissions as identified by the initial -Contributor. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free copyright - license to reproduce, prepare Derivative Works of, publicly display, - publicly perform, Distribute and sublicense the Contribution of such - Contributor, if any, and such Derivative Works. - - b) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free patent - license under Licensed Patents to make, use, sell, offer to sell, - import and otherwise transfer the Contribution of such Contributor, - if any, in Source Code or other form. This patent license shall - apply to the combination of the Contribution and the Program if, at - the time the Contribution is added by the Contributor, such addition - of the Contribution causes such combination to be covered by the - Licensed Patents. The patent license shall not apply to any other - combinations which include the Contribution. No hardware per se is - licensed hereunder. - - c) Recipient understands that although each Contributor grants the - licenses to its Contributions set forth herein, no assurances are - provided by any Contributor that the Program does not infringe the - patent or other intellectual property rights of any other entity. - Each Contributor disclaims any liability to Recipient for claims - brought by any other entity based on infringement of intellectual - property rights or otherwise. As a condition to exercising the - rights and licenses granted hereunder, each Recipient hereby - assumes sole responsibility to secure any other intellectual - property rights needed, if any. For example, if a third party - patent license is required to allow Recipient to Distribute the - Program, it is Recipient's responsibility to acquire that license - before distributing the Program. - - d) Each Contributor represents that to its knowledge it has - sufficient copyright rights in its Contribution, if any, to grant - the copyright license set forth in this Agreement. - - e) Notwithstanding the terms of any Secondary License, no - Contributor makes additional grants to any Recipient (other than - those set forth in this Agreement) as a result of such Recipient's - receipt of the Program under the terms of a Secondary License - (if permitted under the terms of Section 3). - -3. REQUIREMENTS - -3.1 If a Contributor Distributes the Program in any form, then: - - a) the Program must also be made available as Source Code, in - accordance with section 3.2, and the Contributor must accompany - the Program with a statement that the Source Code for the Program - is available under this Agreement, and informs Recipients how to - obtain it in a reasonable manner on or through a medium customarily - used for software exchange; and - - b) the Contributor may Distribute the Program under a license - different than this Agreement, provided that such license: - i) effectively disclaims on behalf of all other Contributors all - warranties and conditions, express and implied, including - warranties or conditions of title and non-infringement, and - implied warranties or conditions of merchantability and fitness - for a particular purpose; - - ii) effectively excludes on behalf of all other Contributors all - liability for damages, including direct, indirect, special, - incidental and consequential damages, such as lost profits; - - iii) does not attempt to limit or alter the recipients' rights - in the Source Code under section 3.2; and - - iv) requires any subsequent distribution of the Program by any - party to be under a license that satisfies the requirements - of this section 3. - -3.2 When the Program is Distributed as Source Code: - - a) it must be made available under this Agreement, or if the - Program (i) is combined with other material in a separate file or - files made available under a Secondary License, and (ii) the initial - Contributor attached to the Source Code the notice described in - Exhibit A of this Agreement, then the Program may be made available - under the terms of such Secondary Licenses, and - - b) a copy of this Agreement must be included with each copy of - the Program. - -3.3 Contributors may not remove or alter any copyright, patent, -trademark, attribution notices, disclaimers of warranty, or limitations -of liability ("notices") contained within the Program from any copy of -the Program which they Distribute, provided that Contributors may add -their own appropriate notices. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities -with respect to end users, business partners and the like. While this -license is intended to facilitate the commercial use of the Program, -the Contributor who includes the Program in a commercial product -offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes -the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and indemnify every -other Contributor ("Indemnified Contributor") against any losses, -damages and costs (collectively "Losses") arising from claims, lawsuits -and other legal actions brought by a third party against the Indemnified -Contributor to the extent caused by the acts or omissions of such -Commercial Contributor in connection with its distribution of the Program -in a commercial product offering. The obligations in this section do not -apply to any claims or Losses relating to any actual or alleged -intellectual property infringement. In order to qualify, an Indemnified -Contributor must: a) promptly notify the Commercial Contributor in -writing of such claim, and b) allow the Commercial Contributor to control, -and cooperate with the Commercial Contributor in, the defense and any -related settlement negotiations. The Indemnified Contributor may -participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those performance -claims and warranties, and if a court requires any other Contributor to -pay any damages as a result, the Commercial Contributor must pay -those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" -BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR -IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF -TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR -PURPOSE. Each Recipient is solely responsible for determining the -appropriateness of using and distributing the Program and assumes all -risks associated with its exercise of rights under this Agreement, -including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs -or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS -SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST -PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE -EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other software -or hardware) infringes such Recipient's patent(s), then such Recipient's -rights granted under Section 2(b) shall terminate as of the date such -litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign the -responsibility to serve as the Agreement Steward to a suitable separate -entity. Each new version of the Agreement will be given a distinguishing -version number. The Program (including Contributions) may always be -Distributed subject to the version of the Agreement under which it was -received. In addition, after a new version of the Agreement is published, -Contributor may elect to Distribute the Program (including its -Contributions) under the new version. - -Except as expressly stated in Sections 2(a) and 2(b) above, Recipient -receives no rights or licenses to the intellectual property of any -Contributor under this Agreement, whether expressly, by implication, -estoppel or otherwise. All rights in the Program not expressly granted -under this Agreement are reserved. Nothing in this Agreement is intended -to be enforceable by any entity that is not a Contributor or Recipient. -No third-party beneficiary rights are created under this Agreement. - -Exhibit A - Form of Secondary Licenses Notice - -"This Source Code may also be made available under the following -Secondary Licenses when the conditions for such availability set forth -in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), -version(s), and exceptions or additional permissions here}." - - Simply including a copy of this Agreement, including this Exhibit A - is not sufficient to license the Source Code under Secondary Licenses. - - If it is not possible or desirable to put the notice in a particular - file, then You may include the notice in a location (such as a LICENSE - file in a relevant directory) where a recipient would be likely to - look for such a notice. - - You may add additional accurate notices of copyright ownership. \ No newline at end of file diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.plexus.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.plexus.license deleted file mode 100644 index e55f34467..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/org.eclipse.sisu.plexus.license +++ /dev/null @@ -1,277 +0,0 @@ -Eclipse Public License - v 2.0 - - THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE - PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION - OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial content - Distributed under this Agreement, and - - b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; - where such changes and/or additions to the Program originate from - and are Distributed by that particular Contributor. A Contribution - "originates" from a Contributor if it was added to the Program by - such Contributor itself or anyone acting on such Contributor's behalf. - Contributions do not include changes or additions to the Program that - are not Modified Works. - -"Contributor" means any person or entity that Distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which -are necessarily infringed by the use or sale of its Contribution alone -or when combined with the Program. - -"Program" means the Contributions Distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this Agreement -or any Secondary License (as applicable), including Contributors. - -"Derivative Works" shall mean any work, whether in Source Code or other -form, that is based on (or derived from) the Program and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. - -"Modified Works" shall mean any work in Source Code or other form that -results from an addition to, deletion from, or modification of the -contents of the Program, including, for purposes of clarity any new file -in Source Code form that contains any contents of the Program. Modified -Works shall not include works that contain only declarations, -interfaces, types, classes, structures, or files of the Program solely -in each case in order to link to, bind by name, or subclass the Program -or Modified Works thereof. - -"Distribute" means the acts of a) distributing or b) making available -in any manner that enables the transfer of a copy. - -"Source Code" means the form of a Program preferred for making -modifications, including but not limited to software source code, -documentation source, and configuration files. - -"Secondary License" means either the GNU General Public License, -Version 2.0, or any later versions of that license, including any -exceptions or additional permissions as identified by the initial -Contributor. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free copyright - license to reproduce, prepare Derivative Works of, publicly display, - publicly perform, Distribute and sublicense the Contribution of such - Contributor, if any, and such Derivative Works. - - b) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free patent - license under Licensed Patents to make, use, sell, offer to sell, - import and otherwise transfer the Contribution of such Contributor, - if any, in Source Code or other form. This patent license shall - apply to the combination of the Contribution and the Program if, at - the time the Contribution is added by the Contributor, such addition - of the Contribution causes such combination to be covered by the - Licensed Patents. The patent license shall not apply to any other - combinations which include the Contribution. No hardware per se is - licensed hereunder. - - c) Recipient understands that although each Contributor grants the - licenses to its Contributions set forth herein, no assurances are - provided by any Contributor that the Program does not infringe the - patent or other intellectual property rights of any other entity. - Each Contributor disclaims any liability to Recipient for claims - brought by any other entity based on infringement of intellectual - property rights or otherwise. As a condition to exercising the - rights and licenses granted hereunder, each Recipient hereby - assumes sole responsibility to secure any other intellectual - property rights needed, if any. For example, if a third party - patent license is required to allow Recipient to Distribute the - Program, it is Recipient's responsibility to acquire that license - before distributing the Program. - - d) Each Contributor represents that to its knowledge it has - sufficient copyright rights in its Contribution, if any, to grant - the copyright license set forth in this Agreement. - - e) Notwithstanding the terms of any Secondary License, no - Contributor makes additional grants to any Recipient (other than - those set forth in this Agreement) as a result of such Recipient's - receipt of the Program under the terms of a Secondary License - (if permitted under the terms of Section 3). - -3. REQUIREMENTS - -3.1 If a Contributor Distributes the Program in any form, then: - - a) the Program must also be made available as Source Code, in - accordance with section 3.2, and the Contributor must accompany - the Program with a statement that the Source Code for the Program - is available under this Agreement, and informs Recipients how to - obtain it in a reasonable manner on or through a medium customarily - used for software exchange; and - - b) the Contributor may Distribute the Program under a license - different than this Agreement, provided that such license: - i) effectively disclaims on behalf of all other Contributors all - warranties and conditions, express and implied, including - warranties or conditions of title and non-infringement, and - implied warranties or conditions of merchantability and fitness - for a particular purpose; - - ii) effectively excludes on behalf of all other Contributors all - liability for damages, including direct, indirect, special, - incidental and consequential damages, such as lost profits; - - iii) does not attempt to limit or alter the recipients' rights - in the Source Code under section 3.2; and - - iv) requires any subsequent distribution of the Program by any - party to be under a license that satisfies the requirements - of this section 3. - -3.2 When the Program is Distributed as Source Code: - - a) it must be made available under this Agreement, or if the - Program (i) is combined with other material in a separate file or - files made available under a Secondary License, and (ii) the initial - Contributor attached to the Source Code the notice described in - Exhibit A of this Agreement, then the Program may be made available - under the terms of such Secondary Licenses, and - - b) a copy of this Agreement must be included with each copy of - the Program. - -3.3 Contributors may not remove or alter any copyright, patent, -trademark, attribution notices, disclaimers of warranty, or limitations -of liability ("notices") contained within the Program from any copy of -the Program which they Distribute, provided that Contributors may add -their own appropriate notices. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities -with respect to end users, business partners and the like. While this -license is intended to facilitate the commercial use of the Program, -the Contributor who includes the Program in a commercial product -offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes -the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and indemnify every -other Contributor ("Indemnified Contributor") against any losses, -damages and costs (collectively "Losses") arising from claims, lawsuits -and other legal actions brought by a third party against the Indemnified -Contributor to the extent caused by the acts or omissions of such -Commercial Contributor in connection with its distribution of the Program -in a commercial product offering. The obligations in this section do not -apply to any claims or Losses relating to any actual or alleged -intellectual property infringement. In order to qualify, an Indemnified -Contributor must: a) promptly notify the Commercial Contributor in -writing of such claim, and b) allow the Commercial Contributor to control, -and cooperate with the Commercial Contributor in, the defense and any -related settlement negotiations. The Indemnified Contributor may -participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those performance -claims and warranties, and if a court requires any other Contributor to -pay any damages as a result, the Commercial Contributor must pay -those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" -BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR -IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF -TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR -PURPOSE. Each Recipient is solely responsible for determining the -appropriateness of using and distributing the Program and assumes all -risks associated with its exercise of rights under this Agreement, -including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs -or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS -SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST -PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE -EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other software -or hardware) infringes such Recipient's patent(s), then such Recipient's -rights granted under Section 2(b) shall terminate as of the date such -litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign the -responsibility to serve as the Agreement Steward to a suitable separate -entity. Each new version of the Agreement will be given a distinguishing -version number. The Program (including Contributions) may always be -Distributed subject to the version of the Agreement under which it was -received. In addition, after a new version of the Agreement is published, -Contributor may elect to Distribute the Program (including its -Contributions) under the new version. - -Except as expressly stated in Sections 2(a) and 2(b) above, Recipient -receives no rights or licenses to the intellectual property of any -Contributor under this Agreement, whether expressly, by implication, -estoppel or otherwise. All rights in the Program not expressly granted -under this Agreement are reserved. Nothing in this Agreement is intended -to be enforceable by any entity that is not a Contributor or Recipient. -No third-party beneficiary rights are created under this Agreement. - -Exhibit A - Form of Secondary Licenses Notice - -"This Source Code may also be made available under the following -Secondary Licenses when the conditions for such availability set forth -in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), -version(s), and exceptions or additional permissions here}." - - Simply including a copy of this Agreement, including this Exhibit A - is not sufficient to license the Source Code under Secondary Licenses. - - If it is not possible or desirable to put the notice in a particular - file, then You may include the notice in a location (such as a LICENSE - file in a relevant directory) where a recipient would be likely to - look for such a notice. - - You may add additional accurate notices of copyright ownership. \ No newline at end of file diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-cipher.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-cipher.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-cipher.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-component-annotations.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-component-annotations.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-component-annotations.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-interpolation.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-interpolation.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-interpolation.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-sec-dispatcher.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-sec-dispatcher.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-sec-dispatcher.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-utils.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-utils.license deleted file mode 100644 index d64569567..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/plexus-utils.license +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed 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. diff --git a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/slf4j-api.license b/maven-mvnd-1.0.3-windows-amd64/mvn/lib/slf4j-api.license deleted file mode 100644 index 1a3d05323..000000000 --- a/maven-mvnd-1.0.3-windows-amd64/mvn/lib/slf4j-api.license +++ /dev/null @@ -1,24 +0,0 @@ -Copyright (c) 2004-2022 QOS.ch Sarl (Switzerland) -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - From 5c442d9232f714df96ad712a059f35df22ed48fb Mon Sep 17 00:00:00 2001 From: Pavel Halukha Date: Mon, 27 Apr 2026 17:19:20 +0300 Subject: [PATCH 6/8] complete lab4 --- .../lab/publisher/kafka/KafkaMessage.java | 37 +++++ .../publisher/kafka/KafkaProducerService.java | 126 ++++++++++++++++++ .../src/main/resources/application.yaml | 27 ++++ 3 files changed, 190 insertions(+) create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/kafka/KafkaMessage.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/kafka/KafkaProducerService.java diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/kafka/KafkaMessage.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/kafka/KafkaMessage.java new file mode 100644 index 000000000..8388577f5 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/kafka/KafkaMessage.java @@ -0,0 +1,37 @@ +package com.example.lab.publisher.kafka; + +import java.time.LocalDateTime; + +public class KafkaMessage { + private String eventType; // CREATE, UPDATE, DELETE + private String entityType; // User, News, Marker + private T data; + private LocalDateTime timestamp; + private String operationId; + + public KafkaMessage() {} + + public KafkaMessage(String eventType, String entityType, T data) { + this.eventType = eventType; + this.entityType = entityType; + this.data = data; + this.timestamp = LocalDateTime.now(); + this.operationId = java.util.UUID.randomUUID().toString(); + } + + // Getters and Setters + public String getEventType() { return eventType; } + public void setEventType(String eventType) { this.eventType = eventType; } + + public String getEntityType() { return entityType; } + public void setEntityType(String entityType) { this.entityType = entityType; } + + public T getData() { return data; } + public void setData(T data) { this.data = data; } + + public LocalDateTime getTimestamp() { return timestamp; } + public void setTimestamp(LocalDateTime timestamp) { this.timestamp = timestamp; } + + public String getOperationId() { return operationId; } + public void setOperationId(String operationId) { this.operationId = operationId; } +} \ No newline at end of file diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/kafka/KafkaProducerService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/kafka/KafkaProducerService.java new file mode 100644 index 000000000..f64222e3c --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/kafka/KafkaProducerService.java @@ -0,0 +1,126 @@ +package com.example.lab.publisher.kafka; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.kafka.support.SendResult; +import org.springframework.stereotype.Service; + +import com.example.lab.publisher.dto.MarkerResponseTo; +import com.example.lab.publisher.dto.NewsResponseTo; +import com.example.lab.publisher.dto.UserResponseTo; +import com.example.lab.publisher.dto.kafka.KafkaMessage; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; + +import java.util.concurrent.CompletableFuture; + +@Service +public class KafkaProducerService { + + private static final Logger logger = LoggerFactory.getLogger(KafkaProducerService.class); + + @Autowired + private KafkaTemplate kafkaTemplate; + + @Value("${app.kafka.topics.user:user-topic}") + private String userTopic; + + @Value("${app.kafka.topics.news:news-topic}") + private String newsTopic; + + @Value("${app.kafka.topics.marker:marker-topic}") + private String markerTopic; + + private final ObjectMapper objectMapper = new ObjectMapper() + .registerModule(new JavaTimeModule()); + + // ==================== USER EVENTS ==================== + + public void sendUserCreated(UserResponseTo user) { + sendMessage(userTopic, "CREATE", "User", user); + } + + public void sendUserUpdated(UserResponseTo user) { + sendMessage(userTopic, "UPDATE", "User", user); + } + + public void sendUserDeleted(Long userId) { + UserResponseTo deletedUser = new UserResponseTo(); + deletedUser.setId(userId); + sendMessage(userTopic, "DELETE", "User", deletedUser); + } + + // ==================== NEWS EVENTS ==================== + + public void sendNewsCreated(NewsResponseTo news) { + sendMessage(newsTopic, "CREATE", "News", news); + } + + public void sendNewsUpdated(NewsResponseTo news) { + sendMessage(newsTopic, "UPDATE", "News", news); + } + + public void sendNewsDeleted(Long newsId) { + NewsResponseTo deletedNews = new NewsResponseTo(); + deletedNews.setId(newsId); + sendMessage(newsTopic, "DELETE", "News", deletedNews); + } + + // ==================== MARKER EVENTS ==================== + + public void sendMarkerCreated(MarkerResponseTo marker) { + sendMessage(markerTopic, "CREATE", "Marker", marker); + } + + public void sendMarkerUpdated(MarkerResponseTo marker) { + sendMessage(markerTopic, "UPDATE", "Marker", marker); + } + + public void sendMarkerDeleted(Long markerId) { + MarkerResponseTo deletedMarker = new MarkerResponseTo(); + deletedMarker.setId(markerId); + sendMessage(markerTopic, "DELETE", "Marker", deletedMarker); + } + + // ==================== PRIVATE METHODS ==================== + + private void sendMessage(String topic, String eventType, String entityType, T data) { + try { + KafkaMessage message = new KafkaMessage<>(eventType, entityType, data); + String jsonMessage = objectMapper.writeValueAsString(message); + String key = entityType + "_" + getEntityId(data); + + CompletableFuture> future = + kafkaTemplate.send(topic, key, jsonMessage); + + future.whenComplete((result, ex) -> { + if (ex == null) { + logger.info("Sent message to topic {}: event={}, entity={}, id={}, offset={}", + topic, eventType, entityType, getEntityId(data), + result.getRecordMetadata().offset()); + } else { + logger.error("Failed to send message to topic {}: event={}, entity={}, id={}", + topic, eventType, entityType, getEntityId(data), ex); + } + }); + + } catch (JsonProcessingException e) { + logger.error("Failed to serialize message for topic: {}", topic, e); + } + } + + private Object getEntityId(T data) { + if (data instanceof UserResponseTo) { + return ((UserResponseTo) data).getId(); + } else if (data instanceof NewsResponseTo) { + return ((NewsResponseTo) data).getId(); + } else if (data instanceof MarkerResponseTo) { + return ((MarkerResponseTo) data).getId(); + } + return "unknown"; + } +} \ No newline at end of file diff --git a/351004/Halukha/publisher/src/main/resources/application.yaml b/351004/Halukha/publisher/src/main/resources/application.yaml index 6bef743b9..ca7419e9b 100644 --- a/351004/Halukha/publisher/src/main/resources/application.yaml +++ b/351004/Halukha/publisher/src/main/resources/application.yaml @@ -11,6 +11,33 @@ spring: password: postgres driver-class-name: org.postgresql.Driver + data: + redis: + host: localhost + port: 6379 + + kafka: + bootstrap-servers: localhost:9092 + producer: + key-serializer: org.apache.kafka.common.serialization.StringSerializer + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer + properties: + spring.json.type.mapping: message:com.example.lab.publisher.dto.KafkaMessage + consumer: + group-id: publisher-group + key-deserializer: org.apache.kafka.common.serialization.StringDeserializer + value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer + properties: + spring.json.trusted.packages: "*" + spring.json.type.mapping: message:com.example.lab.publisher.dto.KafkaMessage + template: + default-topic: news-topic + +app: + jwt: + secret: "change-me-change-me-change-me-change-me" + ttlSeconds: 3600 + jpa: database: postgresql database-platform: org.hibernate.dialect.PostgreSQLDialect From 8026c648cac7d21c59cd56fd3046932beceeb1e0 Mon Sep 17 00:00:00 2001 From: Pavel Halukha Date: Mon, 27 Apr 2026 17:23:46 +0300 Subject: [PATCH 7/8] complete lab5 --- .../lab/publisher/service/MarkerService.java | 18 ++++++ .../lab/publisher/service/NewsService.java | 24 +++++++ .../service/PostRedisCacheService.java | 63 +++++++++++++++++++ .../lab/publisher/service/UserService.java | 18 ++++++ 4 files changed, 123 insertions(+) create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/PostRedisCacheService.java diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/MarkerService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/MarkerService.java index e6fc3eb6e..d8b313464 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/MarkerService.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/MarkerService.java @@ -3,6 +3,10 @@ import java.util.List; import java.util.stream.Collectors; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.CachePut; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.cache.annotation.Caching; import org.springframework.stereotype.Service; import com.example.lab.publisher.dto.MarkerRequestTo; @@ -22,24 +26,34 @@ public MarkerService(MarkerRepository newsRepository) { this.markerRepository = newsRepository; } + @Cacheable(cacheNames = "markers", key = "'all'") public List getAllMarker() { return markerRepository.findAll().stream() .map(mapper::toDto) .collect(Collectors.toList()); } + @Cacheable(cacheNames = "markers", key = "#id") public MarkerResponseTo getMarkerById(Long id) { return markerRepository.findById(id) .map(mapper::toDto) .orElseThrow(() -> new EntityNotFoundException("Marker not found", 40401)); } + @Caching(evict = { + @CacheEvict(cacheNames = "markers", key = "'all'") + }) public MarkerResponseTo createMarker(MarkerRequestTo request) { Marker news = mapper.toEntity(request); Marker saved = markerRepository.save(news); return mapper.toDto(saved); } + @Caching(put = { + @CachePut(cacheNames = "markers", key = "#id") + }, evict = { + @CacheEvict(cacheNames = "markers", key = "'all'") + }) public MarkerResponseTo updateMarker(Long id, MarkerRequestTo request) { Marker existing = markerRepository.findById(id) .orElseThrow(() -> new EntityNotFoundException("Marker not found", 40401)); @@ -49,6 +63,10 @@ public MarkerResponseTo updateMarker(Long id, MarkerRequestTo request) { return mapper.toDto(saved); } + @Caching(evict = { + @CacheEvict(cacheNames = "markers", key = "#id"), + @CacheEvict(cacheNames = "markers", key = "'all'") + }) public void deleteMarker(Long id) { if (!markerRepository.existsById(id)) { throw new EntityNotFoundException("Marker not found", 40401); diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/NewsService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/NewsService.java index ab46ab2d7..9e19ba1c7 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/NewsService.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/NewsService.java @@ -4,6 +4,10 @@ import java.util.List; import java.util.stream.Collectors; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.CachePut; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.cache.annotation.Caching; import org.springframework.stereotype.Service; import com.example.lab.publisher.dto.NewsRequestTo; @@ -35,18 +39,24 @@ public NewsService(MarkerRepository markerRepository, NewsRepository newsReposit this.userRepository = userRepository; } + @Cacheable(cacheNames = "news", key = "'all'") public List getAllNews() { return newsRepository.findAll().stream() .map(mapper::toDto) .collect(Collectors.toList()); } + @Cacheable(cacheNames = "news", key = "#id") public NewsResponseTo getNewsById(Long id) { return newsRepository.findById(id) .map(mapper::toDto) .orElseThrow(() -> new EntityNotFoundException("News not found", 40401)); } + @Caching(evict = { + @CacheEvict(cacheNames = "news", key = "'all'"), + @CacheEvict(cacheNames = "markers", key = "'all'", condition = "#request.markers != null && !#request.markers.isEmpty()") + }) public NewsResponseTo createNews(NewsRequestTo request) { if (!userRepository.existsById(request.getUserId())) { throw new EntityNotFoundException("User not found", 40401); @@ -60,6 +70,13 @@ public NewsResponseTo createNews(NewsRequestTo request) { return mapper.toDto(saved); } + @Caching(put = { + @CachePut(cacheNames = "news", key = "#id") + }, evict = { + @CacheEvict(cacheNames = "news", key = "'all'"), + @CacheEvict(cacheNames = "newsUser", key = "#id"), + @CacheEvict(cacheNames = "markers", key = "'all'", condition = "#request.markers != null && !#request.markers.isEmpty()") + }) public NewsResponseTo updateNews(Long id, NewsRequestTo request) { News existing = newsRepository.findById(id) .orElseThrow(() -> new EntityNotFoundException("News not found", 40401)); @@ -85,6 +102,12 @@ private List resolveMarkers(List markerNames) { }).collect(Collectors.toList()); } + @Caching(evict = { + @CacheEvict(cacheNames = "news", key = "#id"), + @CacheEvict(cacheNames = "news", key = "'all'"), + @CacheEvict(cacheNames = "newsUser", key = "#id"), + @CacheEvict(cacheNames = "markers", key = "'all'") + }) public void deleteNews(Long id) { if (!newsRepository.existsById(id)) { throw new EntityNotFoundException("News not found", 40401); @@ -97,6 +120,7 @@ public void deleteNews(Long id) { newsRepository.deleteById(id); } + @Cacheable(cacheNames = "newsUser", key = "#newsId") public UserResponseTo getUserByNewsId(Long newsId) { News news = newsRepository.findById(newsId) .orElseThrow(() -> new EntityNotFoundException("News not found", 40401)); diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/PostRedisCacheService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/PostRedisCacheService.java new file mode 100644 index 000000000..d0140c2e2 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/PostRedisCacheService.java @@ -0,0 +1,63 @@ +package com.example.lab.publisher.service; + +import java.time.Duration; + +import org.springframework.dao.DataAccessException; +import org.springframework.data.redis.RedisConnectionFailureException; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +@Service +public class PostRedisCacheService { + + private static final Duration POST_TTL = Duration.ofMinutes(5); + + private final StringRedisTemplate redis; + private final ObjectMapper objectMapper; + + public PostRedisCacheService(StringRedisTemplate redis, ObjectMapper objectMapper) { + this.redis = redis; + this.objectMapper = objectMapper; + } + + private String keyById(Long id) { + return "posts:" + id; + } + + public Object get(Long id) { + try { + String json = redis.opsForValue().get(keyById(id)); + if (json == null) { + return null; + } + return objectMapper.readValue(json, Object.class); + } catch (DataAccessException e) { + return null; + } catch (JsonProcessingException e) { + return null; + } + } + + public void put(Long id, Object value) { + try { + String json = objectMapper.writeValueAsString(value); + redis.opsForValue().set(keyById(id), json, POST_TTL); + } catch (DataAccessException e) { + // skip cache on redis issues + } catch (JsonProcessingException e) { + // skip cache on serialization issues + } + } + + public void evict(Long id) { + try { + redis.delete(keyById(id)); + } catch (DataAccessException e) { + // skip + } + } +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/UserService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/UserService.java index 7fbc7a072..52c2823c0 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/UserService.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/service/UserService.java @@ -3,6 +3,10 @@ import java.util.List; import java.util.stream.Collectors; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.CachePut; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.cache.annotation.Caching; import org.springframework.stereotype.Service; import com.example.lab.publisher.dto.UserRequestTo; @@ -22,24 +26,34 @@ public UserService(UserRepository userRepository) { this.userRepository = userRepository; } + @Cacheable(cacheNames = "users", key = "'all'") public List getAllUsers() { return userRepository.findAll().stream() .map(mapper::toDto) .collect(Collectors.toList()); } + @Cacheable(cacheNames = "users", key = "#id") public UserResponseTo getUserById(Long id) { return userRepository.findById(id) .map(mapper::toDto) .orElseThrow(() -> new EntityNotFoundException("User not found", 40401)); } + @Caching(evict = { + @CacheEvict(cacheNames = "users", key = "'all'") + }) public UserResponseTo createUser(UserRequestTo request) { User user = mapper.toEntity(request); User saved = userRepository.save(user); return mapper.toDto(saved); } + @Caching(put = { + @CachePut(cacheNames = "users", key = "#id") + }, evict = { + @CacheEvict(cacheNames = "users", key = "'all'") + }) public UserResponseTo updateUser(Long id, UserRequestTo request) { User existing = userRepository.findById(id) .orElseThrow(() -> new EntityNotFoundException("User not found", 40401)); @@ -49,6 +63,10 @@ public UserResponseTo updateUser(Long id, UserRequestTo request) { return mapper.toDto(saved); } + @Caching(evict = { + @CacheEvict(cacheNames = "users", key = "#id"), + @CacheEvict(cacheNames = "users", key = "'all'") + }) public void deleteUser(Long id) { if (!userRepository.existsById(id)) { throw new EntityNotFoundException("User not found", 40401); From df5f4ef1f6485792a720363d4b43d77ff7ba90f8 Mon Sep 17 00:00:00 2001 From: Pavel Halukha Date: Mon, 27 Apr 2026 17:24:07 +0300 Subject: [PATCH 8/8] complete lab6 --- .../discussion/LabDiscussionApplication.java | 3 + 351004/Halukha/publisher/pom.xml | 34 ++++ .../publisher/LabPublisherApplication.java | 2 + .../publisher/config/RedisCacheConfig.java | 77 ++++++++++ .../controller/PostProxyController.java | 39 ++++- .../controller/v2/MarkerControllerV2.java | 62 ++++++++ .../controller/v2/NewsControllerV2.java | 83 ++++++++++ .../controller/v2/PostProxyControllerV2.java | 127 +++++++++++++++ .../controller/v2/UserControllerV2.java | 80 ++++++++++ .../lab/publisher/dto/UserRequestTo.java | 20 +-- .../lab/publisher/dto/UserResponseTo.java | 20 +-- .../exception/GlobalExceptionHandler.java | 25 ++- .../lab/publisher/mapper/UserMapper.java | 4 +- .../com/example/lab/publisher/model/User.java | 42 +++-- .../publisher/repository/UserRepository.java | 3 + .../publisher/security/AuthController.java | 81 ++++++++++ .../lab/publisher/security/AuthDtos.java | 145 ++++++++++++++++++ .../lab/publisher/security/JwtAuthFilter.java | 67 ++++++++ .../lab/publisher/security/JwtService.java | 50 ++++++ .../publisher/security/OwnershipService.java | 46 ++++++ .../example/lab/publisher/security/Role.java | 7 + .../publisher/security/SecurityConfig.java | 115 ++++++++++++++ .../security/SecurityUserDetailsService.java | 36 +++++ .../lab/test/SecurityV2IntegrationTest.java | 86 +++++++++++ 24 files changed, 1213 insertions(+), 41 deletions(-) create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/config/RedisCacheConfig.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/MarkerControllerV2.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/NewsControllerV2.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/PostProxyControllerV2.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/UserControllerV2.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/AuthController.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/AuthDtos.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/JwtAuthFilter.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/JwtService.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/OwnershipService.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/Role.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/SecurityConfig.java create mode 100644 351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/SecurityUserDetailsService.java create mode 100644 351004/Halukha/publisher/src/test/java/com/example/lab/test/SecurityV2IntegrationTest.java diff --git a/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/LabDiscussionApplication.java b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/LabDiscussionApplication.java index 0aa3558b2..63643bc46 100644 --- a/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/LabDiscussionApplication.java +++ b/351004/Halukha/discussion/src/main/java/com/example/lab/discussion/LabDiscussionApplication.java @@ -10,3 +10,6 @@ public static void main(String[] args) { SpringApplication.run(LabDiscussionApplication.class, args); } } + +// netstat -ano | findstr : +// taskkill /PID /F diff --git a/351004/Halukha/publisher/pom.xml b/351004/Halukha/publisher/pom.xml index afb6536c0..141da605a 100644 --- a/351004/Halukha/publisher/pom.xml +++ b/351004/Halukha/publisher/pom.xml @@ -13,10 +13,22 @@ org.springframework.boot spring-boot-starter-web + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-cache + org.springframework.boot spring-boot-starter-data-jpa + + org.springframework.boot + spring-boot-starter-data-redis + org.postgresql postgresql @@ -46,6 +58,11 @@ spring-boot-starter-test test + + org.springframework.security + spring-security-test + test + io.rest-assured rest-assured @@ -56,5 +73,22 @@ json-path test + + io.jsonwebtoken + jjwt-api + 0.12.5 + + + io.jsonwebtoken + jjwt-impl + 0.12.5 + runtime + + + io.jsonwebtoken + jjwt-jackson + 0.12.5 + runtime + \ No newline at end of file diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/LabPublisherApplication.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/LabPublisherApplication.java index 0e4b517ba..d2cd3a4f2 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/LabPublisherApplication.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/LabPublisherApplication.java @@ -2,8 +2,10 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cache.annotation.EnableCaching; @SpringBootApplication +@EnableCaching public class LabPublisherApplication { public static void main(String[] args) { diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/config/RedisCacheConfig.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/config/RedisCacheConfig.java new file mode 100644 index 000000000..e91b6b7f7 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/config/RedisCacheConfig.java @@ -0,0 +1,77 @@ +package com.example.lab.publisher.config; + +import java.time.Duration; +import java.util.HashMap; +import java.util.Map; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cache.Cache; +import org.springframework.cache.interceptor.CacheErrorHandler; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.RedisConnectionFailureException; +import org.springframework.data.redis.cache.RedisCacheConfiguration; +import org.springframework.data.redis.cache.RedisCacheManager; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.RedisSerializationContext; + +@Configuration +public class RedisCacheConfig { + + private static final Logger log = LoggerFactory.getLogger(RedisCacheConfig.class); + + @Bean + public RedisCacheManager cacheManager(RedisConnectionFactory connectionFactory) { + RedisCacheConfiguration defaults = RedisCacheConfiguration.defaultCacheConfig() + .serializeValuesWith(RedisSerializationContext.SerializationPair + .fromSerializer(new GenericJackson2JsonRedisSerializer())) + .entryTtl(Duration.ofMinutes(5)); + + Map perCache = new HashMap<>(); + perCache.put("users", defaults.entryTtl(Duration.ofMinutes(10))); + perCache.put("news", defaults.entryTtl(Duration.ofMinutes(5))); + perCache.put("markers", defaults.entryTtl(Duration.ofMinutes(30))); + perCache.put("newsUser", defaults.entryTtl(Duration.ofMinutes(5))); + + return RedisCacheManager.builder(connectionFactory) + .cacheDefaults(defaults) + .withInitialCacheConfigurations(perCache) + .build(); + } + + @Bean + public CacheErrorHandler cacheErrorHandler() { + return new CacheErrorHandler() { + @Override + public void handleCacheGetError(RuntimeException exception, Cache cache, Object key) { + swallowIfRedisDown(exception, cache, key); + } + + @Override + public void handleCachePutError(RuntimeException exception, Cache cache, Object key, Object value) { + swallowIfRedisDown(exception, cache, key); + } + + @Override + public void handleCacheEvictError(RuntimeException exception, Cache cache, Object key) { + swallowIfRedisDown(exception, cache, key); + } + + @Override + public void handleCacheClearError(RuntimeException exception, Cache cache) { + swallowIfRedisDown(exception, cache, null); + } + + private void swallowIfRedisDown(RuntimeException exception, Cache cache, Object key) { + if (exception instanceof RedisConnectionFailureException) { + log.warn("Redis unavailable; skipping cache operation (cache={}, key={})", cache.getName(), key); + return; + } + throw exception; + } + }; + } +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/PostProxyController.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/PostProxyController.java index 9721493ce..beace4d09 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/PostProxyController.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/PostProxyController.java @@ -5,6 +5,8 @@ import org.springframework.web.reactive.function.client.WebClient; import org.springframework.web.reactive.function.client.WebClientResponseException; +import com.example.lab.publisher.service.PostRedisCacheService; + import reactor.core.publisher.Mono; @RestController @@ -12,9 +14,11 @@ public class PostProxyController { private final WebClient webClient; + private final PostRedisCacheService postCache; - public PostProxyController(WebClient.Builder webClientBuilder) { + public PostProxyController(WebClient.Builder webClientBuilder, PostRedisCacheService postCache) { this.webClient = webClientBuilder.baseUrl("http://localhost:24130").build(); + this.postCache = postCache; } @GetMapping @@ -26,9 +30,18 @@ public Mono> getAllPosts() { @GetMapping("/{id}") public Mono> getPostById(@PathVariable Long id) { + Object cached = postCache.get(id); + if (cached != null) { + return Mono.just(ResponseEntity.ok(cached)); + } return webClient.get() .uri("/api/v1.0/posts/{id}", id) - .exchangeToMono(response -> response.toEntity(Object.class)); + .exchangeToMono(response -> response.toEntity(Object.class)) + .doOnNext(entity -> { + if (entity.getStatusCode().is2xxSuccessful() && entity.getBody() != null) { + postCache.put(id, entity.getBody()); + } + }); } @PostMapping @@ -38,6 +51,14 @@ public Mono> createPost(@RequestBody Object post) { .bodyValue(post) .retrieve() .toEntity(Object.class) + .doOnNext(entity -> { + if (entity.getStatusCode().is2xxSuccessful() && entity.getBody() instanceof java.util.Map map) { + Object idValue = map.get("id"); + if (idValue instanceof Number n) { + postCache.put(n.longValue(), entity.getBody()); + } + } + }) .onErrorResume(WebClientResponseException.class, e -> { Object errorBody = e.getResponseBodyAs(Object.class); return Mono.just(ResponseEntity @@ -51,13 +72,23 @@ public Mono> updatePost(@PathVariable Long id, @RequestBo return webClient.put() .uri("/api/v1.0/posts/{id}", id) .bodyValue(post) - .exchangeToMono(response -> response.toEntity(Object.class)); + .exchangeToMono(response -> response.toEntity(Object.class)) + .doOnNext(entity -> { + if (entity.getStatusCode().is2xxSuccessful() && entity.getBody() != null) { + postCache.put(id, entity.getBody()); + } + }); } @DeleteMapping("/{id}") public Mono> deletePost(@PathVariable Long id) { return webClient.delete() .uri("/api/v1.0/posts/{id}", id) - .exchangeToMono(response -> response.toBodilessEntity()); + .exchangeToMono(response -> response.toBodilessEntity()) + .doOnNext(entity -> { + if (entity.getStatusCode().is2xxSuccessful()) { + postCache.evict(id); + } + }); } } \ No newline at end of file diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/MarkerControllerV2.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/MarkerControllerV2.java new file mode 100644 index 000000000..7488f3482 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/MarkerControllerV2.java @@ -0,0 +1,62 @@ +package com.example.lab.publisher.controller.v2; + +import java.util.List; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.example.lab.publisher.dto.MarkerRequestTo; +import com.example.lab.publisher.dto.MarkerResponseTo; +import com.example.lab.publisher.service.MarkerService; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping("/api/v2.0/markers") +public class MarkerControllerV2 { + + private final MarkerService markerService; + + public MarkerControllerV2(MarkerService markerService) { + this.markerService = markerService; + } + + @GetMapping + public ResponseEntity> getAllMarker() { + return ResponseEntity.ok(markerService.getAllMarker()); + } + + @GetMapping("/{id}") + public ResponseEntity getMarker(@PathVariable Long id) { + return ResponseEntity.ok(markerService.getMarkerById(id)); + } + + @PostMapping + @PreAuthorize("hasRole('ADMIN')") + public ResponseEntity createMarker(@Valid @RequestBody MarkerRequestTo marker) { + return ResponseEntity.status(HttpStatus.CREATED).body(markerService.createMarker(marker)); + } + + @PutMapping("/{id}") + @PreAuthorize("hasRole('ADMIN')") + public ResponseEntity updateMarker(@PathVariable Long id, @Valid @RequestBody MarkerRequestTo marker) { + return ResponseEntity.ok(markerService.updateMarker(id, marker)); + } + + @DeleteMapping("/{id}") + @PreAuthorize("hasRole('ADMIN')") + public ResponseEntity deleteMarker(@PathVariable Long id) { + markerService.deleteMarker(id); + return ResponseEntity.noContent().build(); + } +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/NewsControllerV2.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/NewsControllerV2.java new file mode 100644 index 000000000..2875f818b --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/NewsControllerV2.java @@ -0,0 +1,83 @@ +package com.example.lab.publisher.controller.v2; + +import java.util.List; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.example.lab.publisher.dto.NewsRequestTo; +import com.example.lab.publisher.dto.NewsResponseTo; +import com.example.lab.publisher.dto.UserResponseTo; +import com.example.lab.publisher.security.OwnershipService; +import com.example.lab.publisher.service.NewsService; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping("/api/v2.0/news") +public class NewsControllerV2 { + + private final NewsService newsService; + private final OwnershipService ownership; + + public NewsControllerV2(NewsService newsService, OwnershipService ownership) { + this.newsService = newsService; + this.ownership = ownership; + } + + @GetMapping + public ResponseEntity> getAllNews() { + return ResponseEntity.ok(newsService.getAllNews()); + } + + @GetMapping("/{id}") + public ResponseEntity getNews(@PathVariable Long id) { + return ResponseEntity.ok(newsService.getNewsById(id)); + } + + @PostMapping + @PreAuthorize("hasRole('ADMIN') or hasRole('CUSTOMER')") + public ResponseEntity createNews(@Valid @RequestBody NewsRequestTo news) { + Long me = ownership.currentUserId(); + NewsRequestTo adjusted = news; + if (me != null) { + adjusted = new NewsRequestTo(me, news.getTitle(), news.getContent(), news.getCreated(), news.getModified(), + news.getMarkers()); + } + return ResponseEntity.status(HttpStatus.CREATED).body(newsService.createNews(adjusted)); + } + + @PutMapping("/{id}") + @PreAuthorize("hasRole('ADMIN') or @ownership.canModifyNews(#id)") + public ResponseEntity updateNews(@PathVariable Long id, @Valid @RequestBody NewsRequestTo news) { + Long me = ownership.currentUserId(); + NewsRequestTo adjusted = news; + if (me != null) { + adjusted = new NewsRequestTo(me, news.getTitle(), news.getContent(), news.getCreated(), news.getModified(), + news.getMarkers()); + } + return ResponseEntity.ok(newsService.updateNews(id, adjusted)); + } + + @DeleteMapping("/{id}") + @PreAuthorize("hasRole('ADMIN') or @ownership.canModifyNews(#id)") + public ResponseEntity deleteNews(@PathVariable Long id) { + newsService.deleteNews(id); + return ResponseEntity.noContent().build(); + } + + @GetMapping("/user/{id}") + public ResponseEntity getUserByNewsId(@PathVariable Long id) { + return ResponseEntity.ok(newsService.getUserByNewsId(id)); + } +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/PostProxyControllerV2.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/PostProxyControllerV2.java new file mode 100644 index 000000000..beb9e2ff0 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/PostProxyControllerV2.java @@ -0,0 +1,127 @@ +package com.example.lab.publisher.controller.v2; + +import java.util.Map; + +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.reactive.function.client.WebClient; +import org.springframework.web.reactive.function.client.WebClientResponseException; + +import com.example.lab.publisher.exception.GlobalExceptionHandler.ErrorResponse; +import com.example.lab.publisher.security.OwnershipService; + +import reactor.core.publisher.Mono; + +@RestController +@RequestMapping("/api/v2.0/posts") +public class PostProxyControllerV2 { + + private final WebClient webClient; + private final OwnershipService ownership; + + public PostProxyControllerV2(WebClient.Builder webClientBuilder, OwnershipService ownership) { + this.webClient = webClientBuilder.baseUrl("http://localhost:24130").build(); + this.ownership = ownership; + } + + @GetMapping + public Mono> getAllPosts() { + return webClient.get() + .uri("/api/v1.0/posts") + .exchangeToMono(response -> response.toEntity(Object.class)); + } + + @GetMapping("/{id}") + public Mono> getPostById(@PathVariable Long id) { + return webClient.get() + .uri("/api/v1.0/posts/{id}", id) + .exchangeToMono(response -> response.toEntity(Object.class)); + } + + @PostMapping + @PreAuthorize("hasRole('ADMIN') or hasRole('CUSTOMER')") + public Mono> createPost(@RequestBody Object post) { + Long newsId = extractNewsId(post); + if (!canWrite(newsId)) { + return Mono.just(ResponseEntity.status(403).body(new ErrorResponse(40301, "Forbidden"))); + } + return webClient.post() + .uri("/api/v1.0/posts") + .bodyValue(post) + .retrieve() + .toEntity(Object.class) + .onErrorResume(WebClientResponseException.class, e -> { + Object errorBody = e.getResponseBodyAs(Object.class); + return Mono.just(ResponseEntity.status(e.getStatusCode()).body(errorBody)); + }); + } + + @PutMapping("/{id}") + @PreAuthorize("hasRole('ADMIN') or hasRole('CUSTOMER')") + public Mono> updatePost(@PathVariable Long id, @RequestBody Object post) { + Long newsId = extractNewsId(post); + if (!canWrite(newsId)) { + return Mono.just(ResponseEntity.status(403).body(new ErrorResponse(40301, "Forbidden"))); + } + return webClient.put() + .uri("/api/v1.0/posts/{id}", id) + .bodyValue(post) + .exchangeToMono(response -> response.toEntity(Object.class)); + } + + @DeleteMapping("/{id}") + @PreAuthorize("hasRole('ADMIN') or hasRole('CUSTOMER')") + public Mono> deletePost(@PathVariable Long id) { + return webClient.get() + .uri("/api/v1.0/posts/{id}", id) + .exchangeToMono(response -> response.toEntity(Object.class)) + .flatMap(entity -> { + Long newsId = extractNewsId(entity.getBody()); + if (!canWrite(newsId)) { + return Mono.just(ResponseEntity.status(403).build()); + } + return webClient.delete() + .uri("/api/v1.0/posts/{id}", id) + .exchangeToMono(resp -> resp.toBodilessEntity()); + }); + } + + private boolean canWrite(Long newsId) { + if (newsId == null) { + return false; + } + if (isAdmin()) { + return true; + } + return ownership.canModifyNews(newsId); + } + + private boolean isAdmin() { + Authentication a = SecurityContextHolder.getContext().getAuthentication(); + if (a == null) { + return false; + } + return a.getAuthorities().stream().anyMatch(ga -> "ROLE_ADMIN".equals(ga.getAuthority())); + } + + private Long extractNewsId(Object body) { + if (body instanceof Map map) { + Object v = map.get("newsId"); + if (v instanceof Number n) { + return n.longValue(); + } + } + return null; + } +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/UserControllerV2.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/UserControllerV2.java new file mode 100644 index 000000000..b07d0e258 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/controller/v2/UserControllerV2.java @@ -0,0 +1,80 @@ +package com.example.lab.publisher.controller.v2; + +import java.util.List; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.example.lab.publisher.dto.UserRequestTo; +import com.example.lab.publisher.dto.UserResponseTo; +import com.example.lab.publisher.exception.EntityNotFoundException; +import com.example.lab.publisher.mapper.UserMapper; +import com.example.lab.publisher.model.User; +import com.example.lab.publisher.repository.UserRepository; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping("/api/v2.0/users") +public class UserControllerV2 { + + private final UserRepository userRepository; + private final PasswordEncoder passwordEncoder; + private final UserMapper mapper = UserMapper.INSTANCE; + + public UserControllerV2(UserRepository userRepository, PasswordEncoder passwordEncoder) { + this.userRepository = userRepository; + this.passwordEncoder = passwordEncoder; + } + + @GetMapping + public ResponseEntity> getAllUsers() { + List users = userRepository.findAll().stream().map(mapper::toDto).toList(); + return ResponseEntity.ok(users); + } + + @GetMapping("/{id}") + public ResponseEntity getUser(@PathVariable Long id) { + return ResponseEntity.ok(userRepository.findById(id).map(mapper::toDto) + .orElseThrow(() -> new EntityNotFoundException("User not found", 40401))); + } + + @PutMapping("/{id}") + @PreAuthorize("hasRole('ADMIN') or @ownership.canAccessUser(#id)") + public ResponseEntity updateUser(@PathVariable Long id, @Valid @RequestBody UserRequestTo req) { + User existing = userRepository.findById(id) + .orElseThrow(() -> new EntityNotFoundException("User not found", 40401)); + + User updated = mapper.updateEntity(req, existing); + updated.setId(id); + updated.setPassword(passwordEncoder.encode(req.getPassword())); + User saved = userRepository.save(updated); + return ResponseEntity.ok(mapper.toDto(saved)); + } + + @DeleteMapping("/{id}") + @PreAuthorize("hasRole('ADMIN') or @ownership.canAccessUser(#id)") + public ResponseEntity deleteUser(@PathVariable Long id) { + if (!userRepository.existsById(id)) { + throw new EntityNotFoundException("User not found", 40401); + } + userRepository.deleteById(id); + return ResponseEntity.status(HttpStatus.NO_CONTENT).build(); + } + + static Authentication auth() { + return SecurityContextHolder.getContext().getAuthentication(); + } +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserRequestTo.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserRequestTo.java index 18a99a219..8cd480a87 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserRequestTo.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserRequestTo.java @@ -18,22 +18,22 @@ public class UserRequestTo { @NotBlank @Size(min = 2, max = 64) - private final String firstName; + private final String firstname; @NotBlank @Size(min = 2, max = 64) - private final String lastName; + private final String lastname; @JsonCreator public UserRequestTo( @JsonProperty("login") String login, @JsonProperty("password") String password, - @JsonProperty("firstname") String firstName, - @JsonProperty("lastname") String lastName) { + @JsonProperty("firstname") String firstname, + @JsonProperty("lastname") String lastname) { this.login = login; this.password = password; - this.firstName = firstName; - this.lastName = lastName; + this.firstname = firstname; + this.lastname = lastname; } public String getLogin() { @@ -44,11 +44,11 @@ public String getPassword() { return password; } - public String getFirstName() { - return firstName; + public String getFirstname() { + return firstname; } - public String getLastName() { - return lastName; + public String getLastname() { + return lastname; } } \ No newline at end of file diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserResponseTo.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserResponseTo.java index ba8407398..f95282bca 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserResponseTo.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/dto/UserResponseTo.java @@ -8,21 +8,21 @@ public class UserResponseTo { private Long id; private String login; private String password; - private String firstName; - private String lastName; + private String firstname; + private String lastname; @JsonCreator public UserResponseTo( @JsonProperty("id") Long id, @JsonProperty("login") String login, @JsonProperty("password") String password, - @JsonProperty("firstname") String firstName, - @JsonProperty("lastname") String lastName) { + @JsonProperty("firstname") String firstname, + @JsonProperty("lastname") String lastname) { this.id = id; this.login = login; this.password = password; - this.firstName = firstName; - this.lastName = lastName; + this.firstname = firstname; + this.lastname = lastname; } public Long getId() { @@ -37,11 +37,11 @@ public String getPassword() { return password; } - public String getFirstName() { - return firstName; + public String getFirstname() { + return firstname; } - public String getLastName() { - return lastName; + public String getLastname() { + return lastname; } } diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/exception/GlobalExceptionHandler.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/exception/GlobalExceptionHandler.java index de6e94085..cf6112837 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/exception/GlobalExceptionHandler.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/exception/GlobalExceptionHandler.java @@ -1,8 +1,11 @@ package com.example.lab.publisher.exception; +import java.nio.file.AccessDeniedException; + import org.springframework.dao.DataIntegrityViolationException; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.security.core.AuthenticationException; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; @@ -38,6 +41,19 @@ public ResponseEntity handleGeneric(Exception ex) { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(error); } + @ExceptionHandler(AuthenticationException.class) + public ResponseEntity handleAuthenticationException(AuthenticationException e) { + return ResponseEntity + .status(HttpStatus.UNAUTHORIZED) + .body(new ErrorResponse(40101, "Invalid login or password")); + } + + @ExceptionHandler(org.springframework.security.access.AccessDeniedException.class) + public ResponseEntity handleAccessDenied(AccessDeniedException ex) { + return ResponseEntity.status(HttpStatus.FORBIDDEN) + .body(new ErrorResponse(40301, "У вас нет прав на это действие")); + } + public static class ErrorResponse { private final int errorCode; private final String errorMessage; @@ -47,7 +63,12 @@ public ErrorResponse(int errorCode, String errorMessage) { this.errorMessage = errorMessage; } - public int getErrorCode() { return errorCode; } - public String getErrorMessage() { return errorMessage; } + public int getErrorCode() { + return errorCode; + } + + public String getErrorMessage() { + return errorMessage; + } } } diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/UserMapper.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/UserMapper.java index 07e54ef67..6f1884157 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/UserMapper.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/mapper/UserMapper.java @@ -22,8 +22,8 @@ public interface UserMapper { @Mappings({ @Mapping(target = "login", source = "dto.login"), @Mapping(target = "password", source = "dto.password"), - @Mapping(target = "firstName", source = "dto.firstName"), - @Mapping(target = "lastName", source = "dto.lastName"), + @Mapping(target = "firstname", source = "dto.firstname"), + @Mapping(target = "lastname", source = "dto.lastname"), @Mapping(target = "id", ignore = true) }) User updateEntity(UserRequestTo dto, User existing); diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/User.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/User.java index 1222f9d38..171810e95 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/User.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/model/User.java @@ -2,6 +2,8 @@ import jakarta.persistence.Column; import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; @@ -9,6 +11,8 @@ import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Size; +import com.example.lab.publisher.security.Role; + @Entity @Table(name = "tbl_user") public class User { @@ -31,21 +35,25 @@ public class User { @NotBlank @Size(min = 2, max = 64) @Column(name = "firstname") - private String firstName; + private String firstname; @NotBlank @Size(min = 2, max = 64) @Column(name = "lastname") - private String lastName; + private String lastname; + + @Enumerated(EnumType.STRING) + @Column(name = "role") + private Role role = Role.CUSTOMER; public User() { } - public User(String login, String password, String firstName, String lastName) { + public User(String login, String password, String firstname, String lastname) { this.login = login; this.password = password; - this.firstName = firstName; - this.lastName = lastName; + this.firstname = firstname; + this.lastname = lastname; } public Long getId() { @@ -60,12 +68,16 @@ public String getPassword() { return password; } - public String getFirstName() { - return firstName; + public String getFirstname() { + return firstname; + } + + public String getLastname() { + return lastname; } - public String getLastName() { - return lastName; + public Role getRole() { + return role == null ? Role.CUSTOMER : role; } public void setId(Long id) { @@ -80,11 +92,15 @@ public void setPassword(String password) { this.password = password; } - public void setFirstName(String firstName) { - this.firstName = firstName; + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; } - public void setLastName(String lastName) { - this.lastName = lastName; + public void setRole(Role role) { + this.role = role == null ? Role.CUSTOMER : role; } } diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/UserRepository.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/UserRepository.java index 7a136d04f..8bef695ad 100644 --- a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/UserRepository.java +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/repository/UserRepository.java @@ -1,8 +1,11 @@ package com.example.lab.publisher.repository; +import java.util.Optional; + import org.springframework.data.jpa.repository.JpaRepository; import com.example.lab.publisher.model.User; public interface UserRepository extends JpaRepository { + Optional findByLogin(String login); } diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/AuthController.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/AuthController.java new file mode 100644 index 000000000..33391f704 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/AuthController.java @@ -0,0 +1,81 @@ +package com.example.lab.publisher.security; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.example.lab.publisher.exception.GlobalExceptionHandler.ErrorResponse; +import com.example.lab.publisher.model.User; +import com.example.lab.publisher.repository.UserRepository; +import com.example.lab.publisher.security.AuthDtos.CurrentUserResponse; +import com.example.lab.publisher.security.AuthDtos.LoginRequest; +import com.example.lab.publisher.security.AuthDtos.RegisterRequest; +import com.example.lab.publisher.security.AuthDtos.TokenResponse; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping("/api/v2.0") +public class AuthController { + + private final UserRepository userRepository; + private final PasswordEncoder passwordEncoder; + private final AuthenticationManager authenticationManager; + private final JwtService jwtService; + + public AuthController(UserRepository userRepository, PasswordEncoder passwordEncoder, + AuthenticationManager authenticationManager, JwtService jwtService) { + this.userRepository = userRepository; + this.passwordEncoder = passwordEncoder; + this.authenticationManager = authenticationManager; + this.jwtService = jwtService; + } + + @PostMapping("/users") + public ResponseEntity register(@Valid @RequestBody RegisterRequest req) { + if (userRepository.findByLogin(req.getLogin()).isPresent()) { + return ResponseEntity.status(HttpStatus.FORBIDDEN).body(new ErrorResponse(40301, "Duplicate entry")); + } + + User user = new User(); + user.setLogin(req.getLogin()); + user.setPassword(passwordEncoder.encode(req.getPassword())); + user.setFirstname(req.getFirstname()); + user.setLastname(req.getLastname()); + user.setRole(req.getRole()); + + User saved = userRepository.save(user); + return ResponseEntity.status(HttpStatus.CREATED) + .body(new CurrentUserResponse(saved.getId(), saved.getLogin(), saved.getFirstname(), + saved.getLastname(), saved.getRole())); + } + + @PostMapping("/login") + public ResponseEntity login(@Valid @RequestBody LoginRequest req) { + Authentication auth = authenticationManager.authenticate( + new UsernamePasswordAuthenticationToken(req.getLogin(), req.getPassword())); + SecurityContextHolder.getContext().setAuthentication(auth); + + User user = userRepository.findByLogin(req.getLogin()).orElseThrow(); + String token = jwtService.issueToken(user.getLogin(), user.getRole() == null ? Role.CUSTOMER : user.getRole()); + return ResponseEntity.ok(new TokenResponse(token)); + } + + @GetMapping("/users/me") + public ResponseEntity me() { + String login = SecurityContextHolder.getContext().getAuthentication().getName(); + User user = userRepository.findByLogin(login).orElseThrow(); + return ResponseEntity + .ok(new CurrentUserResponse(user.getId(), user.getLogin(), user.getFirstname(), user.getLastname(), + user.getRole() == null ? Role.CUSTOMER : user.getRole())); + } +} diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/AuthDtos.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/AuthDtos.java new file mode 100644 index 000000000..a89e26b48 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/AuthDtos.java @@ -0,0 +1,145 @@ +package com.example.lab.publisher.security; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +public final class AuthDtos { + private AuthDtos() { + } + + public static class RegisterRequest { + @NotBlank + @Size(min = 2, max = 64) + private final String login; + + @NotBlank + @Size(min = 8, max = 128) + private final String password; + + @NotBlank + @Size(min = 2, max = 64) + private final String firstname; + + @NotBlank + @Size(min = 2, max = 64) + private final String lastname; + + private final Role role; + + @JsonCreator + public RegisterRequest( + @JsonProperty("login") String login, + @JsonProperty("password") String password, + @JsonProperty("firstname") String firstname, + @JsonProperty("lastname") String lastname, + @JsonProperty("role") Role role) { + this.login = login; + this.password = password; + this.firstname = firstname; + this.lastname = lastname; + this.role = role == null ? Role.CUSTOMER : role; + } + + public String getLogin() { + return login; + } + + public String getPassword() { + return password; + } + + public String getFirstname() { + return firstname; + } + + public String getLastname() { + return lastname; + } + + public Role getRole() { + return role; + } + } + + public static class LoginRequest { + @NotBlank + private final String login; + + @NotBlank + private final String password; + + @JsonCreator + public LoginRequest( + @JsonProperty("login") String login, + @JsonProperty("password") String password) { + this.login = login; + this.password = password; + } + + public String getLogin() { + return login; + } + + public String getPassword() { + return password; + } + } + + public static class TokenResponse { + private final String access_token; + private final String token_type; + + public TokenResponse(String accessToken) { + this.access_token = accessToken; + this.token_type = "Bearer"; + } + + public String getAccess_token() { + return access_token; + } + + public String getToken_type() { + return token_type; + } + } + + public static class CurrentUserResponse { + private final Long id; + private final String login; + private final String firstname; + private final String lastname; + private final Role role; + + public CurrentUserResponse(Long id, String login, String firstname, String lastname, Role role) { + this.id = id; + this.login = login; + this.firstname = firstname; + this.lastname = lastname; + this.role = role; + } + + public Long getId() { + return id; + } + + public String getLogin() { + return login; + } + + public String getFirstname() { + return firstname; + } + + public String getLastname() { + return lastname; + } + + public Role getRole() { + return role; + } + } +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/JwtAuthFilter.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/JwtAuthFilter.java new file mode 100644 index 000000000..225aa396a --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/JwtAuthFilter.java @@ -0,0 +1,67 @@ +package com.example.lab.publisher.security; + +import java.io.IOException; + +import org.springframework.http.HttpHeaders; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; +import org.springframework.stereotype.Component; +import org.springframework.web.filter.OncePerRequestFilter; + +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jws; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +@Component +public class JwtAuthFilter extends OncePerRequestFilter { + + private final JwtService jwtService; + private final UserDetailsService userDetailsService; + + public JwtAuthFilter(JwtService jwtService, UserDetailsService userDetailsService) { + this.jwtService = jwtService; + this.userDetailsService = userDetailsService; + } + + @Override + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) + throws ServletException, IOException { + String auth = request.getHeader(HttpHeaders.AUTHORIZATION); + if (auth == null || !auth.startsWith("Bearer ")) { + filterChain.doFilter(request, response); + return; + } + + String token = auth.substring("Bearer ".length()).trim(); + if (token.isEmpty() || SecurityContextHolder.getContext().getAuthentication() != null) { + filterChain.doFilter(request, response); + return; + } + + try { + Jws jws = jwtService.parse(token); + String login = jws.getPayload().getSubject(); + if (login == null || login.isBlank()) { + filterChain.doFilter(request, response); + return; + } + + UserDetails userDetails = userDetailsService.loadUserByUsername(login); + UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken( + userDetails, null, userDetails.getAuthorities()); + authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); + SecurityContextHolder.getContext().setAuthentication(authentication); + } catch (Exception e) { + // invalid token -> leave unauthenticated, entrypoint will handle if endpoint requires auth + } + + filterChain.doFilter(request, response); + } +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/JwtService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/JwtService.java new file mode 100644 index 000000000..9b858142d --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/JwtService.java @@ -0,0 +1,50 @@ +package com.example.lab.publisher.security; + +import java.nio.charset.StandardCharsets; +import java.time.Instant; +import java.util.Date; + +import javax.crypto.SecretKey; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jws; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.security.Keys; + +@Service +public class JwtService { + + private final SecretKey key; + private final long ttlSeconds; + + public JwtService( + @Value("${app.jwt.secret}") String secret, + @Value("${app.jwt.ttlSeconds:3600}") long ttlSeconds) { + this.key = Keys.hmacShaKeyFor(secret.getBytes(StandardCharsets.UTF_8)); + this.ttlSeconds = ttlSeconds; + } + + public String issueToken(String login, Role role) { + Instant now = Instant.now(); + Instant exp = now.plusSeconds(ttlSeconds); + + return Jwts.builder() + .subject(login) + .issuedAt(Date.from(now)) + .expiration(Date.from(exp)) + .claim("role", role.name()) + .signWith(key) + .compact(); + } + + public Jws parse(String token) { + return Jwts.parser() + .verifyWith(key) + .build() + .parseSignedClaims(token); + } +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/OwnershipService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/OwnershipService.java new file mode 100644 index 000000000..c1c4327a9 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/OwnershipService.java @@ -0,0 +1,46 @@ +package com.example.lab.publisher.security; + +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Service; + +import com.example.lab.publisher.model.News; +import com.example.lab.publisher.model.User; +import com.example.lab.publisher.repository.NewsRepository; +import com.example.lab.publisher.repository.UserRepository; + +@Service("ownership") +public class OwnershipService { + + private final UserRepository userRepository; + private final NewsRepository newsRepository; + + public OwnershipService(UserRepository userRepository, NewsRepository newsRepository) { + this.userRepository = userRepository; + this.newsRepository = newsRepository; + } + + public boolean canAccessUser(Long id) { + var auth = SecurityContextHolder.getContext().getAuthentication(); + if (auth == null) + return false; + + return userRepository.findByLogin(auth.getName()) + .map(user -> user.getId().equals(id)) + .orElse(false); + } + + public boolean canModifyNews(Long newsId) { + String login = SecurityContextHolder.getContext().getAuthentication().getName(); + User user = userRepository.findByLogin(login).orElse(null); + if (user == null || user.getId() == null) { + return false; + } + News news = newsRepository.findById(newsId).orElse(null); + return news != null && user.getId().equals(news.getUserId()); + } + + public Long currentUserId() { + String login = SecurityContextHolder.getContext().getAuthentication().getName(); + return userRepository.findByLogin(login).map(User::getId).orElse(null); + } +} diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/Role.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/Role.java new file mode 100644 index 000000000..1e0f68962 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/Role.java @@ -0,0 +1,7 @@ +package com.example.lab.publisher.security; + +public enum Role { + ADMIN, + CUSTOMER +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/SecurityConfig.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/SecurityConfig.java new file mode 100644 index 000000000..ccfc52493 --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/SecurityConfig.java @@ -0,0 +1,115 @@ +package com.example.lab.publisher.security; + +import java.io.IOException; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.ProviderManager; +import org.springframework.security.authentication.dao.DaoAuthenticationProvider; +import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.access.AccessDeniedHandler; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.http.HttpMethod; + +@Configuration +@EnableMethodSecurity +public class SecurityConfig { + + @Bean + public PasswordEncoder passwordEncoder() { + BCryptPasswordEncoder bcrypt = new BCryptPasswordEncoder(); + return new PasswordEncoder() { + @Override + public String encode(CharSequence rawPassword) { + return bcrypt.encode(rawPassword); + } + + @Override + public boolean matches(CharSequence rawPassword, String encodedPassword) { + if (encodedPassword == null) { + return false; + } + // backward compatibility: allow plain-text passwords created via v1 + if (!encodedPassword.startsWith("$2a$") && !encodedPassword.startsWith("$2b$") && !encodedPassword.startsWith("$2y$")) { + return rawPassword != null && encodedPassword.contentEquals(rawPassword); + } + return bcrypt.matches(rawPassword, encodedPassword); + } + }; + } + + @Bean + public AuthenticationManager authenticationManager(UserDetailsService userDetailsService, PasswordEncoder encoder) { + DaoAuthenticationProvider provider = new DaoAuthenticationProvider(); + provider.setUserDetailsService(userDetailsService); + provider.setPasswordEncoder(encoder); + return new ProviderManager(provider); + } + + @Bean + public SecurityFilterChain filterChain(HttpSecurity http, JwtAuthFilter jwtAuthFilter, ObjectMapper objectMapper) + throws Exception { + + http.csrf(csrf -> csrf.disable()); + http.sessionManagement(sm -> sm.sessionCreationPolicy(SessionCreationPolicy.STATELESS)); + + http.exceptionHandling(eh -> eh + .authenticationEntryPoint((request, response, authException) -> writeError(response, objectMapper, 40101, + "Unauthorized")) + .accessDeniedHandler(accessDeniedHandler(objectMapper))); + + http.authorizeHttpRequests(auth -> auth + .requestMatchers("/api/v1.0/**").permitAll() + .requestMatchers(HttpMethod.POST, "/api/v2.0/login").permitAll() + .requestMatchers(HttpMethod.POST, "/api/v2.0/users").permitAll() + .requestMatchers("/api/v2.0/**").authenticated() + .anyRequest().permitAll()); + + http.httpBasic(basic -> basic.disable()); + http.addFilterBefore(jwtAuthFilter, UsernamePasswordAuthenticationFilter.class); + + return http.build(); + } + + private AccessDeniedHandler accessDeniedHandler(ObjectMapper objectMapper) { + return (request, response, accessDeniedException) -> writeError(response, objectMapper, 40301, "Forbidden"); + } + + private void writeError(HttpServletResponse response, ObjectMapper objectMapper, int code, String message) + throws IOException { + response.setStatus(code / 100); + response.setContentType(MediaType.APPLICATION_JSON_VALUE); + objectMapper.writeValue(response.getOutputStream(), new ErrorBody(code, message)); + } + + public static class ErrorBody { + private final int errorCode; + private final String errorMessage; + + public ErrorBody(int errorCode, String errorMessage) { + this.errorCode = errorCode; + this.errorMessage = errorMessage; + } + + public int getErrorCode() { + return errorCode; + } + + public String getErrorMessage() { + return errorMessage; + } + } +} + diff --git a/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/SecurityUserDetailsService.java b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/SecurityUserDetailsService.java new file mode 100644 index 000000000..c12f49b6d --- /dev/null +++ b/351004/Halukha/publisher/src/main/java/com/example/lab/publisher/security/SecurityUserDetailsService.java @@ -0,0 +1,36 @@ +package com.example.lab.publisher.security; + +import java.util.List; + +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Service; + +import com.example.lab.publisher.model.User; +import com.example.lab.publisher.repository.UserRepository; + +@Service +public class SecurityUserDetailsService implements UserDetailsService { + + private final UserRepository userRepository; + + public SecurityUserDetailsService(UserRepository userRepository) { + this.userRepository = userRepository; + } + + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + User user = userRepository.findByLogin(username) + .orElseThrow(() -> new UsernameNotFoundException("User not found")); + + String role = user.getRole() == null ? Role.CUSTOMER.name() : user.getRole().name(); + return org.springframework.security.core.userdetails.User + .withUsername(user.getLogin()) + .password(user.getPassword()) + .authorities(List.of(new SimpleGrantedAuthority("ROLE_" + role))) + .build(); + } +} + diff --git a/351004/Halukha/publisher/src/test/java/com/example/lab/test/SecurityV2IntegrationTest.java b/351004/Halukha/publisher/src/test/java/com/example/lab/test/SecurityV2IntegrationTest.java new file mode 100644 index 000000000..b3a382493 --- /dev/null +++ b/351004/Halukha/publisher/src/test/java/com/example/lab/test/SecurityV2IntegrationTest.java @@ -0,0 +1,86 @@ +package com.example.lab.test; + +import static org.hamcrest.Matchers.notNullValue; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.web.server.LocalServerPort; + +import static io.restassured.RestAssured.given; +import io.restassured.http.ContentType; + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SecurityV2IntegrationTest { + + @LocalServerPort + int port; + + @Test + void v1_stays_public() { + given() + .port(port) + .when() + .get("/api/v1.0/users") + .then() + .statusCode(200); + } + + @Test + void v2_requires_auth() { + given() + .port(port) + .when() + .get("/api/v2.0/news") + .then() + .statusCode(401); + } + + @Test + void registration_and_login_issue_jwt() { + String login = "sec_user_" + System.currentTimeMillis(); + + given() + .port(port) + .contentType(ContentType.JSON) + .body(""" + { + "login": "%s", + "password": "password123", + "firstname": "John", + "lastname": "Doe", + "role": "CUSTOMER" + } + """.formatted(login)) + .when() + .post("/api/v2.0/users") + .then() + .statusCode(201); + + String token = given() + .port(port) + .contentType(ContentType.JSON) + .body(""" + { + "login": "%s", + "password": "password123" + } + """.formatted(login)) + .when() + .post("/api/v2.0/login") + .then() + .statusCode(200) + .body("access_token", notNullValue()) + .extract() + .path("access_token"); + + given() + .port(port) + .header("Authorization", "Bearer " + token) + .when() + .get("/api/v2.0/users/me") + .then() + .statusCode(200) + .body("login", notNullValue()) + .body("role", notNullValue()); + } +} +