btw, there seems to be still an issue with the classpaths.

The freemarker generator doesn't find log4j (which is in the test classpath). 
It only works if I add log4j manually.
Otherwise I get the following exception:

Caused by: org.jbehave.core.embedder.Embedder$RunningEmbeddablesFailed: Failure 
in running embeddable: at.mycustomer.jbehave.SVNRValidationStory
    at org.jbehave.core.embedder.Embedder.runAsEmbeddables(Embedder.java:132)
    at 
org.jbehave.mojo.RunTestStoriesAsEmbeddables.execute(RunTestStoriesAsEmbeddables.java:19)
    ... 21 more
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Priority
    at freemarker.log.Log4JLoggerFactory.getLogger(Log4JLoggerFactory.java:65)
    at freemarker.log.Logger.getLogger(Logger.java:284)
    at 
freemarker.template.utility.SecurityUtilities.<clinit>(SecurityUtilities.java:67)
    at freemarker.ext.beans.BeansWrapper.<clinit>(BeansWrapper.java:147)
    at freemarker.template.ObjectWrapper.<clinit>(ObjectWrapper.java:69)
    at freemarker.core.Configurable.<init>(Configurable.java:139)
    at freemarker.template.Configuration.<init>(Configuration.java:142)
    at freemarker.template.Configuration.<clinit>(Configuration.java:127)
    at 
org.jbehave.core.reporters.FreemarkerProcessor.configuration(FreemarkerProcessor.java:30)
    at 
org.jbehave.core.reporters.FreemarkerProcessor.process(FreemarkerProcessor.java:21)
    at 
org.jbehave.core.reporters.TemplateableViewGenerator.write(TemplateableViewGenerator.java:237)
    at 
org.jbehave.core.reporters.TemplateableViewGenerator.createReports(TemplateableViewGenerator.java:189)
    at 
org.jbehave.core.reporters.TemplateableViewGenerator.generateReportsView(TemplateableViewGenerator.java:111)
    at org.jbehave.core.embedder.Embedder.generateReportsView(Embedder.java:246)
    at org.jbehave.core.embedder.Embedder.generateReportsView(Embedder.java:234)
    at org.jbehave.core.embedder.Embedder.runStoriesAsPaths(Embedder.java:213)
    at org.jbehave.core.junit.JUnitStory.run(JUnitStory.java:24)
    at at.mycustomer.jbehave.StoryContainerBase.run(StoryContainerBase.java:80)
    at org.jbehave.core.embedder.Embedder.runAsEmbeddables(Embedder.java:123)
    ... 22 more
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Priority
    at 
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at 
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
    at 
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)



If this plugin needs log4j for logging, then you should add it to the plugin 
dependencies imo.


LieGrue,
strub



