[GRADLE-1651] Improve conventional configuration setup so not to encourage unnecessary artifacts being built as inter-project dependencies Created: 30/Jun/11 Updated: 04/Jan/13 Resolved: 16/Oct/11
|Reporter:||Luke Daley||Assignee:||Luke Daley|
The base plugin adds two configurations; "archives" and "default". All of the userguide documentation about publishing artifacts references the "archives" configuration and all of the upload examples are using the "uploadArchives" task.
This is causing a problem in that users are assigning extra things (e.g. source and javadoc jars) to the "archives" configuration and because "default" extends "archives" and is the default configuration used for project dependencies, unnecessary stuff gets built when the user does not want it. For example, if java subproject "a" has:
And java project "b" has:
Running :b:build is going to build "a"'s javadoc and source jars unnecessarily. Even worse, it's going to put them on "b"'s compile classpath.
I propose that we have the base plugin introduce another configuration, "published", that extends "archives" and change all of the upload examples in the manual to use "uploadPublished".
|Comment by Luke Daley [ 18/Jul/11 ]|
I'd say this could be closed as won't fix.
|Comment by Adam Murdoch [ 18/Jul/11 ]|
Not sure yet. This might be our solution. Perhaps we should rename the issue to describe the problem, rather than the solution.
|Comment by Adam Murdoch [ 16/Oct/11 ]|
The default configuration no longer extends archives, so this problem is fixes (it's not perfect, though).