diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/pom.xml b/java/ql/integration-tests/java/maven-enforcer-property-version/pom.xml new file mode 100644 index 000000000000..1fde7386b72b --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/pom.xml @@ -0,0 +1,134 @@ + + + + 4.0.0 + + com.example + maven-sample + 1.0-SNAPSHOT + + maven-sample + + http://www.example.com + + + UTF-8 + 1.7 + 1.7 + 3.9.1 + + + + + junit + junit + 4.11 + test + + + + + + + exec-maven-plugin + org.codehaus.mojo + 1.1.1 + + + check-maven-version + package + + java + + + + + com.example.App + + + + com.diffplug.spotless + spotless-maven-plugin + 2.19.1 + + + + check + + compile + + + + + + /* FAIL ME */ + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + + + enforce-maven + + enforce + + + + + ${maven.version} + + + + + + + + + + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-jar-plugin + 3.0.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + maven-site-plugin + 3.7.1 + + + maven-project-info-reports-plugin + 3.0.0 + + + + + diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/settings.xml b/java/ql/integration-tests/java/maven-enforcer-property-version/settings.xml new file mode 100644 index 000000000000..a40670670a62 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/settings.xml @@ -0,0 +1,10 @@ + + + + google-maven-central + GCS Maven Central mirror + https://maven-central.storage-download.googleapis.com/maven2/ + central + + + diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/source_archive.expected b/java/ql/integration-tests/java/maven-enforcer-property-version/source_archive.expected new file mode 100644 index 000000000000..d86dae4531fd --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/source_archive.expected @@ -0,0 +1,11 @@ +pom.xml +settings.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/page.xml +target/classes/struts.xml +target/maven-archiver/pom.properties diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/java/com/example/App.java b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/java/com/example/App.java new file mode 100644 index 000000000000..3229e21835cd --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/java/com/example/App.java @@ -0,0 +1,30 @@ +package com.example; + +import java.util.regex.Pattern; +import java.nio.file.Path; +import java.nio.file.Paths; + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) + { + System.out.println( "Hello World!" ); + String expectedVersion = System.getenv("EXPECT_MAVEN"); + Path mavenHome = Paths.get(System.getProperty("maven.home")).normalize(); + String observedVersion = mavenHome.getFileName().toString(); + if (expectedVersion != null && !expectedVersion.equals(observedVersion)) { + System.err.println("Wrong maven version, expected '" + expectedVersion + "' but got '" + observedVersion + "'" + mavenHome); + System.exit(1); + } + String commandMatcher = System.getenv("EXPECT_COMMAND_REGEX"); + String command = System.getProperty("sun.java.command"); + if (commandMatcher != null && !Pattern.matches(commandMatcher, command)) { + System.err.println("Wrong command line, '" + command + "' does not match '" + commandMatcher + "'"); + System.exit(1); + } + } +} diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/my-app.properties b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/my-app.properties new file mode 100644 index 000000000000..e566b49a29a8 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/my-app.properties @@ -0,0 +1 @@ +version=1.0 diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/page.xml b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/page.xml new file mode 100644 index 000000000000..2bab459cb031 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/page.xml @@ -0,0 +1,8 @@ + + +A sample + + +

Hello world!

+ + diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/struts.xml b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/struts.xml new file mode 100644 index 000000000000..73fc0c6b9cb6 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/struts.xml @@ -0,0 +1,4 @@ + + +This is a sample file + diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/src/test/java/com/example/AppTest.java b/java/ql/integration-tests/java/maven-enforcer-property-version/src/test/java/com/example/AppTest.java new file mode 100644 index 000000000000..328b4d97ce59 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/src/test/java/com/example/AppTest.java @@ -0,0 +1,20 @@ +package com.example; + +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +/** + * Unit test for simple App. + */ +public class AppTest +{ + /** + * Rigorous Test :-) + */ + @Test + public void shouldAnswerWithTrue() + { + assertTrue( true ); + } +} diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/test.py b/java/ql/integration-tests/java/maven-enforcer-property-version/test.py new file mode 100644 index 000000000000..295db6762b6f --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/test.py @@ -0,0 +1,9 @@ +import os + +def test(codeql, java): + codeql.database.create( + _env={ + "EXPECT_MAVEN": "apache-maven-3.9.16", + "LGTM_INDEX_MAVEN_SETTINGS_FILE": os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings.xml"), + }, + ) diff --git a/java/ql/integration-tests/java/maven-enforcer-single-version/test.py b/java/ql/integration-tests/java/maven-enforcer-single-version/test.py index a71c8821d5e6..295db6762b6f 100644 --- a/java/ql/integration-tests/java/maven-enforcer-single-version/test.py +++ b/java/ql/integration-tests/java/maven-enforcer-single-version/test.py @@ -3,6 +3,7 @@ def test(codeql, java): codeql.database.create( _env={ + "EXPECT_MAVEN": "apache-maven-3.9.16", "LGTM_INDEX_MAVEN_SETTINGS_FILE": os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings.xml"), }, )