Skip to content

Commit d0c6f63

Browse files
jansupoljansupol
authored andcommitted
Release Test checks sources for legal documents
Signed-off-by: jansupol <jan.supol@oracle.com>
1 parent bd63f2a commit d0c6f63

File tree

3 files changed

+60
-4
lines changed

3 files changed

+60
-4
lines changed

tests/release-test/src/main/java/org/glassfish/tyrus/test/artifacts/MavenUtil.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2023, 2024 Oracle and/or its affiliates. All rights reserved.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -29,6 +29,7 @@
2929
import java.util.Collections;
3030
import java.util.List;
3131
import java.util.Properties;
32+
import java.util.stream.Collectors;
3233
import java.util.stream.Stream;
3334

3435
public final class MavenUtil {
@@ -52,7 +53,11 @@ private static File getArtifactFile(File repositoryRoot, Dependency dependency,
5253
}
5354
String version = MavenUtil.getDependencyVersion(dependency, properties);
5455
fileSuffix.append(version).append(File.separator);
55-
fileSuffix.append(dependency.getArtifactId()).append('-').append(version).append(".").append(extension);
56+
fileSuffix.append(dependency.getArtifactId()).append('-').append(version);
57+
if (dependency.getClassifier() != null) {
58+
fileSuffix.append('-').append(dependency.getClassifier());
59+
}
60+
fileSuffix.append(".").append(extension);
5661
return new File(repositoryRoot, fileSuffix.toString());
5762
}
5863

@@ -103,7 +108,16 @@ static Stream<Dependency> keepTyrusJars(Stream<Dependency> stream, DependencyPai
103108
static Stream<Dependency> streamTyrusJars() throws IOException, XmlPullParserException {
104109
Model model = getModelFromFile("pom.xml");
105110
List<Dependency> deps = getBomPomDependencies(model);
111+
return streamTyrusJars(deps);
112+
}
113+
114+
static Stream<Dependency> streamTyrusSources() throws IOException, XmlPullParserException {
115+
Model model = getModelFromFile("pom.xml");
116+
List<Dependency> deps = getBomPomSources(model);
117+
return streamTyrusJars(deps);
118+
}
106119

120+
private static Stream<Dependency> streamTyrusJars(List<Dependency> deps) throws IOException, XmlPullParserException {
107121
return deps.stream()
108122
.filter(dep -> dep.getGroupId().startsWith("org.glassfish.tyrus"))
109123
.filter(dep -> dep.getType().equals("jar"));
@@ -139,6 +153,14 @@ private static List<Dependency> getBomPomDependencies(Model model) throws IOExce
139153
return bomPomModel.getDependencyManagement().getDependencies();
140154
}
141155

156+
private static List<Dependency> getBomPomSources(Model model) throws XmlPullParserException, IOException {
157+
return getBomPomDependencies(model).stream()
158+
.map(dependency -> {
159+
dependency.setClassifier("sources");
160+
return dependency;
161+
})
162+
.collect(Collectors.toList());
163+
}
142164
static String getTyrusVersion(Properties properties) {
143165
String property = properties.getProperty(TYRUS_VERSION); // when it is in the pom.file
144166
if (property == null || property.startsWith("${")) {

tests/release-test/src/test/java/org/glassfish/tyrus/test/artifacts/DownloadBomPomDependencies.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2023, 2024 Oracle and/or its affiliates. All rights reserved.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -58,6 +58,12 @@ public void testDownloadBomPomDependencies() throws Exception {
5858
Artifact m = mavenEnvironment.resolveArtifact(member);
5959
System.out.append("Resolved ").append(member.getGroupId()).append(":").append(member.getArtifactId()).append(":")
6060
.append(member.getVersion()).append(" to ").println(m.getFile().getName());
61+
m = mavenEnvironment.resolveSource(member);
62+
System.out.append("Resolved sources ").append(member.getGroupId()).append(":").append(member.getArtifactId())
63+
.append(":").append(member.getVersion()).append(" to ").println(m.getFile().getName());
64+
m = mavenEnvironment.resolveJavadoc(member);
65+
System.out.append("Resolved javadoc ").append(member.getGroupId()).append(":").append(member.getArtifactId())
66+
.append(":").append(member.getVersion()).append(" to ").println(m.getFile().getName());
6167
}
6268
}
6369

@@ -70,6 +76,14 @@ public void testDownloadNonBomPomDependencies() throws Exception {
7076
System.out.append("Resolved ").append(dependency.getGroupId()).append(":")
7177
.append(dependency.getArtifactId()).append(":")
7278
.append(dependency.getVersion()).append(" to ").println(m.getFile().getName());
79+
m = mavenEnvironment.resolveSource(dependency);
80+
System.out.append("Resolved source ").append(dependency.getGroupId()).append(":")
81+
.append(dependency.getArtifactId()).append(":")
82+
.append(dependency.getVersion()).append(" to ").println(m.getFile().getName());
83+
m = mavenEnvironment.resolveJavadoc(dependency);
84+
System.out.append("Resolved javadoc ").append(dependency.getGroupId()).append(":")
85+
.append(dependency.getArtifactId()).append(":")
86+
.append(dependency.getVersion()).append(" to ").println(m.getFile().getName());
7387
}
7488
}
7589

@@ -98,6 +112,17 @@ Artifact resolveArtifact(Dependency dependency) throws ArtifactResolutionExcepti
98112
return DependencyResolver.resolveArtifact(dependency, remoteRepos, repositorySystem, repoSession);
99113
}
100114

115+
Artifact resolveSource(Dependency dependency) throws ArtifactResolutionException {
116+
dependency.setVersion(tyrusVersion);
117+
dependency.setClassifier("sources");
118+
return DependencyResolver.resolveArtifact(dependency, remoteRepos, repositorySystem, repoSession);
119+
}
120+
121+
Artifact resolveJavadoc(Dependency dependency) throws ArtifactResolutionException {
122+
dependency.setVersion(tyrusVersion);
123+
dependency.setClassifier("javadoc");
124+
return DependencyResolver.resolveArtifact(dependency, remoteRepos, repositorySystem, repoSession);
125+
}
101126
private List<RemoteRepository> getRemoteRepositories() throws Exception {
102127
MavenProject project = getMavenProjectForResourceFile("/release-test-pom.xml");
103128
List<RemoteRepository> remoteArtifactRepositories = project.getRemoteProjectRepositories();

tests/release-test/src/test/java/org/glassfish/tyrus/test/artifacts/LegalDocsIncludedTest.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2023, 2024 Oracle and/or its affiliates. All rights reserved.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -41,7 +41,16 @@ public void testLegalFiles() throws IOException, XmlPullParserException {
4141
List<File> jars = MavenUtil.streamTyrusJars()
4242
.map(dependency -> MavenUtil.getArtifactJar(localRepository, dependency, properties))
4343
.collect(Collectors.toList());
44+
testLegalFiles(jars, testResult);
4445

46+
jars = MavenUtil.streamTyrusSources()
47+
.map(dependency -> MavenUtil.getArtifactJar(localRepository, dependency, properties))
48+
.collect(Collectors.toList());
49+
testLegalFiles(jars, testResult);
50+
51+
}
52+
53+
private void testLegalFiles(List<File> jars, TestResult testResult) throws IOException {
4554
for (File jar : jars) {
4655
for (String filename : new String[]{LICENSE_FILE, NOTICE_FILE}) {
4756
JarFile jarFile = new JarFile(jar);

0 commit comments

Comments
 (0)