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

x/*: define module boundaries for all the repos under golang.org/x/ #28136

Open
dmitris opened this issue Oct 10, 2018 · 23 comments

Comments

@dmitris
Copy link
Contributor

commented Oct 10, 2018

@bradfitz -2'ed https://go-review.googlesource.com/c/net/+/141237 with the comment:

Temporary -2 until there's a plan somewhere and linked from here.
I suspect x/net is too broad for one blanket module.

This would be similar to #27858 (which is for x/tools).

It would be great to define the boundaries and set up modules (and tag the code so that it could be used with versions not looking like golang.org/x/net v0.0.0-20181005035420-146acd28ed58 😄

@bcmills - do you know if someone is already working on setting up modules in x/net? if so, could you please include them?

@gopherbot gopherbot added this to the Unreleased milestone Oct 10, 2018

@dmitris dmitris changed the title x/tools: define module boundaries xnet: define module boundaries Oct 10, 2018

@dmitris dmitris changed the title xnet: define module boundaries x/net: define module boundaries Oct 10, 2018

@bcmills

This comment has been minimized.

Copy link
Member

commented Oct 11, 2018

To summarize the core issues from #27858, the main question to answer here is:

  • Do the packages in x/net vary in terms of stability, or are they all v0 (unstable), or all v1 (stable)?

(I don't know the answer. CC @mikioh, @bradfitz, @ianlancetaylor, and @tombergan for their opinion.)

@bcmills

This comment has been minimized.

Copy link
Member

commented Oct 11, 2018

Also as noted in #27858 (comment), an existing repository is (de facto) currently a single module: people can already define a go.mod file that refers to it at a particular commit, and if they run go get -u they will expect to have the same packages available.

So I think there's essentially no harm in defining the whole repo as a single module for now.

@bradfitz

This comment has been minimized.

Copy link
Member

commented Oct 11, 2018

@bcmills, that is incredibly sad. I was hoping modules would get us out of this mess and let us carve up x/net and x/tools and let them have their own CI columns, etc. For instance, I'd love it if x/tools/cmd/guru breakages (it breaks all the time) didn't interrupt development of cmd/godoc. And x/net/html has nothing to do with x/net/http2, etc.

@rsc

This comment has been minimized.

Copy link
Contributor

commented Oct 11, 2018

There needs to be a development of a plan for all the x repos, not a different plan for every repo. I think we should close all these "define module boundaries for one repo at a time" bugs.

@dmitris dmitris changed the title x/net: define module boundaries x/*: define module boundaries for all the repos under golang.org/x/ Oct 12, 2018

@dmitris

This comment has been minimized.

Copy link
Contributor Author

commented Oct 12, 2018

@rsc - I renamed the issue to "x/*: define module boundaries for all the repos under golang.org/x/", would it work? If not, feel free to close it.

@bcmills

This comment has been minimized.

Copy link
Member

commented Feb 12, 2019

There needs to be a development of a plan for all the x repos, not a different plan for every repo.

@rsc and I discussed a general strategy for the x/ repos this morning.
My proposal (at least for the 1.13 cycle) is:

  • Create a go.mod file at the root of each x/ repo, possibly after cleaning up extraneous dependencies (#29981, #29935).
    • Before adding a go.mod file, ensure that the x/ repo is not required at its incorrect github.com/golang module path by any modules that are in the build list of said x/ repo. You can follow the steps described here to check this. This is to avoid regressions such as golang/lint#436.
  • Maintain each go.mod file using go mod tidy. Specifically:
    • Include all of the dependencies produced by go mod tidy in the go.mod file.
    • Encourage the use of go mod tidy when imports are added or removed.
  • If a specific CL needs to use a new feature or avoid an old bug, it's ok to bump the version of relevant dependencies in the same CL.
  • It's ok to occasionally run go get -u to upgrade dependencies explicitly, but if the upgrade isn't relevant to a specific other CL, please send it separately. (https://golang.org/cl/145857 is an example of such a change.)
    • If the upgrade requires any code fixes, such as to work around incompatible changes, send those fixes in the same CL.
  • Do not tag explicit releases yet, with the possible exception of x/text (which already has some version tags).
  • We can revise this strategy as we learn what pain points arise.
@bradfitz

This comment has been minimized.

Copy link
Member

commented Feb 12, 2019

SGTM

@gopherbot

This comment has been minimized.

Copy link

commented Feb 13, 2019

Change https://golang.org/cl/162397 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 14, 2019

Change https://golang.org/cl/162677 mentions this issue: all: make go.mod consistent with 'go mod tidy'

gopherbot pushed a commit to golang/build that referenced this issue Feb 14, 2019
all: make go.mod consistent with 'go mod tidy'
Updates golang/go#28136

Change-Id: Id72c814ee39931e7f6a1ab421237b8739d8960db
Reviewed-on: https://go-review.googlesource.com/c/162677
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
gopherbot pushed a commit to golang/tools that referenced this issue Feb 14, 2019
all: add a go.mod file
This change adds a go.mod and go.sum file to the tools repo, following the
requirements stated in bcmills's comment here:
https://golang.org/issue/28136#issuecomment-462971974. It's
important to note that we will not be
adding versions to the repo for now.

The change was generated by running "go mod init" and "go mod tidy" using Go
1.11.5 in the top-level directory of the tools repository.

The tools repo has some extraneous dependencies, but they will be removed soon
(we expect a couple of weeks). At that point, our go.sum should shrink to a
small handful of entries.

Updates golang/go#28136

Change-Id: Ie7802d8d70094a855b112ad0507a47036cb81ba0
Reviewed-on: https://go-review.googlesource.com/c/162397
Run-TryBot: Michael Matloob <matloob@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot

This comment has been minimized.

Copy link

commented Feb 15, 2019

Change https://golang.org/cl/162820 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 15, 2019

Change https://golang.org/cl/162938 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 15, 2019

Change https://golang.org/cl/162912 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 15, 2019

Change https://golang.org/cl/162821 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 15, 2019

Change https://golang.org/cl/162915 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 15, 2019

Change https://golang.org/cl/162916 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 15, 2019

Change https://golang.org/cl/162823 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 15, 2019

Change https://golang.org/cl/162977 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 15, 2019

Change https://golang.org/cl/162825 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 15, 2019

Change https://golang.org/cl/162911 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 16, 2019

Change https://golang.org/cl/162822 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 16, 2019

Change https://golang.org/cl/162824 mentions this issue: all: add a go.mod file

@gopherbot

This comment has been minimized.

Copy link

commented Feb 18, 2019

Change https://golang.org/cl/162913 mentions this issue: all: add a go.mod file

gopherbot pushed a commit to golang/image that referenced this issue Feb 20, 2019
all: add a go.mod file
This change adds a go.mod and go.sum file to this repo, following the
requirements stated in bcmills's comment here:
https://golang.org/issue/28136#issuecomment-462971974. It's
important to note that we will not be
adding versions to the repo for now.

The change was generated by running "go mod init" and "go mod tidy" using Go
1.11.5 in the top-level directory of the repository.

Updates golang/go#28136

Change-Id: I837a30c514e23ddab0404a2d8ab66eaa6ad82961
Reviewed-on: https://go-review.googlesource.com/c/162912
Run-TryBot: Michael Matloob <matloob@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
gopherbot pushed a commit to golang/sys that referenced this issue Feb 26, 2019
all: add a go.mod file
This change adds a go.mod file to this repo, following the
requirements stated in bcmills's comment here:
https://golang.org/issue/28136#issuecomment-462971974. It's
important to note that we will not be
adding versions to the repo for now.

This change does not add a go.sum because this repo has no dependencies.

The change was generated by running "go mod init" and "go mod tidy" using Go
1.11.5 in the top-level directory of the repository.

Updates golang/go#28136

Change-Id: If6945f4bb17f7c84b53445054140ce9389767d89
Reviewed-on: https://go-review.googlesource.com/c/162977
Run-TryBot: Michael Matloob <matloob@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
gopherbot pushed a commit to golang/sync that referenced this issue Feb 27, 2019
all: add a go.mod file
This change adds a go.mod file to this repo, following the
requirements stated in bcmills's comment here:
https://golang.org/issue/28136#issuecomment-462971974. It's
important to note that we will not be
adding versions to the repo for now.

This change does not add a go.sum because this repo has no dependencies.

The change was generated by running "go mod init" and "go mod tidy" using Go
1.11.5 in the top-level directory of the repository.

Updates golang/go#28136

Change-Id: Ie4f1270a0dfefd4239badf86daa0d7a5b17fd0d5
Reviewed-on: https://go-review.googlesource.com/c/162823
Run-TryBot: Michael Matloob <matloob@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
gopherbot pushed a commit to golang/lint that referenced this issue Feb 27, 2019
all: add a go.mod file
This change adds a go.mod and go.sum file to this repo, following the
requirements stated in bcmills's comment here:
https://golang.org/issue/28136#issuecomment-462971974. It's
important to note that we will not be
adding versions to the repo for now.

The change was generated by running "go mod init" and "go mod tidy" using Go
1.11.5 in the top-level directory of the repository.

Updates golang/go#28136

Change-Id: I5bdb5ea44cd65042afeef675a0c3bfaa6d3c65ea
Reviewed-on: https://go-review.googlesource.com/c/162913
Run-TryBot: Michael Matloob <matloob@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
gopherbot pushed a commit to golang/crypto that referenced this issue Feb 27, 2019
all: add a go.mod file
This change adds a go.mod and go.sum file to this repo, following the
requirements stated in bcmills's comment here:
https://golang.org/issue/28136#issuecomment-462971974. It's
important to note that we will not be
adding versions to the repo for now.

The change was generated by running "go mod init" and "go mod tidy" using Go
1.11.5 in the top-level directory of the repository.

Updates golang/go#28136

Change-Id: I17b2ac9eaae028a172a5adc260cffba5e0997619
Reviewed-on: https://go-review.googlesource.com/c/162911
Run-TryBot: Michael Matloob <matloob@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
@dmitshur dmitshur referenced this issue Mar 1, 2019
2 of 3 tasks complete
@dmitshur

This comment has been minimized.

Copy link
Member

commented Mar 8, 2019

I have edited @bcmills's #28136 (comment) above to incorporate a minor revision based on what we've learned from golang/lint#436 and #30455.

It adds the "Before adding a go.mod file, ..." sub-bullet point under the first "Create a go.mod file ..." bullet point:

image

gopherbot pushed a commit to golang/time that referenced this issue Mar 8, 2019
all: add a go.mod file
This change adds a go.mod file to this repo, following the
requirements stated in bcmills's comment here:
https://golang.org/issue/28136#issuecomment-462971974. It's
important to note that we will not be
adding versions to the repo for now.

This change does not add a go.sum file because this repo has no
dependencies on other repos.

The change was generated by running "go mod init" and "go mod tidy" using Go
1.11.5 in the top-level directory of the repository.

Updates golang/go#28136

Change-Id: If06ef87228cd9c8520de9aa457a97947caaaf53f
Reviewed-on: https://go-review.googlesource.com/c/time/+/162824
Run-TryBot: Michael Matloob <matloob@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
gopherbot pushed a commit to golang/net that referenced this issue Mar 11, 2019
all: add go.mod files, carve h2demo into separate module
This change adds a go.mod and go.sum file to this repo, following the
requirements stated in bcmills's comment here:
https://golang.org/issue/28136#issuecomment-462971974. It's
important to note that we will not be
adding versions to the repo for now.

This change also creates a new module with the module path
golang.org/x/net/http2/h2demo, and moves the h2demo command into it.
This is done by adding a go.mod file in the http2/h2demo directory.
As a result, the h2demo command and its dependencies are removed
from this and later pseudo-versions of the golang.org/x/net module.

The change was generated using Go 1.12.

Updates golang/go#28136
Fixes golang/go#30685

Change-Id: Ia5b0f6623c3374355b76106432190a0c9acf3d05
Reviewed-on: https://go-review.googlesource.com/c/net/+/162822
Run-TryBot: Michael Matloob <matloob@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
gopherbot pushed a commit to golang/review that referenced this issue Mar 13, 2019
all: add a go.mod file
This change adds a go.mod file to this repo, following the
requirements stated in bcmills's comment here:
https://golang.org/issue/28136#issuecomment-462971974. It's
important to note that we will not be
adding versions to the repo for now.

There is no go.sum file because this repo has no dependencies.

The change was generated by running "go mod init" and "go mod tidy" using Go
1.11.5 in the top-level directory of the repository.

Updates golang/go#28136

Change-Id: Ie24d8bb73104e8299d3d22cf6c72a295036804f7
Reviewed-on: https://go-review.googlesource.com/c/review/+/162916
Run-TryBot: Michael Matloob <matloob@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
@dmitshur dmitshur referenced this issue Mar 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.