diff --git a/release/artifact-install.pom b/release/artifact-install.pom
index 7ecc495901..72c62d3ba4 100644
--- a/release/artifact-install.pom
+++ b/release/artifact-install.pom
@@ -27,6 +27,22 @@
maven-install-plugin
3.1.3
+
+ install-tck-bom
+ package
+
+ install-file
+
+
+ jakarta.tck
+ artifacts-bom
+ ${project.version}
+ pom
+ artifacts-bom-${project.version}.pom
+ false
+
+
+
install-tck-parent
package
diff --git a/release/artifacts-bom.xml b/release/artifacts-bom.xml
new file mode 100644
index 0000000000..68f4ef9117
--- /dev/null
+++ b/release/artifacts-bom.xml
@@ -0,0 +1,175 @@
+
+
+
+
+
+ 4.0.0
+ jakarta.tck
+ artifacts-bom
+ ${project.version}
+ pom
+
+
+
+
+
+
+ jakarta.tck
+ websocket-tck-common
+ ${project.version}
+
+
+ jakarta.tck
+ cdi-tck-ee-impl
+ ${project.version}
+
+
+ jakarta.tck
+ jsonb-platform-tck
+ ${project.version}
+
+
+ jakarta.tck
+ websocket-docs
+ ${project.version}
+
+
+ jakarta.tck
+ persistence-platform-tck-tests
+ ${project.version}
+
+
+ jakarta.tck
+ assembly-tck
+ ${project.version}
+
+
+ jakarta.tck
+ rest-platform-tck
+ ${project.version}
+
+
+ jakarta.tck
+ tags-tck
+ ${project.version}
+
+
+ jakarta.tck
+ websocket-tck-platform-tests
+ ${project.version}
+
+
+ jakarta.tck
+ connector
+ ${project.version}
+
+
+ jakarta.tck
+ el-platform-tck
+ ${project.version}
+
+
+ jakarta.tck
+ ejb32
+ ${project.version}
+
+
+ jakarta.tck
+ xa
+ ${project.version}
+
+
+ jakarta.tck
+ samples
+ ${project.version}
+
+
+ jakarta.tck
+ persistence-platform-tck-dbprocedures
+ ${project.version}
+
+
+ jakarta.tck
+ project
+ ${project.version}
+
+
+ jakarta.tck
+ transactions-tck
+ ${project.version}
+
+
+ jakarta.tck
+ persistence-platform-tck
+ ${project.version}
+
+
+ jakarta.tck
+ ejb30
+ ${project.version}
+
+
+ jakarta.tck
+ pages-platform-tck
+ ${project.version}
+
+
+ jakarta.tck
+ integration
+ ${project.version}
+
+
+ jakarta.tck
+ jdbc
+ ${project.version}
+
+
+ jakarta.tck
+ jsonp-platform-tck
+ ${project.version}
+
+
+ jakarta.tck
+ appclient
+ ${project.version}
+
+
+ jakarta.tck
+ javamail
+ ${project.version}
+
+
+ jakarta.tck
+ persistence-platform-tck-common
+ ${project.version}
+
+
+ jakarta.tck
+ jms-platform-tck
+ ${project.version}
+
+
+ jakarta.tck
+ javaee-tck
+ ${project.version}
+
+
+
+
diff --git a/release/src/main/assembly/assembly.xml b/release/src/main/assembly/assembly.xml
index 575b26f7ab..08a2193f37 100644
--- a/release/src/main/assembly/assembly.xml
+++ b/release/src/main/assembly/assembly.xml
@@ -19,6 +19,12 @@
../LICENSE_EFTL.adoc
LICENSE.adoc
+
+ artifacts-bom.xml
+ artifacts
+ artifacts-bom-${project.version}.xml
+ true
+
artifact-install.pom
artifacts
diff --git a/tcks/apis/websocket/docs/parent/pom.xml b/tcks/apis/websocket/docs/parent/pom.xml
index e44c4dc41e..0a79dec921 100644
--- a/tcks/apis/websocket/docs/parent/pom.xml
+++ b/tcks/apis/websocket/docs/parent/pom.xml
@@ -105,39 +105,16 @@
-
+
- org.apache.maven.plugins
- maven-assembly-plugin
- 3.6.0
-
-
- build-dist
-
- single
-
- none
-
-
- ${project.build.commonResourcesDirectory}/assembly/dist.xml
-
- false
-
-
-
- build-resources
-
- single
-
- none
- false
-
-
- src/main/assembly/resources.xml
-
-
-
-
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.6.13
+
+ false
+
+ true
+
@@ -208,16 +185,7 @@
-
- org.apache.maven.plugins
- maven-clean-plugin
-
-
- clean-toc
- clean
-
-
-
+
org.apache.maven.plugins
@@ -253,28 +221,7 @@
-
- org.apache.maven.plugins
- maven-resources-plugin
- 3.3.1
-
-
- copy-resources
- generate-resources
-
-
-
-
- org.apache.maven.plugins
- maven-scm-publish-plugin
-
-
- deploy-site
- deploy
-
-
-
diff --git a/tools/version/src/main/java/ee/tck/versions/TestArtifact.java b/tools/version/src/main/java/ee/tck/versions/TestArtifact.java
index 0ba41aced8..fdf8b272a4 100644
--- a/tools/version/src/main/java/ee/tck/versions/TestArtifact.java
+++ b/tools/version/src/main/java/ee/tck/versions/TestArtifact.java
@@ -20,6 +20,7 @@ public String toString() {
}
public String getPomDir() {
- return pomXml.getParentFile().getAbsolutePath();
+ File parent = pomXml.getParentFile();
+ return parent == null ? "." : parent.getAbsolutePath();
}
}
diff --git a/tools/version/src/main/java/ee/tck/versions/VersionRelease.java b/tools/version/src/main/java/ee/tck/versions/VersionRelease.java
index a4bf5150de..45186cec85 100644
--- a/tools/version/src/main/java/ee/tck/versions/VersionRelease.java
+++ b/tools/version/src/main/java/ee/tck/versions/VersionRelease.java
@@ -4,11 +4,14 @@
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
+import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
+import java.io.InputStream;
import java.util.HashSet;
import java.util.List;
@@ -55,6 +58,7 @@ private void run(String version) throws Exception{
// Update the submodule versions
updateModules(null, project, version);
+ artifacts.add(new TestArtifact(getGroupId(project), project.element("artifactId").getText(), version, pomFile));
// Update the release module
File releaseModule = new File("release/pom.xml");
@@ -69,6 +73,7 @@ private void run(String version) throws Exception{
// Write a release script for deploying the artifacts
writeReleaseScript(version);
// Write a bom for the artifacts
+ writeReleaseBom(version);
}
void updateModules(File projectDir, Element project, String version) throws Exception {
@@ -135,6 +140,31 @@ void writeReleaseScript(String version) throws IOException {
writer.write(String.format("cd %s\n", root.getAbsolutePath()));
writer.close();
}
+ void writeReleaseBom(String version) throws Exception {
+ System.out.println("Write release bom");
+ Document bom = null;
+ try(InputStream is = VersionRelease.class.getResourceAsStream("/artifacts-bom.xml")) {
+ SAXReader reader = new SAXReader();
+ Document document = reader.read(is);
+ Element project = document.getRootElement();
+ setVersion(project, version);
+ Element dependencies = project.element("dependencyManagement").element("dependencies");
+ for(TestArtifact artifact : artifacts) {
+ Element dependency = dependencies.addElement("dependency");
+ dependency.addElement("groupId").setText(artifact.groupId());
+ dependency.addElement("artifactId").setText(artifact.artifactId());
+ dependency.addElement("version").setText(version);
+ }
+ bom = document;
+ }
+
+ OutputFormat format = OutputFormat.createPrettyPrint();
+ FileWriter writer = new FileWriter("artifacts-bom.xml");
+ XMLWriter xmlWriter = new XMLWriter( writer, format );
+ xmlWriter.write(bom);
+ xmlWriter.close();
+
+ }
String getVersion(Element root) {
return getInfo(root, "version");
}