geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Dillon <ja...@planet57.com>
Subject Re: Yoko and Geronimo
Date Wed, 23 Aug 2006 20:45:37 GMT
Looks like the bits to configure surefire are fine, except you'd want  
to change the value of "somedir".

I recommend that you use the dependency plugin in your module's pom  
to download and install the needed jars to be placed into the  
"endorsed" dir (which will end up in the modules target/endorsed or  
something similar).  Then configure the java.endorsed.dirs to point  
at that directory.

Here is an example... not the right dependencies but I think it will  
give you the idea:

{code:xml}
     <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>dependency-maven-plugin</artifactId>
         <executions>
             <execution>
                 <id>unpack-endorsed</id>
                 <phase>generate-test-resources</phase>
                 <goals>
                     <goal>unpack</goal>
                 </goals>
                 <configuration>
                     <artifactItems>
                         <artifactItem>
                             <groupId>org.apache.yoko</groupId>
                             <artifactId>yoko</artifactId>
                             <version>1.0</version>
                             <type>jar</type>
                         </artifactItem>
                     </artifactItems>
                     <outputDirectory>${project.build.directory}/ 
endorsed</outputDirectory>
                 </configuration>
             </execution>
         </executions>
     </plugin>

     <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
             <forkMode>once</forkMode>
             <workingDirectory>${project.build.directory}</ 
workingDirectory>
             <argLine>-Djava.endorsed.dirs=${project.build.directory}/ 
endorsed</argLine>
         </configuration>
     </plugin>
{code}

Lemme know if you need anything else.

--jason


On Aug 23, 2006, at 10:13 AM, Dain Sundstrom wrote:

> You will need to configure the surefire (testing) plugin to fork  
> your tests into a new vm and set the endorsed dir for that new vm.   
> The first is easy but the second will be difficult.  First off the  
> docs for the sure fire plugin can be found here
>
> http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html
>
> Here is an example setting
> <project>
>   ...
>   <build>
>     ...
>     <plugin>
>       <groupId>org.apache.maven.plugins</groupId>
>       <artifactId>maven-surefire-plugin</artifactId>
>       <configuration>
>         <forkMode>once</forkMode >
>         <argLine>-Djava.endorsed.dirs=somedir</argLine>
>       </configuration>
>     </plugin>
>     ...
>   </build>
>   ...
> </project>
>
> The problem will be selecting a dir on the filesystem that will  
> include the endorsed API.  BTW you could also set the boot class  
> path in the argLine above, but testing endorsed dir will be more  
> representative of the runtime environment.
>
> Jason, you have any ideas on how to configure this?
>
> -dain
>
> On Aug 23, 2006, at 3:10 AM, Rick McGuire wrote:
>
>> Dain Sundstrom wrote:
>>> On Aug 11, 2006, at 12:40 PM, Dain Sundstrom wrote:
>>>
>>>> Rick,
>>>>
>>>> I believe what you really want to do is to use the endorsed  
>>>> directory.  This allows you to override the vm implementation of  
>>>> endorsed specification such as corba (https://java.sun.com/j2se/ 
>>>> 1.5.0/docs/guide/standards/index.html).  In general, you should  
>>>> try to keep the stuff in the endorsed jar to a minimum as not to  
>>>> pollute the class path.  In geronimo, to add something to the  
>>>> endorsed dir, you need to add it to our endorsed manifest entry  
>>>> "Endorsed-Dirs" (I have no idea where this is set in the build)  
>>>> and you need to modify the build to put the jar into lib/ 
>>>> endorsed by modifying the bin.xml.
>>>
>>> I'm dumb.  You simply need to add the jar to lib/endorsed jar in  
>>> the boilerplate config (thanks Jason), and add it to the manifest  
>>> class path of the j2ee-system configuration (see the pom file in  
>>> that dir).  It will be added to the system class path and marked  
>>> as endorsed so it can override the corba specs just like we  
>>> override the xml specs using xerces.
>> Ok, this looks pretty simple, but, unfortunately, it only  
>> addresses the issues when running/building Geronimo.  I'm running  
>> into a problem trying to get the unit tests to run while building  
>> openejb2.  I've been trying to find the equivalent touch points in  
>> the openejb2 build, and have not had much success.  I'm definitely  
>> skating on thin ice (not good for a person of my size :-) ) when  
>> it comes to the m2 stuff, so I'd appreciate any help/pointers I  
>> can get on this.
>> Rick
>>
>>
>>>
>>> -dain
>>>
>


Mime
View raw message