OpenLiberty / ci.common

Common functionality for ci.maven and ci.gradle
Apache License 2.0
3 stars 30 forks source link

[#404] fix scope for maven-artifact #405

Closed bmarwell closed 1 year ago

bmarwell commented 1 year ago
cherylking commented 1 year ago

@bmarwell I know I already merged this, but wanted to check real quick...will this negatively affect the Liberty Gradle plugin (ci.gradle) which also utilizes this code? If you are not sure, then I probably should pull this change in locally and make sure the gradle plugin builds and the tests pass ok.

Update: I just tested with ci.gradle and it breaks the build. I got the following exceptions:

> Task :compileTestGroovy FAILED
startup failed:
/Users/cherylking/gitForks/ci.gradle/src/test/groovy/io/openliberty/tools/gradle/BaseGenerateFeaturesTest.groovy: 18: unable to resolve class org.codehaus.plexus.util.FileUtils
 @ line 18, column 1.
   import org.codehaus.plexus.util.FileUtils
   ^

/Users/cherylking/gitForks/ci.gradle/src/test/groovy/io/openliberty/tools/gradle/InstallUsrFeature_toExt.groovy: 10: unable to resolve class org.apache.maven.artifact.versioning.DefaultArtifactVersion
 @ line 10, column 1.
   import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
   ^

/Users/cherylking/gitForks/ci.gradle/src/test/groovy/io/openliberty/tools/gradle/PrepareFeatureTest.groovy: 10: unable to resolve class org.apache.maven.artifact.versioning.DefaultArtifactVersion
 @ line 10, column 1.
   import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
   ^

3 errors
bmarwell commented 1 year ago

Argh. I honestly have no idea about Gradle. Maven ships it and emits a warning if present. Gradle doesn't ship it which breaks maven compat, it seems. I guess it's either importing explicitly into gradle (I'd prefer that) or exclude in maven explicitly.

cherylking commented 1 year ago

I'm working on a separate PR to remove this dependency from ci.common altogether. Given it is used by both our Maven and Gradle plugins, it does not make much sense to have a dependency on something provided by Maven IMO.