ninjudd / cake

A tasty build tool for Clojure.
clojure-cake.org
Eclipse Public License 1.0
171 stars 12 forks source link

Cake applies local :exclusions to all dependencies #115

Closed sritchie closed 12 years ago

sritchie commented 13 years ago

Here's a strange one -- I'm currently working on a cake project with this project.clj file. pallet 0.4.17 bundles up the jclouds-beta-8 jars; for this project, I need beta-9c, so I've gone ahead and added a bunch of exclusions.

There's not much naming overlap between the two versions, but these two jarfiles in particular exist in 8 and 9c:

jclouds-compute-1.0-beta-9b.jar
jclouds-blobstore-1.0-beta-9b.jar

and

jclouds-compute-1.0-beta-8.jar
jclouds-blobstore-1.0-beta-8.jar

Now, here's the bug: if I use v2 in the gist and run cake deps, compute and blobstore 9c are imported, while the beta-8 versions are successsfully excluded. If I use v1 in the gist, both versions are excluded -- beta-8 and beta-9c.

This indicates to me that, in :dependencies, individual exclusions are being treated as global exclusions.

Thanks for taking a look, guys!

Raynes commented 13 years ago

I actually just tested this using your v1 project.clj and it worked fine. What version of cake are you using? Furthermore, did you try to run 'cake clean' and then 'cake killall'? If not, try that for me.

sritchie commented 13 years ago

Hey, still getting the same issue with Cake 0.6.2-20110221.082826-55-g16262d0 (according to the return from cake upgrade). I'm working from the master branch of the github repo.

I ran cake clean, cake killall, rm -rf lib/, and cake deps. I see that cake's transferring 79 files, rather than the 82 that a call to lein deps pulls in.

I'm working in this project, on the master branch: https://github.com/pallet/pallet-hadoop. Other than the presence of those files mentioned above (compute, not allcompute), one way to test for success here is to run cake repl and try each of the following commands. Here's success, with v2 of the project file:

user=> (use 'pallet.compute)
nil
user=> (supported-providers)
("openhosting-east1" "serverlove-z1-man" "cloudsigma-zrh" "nova-ec2" "aws-ec2" "eucalyptus-partnercloud-ec2"
"bluelock-vcdirector" "cloudservers-us" "elastichosts-lon-p" "skalicloud-sdg-my" "trmk-vcloudexpress" "eucalyptus"
"elastichosts-lon-b" "cloudservers-uk" "trmk-ecloud" "elastichosts-sat-p" "slicehost" "gogrid" "stub" "vcloud"
"elasticstack" "byon" "node-list")
user=> 

And here's what I get with v1:

user=> (use 'pallet.compute)
nil
user=> (supported-providers)
("node-list")
user=> 
Raynes commented 13 years ago

Yeah, you're right. I misunderstood your issue a bit. I ran 'cake deps' and saw a some 9c jars. I didn't realize there were only two that were missing. I'll check this out.

ninjudd commented 12 years ago

Closing since we're moving to lein