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

Improved go remote library support. #2013

Closed
wants to merge 3 commits into from

Conversation

jsirois
Copy link
Contributor

@jsirois jsirois commented Aug 18, 2015

GoFetch now supports remote libraries with nested packages as well as
implicit targets for transitive dependencies that fall within the same
remote import path root as an explicitly declared remote dependency.

The awkward fit of zip_url to the more generically named GoRemoteLibrary
is fixed by moving the task of fetching fully out to a Fetchers
subsystem that works by delegating based on matches against the remote
import path. To support this, both GoRemoteLibrary and GoLocalSource
targets gain a consistent notion of import_path that matches the same
concept in go.

The existing zip download functionality for remote libraries on github
is extracted to a generic ArchiveFetcher implementation with a default
configuration that knows how to construct and github archive URLs and
unpack them.

Additionally, a 'go_remote_libraries' macro is introduced to allow for
depending on a suite of packages at a single revision without repeating
the version in the BUILD file.

https://rbcommons.com/s/twitter/r/2655/

@jsirois
Copy link
Contributor Author

jsirois commented Aug 18, 2015

This addresses #1998 /cc @huckphin @traviscrawford @codygibb @fkorotkov

GoFetch now supports remote libraries with nested packages as well as
implicit targets for transitive dependencies that fall within the same
remote import path root as an explicitly declared remote dependency.

The awkward fit of zip_url to the more generically named GoRemoteLibrary
is fixed by moving the task of fetching fully out to a Fetchers
subsystem that works by delegating based on matches against the remote
import path.  To support this, both GoRemoteLibrary and GoLocalSource
targets gain a consistent notion of `import_path` that matches the same
concept in go.

The existing zip download functionality for remote libraries on github
is extracted to a generic ArchiveFetcher implementation with a default
configuration that knows how to construct and github archive URLs and
unpack them.

Additionally, a 'go_remote_libraries' macro is introduced to allow for
depending on a suite of packages at a single revision without repeating
the version in the BUILD file.
The Fetchers Subsystem was still overriding the old `dependencies`
method which has now moved to `subsystem_dependencies`.
@jsirois
Copy link
Contributor Author

jsirois commented Aug 19, 2015

Submitted @ 91f0e27

@jsirois jsirois closed this Aug 19, 2015
@jsirois jsirois deleted the jsirois/issues/1998 branch August 19, 2015 17:18
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

Successfully merging this pull request may close these issues.

1 participant