spdx / tools

SPDX Tools
Apache License 2.0
123 stars 68 forks source link

Build failure - OpenJDK supported? #211

Closed Birgos closed 4 years ago

Birgos commented 4 years ago

I used OpenJDK version 13 and Apache Maven 3.6.2

When I tried to use the SPDX-Tools Version 2.1.20 (or 2.1.16) by running the following command in the SPDXTools Source folder: mvn clean install

the build failed with the following error messages:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:25 min
[INFO] Finished at: 2019-11-01T11:24:44+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9:jar (attach-javadocs) on project spdx-tools: MavenReportException: Error while creating archive:
[ERROR] Exit code: 1 - javadoc: error - The code being documented uses modules but the packages defined in http://docs.oracle.com/javase/7/docs/api/ are in the unnamed module.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\compare\LicenseCompareHelper.java:298: warning - @param argument "tokenLocations" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\compare\ReviewerSheet.java:88: warning - @param argument "reviewerSheetName" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\compare\SpdxPackageComparer.java:138: warning - @param argument "licenseXlationMap" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\compare\SpdxSnippetComparer.java:66: warning - @param argument "licenseXlationMap" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\compare\SpdxSnippetComparer.java:68: warning - Parameter "spdxDocument" is documented more than once.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\compare\SpdxSnippetComparer.java:69: warning - Parameter "snippet" is documented more than once.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\html\ExceptionTOCJSONFile.java:110: warning - Parameter "excHTMLReference" is documented more than once.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\html\LicenseExceptionJSONFile.java:46: warning - @param argument "license" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\html\LicenseTOCJSONFile.java:124: warning - Parameter "licHTMLReference" is documented more than once.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\html\PackageContext.java:48: warning - @param argument "doc" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\licenseTemplate\HtmlTemplateOutputHandler.java:170: warning - @param argument "text" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\merge\SpdxPackageInfoMerger.java:63: warning - @param argument "subDocs" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\merge\SpdxPackageInfoMerger.java:199: warning - @param argument "packagesArray" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\IModelContainer.java:51: warning - @param argument "id" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\SPDXCreatorInformation.java:53: warning - @param argument "name" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\SPDXDocument.java:1430: warning - @param argument "creators" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\SPDXDocument.java:280: warning - @param argument "declaredLicenses" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\SPDXFile.java:559: warning - @param argument "noticeTexgt" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\VerificationCodeGenerator.java:204: warning - @param argument "skippedFiles" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\license\LicenseException.java:186: warning - @param argument "example" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\license\LicenseException.java:226: warning - @param argument "token" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\license\LicenseException.java:236: warning - @param argument "model" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\license\OrLaterOperator.java:45: warning - @param argument "enclosingSpdxDocument" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\IRdfModel.java:36: warning - @param argument "parentProperty" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\RdfModelObject.java:454: warning - @param argument "element" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\RdfModelObject.java:644: warning - @param argument "value" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\RdfModelObject.java:852: warning - @param argument "checksumValues" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\RdfModelObject.java:944: warning - @param argument "checksumValue" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\RdfModelObject.java:1027: warning - @param argument "referenceTypeUri" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\RdfModelObject.java:1137: warning - @param argument "creatorInfo" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\RdfModelObject.java:1158: warning - @param argument "propSpdxExternalDocRef" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\RdfModelObject.java:1282: warning - @param argument "externalRef" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\Relationship.java:138: warning - @param argument "model" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\SpdxElement.java:455: warning - @param argument "describesRelationship" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\SpdxElement.java:484: warning - @param argument "testRelationships" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\SpdxElement.java:556: warning - @param argument "testRelationships" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\SpdxFile.java:805: warning - @return tag cannot be used in method with void return type.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\model\pointer\PointerFactory.java:39: warning - @param argument "object" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\rdfparser\referencetype\ReferenceType.java:75: warning - @param argument "object" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\spdxspreadsheet\AnnotationsSheet.java:135: warning - @param argument "relationship" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\spdxspreadsheet\NonStandardLicensesSheet.java:56: warning - @param argument "optional" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\spdxspreadsheet\NonStandardLicensesSheet.java:58: warning - @param argument "optional" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\spdxspreadsheet\PackageInfoSheet.java:86: warning - @param argument "rowNum" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\spdxspreadsheet\SPDXSpreadsheet.java:362: warning - @param argument "snippetSheet" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\tag\NoCommentInputStream.java:141: warning - @param argument "string" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\tools\CompareSpdxDocs.java:1185: warning - @param argument "tempRdfFile" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\tools\SpdxVerificationException.java:33: warning - @param argument "arg0" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\tools\SpdxVerificationException.java:34: warning - @param argument "arg1" is not a parameter name.
[ERROR] c:\Downloads\SPDXTools_2.1.20\src\org\spdx\tools\SpdxViewer.java:31: warning - invalid usage of tag >
[ERROR]
[ERROR] Command line was: C:\Progra~1\jdk-13.0.1\bin\javadoc.exe @options @packages
[ERROR]
[ERROR] Refer to the generated Javadoc files in 'c:\Downloads\SPDXTools_2.1.20\target\apidocs' dir.
[ERROR]
[ERROR] -> [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/MojoExecutionException

When I tried to run any application like java -jar c:\Downloads\SPDXTools_2.1.20\target\spdx-tools-2.1.20.jar RdfToSpreadsheet 1572527048-spdx.rdf

I received the following errors:

no main manifest attribute, in c:\Downloads\SPDXTools_2.1.20\target\spdx-tools-2.1.20.jar

I would appreciate any help or advise! Thanks...

Birgos commented 4 years ago

Meanwhile I tested with the Java SE Development Kit 13 and received the same error messages as I called mvn clean install

and

java -jar c:\Downloads\SPDXTools_2.1.20\target\spdx-tools-2.1.20.jar RdfToSpreadsheet 1572527048-spdx.rdf

- same result. What am I doing wrong?

goneall commented 4 years ago

I'm not sure about the build failures - I have not run into this error myself.

When running the tools - you need to use the command:

java -jar spdx-tools-2.1.20-jar-with-dependencies.jar

The spdx-tools-2.1.20.jar files does not include all required dependencies.

Birgos commented 4 years ago

I don't have a file called spdx-tools-2.1.20-jar-with-dependencies.jar :-( The only files existing are:

spdx-tools-2.1.20-sources.jar
spdx-tools-2.1.20.jar
Birgos commented 4 years ago

Thanks to @goneall !!! The hint regarding spdx-tools-2.1.20-jar-with-dependencies.jar reinforced the suspicion that the compilation was not yet complete and therefore essential files were missing.

This led me to the following workaround: javadoc fails on jdk12 with "The code being documented uses modules but the packages defined in $URL are in the unnamed module."

After i put: <source>8</source> into the pom.xml:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <quiet>true</quiet>
                    <source>8</source>
                    <additionalparam>-Xdoclint:none</additionalparam>
                </configuration>

[INFO] BUILD SUCCESS

and I have the following files available:

spdx-tools-2.1.20-jar-with-dependencies.jar
spdx-tools-2.1.20-javadoc.jar
spdx-tools-2.1.20-sources.jar
spdx-tools-2.1.20.jar

Now I can successfully run the Tools... :-D

goneall commented 4 years ago

@Birgos - thanks for the udpate - glad to see you got it working.

Please feel free to put in a PR with the updated POM file.

goneall commented 4 years ago

Resolved with PR #225