It's not obvious to me how manifestclasspath helps, here, but as for the use 
case ...

I'd like to transform a "local" Junit test command (under Netbeans) so that I 
can run a test, without Netbeans, on another machine. Specifically, I'd like to 
effectively execute the following command, generated by Netbeans: 

Execute:Java13CommandLauncher: Executing '/files/jdk1.6.0/jre/bin/java' 
with arguments:
'-classpath'
'<path1>/<jar1>.jar:
<path2>/<jar2>.jar:
<path3>/classes:
<netbeansPath>/modules/ext/junit-3.8.1.jar:
<netbeansPath>/ant/lib/ant-launcher.jar:
<netbeansPath>/ant/lib/ant.jar:
<netbeansPath>/ant/lib/ant-junit.jar'
'org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner'
'<packageName>.<testName>'
'filtertrace=true'
'haltOnError=false'
'haltOnFailure=false'
'showoutput=true'
'formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter'

on another host (testHost) without Netbeans (but with Java, of course). 
Therefore, I'd like to recreate the test environment on testHost by essentially 
zipping up all the components of the JUnit classpath (above) and then re-parent 
them under a common root so that I can reconstruct the command line on 
testHost. For example, assuming I can un/zip and re-parent the required 
jar/class files on testHost, I should then be able to run the following command 
line:
'/files/jdk1.6.0/jre/bin/java' 
'-classpath'

'<newRoot>/<path1>/<jar1>.jar:
<newRoot>/<path2>/<jar2>.jar:
<newRoot>/<path3>/classes:
<newRoot>/<netbeansPath>/modules/ext/junit-3.8.1.jar:
<newRoot>/<netbeansPath>/ant/lib/ant-launcher.jar:
<newRoot>/<netbeansPath>/ant/lib/ant.jar:
<newRoot>/<netbeansPath>/ant/lib/ant-junit.jar'

'org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner'

'<packageName>.<testName>'

'filtertrace=true'

'haltOnError=false'

'haltOnFailure=false'

'showoutput=true'

'formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter'

So, ideally, what I want is the ability to:
- zip up the individual components of the ${run.test.classpath} property under 
NetBeans (jars and class directories) under a new "root" directory
- modify the the ${run.test.classpath} to pre-pend the new "root" to the path 
elements
- generate a script/file with the command line to run

Make sense?


----- Original Message ----
From: Dominique Devienne <[EMAIL PROTECTED]>
To: Ant Users List <user@ant.apache.org>
Sent: Wednesday, October 17, 2007 9:32:25 AM
Subject: Re: Re-parenting classpath


On 10/16/07, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
> Hopefully, someone can point me in the right direction. What I'd like
 to do is re-parent the elements of a classpath entry in an Ant build
 script (from netbeans). For example, given classpath property like:
>
> Setting project property: run.test.classpath ->
>
 
../lib/a.jar:../lib/dir1/b.jar:../lib/dir2/c.jar:build/classes:build/test/classes
>
> I'd like to zip up the classpath components from their current
 locations, but then re-parent them within the zip file so that they get
 extracted to the following layout:
>
> a.jar
> b.jar
> c.jar
> classes
>
> The jar file names should be unique, so I'm not too worried about
 name clashes with the jar files. Being new to Ant I don't see an easy way
 to get this done with the existing Ant tasks (pathconvert, basename,
 zip, etc.). So, I'm hoping someone can tell if it can be done (and how)
 or if there's some custom Ant task that already handles this
 functionality.

<manifestclasspath> can do that, indirectly. You're not saying why the
re-parenting, but the only use-case I know of is having a in-manifest
relative CP in a jar, which is the purpose of this task. You only get
a string out of it though, which may not be what you need. Hard to say
though given your post. --DD

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to