Also in order to prevent the integration tests from downloading testng a
couple of times I'm using a FlatDirResolver in the tests.
So I wanted to add both testng-5.8-jdk14 and testng-5.8-jdk to the gradle
build (so that they only need to get downloaded once) and resolve and copy
them into the correct directory.
So I added "org.testng:testng:5.8:jd...@jar",
"org.testng:testng:5.8:jd...@jar" to distLib but only the one that you put
last is actually resolved.
Current solution:
clientModule(['testngIntegrationTesting'],'testng:testng:5.8') {
addArtifact(new Artifact('testng','jar','jar','jdk15', "
http://repo2.maven.org/maven2/org/testng/testng/5.8/testng-5.8-jdk15.jar"))
addArtifact(new Artifact('testng','jar','jar','jdk14', "
http://repo2.maven.org/maven2/org/testng/testng/5.8/testng-5.8-jdk14.jar"))
}
testngIntegrationTesting "org.codehaus.groovy:groovy-all:1.5.6"
and put the files from the testIntegrationTesting configuration in the
src/samples/testng/lib directory before the exploded dist directory is
created.
Haven't gotten a chance to look at this but I'm just letting you know about
the hack in the build file.
2009/1/6 Tom Eyckmans <[email protected]>
> I'm having a problem with the TestNG dependency resolving.
>
> TestNG comes in two flavours jdk15 and jdk14 to use this with the
> flatDirResolver you would expect to put the following in your build file:
>
> dependencies {
> addFlatDirResolver('lib',new File(rootDir, 'lib')) // uses
> [artifact](-[revision])(-[classifier]).[ext]
> testCompile "testng:testng:5.8:jd...@jar"
> }
>
> lib dir contents:
>
> lib/testng-5.8-jdk15.jar
>
> I expected this to work but it doesn't Ivy didn't try any filename with the
> artifact classifier.
>
> I ended up doing the folowing:
>
> dependencies {
> File libDir = new File(rootDir, '../lib')
> addFlatDirResolver('lib',libDir).addArtifactPattern(new
> File(libDir.absolutePath,
> '[artifact]-[revision]-[conf].[ext]').absolutePath)
> clientModule(['testCompile'],'testng:testng:5.8:jdk15') {
> Artifact testngArtifact = new Artifact('testng','jar','jar',null,
> null)
> testngArtifact.setConfs(['jdk15'])
> addArtifact(testngArtifact)
> }
> }
>
> I checked our source and the classifier is passed to Ivy as extra
> attributes, but it doesn't get picked up. I don't know the [classifier]
> pattern element yet can somebody explain this element? is this the same as
> [conf]? or should it get mapped to [conf]? Has anybody else run into this?
>
> Tom
>