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

Adding the ability for ivy repo's to use a non-standard pattern #1813

Merged
merged 2 commits into from Apr 28, 2017
Merged

Adding the ability for ivy repo's to use a non-standard pattern #1813

merged 2 commits into from Apr 28, 2017

Conversation

ethankhall
Copy link
Contributor

@ethankhall ethankhall commented Apr 12, 2017

With the current implementation of the PluginRepositories it's not
possible for the user to be able to specify a repo that doens't meet the
"ivy" standard layout. Many people do not, so it's impossible to use
this feature.

This change will allow for users to specify more info about their
repositories.

Gradle Core Team Checklist

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation including proper use of @since and @Incubating annotations for all public APIs
  • Recognize contributor in release notes

With the current implementation of the PluginRepositories it's not
possible for the user to be able to specify a repo that doens't meet the
"ivy" standard layout. Many people do not, so it's impossible to use
this feature.

This chang will allow for users to specify more info about their
repositories.
@oehme oehme self-requested a review April 12, 2017 17:17
@oehme oehme added a:feature A new functionality from:contributor in:core DO NOT USE labels Apr 12, 2017
@oehme oehme self-assigned this Apr 12, 2017
@oehme oehme added this to the 4.0 RC1 milestone Apr 12, 2017
Copy link
Contributor

@oehme oehme left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for improving this Ethan!

The changes look good. An integration test that shows the pattern being used would be great.

* @param config The closure used to configure the layout.
* An instance of {@link RepositoryLayout} is passed as a parameter to the closure.
*/
void layout(String layoutName, Closure config);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Closure shouldn't be necessary, added by DSL decoration.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can remove it, do you want me to also remove it from the RepositoryHandler that it was copied from?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, we'll remove that when we remove all the old Closure overloads.

@oehme
Copy link
Contributor

oehme commented Apr 25, 2017

@ethankhall We're branching for the release next Monday, so in order to make it into 4.0, we need the test coverage for this change this week.

Removed the Closure method from IvyPluginRepository because it's done
for us automatically. Added an integ test to validate that it's possible
to specify a custom directory layout.
@ethankhall
Copy link
Contributor Author

Thanks for the notification @oehme, I've added the test and removed the method. Let me know if there's anything else you need from me.

@oehme oehme merged commit 68ad3b5 into gradle:master Apr 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:feature A new functionality in:core DO NOT USE
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants