diff options
| author | mo khan <mo.khan@gmail.com> | 2020-07-20 15:55:59 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-07-21 16:46:02 -0600 |
| commit | b3faccb3e3007ddfd41ef251ad8a925542fe2500 (patch) | |
| tree | c2389439b9d41193079daf29a7bb82b6127e1e88 /spec/fixtures/java | |
| parent | e1bb260b43763a36536b7d3fa4d73108ffb604d4 (diff) | |
Update maven/gradle offline tests
* Let maven figure out the version of the license plugin that it is compatible with
* Print the error when the setup fails
* Add tests for multiple versions of maven and java
* Install packages into a project specific directory to prevent cross test pollution
* Specify the list of supported Maven versions
* Update CHANGELOG and bump the version
Diffstat (limited to 'spec/fixtures/java')
28 files changed, 516 insertions, 77 deletions
diff --git a/spec/fixtures/java/build.gradle.kts b/spec/fixtures/java/gradle/build.gradle.kts index 2ca8866..2ca8866 100644 --- a/spec/fixtures/java/build.gradle.kts +++ b/spec/fixtures/java/gradle/build.gradle.kts diff --git a/spec/fixtures/java/11/build.gradle b/spec/fixtures/java/gradle/java-11/build.gradle index fa128ea..fa128ea 100644 --- a/spec/fixtures/java/11/build.gradle +++ b/spec/fixtures/java/gradle/java-11/build.gradle diff --git a/spec/fixtures/java/8/build.gradle b/spec/fixtures/java/gradle/java-8/build.gradle index b7cffcd..b7cffcd 100644 --- a/spec/fixtures/java/8/build.gradle +++ b/spec/fixtures/java/gradle/java-8/build.gradle diff --git a/spec/fixtures/java/gradle/offline-environment/build.gradle b/spec/fixtures/java/gradle/offline-environment/build.gradle index 6e44ce9..cec239c 100644 --- a/spec/fixtures/java/gradle/offline-environment/build.gradle +++ b/spec/fixtures/java/gradle/offline-environment/build.gradle @@ -6,7 +6,7 @@ apply plugin: "java" ext { mavenHost = System.getenv('PRIVATE_MAVEN_HOST') } repositories { - maven { url "https://$mavenHost/artifactory/mvn/" } + maven { url "https://$mavenHost/maven2/" } } dependencies { diff --git a/spec/fixtures/java/gradle/offline-environment/bundle.crt b/spec/fixtures/java/gradle/offline-environment/bundle.crt deleted file mode 100644 index 398c90f..0000000 --- a/spec/fixtures/java/gradle/offline-environment/bundle.crt +++ /dev/null @@ -1,49 +0,0 @@ ------BEGIN CERTIFICATE----- -MIID7jCCAtagAwIBAgIJAI21kFz1PLI3MA0GCSqGSIb3DQEBCwUAMIGLMQswCQYD -VQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQg -V2lkZ2l0cyBQdHkgTHRkMUQwQgYDVQQDDDtnaXRsYWItYWlyZ2FwLWp2bS51cy13 -ZXN0MS1iLmMuZ3JvdXAtc2VjdXJlLWE4OWZlNy5pbnRlcm5hbDAeFw0yMDA0MTcw -NjE4NTFaFw0yMTA0MTcwNjE4NTFaMIGLMQswCQYDVQQGEwJBVTETMBEGA1UECAwK -U29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMUQw -QgYDVQQDDDtnaXRsYWItYWlyZ2FwLWp2bS51cy13ZXN0MS1iLmMuZ3JvdXAtc2Vj -dXJlLWE4OWZlNy5pbnRlcm5hbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAK7lgNeL7Z6pj/vNLDw0QWuv6VKhY6jqd6Rdd03FJ1kG6pG4iUREhaH6UKjF -IYBFQFHtH+WJV78nU3D5WQayAhKxPJMPeLfVmeBxO+3rFtVCylgkytqJEP4fEkwP -lOyiUWVa6pcRkdijE5Y9pi+7buagZMZoCyQITiVOgqMsTwuxUDmuhDZQx8cmyfiq -zV7STaKVYx4h7P7p5cOhXaMPg7mKbCEIjrRfxcA4BZTlFOt+/8uyqQDfTXarl4gp -buv/zSzZtrFbsyc0MmTY40foKkMuTKHwbaVjoRqiqYzGyEhBuSYdaNQMTHWAGl4e -Ts3dIC8ysmEyWyxsUdBYhkHoi0ECAwEAAaNTMFEwHQYDVR0OBBYEFDC4YeQ2AxrR -3aXK63Y4+KWbdq0tMB8GA1UdIwQYMBaAFDC4YeQ2AxrR3aXK63Y4+KWbdq0tMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAF8D6h0e8ogZQrX+YRDc -FMvz2vYv6Oo2cLG5u5YSX1bJeOQHcCmmAvYBA+Pqjomxw9csRmktcy69hxIbvccn -m7jCF3hasOoCivM5ifSmdXSBqmnmaQUErEhF+g9VIl696dR4H+47ewTmDc+2uzvP -FFEfV/gC7QLIhMlpYJUn2/y4SgPjp08zJqulDDZL++srUqFktfiKyehriQXBn1M8 -JsW9G0at1fufKpFIgQWve0QtE1haBF+g6SGXQ/+guZnw5stUJ7ksFheJu4WsEPIx -vtRkKZ60p/Hpq7tmO5UG5fKK1tuyBSj3vxewBBYtgH23h7/c7KxoeDIOnyNRshoA -7Dg= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIUe5OYnWvcwt2MgCpVSUgvFa8E3D0wDQYJKoZIhvcNAQEL -BQAwgbAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMSEwHwYDVQQK -DBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxRTBDBgNVBAMMPGdpdGxhYi1haXJn -YXAtdGVzdC51cy13ZXN0MS1iLmMuZ3JvdXAtc2VjdXJlLWE4OWZlNy5pbnRlcm5h -bDEiMCAGCSqGSIb3DQEJARYTbGNoYXJsZXNAZ2l0bGFiLmNvbTAeFw0yMDAzMDky -MTU1NDhaFw0yMTAzMDkyMTU1NDhaMIGwMQswCQYDVQQGEwJVUzETMBEGA1UECAwK -Q2FsaWZvcm5pYTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMUUw -QwYDVQQDDDxnaXRsYWItYWlyZ2FwLXRlc3QudXMtd2VzdDEtYi5jLmdyb3VwLXNl -Y3VyZS1hODlmZTcuaW50ZXJuYWwxIjAgBgkqhkiG9w0BCQEWE2xjaGFybGVzQGdp -dGxhYi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDypJmnetUl -HhXOLLFS+/sc8NoDMM3R9zN98x71iSK4Jn6a94vFYpg/8DU2mg7e972VvT1NKEHK -1+BGbgDMtbAiBeca+cWpJdswiWL69yNEozWRq69soUq1zcBu+MFnAdtB0SzK2ohd -R9aJqJmy9aVaEYZFRGktpjLObQZ/qVysCUo8Ts9dfSu50+DqEmVnmDkbgqNl4y7W -7x2PNCG+6m40+PGnHTdTpnah9DARqJhj/ORHfbFz/a+zHMlU+SDw06dqKBjwxEW3 -azjRDgmC4bGXj/Qbt7VUJriFCA0W22v4VqMTMhU0PWOw5MJa/cT82avlaA5bBskj -kN6wJ5WwabsDAgMBAAGjUzBRMB0GA1UdDgQWBBQ0siXTvUqJwrslaeYax0K64mLH -KjAfBgNVHSMEGDAWgBQ0siXTvUqJwrslaeYax0K64mLHKjAPBgNVHRMBAf8EBTAD -AQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCNI1pKNMiTcx3msHVOmVHhA44ocJbl6Jws -ztpp7aSduKI/Ib4FvONLSV5kJDhQ2Q9dBQWQiSsqoEIfvU3RWuAeU69fl/ojHOTy -JwXiitWT0QZ1rXGIak+tYAHOyHn42nfiHg0H9D67DZ0uDQdQ7Uqwwe+21eqz/vQ9 -3Edj7C5Oag+Uf1zdAR60+zMm4DZJ0guDfQXhRuYF1GTll5avpxZA0QMhGgysekXe -IPcVVawMK/ChUcbktFylIAu9ohWrJHU5KuDrzhEOyG+0hEFGFnzYfpJSADIHvNNS -Gtpf/YEZclLD7wHrkhbeIThnU/Z9q270dm15wEGO9MLACEob6DZo ------END CERTIFICATE----- diff --git a/spec/fixtures/java/maven.crt b/spec/fixtures/java/maven.crt deleted file mode 100644 index fe9fcf7..0000000 --- a/spec/fixtures/java/maven.crt +++ /dev/null @@ -1,24 +0,0 @@ ------BEGIN CERTIFICATE----- -MIID7jCCAtagAwIBAgIJAI21kFz1PLI3MA0GCSqGSIb3DQEBCwUAMIGLMQswCQYD -VQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQg -V2lkZ2l0cyBQdHkgTHRkMUQwQgYDVQQDDDtnaXRsYWItYWlyZ2FwLWp2bS51cy13 -ZXN0MS1iLmMuZ3JvdXAtc2VjdXJlLWE4OWZlNy5pbnRlcm5hbDAeFw0yMDA0MTcw -NjE4NTFaFw0yMTA0MTcwNjE4NTFaMIGLMQswCQYDVQQGEwJBVTETMBEGA1UECAwK -U29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMUQw -QgYDVQQDDDtnaXRsYWItYWlyZ2FwLWp2bS51cy13ZXN0MS1iLmMuZ3JvdXAtc2Vj -dXJlLWE4OWZlNy5pbnRlcm5hbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAK7lgNeL7Z6pj/vNLDw0QWuv6VKhY6jqd6Rdd03FJ1kG6pG4iUREhaH6UKjF -IYBFQFHtH+WJV78nU3D5WQayAhKxPJMPeLfVmeBxO+3rFtVCylgkytqJEP4fEkwP -lOyiUWVa6pcRkdijE5Y9pi+7buagZMZoCyQITiVOgqMsTwuxUDmuhDZQx8cmyfiq -zV7STaKVYx4h7P7p5cOhXaMPg7mKbCEIjrRfxcA4BZTlFOt+/8uyqQDfTXarl4gp -buv/zSzZtrFbsyc0MmTY40foKkMuTKHwbaVjoRqiqYzGyEhBuSYdaNQMTHWAGl4e -Ts3dIC8ysmEyWyxsUdBYhkHoi0ECAwEAAaNTMFEwHQYDVR0OBBYEFDC4YeQ2AxrR -3aXK63Y4+KWbdq0tMB8GA1UdIwQYMBaAFDC4YeQ2AxrR3aXK63Y4+KWbdq0tMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAF8D6h0e8ogZQrX+YRDc -FMvz2vYv6Oo2cLG5u5YSX1bJeOQHcCmmAvYBA+Pqjomxw9csRmktcy69hxIbvccn -m7jCF3hasOoCivM5ifSmdXSBqmnmaQUErEhF+g9VIl696dR4H+47ewTmDc+2uzvP -FFEfV/gC7QLIhMlpYJUn2/y4SgPjp08zJqulDDZL++srUqFktfiKyehriQXBn1M8 -JsW9G0at1fufKpFIgQWve0QtE1haBF+g6SGXQ/+guZnw5stUJ7ksFheJu4WsEPIx -vtRkKZ60p/Hpq7tmO5UG5fKK1tuyBSj3vxewBBYtgH23h7/c7KxoeDIOnyNRshoA -7Dg= ------END CERTIFICATE----- diff --git a/spec/fixtures/java/example/pom.xml b/spec/fixtures/java/maven/example/pom.xml index b59f809..b59f809 100644 --- a/spec/fixtures/java/example/pom.xml +++ b/spec/fixtures/java/maven/example/pom.xml diff --git a/spec/fixtures/java/example/settings.xml b/spec/fixtures/java/maven/example/settings.xml index e84b931..e84b931 100644 --- a/spec/fixtures/java/example/settings.xml +++ b/spec/fixtures/java/maven/example/settings.xml diff --git a/spec/fixtures/java/pom-public-gitlab-repository.xml b/spec/fixtures/java/maven/external-gitlab-repo/pom.xml index 11abf7f..07bc1a7 100644 --- a/spec/fixtures/java/pom-public-gitlab-repository.xml +++ b/spec/fixtures/java/maven/external-gitlab-repo/pom.xml @@ -13,9 +13,9 @@ <version>1.0</version> </dependency> <dependency> - <groupId>javax.xml.bind</groupId> - <artifactId>jaxb-api</artifactId> - <version>2.3.0</version> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.3.0</version> </dependency> </dependencies> </project> diff --git a/spec/fixtures/java/custom-maven-settings.xml b/spec/fixtures/java/maven/external-gitlab-repo/settings.xml index b7dbb1c..b7dbb1c 100644 --- a/spec/fixtures/java/custom-maven-settings.xml +++ b/spec/fixtures/java/maven/external-gitlab-repo/settings.xml diff --git a/spec/fixtures/java/maven/gitlab-repo/pom.xml b/spec/fixtures/java/maven/gitlab-repo/pom.xml new file mode 100644 index 0000000..07bc1a7 --- /dev/null +++ b/spec/fixtures/java/maven/gitlab-repo/pom.xml @@ -0,0 +1,21 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>com.gitlab.secure</groupId> + <artifactId>license-scanning</artifactId> + <packaging>jar</packaging> + <version>1.0-SNAPSHOT</version> + <name>example</name> + <url>http://maven.apache.org</url> + <dependencies> + <dependency> + <groupId>com.gitlab.secure</groupId> + <artifactId>example</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.3.0</version> + </dependency> + </dependencies> +</project> diff --git a/spec/fixtures/java/maven-multimodule/api/pom.xml b/spec/fixtures/java/maven/multimodule/api/pom.xml index c621c1a..c621c1a 100644 --- a/spec/fixtures/java/maven-multimodule/api/pom.xml +++ b/spec/fixtures/java/maven/multimodule/api/pom.xml diff --git a/spec/fixtures/java/maven-multimodule/model/pom.xml b/spec/fixtures/java/maven/multimodule/model/pom.xml index 91b366b..91b366b 100644 --- a/spec/fixtures/java/maven-multimodule/model/pom.xml +++ b/spec/fixtures/java/maven/multimodule/model/pom.xml diff --git a/spec/fixtures/java/maven-multimodule/pom.xml b/spec/fixtures/java/maven/multimodule/pom.xml index e84ad4a..e84ad4a 100644 --- a/spec/fixtures/java/maven-multimodule/pom.xml +++ b/spec/fixtures/java/maven/multimodule/pom.xml diff --git a/spec/fixtures/java/maven-multimodule/web/pom.xml b/spec/fixtures/java/maven/multimodule/web/pom.xml index 548e9fb..548e9fb 100644 --- a/spec/fixtures/java/maven-multimodule/web/pom.xml +++ b/spec/fixtures/java/maven/multimodule/web/pom.xml diff --git a/spec/fixtures/java/maven/my-spring-app2/.mvn/wrapper/maven-wrapper.jar b/spec/fixtures/java/maven/my-spring-app2/.mvn/wrapper/maven-wrapper.jar Binary files differnew file mode 100644 index 0000000..9cc84ea --- /dev/null +++ b/spec/fixtures/java/maven/my-spring-app2/.mvn/wrapper/maven-wrapper.jar diff --git a/spec/fixtures/java/maven/my-spring-app2/.mvn/wrapper/maven-wrapper.properties b/spec/fixtures/java/maven/my-spring-app2/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..b573bb5 --- /dev/null +++ b/spec/fixtures/java/maven/my-spring-app2/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1 @@ +distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.3/apache-maven-3.5.3-bin.zip diff --git a/spec/fixtures/java/maven/my-spring-app2/mvnw b/spec/fixtures/java/maven/my-spring-app2/mvnw new file mode 100755 index 0000000..5d8e6c3 --- /dev/null +++ b/spec/fixtures/java/maven/my-spring-app2/mvnw @@ -0,0 +1,165 @@ +#!/bin/sh + +if [ -z "$MAVEN_SKIP_RC" ] ; then + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi +fi + +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + PRG="$0" + + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + saveddir=`pwd` + M2_HOME=`dirname "$PRG"`/.. + M2_HOME=`cd "$M2_HOME" && pwd` + cd "$saveddir" +fi + +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + done + echo "${basedir}" +} + +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +echo $MAVEN_PROJECTBASEDIR +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/spec/fixtures/java/maven/my-spring-app2/pom.xml b/spec/fixtures/java/maven/my-spring-app2/pom.xml new file mode 100644 index 0000000..a603294 --- /dev/null +++ b/spec/fixtures/java/maven/my-spring-app2/pom.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>com.example</groupId> + <artifactId>demo</artifactId> + <version>0.0.1-SNAPSHOT</version> + <packaging>jar</packaging> + <name>demo</name> + <description>Demo project for Spring Boot</description> + <parent> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> + <version>2.0.1.RELEASE</version> + <relativePath/> <!-- lookup parent from repository --> + </parent> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <java.version>1.8</java.version> + </properties> + <dependencies> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.struts</groupId> + <artifactId>struts2-core</artifactId> + <version>2.2.3.1</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>barcodes</artifactId> + <version>7.0.0</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>font-asian</artifactId> + <version>7.0.0</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>forms</artifactId> + <version>7.0.0</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>hyph</artifactId> + <version>7.0.0</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>io</artifactId> + <version>7.0.0</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>kernel</artifactId> + <version>7.0.0</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>layout</artifactId> + <version>7.0.0</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>pdfa</artifactId> + <version>7.0.0</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>sign</artifactId> + <version>7.0.0</version> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + </plugin> + </plugins> + </build> +</project> diff --git a/spec/fixtures/java/maven/my-spring-app2/src/main/java/com/example/demo/DemoApplication.java b/spec/fixtures/java/maven/my-spring-app2/src/main/java/com/example/demo/DemoApplication.java new file mode 100644 index 0000000..1a42144 --- /dev/null +++ b/spec/fixtures/java/maven/my-spring-app2/src/main/java/com/example/demo/DemoApplication.java @@ -0,0 +1,18 @@ +package com.example.demo; + +import org.springframework.boot.*; +import org.springframework.boot.autoconfigure.*; +import org.springframework.web.bind.annotation.*; + +@SpringBootApplication +@RestController +public class DemoApplication { + @GetMapping("/") + String home() { + return "Spring is here!"; + } + + public static void main(String[] args) { + SpringApplication.run(DemoApplication.class, args); + } +} diff --git a/spec/fixtures/java/maven/my-spring-app2/src/main/resources/application.properties b/spec/fixtures/java/maven/my-spring-app2/src/main/resources/application.properties new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/spec/fixtures/java/maven/my-spring-app2/src/main/resources/application.properties diff --git a/spec/fixtures/java/maven/my-spring-app2/src/test/java/com/example/demo/DemoApplicationTests.java b/spec/fixtures/java/maven/my-spring-app2/src/test/java/com/example/demo/DemoApplicationTests.java new file mode 100644 index 0000000..e7be4a5 --- /dev/null +++ b/spec/fixtures/java/maven/my-spring-app2/src/test/java/com/example/demo/DemoApplicationTests.java @@ -0,0 +1,26 @@ +package com.example.demo; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.junit4.SpringRunner; +import static org.assertj.core.api.Assertions.assertThat; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) +public class DemoApplicationTests { + @Test + public void contextLoads() { } + + @Autowired + private TestRestTemplate restTemplate; + + @Test + public void homeResponse() { + String body = this.restTemplate.getForObject("/", String.class); + assertThat(body).isEqualTo("Spring is here!"); + } +} diff --git a/spec/fixtures/java/pom-single.xml.erb b/spec/fixtures/java/maven/pom-single.xml.erb index 897b3a6..897b3a6 100644 --- a/spec/fixtures/java/pom-single.xml.erb +++ b/spec/fixtures/java/maven/pom-single.xml.erb diff --git a/spec/fixtures/java/maven/simple/.mvn/wrapper/maven-wrapper.jar b/spec/fixtures/java/maven/simple/.mvn/wrapper/maven-wrapper.jar Binary files differnew file mode 100644 index 0000000..9cc84ea --- /dev/null +++ b/spec/fixtures/java/maven/simple/.mvn/wrapper/maven-wrapper.jar diff --git a/spec/fixtures/java/maven/simple/.mvn/wrapper/maven-wrapper.properties.erb b/spec/fixtures/java/maven/simple/.mvn/wrapper/maven-wrapper.properties.erb new file mode 100644 index 0000000..5ab4ccc --- /dev/null +++ b/spec/fixtures/java/maven/simple/.mvn/wrapper/maven-wrapper.properties.erb @@ -0,0 +1 @@ +distributionUrl=<% distribution_url %> diff --git a/spec/fixtures/java/maven/simple/mvnw b/spec/fixtures/java/maven/simple/mvnw new file mode 100755 index 0000000..5d8e6c3 --- /dev/null +++ b/spec/fixtures/java/maven/simple/mvnw @@ -0,0 +1,165 @@ +#!/bin/sh + +if [ -z "$MAVEN_SKIP_RC" ] ; then + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi +fi + +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + PRG="$0" + + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + saveddir=`pwd` + M2_HOME=`dirname "$PRG"`/.. + M2_HOME=`cd "$M2_HOME" && pwd` + cd "$saveddir" +fi + +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + done + echo "${basedir}" +} + +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +echo $MAVEN_PROJECTBASEDIR +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/spec/fixtures/java/maven/simple/pom.xml b/spec/fixtures/java/maven/simple/pom.xml new file mode 100644 index 0000000..d4becd3 --- /dev/null +++ b/spec/fixtures/java/maven/simple/pom.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>com.gitlab.security_products.tests</groupId> + <artifactId>java-maven-multi-modules</artifactId> + <version>1.0-SNAPSHOT</version> + <packaging>pom</packaging> + <name>simple</name> + <dependencies> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-all</artifactId> + <version>4.1.0.Final</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + </dependencies> +</project> diff --git a/spec/fixtures/java/maven/simple/settings.xml b/spec/fixtures/java/maven/simple/settings.xml new file mode 100644 index 0000000..ed45b79 --- /dev/null +++ b/spec/fixtures/java/maven/simple/settings.xml @@ -0,0 +1,3 @@ +<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> + <localRepository>${env.PWD}/.m2/repository</localRepository> +</settings> |
