Giter Club home page Giter Club logo

Comments (5)

chenchun avatar chenchun commented on August 21, 2024

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.

vcastellm avatar vcastellm commented on August 21, 2024

What about using new golang vendoring with something like https://github.com/Masterminds/glide and ignore de vendor folder?

from libkv.

mavenugo avatar mavenugo commented on August 21, 2024

+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.

abronan avatar abronan commented on August 21, 2024

@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.

mavenugo avatar mavenugo commented on August 21, 2024

Thanks @abronan.

from libkv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.