Comments (14)
Process to v2
Initial PR: #67.
However, based on #67 (review).
Unfortunately this is a very large change. I've left some initial comments as a first pass, but we'll likely need to do multiple iterations to resolve everything. Something that would greatly help me out for reviewing is if we could break this up into separate PRs. Here's some individual chunks I see that might be good places to break this apart:
I'll be sending several PRs to gradually upstream the new tool instead.
While addressing comments, I'll be reducing the difference with go-licenses v1 and try to make upgrade easier.
Here, I'm using this issue to track progress and welcome any feedback & code reviews.
from go-licenses.
EDIT: Roadmap section moved to top comment.
from go-licenses.
Suggest: Save command: compress sources
from go-licenses.
I sent out a bunch of PRs which are minimal and focused on one thing, and a few more are ready (but I want to wait for the first PRs getting reviewed first).
The rough idea is starting from a copy of v1 go-licenses tool and gradually replace each command with the new implementation, so that we keep the interface and behavior backward compatible as much as possible.
from go-licenses.
Reply to #93 (review)
@wlynch let's track general discussion in the main issue?
General question before I start reviewing these PRs in more details - are the changes to csv/check changes introducing any changes w.r.t input/outputs of the commands, or is this strictly an upgrade using module info?
No, there are no substantial changes to io.
There is a minor and optional output format change of adding a space after each comma to make it convenient to click the license URL in terminal/editor, do you have any concerns?
Also, git-url argument is removed, because it's no longer used. (But I am reconsidering this, because it may be useful for the main module.)
If there isn't anything that would break compatibility with existing clients, it might make sense to just merge these into v1. 👀
The bits I was primarily concerned with the original v2 proposal were the new commands and the different output format.
Well, the major breaking change is that we no longer support non go module projects. That's probably worth a v2. What do you think?
from go-licenses.
Agreement today:
- let's use major branch approach of reaching v2, because the current v2 is a natural continuation of v1 with some minor breaking changes. Existing PRs may still be easy to merge into v2.
AI:
- @wlynch will tag a v1.0.0 release, so that people won't get a WIP v2 version accidentally in master branch
- @Bobgy will move PRs to target master branch.
We will re-discuss at what point we want to bump to v2 as the development continues.
from go-licenses.
@wlynch #95, #101 and #94 are ready for review : )
from go-licenses.
Note, I created a github release in my fork in case anyone want to try the proposed new tool before above PRs are merged: https://github.com/Bobgy/go-licenses/releases/tag/v0.1.0-2022-01-20
EDIT: my compiled binary did not quite work.
from go-licenses.
Created a new release that can be installed from source: https://github.com/Bobgy/go-licenses/releases/tag/v2.0.0-alpha.0. It's mostly ready to use and near backwards compatible.
To try my fork:
go get github.com/Bobgy/go-licenses/v2
go-licenses --help
from go-licenses.
Is it somehow planned / possible to configure the check
command, e.g. not only check for forbidden license but also for restricted? Or to configure the list of forbidden libraries? Or to at least print out the license type in the csv so I can grep for it? :)
from go-licenses.
Hi @oxisto, it's not in the scope. You might want to file a separate issue for this feature request.
from go-licenses.
Hi @oxisto, it's not in the scope. You might want to file a separate issue for this feature request.
got it. thanks for your answer!
from go-licenses.
Update, based on discussion with @wlynch, we think that the breaking change for GOPATH might not be noticeable, because we don't know anyone still using GOPATH now. Therefore, we will consider releasing the next version as v1.1 instead. There won't be an actual v2.
Let us know if you use go-licenses and still use GOPATH, we can consider making changes in this proposal an actual v2 when needed.
from go-licenses.
The major changes have been released as v1.1.
Future improvements will be tracked individually in issues.
from go-licenses.
Related Issues (20)
- Libraries function returns non-licensed vendored package as the package with LICENSE from root project HOT 5
- Export local license paths HOT 2
- Improper `isStdlib()` path check using `strings.HasPrefix()` HOT 2
- Wrong GOROOT is used when go-licenses builds and runs on different environments HOT 6
- Enable module version logging in custom reports
- go-licenses with go vendoring HOT 2
- go-licenses command is not recognized HOT 1
- How to check all licenses in a project? HOT 2
- `LICENSE` file in repo root is ignored HOT 4
- LICENSE detection is OS specific HOT 5
- go-licenses doesn't work when installed with versioned go HOT 3
- insufficient confidence threshold when identifying a BSD 2-Clause like license HOT 3
- Upgrade to google/licenseclassifier v2 HOT 2
- Prepare for v2 release HOT 5
- Help needed resolving `github.com/otiai10/copy` diamond dependency problem HOT 5
- Flags stdilb as "does not have module info" when on `go 1.21.X` HOT 6
- Ignore `W0104 contains non-Go code` warnings in errors
- Migrate to newer go-git HOT 1
- Reporting warnings for external packages on Windows
- no way to legally construct a source.Client
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-licenses.