maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bracewell, Robert" <rbrac...@qualcomm.com>
Subject RE: Profile inheritence
Date Tue, 11 Nov 2008 19:00:54 GMT
I have a super pom which several of my product lines use as a parent. So for functionality
I want across several product lines I add such to the super pom. If a product needs to diverge
then I override at the product level pom. Basically all my components that make up a build
specify their parent to be the product pom who's parent is the super pom.

The super pom is reactorless.

With regard to your Clover issue. Are you sure you are configured correctly. I have such a
profile defined at my super pom level which uses the Clover2 optimization functionality and
I invoke using a property. I can invoke the profile against any component in the build or
at product level by relying on a profile inheritance.

Further docs on configuring optimization is available at http://confluence.atlassian.com/display/CLOVER/Using+Test+Optimization+with+Clover-for-Maven+2

What I found while implementing this is that Clover creates the snapshot db in the same location
as the clover db. So if you rely on the clover db being output to the target directory then
every time you run a clean it whacks the snapshot db and it will never optimize the test run.

--
Robert

-----Original Message-----
From: Ryan Breidenbach [mailto:ryan@twoqubed.com] 
Sent: Tuesday, November 11, 2008 10:03 AM
To: users@maven.apache.org
Subject: Profile inheritence

I know this question has been posed many times, but I have yet to find  
an adequate answer. I typically find things like this (from the Maven  
wiki at http://docs.codehaus.org/display/MAVEN/Build+Profiles):

"Note that the profiles are inherited, but only in such a way as they  
are applied to a parent POM before the inheritence of the parent and  
child is performed, so the settings required are already present. This  
ensures the proper precedence occurs (child and its profiles win over  
the profile of a parent)."

I really have no idea what this means. What I really want to know is  
that if I have a profile defined in a parent POM, if I explicitly  
activate this profile in a module that inherits from that parent POM,  
will the configuration in that profile take effect?

For example, I have this configuration in a parent POM:

   <profiles>
     <profile>
       <id>clover-optimized</id>
       <build>
         <plugins>
           <plugin>
             <groupId>com.atlassian.maven.plugins</groupId>
             <artifactId>maven-clover2-plugin</artifactId>
             <executions>
               <execution>
                 <goals>
                   <goal>setup</goal>
                 </goals>
               </execution>
             </executions>
           </plugin>
         </plugins>
       </build>
     </profile>
   </profiles>

However, if I execute the following command from a module that  
inherits from this POM...

mvn install -Pclover-optimized

... the setup goal is not executed. Therefore, it appears to me that  
this profile is *not* inherited. So, my question is this - is it  
possible to inherit profile behavior. All documentation and comments  
on this issue that I have found so far have been quite vague and  
unclear to me.

Thanks.

Ryan



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message