Hello Szczepan,

I have to correct my initial statement:
>     dependencies {
>         compile 'my.group:baseproject:1.0'
>         testCompile 'my.group:baseproject:1.0:testsupport'
>     }
>
>     This works well for plain gradle tasks. I can compile both main and
>     test classes. Tests can be run without problems.

This works only well as long as I do not try to access resources from the main jar from within the unit tests.

Well, I guess gradle simply does not support to reference several artifacts for the same project with different classifiers within the same configuration.

> Do you mean that in your case the .classpath content depends on the
> order of entries in dependencies { } ?
Yes. My eclipse classpath contains all the libs which are referenced from the 'testCompile' configuration. Based on the first guess from above, I assume that only one of the two candidate artifacts will make it to the final dependency list and which one seems to depend on the order of declaration within the dependencies {} block.

Therefore, I ended up putting the test support related code into its own package within the main jar. The main disadvantage is that I had to promote some dependencies from 'testCompile' to 'compile' configuration which is obviously kind of bad for a base project.
If anyone has a better idea, please let me know.

Thanks,
Thomas


Am 14.03.2011 15:44, schrieb szczepiq:
Hello,

 >However, the eclipse plugin does not add both jars as libs to the
classpath entries. Instead, only the one which comes last in the
dependencies configuration is added.

Do you mean that in your case the .classpath content depends on the
order of entries in dependencies { } ?

Can you check if both jars (the main & testsupport) are in .gradle
caches or the local maven repo?

I couldn't reproduce this issue. Given both jars are resolvable then
.classpath was created with both entries. Interestingly, if the
'classified' jar was not resolvable then gradle eclipse executed OK,
however it crated .classpath without the 'classified' jar.

Hope that helps!
Szczepan

On Sun, Mar 13, 2011 at 2:09 PM, Thomas Thevis <thevis.ml
<http://thevis.ml>@googlemail.com <http://googlemail.com>> wrote:

    Hello all,

    for a base java project consisting mainly of interfaces and abstract
    classes I created both a baseproject-1.0.jar and a
    baseproject-1.0-testsupport.jar which is made up of mock
    implementations and intended to be used for unit tests.
    In another project I want to declare dependencies as follows:

    dependencies {
        compile 'my.group:baseproject:1.0'
        testCompile 'my.group:baseproject:1.0:testsupport'
    }

    This works well for plain gradle tasks. I can compile both main and
    test classes. Tests can be run without problems.
    However, the eclipse plugin does not add both jars as libs to the
    classpath entries. Instead, only the one which comes last in the
    dependencies configuration is added.

    Is this a bug in the eclipse plugin or am I using it the wrong way?
    If it is a bug, does anyone know a workaround?

    BTW: I'm using gradle-0.9.1 and gradle-1.0-milestone-1.

    Thanks for any help!
    Thomas

    ---------------------------------------------------------------------
    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