db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jörg von Frantzius <jfrantz...@web.de>
Subject Again: runtck.iut and datanucleus trunk
Date Fri, 22 May 2009 21:56:29 GMT
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
View raw message