Comments (5)
I'm even disagree with adding dependent code you need. All you need is a simple Godeps.json
and all files from dependent repository should be ignored.
In java project, if you use maven to manage your project, all you need is pom.xml
, others like jar, relevant dependent code should be ignored.
from libkv.
What about using new golang vendoring with something like https://github.com/Masterminds/glide and ignore de vendor folder?
from libkv.
+1 to the concept. the value of libkv is not the number of backends that the project supports. Rather its the consistent API that the application can make use of without having to hardcode the backend.
This also helps if folks want to use libkv API, but are not comfortable open-sourcing their backend that is based on libkv.
Alternative way to handle this is to provide a registration mechanism in libkv.go and let the drivers register itself with libkv. That will reverse the dependency and will force the users of libkv to import
a certain libkv driver which inturn will register with libkv.go. This mechanism will still retain the ease of use and also solves the need for say swarm
to not import boltdb
(in other words act like what go list
does. Import only what it is actually dependent on)
from libkv.
@chenchun Agreed but this would be great for users of the lib to only import the necessary backends and thus vendor only the relevant parts without even touching to Godeps.json
, etc.
The problem as of now is that libkv.go
imports all the backends without considering if this is going to be of use or not to the end user, so it assumes that all the backends will be used and vendored by default.
@mavenugo I really like the idea, sounds like the best compromise between the vendoring problem and ease of use :)
from libkv.
Thanks @abronan.
from libkv.
Related Issues (20)
- do libkv support etcd v3? HOT 1
- bug in WatchTree for etcd
- Add function to list all the key-values in the boltdb store HOT 1
- add option to disable quorum for gets with etcd backend HOT 1
- Lock() of Locker interface should probably take a receive-only channel
- In etcd at least, waitLock() ignores an action HOT 1
- A race is possible in etcd's Lock() HOT 1
- Implement a Kubernetes driver
- Panic in older versions of consul
- Active again? HOT 2
- Optionally disable ZooKeeper logging
- Inconsistent reference to license for docs
- When multiple etcd stores are passed to the API. Which one is given preference? HOT 1
- can not get zookeeper path data, node cannot be discovery.
- panic in List() method with boltdb backend
- zookeeper GetW function seems has a atomic error
- possible data race in AddStore()
- implemented a etcd v3 api store HOT 1
- Travis-ci: AMD64 build is failing HOT 1
- Valkeyrie: a maintained fork created by the original author of libkv HOT 1
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 libkv.