db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michelle Caisse <mcai...@sonic.net>
Subject Re: Again: runtck.iut and datanucleus trunk
Date Sat, 30 May 2009 01:18:25 GMT
Hi Jörg,

You are right that the TCK was not designed for the RI to be run just 
like any IUT, but only with the RI jars listed as dependencies. Since 
this is a special case, the cleanest solution is probably to change the 
dependencies in project.xml to name the DataNucleus version that you 
want to run against and manually drop the jars into your local 
repository. Also, instead of manually copying the jars you could change 
maven.repo.remote in project.properties to list a URL from which the 
jars could be downloaded by maven.

-- Michelle

Jörg von Frantzius wrote:
> Hi,
>
> again I'm stumbling on the problem of running the tck against
> datanucleus as "implementation under test". Michelle had written previously:
>   
>> From 	Michelle Caisse <mcai...@sonic.net>
>> Subject 	Re: runtck.iut
>> Date 	Fri, 03 Apr 2009 04:00:00 GMT
>> I just checked in a fix for this problem. When the tck datanucleus 
>> dependencies change, both jdo.jdori.classpath in maven.xml and 
>> iut.runtck.classpath in build.properties need to be updated in parallel. 
>> The latter is used when runtck.iut is invoked.
>>
>> -- Michelle
>>         
>>
>>     
> So I copied my datanucleus 1.1.4-snapshot jars to tck2/iut_jars and
> changed tck2/build.properties as follows:
> iut.runtck.classpath =
> ${jta.jarfile}${path.separator}${xmlparser}${path.separator}${asm.jarfile}${path.separator}${logging.log4j.jarfile}
>
> Yet still I end up with datanucleus twice in the classpath, seemingly
> because the RI is drawn in as a maven dependency:
>
>         [java] Exception in thread "main" Plugin (Bundle)
>     "org.datanucleus" is already registered. Ensure you dont have
>     multiple JAR versions of the same plugin in the classpath. The URL
>     "file:/home/joerg/jdo/trunk/tck2/iut_jars/datanucleus-core-1.1.4-SNAPSHOT.jar"
>     is already registered, and you are trying to register an identical
>     plugin located at URL
>     "file:/home/joerg/.maven/repository/org.datanucleus/jars/datanucleus-core-1.1-SNAPSHOT.jar."
>         [java] org.datanucleus.exceptions.NucleusException: Plugin
>     (Bundle) "org.datanucleus" is already registered. Ensure you dont
>     have multiple JAR versions of the same plugin in the classpath. The
>     URL
>     "file:/home/joerg/jdo/trunk/tck2/iut_jars/datanucleus-core-1.1.4-SNAPSHOT.jar"
>     is already registered, and you are trying to register an identical
>     plugin located at URL
>     "file:/home/joerg/.maven/repository/org.datanucleus/jars/datanucleus-core-1.1-SNAPSHOT.jar."
>         [java]      at [..]
>
> The only way around this probably is to overwrite the RI jars in the
> local maven1 repo with the datanucleus 1.1.4-SNAPSHOT jars originating
> from building with maven2, but using the maven1 names of the RI. That's
> not a very clean approach, though...
>
> I'm asking because maven1 build support has been dropped entirely from
> datanucleus, so the jars cannot be put into the local maven1 repo by
> simply building datanucleus (with maven1).
>
> I don't know if conditional dependencies in maven1 are feasible at all?
> With maven2, a clean way to do it would be profiles. Just to have
> mentioned it ;)
>
> Regards,
> Jörg
>
>
>   


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message