-
Notifications
You must be signed in to change notification settings - Fork 147
Add a summary of the differences with standard go tool #23
Comments
Another question: What happens when a project using the |
gb projects are not go get'able, they are the end of the line. See #20 |
I understand that gb projects are not go get'able (the premise of your project being to not try to stay compatible with the go tool), but could they be "gb" get'able? I think that the distinction between "end of line" applications and libraries is quite arbitrary. It would be very useful, in a project that uses gb, to be able to vendor a library that uses gb itself. In other words, being able to vendor transitive dependencies seems necessary. |
I agree, but don't have a solution for packages, not projects yet. This is On Fri, 1 May 2015 23:02 Nicolas Grilly notifications@github.com wrote:
|
FYI, it looks like Go version 1.5 will fix the issue about "deleting a file from a package doesn't cause a rebuild": |
Yes. That issue was addressed after I made my presentation. Competition is On Sat, May 2, 2015 at 10:51 PM, Nicolas Grilly notifications@github.com
|
Well said. :-) |
I'll address this issue by adding more introductory text. The video of my GDG presentation will be available shortly as well. For the record, With respect to the request to enumerate the differences between |
But why is there so much code in
I haven't requested a list of differences between |
This is what is required to write a built tool for Go. I'd love to reuse more of the code, but a lot of it is locked away in |
You can emulate everything |
Thanks for following-up on my questions. Your answer is very clear. I'm starting to get it.
I agree that using a tool that does it well is better than implementing and documenting it on a per project basis.
This is the part I find hard to follow. Why not just invoke the |
Why not wrap the go tool and shell out? Several reasons
On Tue, 5 May 2015 08:22 Nicolas Grilly notifications@github.com wrote:
|
Agreed, but it doesn't explain why they failed. Maybe it is because these tools appeared too early in the history of the Go language, and the community was not ready to embrace such tools. Maybe it was because they were implemented in sh/bash instead of Go, and I agree with you that Go is better for such a tool. Maybe they were half-baked. Etc…
Earlier in this thread, you wrote " Could you clarify if " Regarding the limitations of the
I see what you mean. I felt the pain too. I'm sometimes annoyed by some limitations of the Sometimes 1/ Saying " 2/ Saying " In order to clarify the goals of |
That's really not something I can or feel comfortable answering. The fact is I'm trying to write a tool that gives me repeatable builds, and none of those existing tools, I felt, gave me the reproducibility I needed, for the reasons I stated in my GDG presentation.
Yes, and you'll have to wait for August to get those fixes, and some time afterwards if your group doesn't want to change their Go version.
In theory yes, in practice, nobody has done so. People know that
The Go team have stated they prefer vendoring via import rewriting. I don't agree that is the best solution, so I wrote a competing tool.
See above.
I don't think they are, although I admit my presentation and slides may need to be improved.
I did the best job I could to provide justification for creating I agree it isn't a small job, but it's an important job. I've addressed issues of my suitability for this task in #42, but it basically comes down to a. do you agree with my position |
Could you add a summary of the differences with the standard
go
tool?Here is the two main differences I noted:
go
tool that still uses remaining .a files.Regarding the first difference, which is the main selling point of
gb
, I'm wondering why it couldn't be implemented as a wrapper around the standard tool. This is what godep does, in some way. But I'm probably missing something :)Even if it cannot be implemented as a wrapper, it would be great to reuse as much code as possible from the standard library, instead of reimplementing the whole tool?
Regarding the second difference, is there a reason for not fixing the behavior directly in the standard
go
tool?The text was updated successfully, but these errors were encountered: