Hi Jerod,
On Jul 17, 2008, at 6:18 PM, JerodLass wrote:
I was able to get around this problem by being more explicit, but
somewhere
along the way the context is being thrown around. It would make
more sense
to me for the project property to always be the project that is
currently
executing in a task, but I imagine this is an easier concept than
implementation. Still, his is probably just an issue with multiple
task
definitions (each with a corresponding project), and I have only
run into it
a few times.
We will keep an eye on this. Right now if you don't say project.x in
your closure but x, x is resolved against the project object of the
top level project. Sometimes this is what you want, other times not.
Than you have to be more specific.
- Hans
-Jerod
JerodLass wrote:
I am defining tasks for certain specific subprojects through my
top-level
gradlefiles. I am trying to make a generic, useful top-level
gradlefile
so nobody else gets to use groovy, and one thing it does is detect
if the
project it an EJB project. If so, it declares the necessary
source and
resource variables as well as an ejbdeploy task. I have shortened
it as
follows:
subprojects.each{project->
if(project.isEJB){
project.srcRootName = ejbModule
project.createTask('ejbdeploy', dependsOn: 'libs'){
ant {
taskdef(name: "wsejbdeploy", classname:
"com.ibm.websphere.ant.tasks.WsEjbDeploy", classpath:
project.dependencies.antpath("wsanttasks"))
wsejbdeploy(inputJar:
project.buildDir.path+'/'+project.archivesBaseName
+'-'+project.version+'.jar',
classpath: path{
fileset(dir: rootDir.path+"/$modulesDirPath"){include:
name="**/*.jar"}
fileset(dir: globalWasDir+'/lib'){include: name="**/
*.jar"}
fileset(dir: globalWasDir+'/java'){include: name="**/
*.jar"}
fileset(dir: earLib.path){include: name="**/*.jar"}
},
wasHome: globalWasDir,
outputJar:
${project.projectDir.path}/$ejbTemp/${project.name}-$
{project.version}.jar",
quiet:'false',
trace:'true',
failonerror:'true')
}
}
}
It's a bit sloppy, but when I run it on windows it's fine. On
unix, I end
up with:
[wsejbdeploy] com.ibm.etools.ejbdeploy.IllegalFilenameException:
Can not
create file
/builds/build/**/*.jar/EJBproject/ejbTemp/codesbenchEJB-g.1.0.jar.
I'm wondering if this is a context problem, but obviously that's
not a
valid location. It should be coming from the outputjar attribute,
but I
don't know where it gets that front nonsense.
Any thoughts?
-Jerod
--
View this message in context: http://www.nabble.com/task-execution-
context-tp18496103p18512310.html
Sent from the gradle-user mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
--
Hans Dockter
Gradle Project lead
http://www.gradle.org
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email