Open rpalcolea opened 4 years ago
Hi @srs , Let me know your thoughts on this one
This is related to #316
@rpalcolea have you been able to resolve NodeJS with a current Gradle 6 build? See https://github.com/srs/gradle-node-plugin/issues/351
Hey @dpeger, havent; try it out yet but this PR fixes that in https://github.com/srs/gradle-node-plugin/pull/349/commits/708f62b4fd1bf36d712aae6dbb15ad0186d2dda2
What happened between Gradle 5.x and 6.x is that artifact()
is not part of the default metadataSources
for Ivy/Maven repos:
https://github.com/gradle/gradle/blob/v5.6.2/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/repositories/DefaultIvyArtifactRepository.java#L433 vs https://github.com/gradle/gradle/blob/1c3b4cd7d648d68767c70e9deb62e77c1ecb5198/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/repositories/DefaultIvyArtifactRepository.java#L445
What that means is that the default repo created by SetupTask
on this plugin will only pull ivy files that's why you get
Searched in the following locations:
- https://nodejs.org/dist/v10.15.3/ivy.xml
Actually, the original behavior probably caused tons of 404s for the XML file as artifact was the second in the order.
If you look and how gradle configures their own javascript repos, all of the above might make sense: https://github.com/gradle/gradle/blob/b189979845c591d8c4a0032527383df0f6d679b2/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/base/JavaScriptRepositoriesExtension.java#L53
The docs in https://docs.gradle.org/current/userguide/repository_types.html#sub:supported_metadata_sources are a little misleading:
The defaults for Ivy and Maven repositories change with Gradle 5.0. Before 5.0, artifact() was included in the defaults. Leading to some inefficiency when modules are missing completely. To restore this behavior, for example, for Maven central you can use mavenCentral { mavenPom(); artifact() }. In a similar way, you can opt into the new behavior in older Gradle versions using mavenCentral { mavenPom() }
But in reality, the breaking change happens in 6.x
This is totally unrelated to the patternLayout
change
Btw, the fork of this already contains those fixes: https://github.com/node-gradle/gradle-node-plugin/blob/master/src/main/groovy/com/moowork/gradle/node/task/SetupTask.groovy
In our case, we would like to get this plugin fixed as it might be a taunting task to ask tens/hundreds of engineers to migrate to another plugin
Hi @srs , any chance you could take a look on this PR? :)
With Gradle 6.0 now stable, the resolution issue mentioned above is now quite a major problem 👀
agree, hopefully @srs can take a look at this soon
There hasn't been a commit or reaction in 8 months, if you're able to live without the Gulp and the Grunt parts of this I'd use the fork.
Hi @rpalcolea, did you think about publishing your fork somewhere?
@alexvas do you need grunt/gulp in the plugin? Otherwise node-gradle/gradle-node-plugin
@deepy thank you. Your plugin just works for me. It's version 2.2.0 works with Gradle 6.0.1 without any warning.
we do have projects using com.moowork.grunt
Can we merge this PR please? Support of Gradle 6.x is very needed.
Hi @wlsc , it seems that this project is abandoned as we haven't heard back from plugin author in a while.
If you don't need gulp/grunt, I'd suggest to move to https://github.com/node-gradle/gradle-node-plugin since it is actively maintained these days and it's a fork from this
Gradle 6 is around the corner and there are multiple deprecations that need to be addresses in order to work with it. This PR fixes the following:
maven
plugin*Upgrade artifactory plugin to stop using non-existing Gradle's internal APIs
implementation
andtestImplementation
configurationsvalidateTaskProperties
will fail builds on Gradle 6.0patternLayout
instead oflayout 'pattern'
which is removed on Gradle 6.0. Kept backwards compatibility here.