maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christoph Amshoff (JIRA)" <j...@codehaus.org>
Subject [jira] Created: (MNG-2632) Setting property in profiles is not evaluated for POM validation
Date Thu, 26 Oct 2006 12:51:03 GMT
Setting property in profiles is not evaluated for POM validation
----------------------------------------------------------------

                 Key: MNG-2632
                 URL: http://jira.codehaus.org/browse/MNG-2632
             Project: Maven 2
          Issue Type: Bug
          Components: POM
    Affects Versions: 2.0.4
         Environment: WinXP
            Reporter: Christoph Amshoff


There seems to be a problem concerning POM validation and setting properties in profiles.xml:
when I set a property in my profiles.xml it is not evaluated for POM validation in a multi
module build. 

The details: My project C depends on module B, which itself is a child of module A. Module
A defines a system scope dependency like this: 

{code}
<dependency> 
  <groupId>db2</groupId> 
  <artifactId>db2</artifactId> 
  <version>8.2</version> 
  <scope>system</scope> 
  <systemPath>${path.db2jar}</systemPath> 
</dependency>
{code}

The path to db2.jar depends on the developer's machine and is specified in the profiles.xml,
toghether with other settings. Both A and B are building and deploying fine. 

Now, when I try to build C, it complains about missing definition for 'path.db2jar': 

{code}
[WARNING] POM for '...B:pom:4.4.0-SNAPSHOT:compile' is invalid. It will be ignored for artifact
resolution. Reason: 
Failed to validate POM 
[DEBUG] Reason: Failed to validate POM 
[DEBUG] 
Validation Errors: 
[DEBUG] For dependency Dependency {groupId=db2, artifactId=db2, version=8.2, type=jar}: system-scoped
dependency 
must specify an absolute path systemPath. 
{code}

I'm using a profiles.xml section like this one: 

{code}
<profile> 
  <id>env-nb</id> 
  <activation> 
    <property> 
      <name>env</name> 
      <value>nb</value> 
    </property> 
  </activation> 
  <properties> 
    <path.db2jar>c:/programme/IBM/SQLLIB/java/db2java.zip</path.db2jar> 
    ... 
  </properties> 
</profile> 
{code}

which is triggered by -Denv=nb, and this activation is working fine since 'help:effective-pom'
is correctly showing me something like 

{code}
<properties> 
  <path.db2jar>c:/programme/IBM/SQLLIB/java/db2java.zip</path.db2jar> 
  ... 
</properties> 
{code}

So the profiles.xml seems to be evaluated correctly, but the property is not used for validating
the POM of dependent modules.

And yes, when I run Maven without the profiles.xml, but with specifying the property on command
line (like '-Dpath.db2jar=...'), all is working fine! But that's not exactly what we want,
since profiles are meant to encapsulate those kind of settings... 


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message