Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

exclude oro license from trying to download #6590

Merged
merged 1 commit into from May 13, 2024

Conversation

thadguidry
Copy link
Member

  • excludes oro dependency for license download (since it fails) during build

- excludes oro dependency for license download (since it fails)
@thadguidry thadguidry added maintainability Making it easier to maintain OpenRefine maven Configuration of our build system using Maven labels May 7, 2024
@wetneb wetneb merged commit 1233678 into master May 13, 2024
17 checks passed
@tfmorris
Copy link
Member

I looked at this a month or so ago and noticed that there was a manual license declaration for oro:

<dependency>
<groupId>\Qoro\E</groupId>
<artifactId>\Qoro\E</artifactId>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://apache.org/licenses/LICENSE-2.0</url>
</license>
<comments>It's manifest LICENSE is shown as Apache 1.1 license, which has now been superceded by Apache 2.0 license</comments>
</licenses>
<downloaderMessages>
<downloaderMessage>No license information available for: oro:oro:2.0.8. However, manifest LICENSE is shown as Apache 1.1 license superceded by Apache 2.0 license and will use that instead</downloaderMessage>
</downloaderMessages>
</dependency>

which I assumed should be overriding attempts to download a licenses, but a) it didn't appear to be doing that and b) didn't look like it was getting included in the licenses list on the About page. http://127.0.0.1:3333/about.html

Does this fix include the oro manual license?

@wetneb
Copy link
Sponsor Member

wetneb commented May 13, 2024

a) it didn't appear to be doing that

Indeed, I also tried to investigate why and couldn't figure it out

b) didn't look like it was getting included in the licenses list on the About page. http://127.0.0.1:3333/about.html

The dependencies listed in the About page are currently outdated and have never been fed by this Maven plugin. We have an open issue about that: #6422

So as far as I can tell, the value of this PR is primarily to remove a warning from the build logs.

@tfmorris
Copy link
Member

It looks to me like this page might include information on how to include license mappings for dependencies missing licenses:
https://www.mojohaus.org/license-maven-plugin/examples/example-thirdparty.html

@thadguidry
Copy link
Member Author

Hmm. Ok I will take a look more deeply today. Yes it should have picked up the manual license.

@thadguidry
Copy link
Member Author

thadguidry commented May 14, 2024

OK, this sucks. I was trying to test the license download and packaging, but it runs as part of the lifecycle package. And I cannot do mvn package because of the package failure (which I guess is because I don't have a Mac?) that occurs towards the end with

[ERROR] Failed to execute goal sh.tak.appbundler:appbundle-maven-plugin:1.2.0:bundle (default) on project packaging: Execution default of goal sh.tak.appbundler:appbundle-maven-plugin:1.2.0:bundle failed: An API incompatibility was encountered while executing sh.tak.appbundler:appbundle-maven-plugin:1.2.0:bundle: java.lang.ExceptionInInitializerError: null
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>sh.tak.appbundler:appbundle-maven-plugin:1.2.0
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/thadg/.m2/repository/sh/tak/appbundler/appbundle-maven-plugin/1.2.0/appbundle-maven-plugin-1.2.0.jar
[ERROR] urls[1] = file:/C:/Users/thadg/.m2/repository/org/codehaus/plexus/plexus-archiver/4.9.2/plexus-archiver-4.9.2.jar

snip

[ERROR] urls[40] = file:/C:/Users/thadg/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar
[ERROR] urls[41] = file:/C:/Users/thadg/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[42] = file:/C:/Users/thadg/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[project>org.openrefine:openrefine:3.9-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR] : Range [0, 3) out of bounds for length 2
[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/PluginContainerException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :packaging

  1. Any advice on packaging ONLY for Windows on Windows? Alternatives? shunt on just another lifecycle directly (so that I don't fully package and get errors)? I can probably dive into things, but rather not hack on something that folks might already know a bit better than I on the assembly-plugin and packaging.

At least below I can see it is prepare and copy license files both for backend licenses/ and frontend licenses/licenses/

  1. @wetneb Is this
    <additionalResources>

    where the licenses get picked up and copied? Because on my openrefine-win-with-java-3.8.0 folder that I extracted from the downloaded ZIP, it's only showing a single /licenses folder? Are we including all frontend and backend licenses into that folder? It didn't seem so from my mvn package log output.

[INFO] --- maven-antrun-plugin:3.1.0:run (prepare-mac-bundle) @ packaging ---
[INFO] Executing tasks
[INFO] [touch] Creating E:\GitHubRepos\OpenRefine\packaging\target\dummy_artifact.jar
[INFO] [mkdir] Created dir: E:\GitHubRepos\OpenRefine\packaging\target\OpenRefine.app\Contents\Resources\webapp
[INFO] [copy] Copying 404 files to E:\GitHubRepos\OpenRefine\packaging\target\OpenRefine.app\Contents\Resources\webapp
[INFO] [copy] Copying 10 files to E:\GitHubRepos\OpenRefine\packaging\target\OpenRefine.app\Contents\Resources\webapp\licenses
[INFO] [copy] Copying 9 files to E:\GitHubRepos\OpenRefine\packaging\target\OpenRefine.app\Contents\Resources\webapp\licenses\licenses
[INFO] [copy] Copying 648 files to E:\GitHubRepos\OpenRefine\packaging\target\OpenRefine.app\Contents\Resources\webapp\extensions
[INFO] [copy] Copied 111 empty directories to 14 empty directories under E:\GitHubRepos\OpenRefine\packaging\target\OpenRefine.app\Contents\Resources\webapp\extensions

  1. Also, shouldn't we embed JRE 21 LTS instead of 11 ?

@thadguidry thadguidry deleted the thadguidry-patch-pom-for-oro branch May 26, 2024 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintainability Making it easier to maintain OpenRefine maven Configuration of our build system using Maven
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants