Comments (6)
That sounds pretty reasonable to me. How do you anticipate the output from running this to look?
Based on the desired output, maybe it should be the default when executing status
... especially since the tool can't do it's job if you're not locking the inputs.
from protolock.
Printing a single warning message and exiting abnormally should be enough - showing a diff or reporting on the changes would probably be too noisy.
Having it as the default would be nice, though perhaps a breaking change? It might then also be convenient to set the status code differently if the lockfile is just out-of-date, so build/test system integrations can distinguish between the two.
from protolock.
Printing a single warning message and exiting abnormally should be enough
100% agree!
Having it as the default would be nice, though perhaps a breaking change? It might then also be convenient to set the status code differently if the lockfile is just out-of-date, so build/test system integrations can distinguish between the two.
I also agree with you here... maybe we can include it as a default, but choose to return a non-zero exit code only if some configuration flag is set? This way, it's not a breaking change, but can be included as a default so it is useful to all users right away. I'm not sold either way yet -- please let me know what you think based on what is optimally useful.
This might also be a good time to re-visit @sidtaduri's #86.
from protolock.
The flag sounds best. It looks like the CLI parsing would need a little refactoring, as currently all flags apply to all subcommands.
If this all sounds good, I have some bandwidth to implement this.
from protolock.
Ok, great -- yea if you want to go ahead, please do!
I believe the flag parsing can stay more-or-less the same, but the config struct should use a good "zero value" for the new flag, and used in the same way the other configuration flags are:
https://github.com/nilslice/protolock/blob/master/cmd/protolock/main.go#L62
This way it should simplify the eventual use of a config file and how it is parsed and applied.
Let me know if you find otherwise though! Thanks
from protolock.
from protolock.
Related Issues (20)
- Lock file does not record aggregate options with array values HOT 3
- Website incorrectly reports backwards compatibility with invalid proto files HOT 2
- Error building protolock on ppc64le HOT 2
- Processing a single file HOT 3
- Enum aliases not supported HOT 3
- Does protolock support proto2 ? HOT 1
- Propose to publish ARM64 binary in releases HOT 6
- Convert circleci jobs to GitHub Actions
- oneof structure is not persisted in protolock HOT 4
- Options not parsed at the Enum level HOT 2
- found "stream" but expected [rpc method] for a valid proto HOT 3
- Add artefacts to Maven repository HOT 4
- Update docker hub image HOT 3
- Allow ability to include proto files that are not in the root tree
- TestOrder consistently fails
- Nit: typo in info string for protolock cmd HOT 1
- [.gitignore] Remove "protolock" line or edit file to not filter out "cmd/protolock" HOT 1
- False positive in camelCase naming violation for EnumValueOptions builtin HOT 1
- Embedded comments confuse the parser HOT 7
- Deeply nested messages may conflict HOT 2
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 protolock.