[Bug]: Missing artifacts in staged data-tck-1.0.0.zip
starksm64 opened this issue · 3 comments
Specification Version
1.0.0-RC1
Bug report
This is for the 1.0.0 stage TCK,
https://www.eclipse.org/downloads/download.php?file=/ee4j/data/jakartaee/staged/eftl/data-tck-1.0.0.zip
I'm trying to update the Hibernate CCR, but I cannot run the artifact-install.sh due to missing artifacts:
starksm@Scotts-Mac-Studio artifacts % bash artifact-install.sh 1.0.0
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- install:3.0.0-M1:install-file (default-cli) @ standalone-pom ---
[ERROR] The specified file '/private/tmp/data-tck-1.0.0/artifacts/jakarta.data-parent-1.0.0.pom' not exists
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.197 s
[INFO] Finished at: 2024-04-30T09:18:46-06:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file (default-cli) on project standalone-pom: The specified file '/private/tmp/data-tck-1.0.0/artifacts/jakarta.data-parent-1.0.0.pom' not exists -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- install:3.0.0-M1:install-file (default-cli) @ standalone-pom ---
[INFO] Installing /private/tmp/data-tck-1.0.0/artifacts/jakarta.data-tck-1.0.0.jar to /Users/starksm/.m2/repository/jakarta/data/jakarta.data-tck/1.0.0/jakarta.data-tck-1.0.0.jar
[INFO] Installing /var/folders/yh/t0fnl559607crz2vyp509bjr0000gn/T/jakarta.data-tck-1.0.018295126351470739934.pom to /Users/starksm/.m2/repository/jakarta/data/jakarta.data-tck/1.0.0/jakarta.data-tck-1.0.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.218 s
[INFO] Finished at: 2024-04-30T09:18:47-06:00
[INFO] ------------------------------------------------------------------------
starksm@Scotts-Mac-Studio artifacts % ls
artifact-install.sh jakarta.data.sig_17
jakarta.data-tck-1.0.0.jar jakarta.data.sig_21
If I build the 1.0.0 tag of the data repo locally and add the jakarta.data-tck-1.0.0.pom to the artifacts directory the script runs correctly.
Additional information
I see the tck-dist/src/main/assembly/assembly.xml includes the jakarta.data:jakarta.data-parent in its dependencySet, but this is not being included as if I look at the dist zip built from the 1.0.0 tag it does not include the jakarta.data-tck-1.0.0.pom:
starksm@Scotts-Mac-Studio tck-dist % jar -tf target/data-tck-1.0.0-dist.zip | grep artifacts
data-tck-1.0.0/artifacts/
data-tck-1.0.0/artifacts/artifact-install.sh
data-tck-1.0.0/artifacts/jakarta.data.sig_17
data-tck-1.0.0/artifacts/jakarta.data.sig_21
data-tck-1.0.0/artifacts/jakarta.data-tck-1.0.0.jar
I'll look at determining what needs to be updated to fix this.
So it looks like the problem is that there needs to be an explicit dependency on the parent pom, which is strange, but I think this is general issue with the maven assembly plugin. If I add the following to the tck-dist/pom.xml:
<dependencies>
<!-- The TCK, used to auto generate docs -->
<dependency>
<groupId>jakarta.data</groupId>
<artifactId>jakarta.data-parent</artifactId>
<type>pom</type>
<version>${jakarta.data.tck.version}</version>
</dependency>
...
I do see the jakarta.data-parent-1.0.0.pom in the dist bundle:
starksm@Scotts-Mac-Studio tck-dist % !jar
jar -tf target/data-tck-1.0.0-dist.zip| grep artifacts
data-tck-1.0.0/artifacts/
data-tck-1.0.0/artifacts/artifact-install.sh
data-tck-1.0.0/artifacts/jakarta.data.sig_17
data-tck-1.0.0/artifacts/jakarta.data.sig_21
data-tck-1.0.0/artifacts/jakarta.data-parent-1.0.0.pom
data-tck-1.0.0/artifacts/jakarta.data-tck-1.0.0.jar
This however is causing an install to hang when attempting to generate javadoc for the pom:
[INFO] --- javadoc:3.6.0:jar (attach-javadocs) @ jakarta.data-tck-dist ---
[INFO] The goal 'org.apache.maven.plugins:maven-javadoc-plugin:3.6.0:javadoc' has not been previously called for the module: 'jakarta.data:jakarta.data-parent:pom:1.0.0-SNAPSHOT'. Trying to invoke it...
There is some bug in the javadoc plugin when it is running from the project root and a submodule includes the parent module in its dependencies. The install works fine from the tck-dist submodule, but hangs when run from the project parent dir. The #724 PR avoids this by explicitly adding the jakarta.data-parent pom to the dist artifacts directory.