Code Monkey home page Code Monkey logo

depman's People

Contributors

abawany avatar lord-vubeset avatar nicholascapo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

depman's Issues

Needs a way to depend on configs.

Projects will depend on a revision of a set of configs, but depman doesn't support this.

Acceptance Criteria

  • Depman allows a new attribute of a dependency that indicates where the repo is to reside, which also indicates that go get shouldn't be used.

support multi-value GOPATH

when GOPATH contains more than one path (separated by :), depman will not work as it treats that as a single path:

[...]
 | | github.com/ActiveState/httpapi (6a46f16c055) *
 | | $ cd /s/go/src/myproject/vendor:/s/go/src/github.com/ActiveState/httpapi
 | | chdir /s/go/src/myproject/vendor:/s/go/src/github.com/ActiveState/httpapi: no such file or directory

refactor color functions for ease of reading and use

As is, the color functions merely take a string. Thus, some sort of string composition must be done to build a string to be colored. This can be changed so the color functions take arguments as printf, for readability.

Cannot find .depman.cache

On Windows 7, I keep receiving the following message for the init and install commands.

"open C.depman.cache: The system cannot find the path specified."

Mercurial errors when installing dependencies

Depman Version 2.9.4 [19/1939]
Installing:
| lrucache (2c00de6812e8a48d37dacba0b0494e5f2bc5e7e3)
| robotstxt-go (961a)
| goquery (a3fdc62e311a44c5199b0ef323ee5e056c527ef1) *
| $ go get -u github.com/PuerkitoBio/goquery
| cd /home/user/gopath/src/code.google.com/p/cascadia; hg pull
abort: requirement 'dotencode' not supported!
package github.com/PuerkitoBio/goquery
imports code.google.com/p/cascadia: exit status 255
cd /home/user/gopath/src/code.google.com/p/go.net; hg pull
abort: requirement 'dotencode' not supported!
package github.com/PuerkitoBio/goquery
imports code.google.com/p/go.net/html: exit status 255

update action inserts only the short commit hash

As is, when running depman update, only a short commit hash will be inserted, which has a much higher chance of eventual collision than a full hash.

Acceptance Criteria

  • change code to insert full commit hash

failure getting a dependency still returns exit code 0

As is, depman will continue with the next dependency if it encounters a problem getting a dependency, but it will report success at the end and return exit code 0.

Desired functionality is that it gloss over the failed dependency, continue with the other dependencies, and return a non-zero exit code.

stat github.com/docopt/docopt.go: no such file or directory

with this deps.json:

{
    "github.com/codegangsta/inject": {
        "repo": "github.com/codegangsta/inject",
        "version": "9aea7a2fa5b79ef7fc00f63a575e72df33b4e886",
        "type": "git"
    },
    "github.com/codegangsta/martini": {
        "repo": "github.com/codegangsta/martini",
        "version": "bbe60ba962de9b5627873af719f1c98133d43afb",
        "type": "git"
    },
    "github.com/docopt/docopt.go": {
        "repo": "github.com/docopt/docopt.go",
        "version": "b74119e4500ceb6a80187775e1b081a64231c5ad",
        "type": "git"
    }
}

i get:

Depman Version 2.7.0
Installing:
 | github.com/codegangsta/inject (9aea7a2fa5b79ef7fc00f63a575e72df33b4e886) *
 | | github.com/codegangsta/martini (bbe60ba962de9b5627873af719f1c98133d43afb) *
 | | | github.com/docopt/docopt.go (b74119e4500ceb6a80187775e1b081a64231c5ad) *
 | | | $ go get -u github.com/docopt/docopt.go
 | | | stat github.com/docopt/docopt.go: no such file or directory

go get -u equivalent

I might have missed something, but there seems to be no way to force a dependency to be rebuilt/reinstalled if upstream updates - running depman install a second time fetches the latest from git, but doesn't seem to actually rebuild the package.

Basically, the equivalent of go get -u for the deps in deps.json would be very helpful.

Depman 2.6.0: Git pulls before checkout

Depman 2.6.0

For git branch dependencies, depman does a pull before a checkout resulting in a possibly incorrect merge into an unrelated branch.

Need to refactor the VersionControl interface to distinguish between fetching from the remote and merging remote changes.

Issues: run go fmt on code, fix imports to use local instances of code, handle blank version

I am about to submit a pull request for the following three issues:

  • Code needs to have go-fmt run on it
  • Imports in files refer to "github.com/vube/depman" instead of "vube/depman". This means that changes made locally get ignored.
  • Code currently requires version to be specified in deps.json. A change where it assumes "master" as the default for a non-specified value would be helpful.

will recurse into the current project if there is a circular dependency

Say you have two projects, A and B. A depends on B and B depends on A. You are in A and run depman. depman will get B, see that it depends on A, get A, and stop when it sees B again. Put simply, depman has no concept of the identity of the project it's being run for.

Acceptance Criteria

  • When depman is run for A and there is a circular dependency to A in a dependency, it should not recurse.

Default output should include version number

Output from a default run should include the version number being installed.

Example:

$ depman
Depman Version 2.5.1
Installing:
 | gocheck (85)
 | gocov (90c9390)
 | gocov-html (f83448b)
 | golint (22f4d5e)
Success

Invalid sub-dependency deps.json is not fatal

Invalid json in deps.json is fatal, but invalid json in a dependencies deps.json is not.

Steps to reproduce:

  1. Assume project A
  2. Assume project B
  3. A depends on B using depman (deps.json)
  4. B/deps.json is invalid json
  5. Running depman in A outputs the following message but does not exit non-zero
    a. "Error reading deps from [...]"

Invalid deps.json from a dependency should be an error that results in a non-zero exit status.

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.