electric-it / minimart

MiniMart RubyGem for Chef cookbook mirroring and storage.
Apache License 2.0
52 stars 20 forks source link

Dependency handling (chicken and egg) #51

Open edwardbartholomew opened 8 years ago

edwardbartholomew commented 8 years ago

As I develop a new cookbook I list the dependency cookbook foo in inventory.yml pinning it to a specific version (2.7.1). This finished cookbook I am developing does not go into minimart itself. Then I begin work on another cookbook and add its dependency bar to inventory.yml. bar uses a different version of foo (2.8.0) that explicitly described in inventory.yml so minimart mirror now errors loading bar because it breaks the foo mold. Having to explicitly list go back and edit foo's entry in inventory.yml seems awfully manual and error prone. Are there any alternatives besides listing my original cookbook in minimart or am i missing something?

-- Downloading bar 0.2.0 The dependency foo-2.8.0 could not be installed. This is because a cookbook listed in the inventory depends on a version of 'foo' that does not match the explicit requirements for the 'foo' cookbook. Build step 'Execute shell' marked build as failure

tapickell commented 8 years ago

I wonder how Supermarket handles this.