marick / lein-midje

Leiningen plugin for Midje
MIT License
77 stars 29 forks source link

Leiningen 2 - the saga continues #17

Closed anttipoi closed 12 years ago

anttipoi commented 12 years ago

Hi Alex (and others),

the lazytest issue is fixed in these commits.

I also noticed one omission: under Leiningen 2 the :test profile map must be merged to the project. Fixed.

AlexBaranosky commented 12 years ago

@anttipoi

(project/merge-profiles project [:test]) 

This line is giving me an exception in leiningen 1: Exception in thread "main" java.lang.Exception: No such namespace: project (midje.clj:121)

Also, I still can't run this in leiningen 2 without getting classpath execptions. I wonder if I'm doing something wrong.

To test it I pull down your changes then run lein install and copy the jar into ~/.lein/plugins/ then execute lein midje, and lein2 midje, once in the lein-midje folder, and then in the Midje source folder locally.

anttipoi commented 12 years ago

For lein 2, you need the :plugins entry in the project. It is best put in your own ~/.lein/profiles.clj:

{:user {:plugins [[lein-midje "1.0.9"]]}}

from where it is merged. Plugins them selves do not seem to be installed under ~/.lein/plugins. Instead dependencies of all sortes are included via the local repository ~/.m2.

I'll have a look at the other problem, next.

AlexBaranosky commented 12 years ago

Hi Teemu,

Sorry to not have gotten back to you sooner, but I was at Clojure/West and then on vacation. It occurred to me, after seeing the difficulty in making the plugin backwards compatible, that it might not be really worth it to maintain two versions (in one plugin) and we might be best served by removing support for leiningen 1 from future version of the plugin.

I could create a lein-1 branch and port the wildcard bug fix, and release that as one last leiningen 1 version of the lein-midje plugin. Then I'll also release the master branch work you've been doing, minus the support for leiningen 1.

If you are not interested, I can also handle this work, but I wanted to give you the option of seeing the story through to completion.

Best, Alex

On Sun, Mar 11, 2012 at 2:55 PM, Teemu Antti-Poika < reply@reply.github.com

wrote:

For lein 2, you need the :plugins entry in the project. It is best put in your own ~/.lein/profiles.clj:

{:user {:plugins [[lein-midje "1.0.9"]]}}

from where it is merged. Plugins them selves do not seem to be installed under ~/.lein/plugins. Instead dependencies of all sortes are included via the local repository ~/.m2.

I'll have a look at the other problem, next.


Reply to this email directly or view it on GitHub: https://github.com/marick/lein-midje/pull/17#issuecomment-4441172

AlexBaranosky commented 12 years ago

@anttipoi just want to bump this thread, and confirm if you have read my last comment or not :)

anttipoi commented 12 years ago

Hi Alex,

sorry I was offline for while.

Yes, I think splitting the codebase between 1.0 and 2.0 versions would probably make sense: over time maintaining them in one code file is just going to add to complexity.

I don't have much free time left over for the coming weeks, so if you have ideas on how to do this, please go ahead.

AlexBaranosky commented 12 years ago

@anttipoi I've pushed 2.0.0-SNAPSHOT to clojars. If you check it out, let me know how it works for you.
http://groups.google.com/group/midje/browse_thread/thread/1f5ea45d62362c52

anttipoi commented 12 years ago

I tested it, and things seem to be working except for the wildcard use when underscores are present in the prefix. This is a leiningen/bultitude issue and fix is in bultitude version control.

Slight complication: it seems that lein2 build has used an incorrectly versioned unofficial bultitude library version (0.1.3), so the fix may or may not make it into leiningen 2. I've notified Raynes about this (he has made the changes to lein build himself and should be able to fix that with a new release of bultitude).

AlexBaranosky commented 12 years ago

@anttipoi thanks man, for trying it out on your machine. If Leiningen 2 has the bug, the fix is easy as pie. :)