[GRADLE-612] Improved syntax for "mavenRepo()" URL parameter Created: 29/Aug/09  Updated: 04/Jan/13  Resolved: 16/Oct/11

Status: Resolved
Project: Gradle
Affects Version/s: 0.7
Fix Version/s: 1.0-milestone-5

Type: Improvement
Reporter: Peter Niederwieser Assignee: Adam Murdoch
Resolution: Fixed Votes: 0


 Description   

In the vast majority of cases, only a single URL is passed to "mavenRepo()". Most users won't even know what it means to pass multiple URLs. Therefore I suggest to add a "url" parameter, or to rename "urls" to "url", or to accept the URL as an unnamed parameter. From the perspective of a non-expert user, "urls" is confusing. It essentially forces him to learn an advanced concept that he most probably doesn't need.



 Comments   
Comment by Hans Dockter [ 31/Aug/09 ]

My initial implementation had an url and urls parameter. But as far as I can remember Steve, Russel and Adam voted for the urls only approach. We had some discussions about this. But I like your reasoning regarding forcing someone to learn an advanced concept. I will reopen the discussion about this after 0.8.

Comment by Russel Winder [ 01/Sep/09 ]

My worry was that we had two attributes: url that took a string, and urls that took a list of strings. I felt a user would feel (as I did) annoyed that she had to deal separately with separate data types – Groovy is, after all, a dynamic language with polymorphism and so we should expect Gradle to deal with a single attribute having different types.

Having moved to a single attribute that can process strings or lists of strings, I am not that worried about the singularity or plurality of the label of the attribute: I feel the distinction between url and urls is not actually that important.

Being able to pass the URL or list of URLs as an unnamed parameter is though something I would support as a good feature for this function.

Comment by Peter Niederwieser [ 01/Sep/09 ]

>Having moved to a single attribute that can process strings or lists of strings, I am not that worried about the singularity or plurality of the label of the attribute: I feel the distinction between url and urls is not actually that important.
Not remembering the exact syntax, I immediately tried the unnamed and "url" variation. As both failed, I looked up the syntax in the documentation, was confused by the plural form, read further to make sense of it. Minutes later, I added one "s" to the build script and it suddenly worked.
Actually, it's quite common in Java to use the singular form for an annotation value of array type, especially if a single value is the main use case. An unnamed parameter would be equally fine, provided it is considered a fit for Gradle's DSL style.

Generated at Wed Jun 30 11:34:23 CDT 2021 using Jira 8.4.2#804003-sha1:d21414fc212e3af190e92c2d2ac41299b89402cf.