----- Original Message -----
> From: Mark Struberg <strub...@yahoo.de>
> To: "dev@jbehave.codehaus.org" <dev@jbehave.codehaus.org>
> Cc: 
> Sent: Friday, March 29, 2013 2:39 PM
> Subject: Re: [jbehave-dev] JBEHAVE-454 ClassPath question
> 
> counter indication is that you might get test mocks, test resource 
> definitions, 
> etc creeping in.
> 
> Explicitely making it an own mojo is a safe bet.
> For my project both ways would work, but for others it might not be 
> sufficient 
> to always get all the test classpath.
> 
> LieGrue,
> strub
> 
> 
> 
> 
> ----- Original Message -----
>>  From: Mauro Talevi <mauro.tal...@aquilonia.org>
>>  To: dev@jbehave.codehaus.org
>>  Cc: 
>>  Sent: Friday, March 29, 2013 9:25 AM
>>  Subject: Re: [jbehave-dev] JBEHAVE-454 ClassPath question
>> 
>>  Actually, I would argue that having behaviour verification in a separate 
>>  module in compile scope should be considered a better practice.
>> 
>>  Integration tests usually have cross-cutting concerns that span multiple 
>>  Maven modules, whereas the tests in a module's src/test directory are 
>>  meant to test the functionality of that module.
>> 
>>  But, regardless, having the resolution scope set to test will cater for 
>>  both use cases.
>> 
>>  If the user decides to use the plugin in scope compile, this is included 
>>  in the test one, and the only minor drawback possibly is that you'll 
> get 
>>  a few extra test-scope dependencies pulled in the resolution, but given 
>>  that JBehave is a testing tool and the Maven modules are usually the 
>>  leaves of a build reactor I don't see counter-indications.
>> 
>>  Cheers
>> 
>>  On 28/03/2013 19:39, Mark Struberg wrote:
>>> 
>>>   Not sure if this is a good idea. There might be pure behave projects 
> which 
>>  have their behave tests defined as compile scope in src/main/java. I guess 
>>  it's not the standard case but might theoretically have happened. But 
> you 
>>  know this part much better than I do. All I could do is to point you to the 
> 
>>  implication of @requiresDependencyResolution, to define the expected usage 
> is 
>>  your task ;)
>>> 
>>>   txs and LieGrue,
>>>   strub
>>> 
>>> 
>>>>   ________________________________
>>>>   From: Mauro Talevi <mauro.tal...@aquilonia.org>
>>>>   To: dev@jbehave.codehaus.org
>>>>   Sent: Thursday, March 28, 2013 12:46 AM
>>>>   Subject: Re: [jbehave-dev] JBEHAVE-454 ClassPath question
>>>> 
>>>> 
>>>>   We could make all mojos use  @requiresDependencyResolution test
>>>> 
>>>>   I don't see any counterindication atm.  Let me think about it 
> ...
>>>> 
>>>>   Cheers
>>>> 
>>>>   On 26/03/2013 10:21, Mark Struberg wrote:
>>>> 
>>>>   hmm, maybe it got filtered out by the spam filter? I attached the 
>>  git-format-patch output. LieGrue,
>>>   strub ----- Original Message -----
>>>>>   From: Mauro Talevi <mauro.tal...@aquilonia.org> To: 
>>  dev@jbehave.codehaus.org Cc:
>>>   Sent: Monday, March 25, 2013 11:07 PM
>>>   Subject: Re: [jbehave-dev] JBEHAVE-454 ClassPath question Where have 
> you 
>>  sent the patch? On 25/03/2013 21:15, Mark Struberg wrote:
>>>>>>      Hi Mauro!   Just sent a patch for git-am. The main 
> issue is 
>>  that you need a
>>>      @requiresDependencyResolution test   in the Mojo if if should also 
>>  pickup test classpath entries. Otherwise you
>>>>>>   will only get the runtime classpath.
>>>>>>      txs and LieGrue,
>>>      strub   ----- Original Message -----
>>>>>>>      From: Mauro Talevi 
> <mauro.tal...@aquilonia.org>  
>>  To: dev@jbehave.codehaus.org   Cc:
>>>      Sent: Monday, March 25, 2013 12:36 AM
>>>      Subject: Re: [jbehave-dev] JBEHAVE-454 ClassPath question   HI,   
> can 
>>  you send us a simple mvn project reproducing the issue?   The issue
>>>      JBEHAVE-454 should be closed AFAICS.    You're issue could be
>>>>>>   related to
>>>>>>      something else.   Cheers   On 24/03/2013 20:01, Mark 
>>  Struberg wrote:
>>>>>>>>       Hi folks!    I have a question regarding
>>>>>>   http://jira.codehaus.org/browse/JBEHAVE-454
>>>>>>       This issue is still marked as 'open' and I 
>>  currently
>>>>>>   facing the
>>>>>>      same problem.
>>>>>>>>       I _do_ have <scope> set to test, but 
> still 
>>  the jbehave
>>>>>>   story gets
>>>>>>      executed with the EmbedderClassLoader which does _not_ 
>>  contain any test
>>>      classpath.
>>>>>>>>       My problem starts when I start a dependency 
>>  injection container
>>>>>>>>      (OpenWebBeans, Spring, Weld or embedded TomEE) 
>>  because they try to scan
>>>>>>   the
>>>>>>      ClassPath and subsequently fail to @Inject my beans.
>>>>>>>>       There is also a 2nd thingy, which is more a 
>>  question kind of: for
>>>>>>   CDI I
>>>>>>      need to assign/open some Contexts to a new Thread. Is 
> there 
>>  some hook
>>>>>>   where I
>>>>>>      can perform these tasks? I've seen the stories get 
>>  executed
>>>>>>   asynchronously
>>>>>>      via Futures.
>>>>>>>>       Is there interest in cleaning this up, or is 
> even 
>>  someone working
>>>>>>   on it
>>>>>>      atm?
>>>>>>>>       I could help a bit on the maven part if this 
> helps 
>>  - though I
>>>>>>   might need
>>>>>>      some help on the jbehave side...
>>>>>>>>       txs and LieGrue,
>>>       strub
>>>>>> 
>>  ---------------------------------------------------------------------
>>>>>>       To unsubscribe from this list, please visit:        
>>  http://xircles.codehaus.org/manage_email
>>>>>>>>      
>>  ---------------------------------------------------------------------
>>>      To unsubscribe from this list, please visit:      
>>  http://xircles.codehaus.org/manage_email
>>>>>>>      
>>  ---------------------------------------------------------------------
>>>      To unsubscribe from this list, please visit:      
>>  http://xircles.codehaus.org/manage_email
>>>>>> 
>>  ---------------------------------------------------------------------
>>>   To unsubscribe from this list, please visit:    
>>  http://xircles.codehaus.org/manage_email
>>>>>> 
>>>>>> 
>>  ---------------------------------------------------------------------
>>>   To unsubscribe from this list, please visit: 
>>  http://xircles.codehaus.org/manage_email
>>>> 
>>>> 
>>>   ---------------------------------------------------------------------
>>>   To unsubscribe from this list, please visit:
>>> 
>>>        http://xircles.codehaus.org/manage_email
>>> 
>>> 
>> 
>> 
>>  ---------------------------------------------------------------------
>>  To unsubscribe from this list, please visit:
>> 
>>      http://xircles.codehaus.org/manage_email
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
> 
>     http://xircles.codehaus.org/manage_email
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to