Hi

Not sure if this could work, but did you try to explicitly pass the
property again to the task with a <property name="test.db.username"
value="${test.db.username}" /> within <tasks> ?

laurent


2009/6/2 Jean Luc <[email protected]>:
> Hello,
>
> I'm trying to use an ant task (a wrapper for sqlplus,
> http://incanto.sourceforge.net/usage-sqlplus.html) for a Maven build. It
> works if I hardcode the parameters for the ant task in my pom.xml, but if I
> try to use properties set through a filter, they are not read. There's
> nothing atypical: database credentials are read through properties so they
> can be overridden for each developer. If no overriding file is specified, a
> common one is read. This part in itself works fine (it's used elsewhere in
> the build). The problem is that the ant task does not see those properties
> and thus the db login fails. The output from running mvn -X install is
> further below.
>
> Any hints would be much appreciated. Is there anything missing in order to
> propagate Maven properties to ant tasks?
>
> Thanks,
> -jl
>
>
> <build>
>    <filters>
>        <filter>${filter.db.props}</filter>
>    </filters>
>    <plugins>
>        <plugin>
>            <groupId>org.apache.maven.plugins</groupId>
>            <artifactId>maven-antrun-plugin</artifactId>
>            <executions>
>                <execution>
>                    <phase>pre-integration-test</phase>
>                    <configuration>
>                        <tasks>
>                            <taskdef name="sqlplus"
> classname="net.sf.incanto.Sqlplus" classpathref="maven.plugin.classpath"/>
>                            <sqlplus
> logon="${test.db.username}/${test.db.passwo...@sid" dir="database/scripts"
> start="reinit.sql" failOnError="true" />
>                        </tasks>
>                    </configuration>
>                    <goals>
>                        <goal>run</goal>
>                    </goals>
>                </execution>
>            </executions>
>            <dependencies>
>              <dependency>
>                <groupId>net.sf</groupId>
>                <artifactId>incanto</artifactId>
>                <version>0.2.4</version>
>              </dependency>
>            </dependencies>
>        </plugin>
>    </plugins>
>
> ...
>
>    <profiles>
>        <profile>
>            <id>user.test.db.props</id>
>            <activation>
>
> <file><exists>${user.home}/test.db.properties</exists></file>
>            </activation>
>            <properties>
>
> <filter.db.props>${user.home}/test.db.properties</filter.db.props>
>            </properties>
>        </profile>
>        <profile>
>            <id>default.test.db.props</id>
>            <activation>
>
> <file><missing>${user.home}/test.db.properties</missing></file>
>            </activation>
>            <properties>
>
> <filter.db.props>${common.test.filters}/test.db.properties</filter.db.props>
>            </properties>
>        </profile>
>
>
>
>
> [DEBUG] Configuring mojo
> 'org.apache.maven.plugins:maven-antrun-plugin:1.3:run' -->
> [DEBUG]   (f) pluginArtifacts = [net.sf:incanto:jar:0.2.4:compile,
> org.codehaus.plexus:plexus-utils:jar:1.5.6:runtime,
> org.apache.ant:ant-launcher:jar:1.7.1:runtime,
> org.apache.ant:ant:jar:1.7.1:runtime,
> org.apache.maven:maven-plugin-api:jar:2.0.4:runtime,
> org.apache.maven:maven-project:jar:2.0.4:runtime,
> org.apache.maven:maven-artifact:jar:2.0.4:runtime]
> [DEBUG]   (f) tasks =
> [DEBUG] -- end configuration --
> [INFO] [antrun:run {execution: default}]
> [DEBUG] Storing:
> maven.dependency.commons-lang.commons-lang.jar.path=c:\dev\m2-repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar
> Project base dir set to: C:\dev\mybuild
> Adding reference: maven.dependency.classpath
> Adding reference: maven.compile.classpath
> Adding reference: maven.runtime.classpath
> Adding reference: maven.test.classpath
> Adding reference: maven.plugin.classpath
> [INFO] Executing tasks
> [DEBUG] getProperty(ns=null, name=ant.reuse.loader, user=false)
> [antlib:org.apache.tools.ant] Could not load definitions from resource
> org/apache/tools/ant/antlib.xml. It could not be found.
> [DEBUG] getProperty(ns=null, name=test.db.username, user=false)
> Property "test.db.username" has not been set
> [DEBUG] getProperty(ns=null, name=test.db.password, user=false)
> Property "test.db.password" has not been set
>     [echo] mumu: ${test.db.username}/${test.db.passwo...@sid
> [DEBUG] getProperty(ns=null, name=ant.reuse.loader, user=false)
> [DEBUG] getProperty(ns=null, name=build.sysclasspath, user=false)
> Class net.sf.incanto.Sqlplus loaded from parent loader (parentFirst)
>  +Datatype sqlplus net.sf.incanto.Sqlplus
> [DEBUG] getProperty(ns=null, name=test.db.username, user=false)
> Property "test.db.username" has not been set
> [DEBUG] getProperty(ns=null, name=test.db.password, user=false)
> Property "test.db.password" has not been set
>  [sqlplus] Executing 'sqlplus' with arguments:
> [...]
>



-- 
<a href="http://in-pocket.blogspot.com";>http://in-pocket.blogspot.com
- Mobile world, technology and more</a>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to