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

Access to file of DefaultUnresolvedArtifactResult in MavenDependencyExport #12

Open
stefanleh opened this issue Aug 27, 2019 · 4 comments

Comments

@stefanleh
Copy link
Contributor

There is an access to the file property of an unresolvable artifact in MavenDependencyExport.groovy:
https://github.com/uklance/gradle-dependency-export/blob/master/src/main/groovy/com/lazan/dependency/export/MavenDependencyExport.groovy#L154

Caused by: groovy.lang.MissingPropertyException: No such property: file for class: org.gradle.api.internal.artifacts.result.DefaultUnresolvedArtifactResult
Possible solutions: type, id, failure
		at com.lazan.dependency.export.MavenDependencyExport$_copyPoms_closure10.doCall(MavenDependencyExport.groovy:154)

I think the component.getArtifacts(MavenPomArtifact). should be extended by filtering of the artifacts so we only use resolvable ones.
If i find some time i will look into that myself but currently im very busy.

Best regards, Stefan

@uklance
Copy link
Owner

uklance commented Aug 27, 2019

Is there an artifact on Maven Central which will show the error? Or are you seeing the issue with an artifact from an internal repo?

I think a flag to control the behaviour might be best. Eg

mavenDependencyExport {
   filterResolvable = true
} 

This would allow the build to fail for unresolvable depencies, I'm not sure if that's desirable behaviour (I need to understand what an unresolvable dependency is)

@uklance
Copy link
Owner

uklance commented Aug 27, 2019

Also, have you seen this?

https://github.com/uklance/gradle-dependency-export/blob/master/src/main/groovy/com/lazan/dependency/export/MavenDependencyExport.groovy#L42-L43

	protected Collection<Configuration> prepareConfigurations() {
		if (!configurations.empty) {
			return configurations
		}
		Collection<Configuration> defaultConfigurations = new LinkedHashSet<>()
		defaultConfigurations.addAll(project.buildscript.configurations.findAll { it.canBeResolved })
		defaultConfigurations.addAll(project.configurations.findAll { it.canBeResolved })
		return defaultConfigurations
	}

@stefanleh
Copy link
Contributor Author

Yes, the same check is done here too:
https://github.com/uklance/gradle-dependency-export/blob/master/src/main/groovy/com/lazan/dependency/export/MavenDependencyExport.groovy#L54

But it doesnt matter if the configuration is resolvable when the artifacts in them might not be.

@stefanleh
Copy link
Contributor Author

Please see the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants