Skip to content

Commit 00efebe

Browse files
committed
Add test for buildless fetching an executable war file
1 parent 4de0d10 commit 00efebe

File tree

12 files changed

+332
-0
lines changed

12 files changed

+332
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
https://repo.jenkins-ci.org/releases/org/jenkins-ci/main/jenkins-war/2.249/jenkins-war-2.249.war
2+
https://repo.maven.apache.org/maven2/com/feiniaojin/naaf/naaf-graceful-response-example/1.0/naaf-graceful-response-example-1.0.jar
3+
https://repo.maven.apache.org/maven2/com/github/MoebiusSolutions/avro-registry-in-source/avro-registry-in-source-tests/1.8/avro-registry-in-source-tests-1.8.jar
4+
https://repo.maven.apache.org/maven2/com/github/MoebiusSolutions/avro-registry-in-source/example-project/1.5/example-project-1.5.jar
5+
https://repo.maven.apache.org/maven2/com/intuit/benten/benten-examples/0.1.5/benten-examples-0.1.5.jar
6+
https://repo.maven.apache.org/maven2/com/jakewharton/twirl/sample-runtime/1.2.0/sample-runtime-1.2.0.jar
7+
https://repo.maven.apache.org/maven2/com/mattunderscore/code/generation/specky/plugin-example/0.8.0/plugin-example-0.8.0.jar
8+
https://repo.maven.apache.org/maven2/com/microsoft/tang/tang-test-jarAB/0.9/tang-test-jarAB-0.9.jar
9+
https://repo.maven.apache.org/maven2/de/knutwalker/rx-redis-example_2.11/0.1.2/rx-redis-example_2.11-0.1.2.jar
10+
https://repo.maven.apache.org/maven2/de/knutwalker/rx-redis-java-example_2.11/0.1.2/rx-redis-java-example_2.11-0.1.2.jar
11+
https://repo.maven.apache.org/maven2/io/github/scrollsyou/example-spring-boot-starter/1.0.0/example-spring-boot-starter-1.0.0.jar
12+
https://repo.maven.apache.org/maven2/io/streamnative/com/example/maven-central-template/server/3.0.0/server-3.0.0.jar
13+
https://repo.maven.apache.org/maven2/junit/junit/4.11/junit-4.11.jar
14+
https://repo.maven.apache.org/maven2/no/nav/security/token-validation-ktor-demo/3.1.0/token-validation-ktor-demo-3.1.0.jar
15+
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
16+
https://repo.maven.apache.org/maven2/org/minijax/minijax-example-fileupload/0.5.10/minijax-example-fileupload-0.5.10.jar
17+
https://repo.maven.apache.org/maven2/org/minijax/minijax-example-inject/0.5.10/minijax-example-inject-0.5.10.jar
18+
https://repo.maven.apache.org/maven2/org/minijax/minijax-example-json/0.5.10/minijax-example-json-0.5.10.jar
19+
https://repo.maven.apache.org/maven2/org/minijax/minijax-example-mustache/0.5.10/minijax-example-mustache-0.5.10.jar
20+
https://repo.maven.apache.org/maven2/org/minijax/minijax-example-petclinic/0.5.10/minijax-example-petclinic-0.5.10.jar
21+
https://repo.maven.apache.org/maven2/org/minijax/minijax-example-security/0.5.10/minijax-example-security-0.5.10.jar
22+
https://repo.maven.apache.org/maven2/org/minijax/minijax-example-ssl/0.5.10/minijax-example-ssl-0.5.10.jar
23+
https://repo.maven.apache.org/maven2/org/minijax/minijax-example-todo-backend/0.5.10/minijax-example-todo-backend-0.5.10.jar
24+
https://repo.maven.apache.org/maven2/org/minijax/minijax-example-websocket/0.5.10/minijax-example-websocket-0.5.10.jar
25+
https://repo.maven.apache.org/maven2/org/scalamock/scalamock-examples_2.10/3.6.0/scalamock-examples_2.10-3.6.0.jar
26+
https://repo.maven.apache.org/maven2/org/somda/sdc/glue-examples/4.0.0/glue-examples-4.0.0.jar
27+
https://repo.maven.apache.org/maven2/us/fatehi/schemacrawler-examplecode/16.20.2/schemacrawler-examplecode-16.20.2.jar
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
{
2+
"markdownMessage": "Java analysis used build tool Maven to pick a JDK version and/or to recommend external dependencies.",
3+
"severity": "unknown",
4+
"source": {
5+
"extractorName": "java",
6+
"id": "java/autobuilder/buildless/using-build-tool-advice",
7+
"name": "Java analysis used build tool Maven to pick a JDK version and/or to recommend external dependencies"
8+
},
9+
"visibility": {
10+
"cliSummaryTable": true,
11+
"statusPage": false,
12+
"telemetry": true
13+
}
14+
}
15+
{
16+
"markdownMessage": "Java analysis used the system default JDK.",
17+
"severity": "unknown",
18+
"source": {
19+
"extractorName": "java",
20+
"id": "java/autobuilder/buildless/jdk-system-default",
21+
"name": "Java analysis used the system default JDK"
22+
},
23+
"visibility": {
24+
"cliSummaryTable": true,
25+
"statusPage": false,
26+
"telemetry": true
27+
}
28+
}
29+
{
30+
"markdownMessage": "Java analysis with build-mode 'none' completed.",
31+
"severity": "unknown",
32+
"source": {
33+
"extractorName": "java",
34+
"id": "java/autobuilder/buildless/complete",
35+
"name": "Java analysis with build-mode 'none' completed"
36+
},
37+
"visibility": {
38+
"cliSummaryTable": true,
39+
"statusPage": false,
40+
"telemetry": true
41+
}
42+
}
43+
{
44+
"markdownMessage": "Java was extracted with build-mode set to 'none'. This means that all Java source in the working directory will be scanned, with build tools such as Maven and Gradle only contributing information about external dependencies.",
45+
"severity": "note",
46+
"source": {
47+
"extractorName": "java",
48+
"id": "java/autobuilder/buildless/mode-active",
49+
"name": "Java was extracted with build-mode set to 'none'"
50+
},
51+
"visibility": {
52+
"cliSummaryTable": true,
53+
"statusPage": true,
54+
"telemetry": true
55+
}
56+
}
57+
{
58+
"markdownMessage": "Reading the dependency graph from build files provided 3 classpath entries",
59+
"severity": "unknown",
60+
"source": {
61+
"extractorName": "java",
62+
"id": "java/autobuilder/buildless/depgraph-provided-by-maven",
63+
"name": "Java analysis extracted precise dependency graph information from tool Maven"
64+
},
65+
"visibility": {
66+
"cliSummaryTable": true,
67+
"statusPage": false,
68+
"telemetry": true
69+
}
70+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<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">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<groupId>com.example</groupId>
7+
<artifactId>maven-sample</artifactId>
8+
<version>1.0-SNAPSHOT</version>
9+
10+
<name>maven-sample</name>
11+
<!-- FIXME change it to the project's website -->
12+
<url>http://www.example.com</url>
13+
14+
<properties>
15+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
16+
<maven.compiler.source>1.7</maven.compiler.source>
17+
<maven.compiler.target>1.7</maven.compiler.target>
18+
</properties>
19+
20+
<repositories>
21+
<repository>
22+
<id>central</id>
23+
<name>Maven Central</name>
24+
<url>https://repo.maven.apache.org/maven2</url>
25+
<snapshots>
26+
<enabled>false</enabled>
27+
</snapshots>
28+
</repository>
29+
30+
<repository>
31+
<id>maven.jenkins-ci.org</id>
32+
<name>Jenkins Releases</name>
33+
<url>https://repo.jenkins-ci.org/releases/</url>
34+
</repository>
35+
</repositories>
36+
37+
<dependencies>
38+
<dependency>
39+
<groupId>junit</groupId>
40+
<artifactId>junit</artifactId>
41+
<version>4.11</version>
42+
<scope>test</scope>
43+
</dependency>
44+
<dependency>
45+
<groupId>org.jenkins-ci.main</groupId>
46+
<artifactId>jenkins-war</artifactId>
47+
<version>2.249</version>
48+
<type>executable-war</type>
49+
<!-- For test brevity; won't actually work -->
50+
<exclusions>
51+
<exclusion>
52+
<groupId>*</groupId>
53+
<artifactId>*</artifactId>
54+
</exclusion>
55+
</exclusions>
56+
</dependency>
57+
</dependencies>
58+
59+
<build>
60+
<plugins>
61+
<plugin>
62+
<artifactId>exec-maven-plugin</artifactId>
63+
<groupId>org.codehaus.mojo</groupId>
64+
<version>1.1.1</version>
65+
<executions>
66+
<execution>
67+
<id>check-maven-version</id>
68+
<phase>package</phase>
69+
<goals>
70+
<goal>java</goal>
71+
</goals>
72+
</execution>
73+
</executions>
74+
<configuration>
75+
<mainClass>com.example.App</mainClass>
76+
</configuration>
77+
</plugin>
78+
<plugin>
79+
<groupId>com.diffplug.spotless</groupId>
80+
<artifactId>spotless-maven-plugin</artifactId>
81+
<version>2.19.1</version>
82+
<executions>
83+
<execution>
84+
<goals>
85+
<goal>check</goal>
86+
</goals>
87+
<phase>compile</phase>
88+
</execution>
89+
</executions>
90+
<configuration>
91+
<java>
92+
<licenseHeader>
93+
<content>/* FAIL ME */</content>
94+
</licenseHeader>
95+
</java>
96+
</configuration>
97+
</plugin>
98+
</plugins>
99+
<pluginManagement>
100+
<!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
101+
<plugins>
102+
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
103+
<plugin>
104+
<artifactId>maven-clean-plugin</artifactId>
105+
<version>3.1.0</version>
106+
</plugin>
107+
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
108+
<plugin>
109+
<artifactId>maven-resources-plugin</artifactId>
110+
<version>3.0.2</version>
111+
</plugin>
112+
<plugin>
113+
<artifactId>maven-compiler-plugin</artifactId>
114+
<version>3.8.0</version>
115+
</plugin>
116+
<plugin>
117+
<artifactId>maven-surefire-plugin</artifactId>
118+
<version>2.22.1</version>
119+
</plugin>
120+
<plugin>
121+
<artifactId>maven-jar-plugin</artifactId>
122+
<version>3.0.2</version>
123+
</plugin>
124+
<plugin>
125+
<artifactId>maven-install-plugin</artifactId>
126+
<version>2.5.2</version>
127+
</plugin>
128+
<plugin>
129+
<artifactId>maven-deploy-plugin</artifactId>
130+
<version>2.8.2</version>
131+
</plugin>
132+
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
133+
<plugin>
134+
<artifactId>maven-site-plugin</artifactId>
135+
<version>3.7.1</version>
136+
</plugin>
137+
<plugin>
138+
<artifactId>maven-project-info-reports-plugin</artifactId>
139+
<version>3.0.0</version>
140+
</plugin>
141+
</plugins>
142+
</pluginManagement>
143+
</build>
144+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.example;
2+
3+
import java.util.regex.Pattern;
4+
import java.nio.file.Path;
5+
import java.nio.file.Paths;
6+
7+
/**
8+
* Hello world!
9+
*
10+
*/
11+
public class App
12+
{
13+
public static void main( String[] args )
14+
{
15+
System.out.println( "Hello World!" );
16+
String expectedVersion = System.getenv("EXPECT_MAVEN");
17+
Path mavenHome = Paths.get(System.getProperty("maven.home")).normalize();
18+
String observedVersion = mavenHome.getFileName().toString();
19+
if (expectedVersion != null && !expectedVersion.equals(observedVersion)) {
20+
System.err.println("Wrong maven version, expected '" + expectedVersion + "' but got '" + observedVersion + "'" + mavenHome);
21+
System.exit(1);
22+
}
23+
String commandMatcher = System.getenv("EXPECT_COMMAND_REGEX");
24+
String command = System.getProperty("sun.java.command");
25+
if (commandMatcher != null && !Pattern.matches(commandMatcher, command)) {
26+
System.err.println("Wrong command line, '" + command + "' does not match '" + commandMatcher + "'");
27+
System.exit(1);
28+
}
29+
}
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
version=1.0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<html>
2+
<head>
3+
<title>A sample</title>
4+
</head>
5+
<body>
6+
<p>Hello world!</p>
7+
</body>
8+
</html>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<struts>
3+
This is a sample file
4+
</struts>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.example;
2+
3+
import static org.junit.Assert.assertTrue;
4+
5+
import org.junit.Test;
6+
7+
/**
8+
* Unit test for simple App.
9+
*/
10+
public class AppTest
11+
{
12+
/**
13+
* Rigorous Test :-)
14+
*/
15+
@Test
16+
public void shouldAnswerWithTrue()
17+
{
18+
assertTrue( true );
19+
}
20+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#select
2+
| src/main/java/com/example/App.java:0:0:0:0 | App |
3+
| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest |
4+
xmlFiles
5+
| pom.xml:0:0:0:0 | pom.xml |
6+
| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml |
7+
| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml |
8+
propertiesFiles
9+
| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties |
10+
| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties |

0 commit comments

Comments
 (0)