-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/go: refactor into multiple packages #18653
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
Comments
Would this cover the need for https://github.com/kisielk/gotool? |
CL https://golang.org/cl/36192 mentions this issue. |
CL https://golang.org/cl/36129 mentions this issue. |
CL https://golang.org/cl/36193 mentions this issue. |
CL https://golang.org/cl/36203 mentions this issue. |
CL https://golang.org/cl/36195 mentions this issue. |
CL https://golang.org/cl/36191 mentions this issue. |
CL https://golang.org/cl/36204 mentions this issue. |
CL https://golang.org/cl/36200 mentions this issue. |
CL https://golang.org/cl/36199 mentions this issue. |
CL https://golang.org/cl/36202 mentions this issue. |
CL https://golang.org/cl/36194 mentions this issue. |
CL https://golang.org/cl/36196 mentions this issue. |
CL https://golang.org/cl/36190 mentions this issue. |
CL https://golang.org/cl/36198 mentions this issue. |
CL https://golang.org/cl/36201 mentions this issue. |
CL https://golang.org/cl/36197 mentions this issue. |
All the new packages are internal, so it seems like it won't replace gotool just yet. |
There is no intent to expose the internals of the go command for direct import by programs that want to behave like it. I would prefer if those programs invoked the go command to find out what they need to find out: the API is the binary itself, not the Go package. Using the binary means that when some detail of the go command changes, all those other tools don't need to be updated. I'd be happy to talk about what those tools need. |
@rsc this sounds like a good idea. Should I open a separate issue and ping people who'll probably be interested? |
Sure, please open a new issue 'cmd/go: define command-line API for tools' and please list there the kinds of things your tools need to find out from the go command. Thanks. |
I'm very happy about this happening. I've been considering making a proposal and try to motivate doing exactly this. 👍 I'll also mention #11490 here - that issue might be worth revisiting and updating now that this is happening, since it's relevant. |
This CL makes a few naming changes to break dependencies between different parts of the go command, to make it easier to split into different packages. This is the first CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I69a98b9ea48e61b1e1cda95273d29860b525415f Reviewed-on: https://go-review.googlesource.com/36129 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I63f578f5ac99c707b599ac5659293c46b275567d Reviewed-on: https://go-review.googlesource.com/36190 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: Icb3f168ade91e7da5fcab89ac75b768daefff359 Reviewed-on: https://go-review.googlesource.com/36191 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I6ee5b053683034ea9462a9a0a4ea4f5ad24fa5a1 Reviewed-on: https://go-review.googlesource.com/36192 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I7c5dde6e7fe4f390e6607303b4d42535c674eac3 Reviewed-on: https://go-review.googlesource.com/36193 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I4cf05b076d81b780c87a31378523929b5da8964b Reviewed-on: https://go-review.googlesource.com/36194 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I20dbc352c3df3c83a75811dd8e78c580a46b2202 Reviewed-on: https://go-review.googlesource.com/36195 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: Ic802483e50598def638f1e2e706d5fdf7822d32d Reviewed-on: https://go-review.googlesource.com/36196 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: Icdd181098f9f0e81f68bf201e6867cdd8f820300 Reviewed-on: https://go-review.googlesource.com/36197 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I2d0ccdb84814537ab8b8842aa1b5f5bc0a88a0fc Reviewed-on: https://go-review.googlesource.com/36198 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I8e325d75f553b5d0b6224b56a705d2e2cb895de4 Reviewed-on: https://go-review.googlesource.com/36199 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I28b20d53d20dff06eede574eb5c20359db0d3991 Reviewed-on: https://go-review.googlesource.com/36200 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I2f349150659b6ddf6be4c675abba38dfe57ff652 Reviewed-on: https://go-review.googlesource.com/36201 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: Iec17bf2243de129942ae5fba126ec5f217be7303 Reviewed-on: https://go-review.googlesource.com/36202 Reviewed-by: David Crawshaw <[email protected]>
This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: I05629567cc33fef41bc74eba4f7ff66e4851343c Reviewed-on: https://go-review.googlesource.com/36203 Reviewed-by: David Crawshaw <[email protected]>
…l,version,vet This is one CL in a long sequence of changes to break up the go command from one package into a plausible group of packages. This sequence is concerned only with moving code, not changing or cleaning up code. There will still be more cleanup after this sequence. The entire sequence will be submitted together: it is not a goal for the tree to build at every step. For #18653. Change-Id: Ib22fc435827d4a05a77a5200ac437ce00e2a4da3 Reviewed-on: https://go-review.googlesource.com/36204 Reviewed-by: David Crawshaw <[email protected]>
This happened. |
Change https://golang.org/cl/59430 mentions this issue: |
The IsMetaPackage function was made exported when it was moved from cmd/go to cmd/go/internal/load in CL 36196. Its documentation wasn't updated accordingly. This change fixes that, resolving a golint issue. Updates #18653. Change-Id: Icf89461000754d0f09e6617b11c838e4c050d5a6 Reviewed-on: https://go-review.googlesource.com/59430 Reviewed-by: Dave Cheney <[email protected]>
It would help to split the go command into some packages,
in particular to separate out package loading from package building.
I have a plan and will send CLs at the start of Go 1.9
to try to get ahead of any possible merge conflicts.
CLs will be attached to this issue.
The text was updated successfully, but these errors were encountered: