You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Vladimir Konkov (JIRA)" <ji...@codehaus.org> on 2010/10/01 16:14:32 UTC

[jira] Commented: (MNG-3309) Is it possible to trigger profiles from profiles

    [ http://jira.codehaus.org/browse/MNG-3309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=237147#action_237147 ] 

Vladimir Konkov commented on MNG-3309:
--------------------------------------

Current implementation is useles in real projects. Below the simple example:
from pom.xml:

    <profiles>
        <profile>
            <id>db-mysql</id>
            <activation>
                <property>
                    <name>db.type</name>
                    <value>mysql</value>
                </property>
            </activation>
            <properties>
                <db.driver>MySQL</db.driver>
            </properties>
        </profile>
        <profile>
            <id>db-postgre</id>
            <activation>
                <property>
                    <name>db.type</name>
                    <value>postgresql</value>
                </property>
            </activation>
            <properties>
                <db.host>PostgreSQL</db.host>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <db.type>postgresql</db.type>
                <server.type>tomcat</server.type>
            </properties>
        </profile>
    </profiles>

$ mvn3 package -P prod 

Property db.host are'nt set.

I can't move that logic into settings because it's project scope. I've minimum 3 dimensions of profiles (db,app server,data dir) in my projects and as now is no way to implement effective buid process with maven.

Maven is near it 3 version but missed some critical future: profile activation by other profile. It's so simple and so essential future... (I now about MNG-2276)

PS: Is there any questions why big multienviroment projects (Alfresco, Liferay etc) not moved to maven until now?


> Is it possible to trigger profiles from profiles
> ------------------------------------------------
>
>                 Key: MNG-3309
>                 URL: http://jira.codehaus.org/browse/MNG-3309
>             Project: Maven 2 & 3
>          Issue Type: New Feature
>    Affects Versions: 2.0.7
>            Reporter: Andreas Höhmann
>             Fix For: 3.x / Backlog
>
>
> I want include profiles from profiles ... a example ... please tell me if this is nonsense :-)
> <profiles>
>     <!-- my default-profile ... this profile defines properties .... so i try to include other property-triggered-profiles -->
>     <profile>
>       <id>default</id>
>       <activation>
>         <activeByDefault>true</activeByDefault>
>       </activation>
>       <properties>
>         <!-- include profile tomcat6 -->
>         <tomcat>6</tomcat>
>         <!-- include profile myfaces12 -->
>         <jsf>myfaces12</jsf>
>        <!-- include profile richfaces -->
>         <richfaces>true</richfaces>
>        <!-- don't include profile seam -->
>         <seam>false</seam>
>       </properties>
>     </profile>
>     <profile>
>       <!-- 
>         JBoss Seam JSF framework : -Dseam=yes 
>       -->
>       <id>seam</id>
>       <activation>
>         <activeByDefault>false</activeByDefault>
>         <property>
>           <name>seam</name>
>           <value>true</value>
>         </property>
>       </activation>
>       ...
>     </profile>
>     <profile>
>       <!-- 
>         JBoss Richfaces Component Lib for JSF : -Drichfaces=true 
>       -->
>       <id>richfaces</id>
>       <activation>
>         <activeByDefault>false</activeByDefault>
>         <property>
>           <name>richfaces</name>
>           <value>true</value>
>         </property>
>       </activation>
>       ...
>     </profile>
>     <profile>
>       <!-- 
>         MyFaces JSF Implementation 1.2 : -Djsf=myfaces12 
>       -->
>       <id>myfaces12</id>
>       <activation>
>         <activeByDefault>false</activeByDefault>
>         <property>
>           <name>jsf</name>
>           <value>myfaces12</value>
>         </property>
>       </activation>
>       ...
>     </profile>
>     <profile>
>       <!-- 
>         MyFaces JSF Implementation 1.1 : -Djsf=myfaces11 
>       -->
>       <id>myfaces11</id>
>       <activation>
>         <activeByDefault>false</activeByDefault>
>         <property>
>           <name>jsf</name>
>           <value>myfaces11</value>
>         </property>
>       </activation>
>       ...
>     </profile>
>     <profile>
>       <!-- 
>         Sun's JSF Reference Implementation 1.2 : -Djsf=ri12
>       -->
>       <id>jsfri12</id>
>       <activation>
>         <activeByDefault>false</activeByDefault>
>         <property>
>           <name>jsf</name>
>           <value>ri12</value>
>         </property>
>       </activation>
>       ....
>     </profile>
>     <profile>
>       <!-- 
>         Tomcat 5.x Environment : -Dtomcat=5
>       -->
>       <id>tomcat5</id>
>       <activation>
>         <activeByDefault>false</activeByDefault>
>         <property>
>           <name>tomcat</name>
>           <value>5</value>
>         </property>
>       </activation>
>       <build>
>         <defaultGoal>jetty:run</defaultGoal>
>       </build>
>       <dependencies>
>         <dependency>
>           <groupId>javax.servlet</groupId>
>           <artifactId>servlet-api</artifactId>
>           <version>2.4</version>
>           <scope>provided</scope>
>         </dependency>
>         <dependency>
>           <groupId>javax.servlet.jsp</groupId>
>           <artifactId>jsp-api</artifactId>
>           <version>2.0</version>
>           <scope>provided</scope>
>         </dependency>
>         <dependency>
>           <groupId>javax.el</groupId>
>           <artifactId>el-api</artifactId>
>           <version>1.0</version>
>         </dependency>
>         <dependency>
>           <groupId>el-impl</groupId>
>           <artifactId>el-impl</artifactId>
>           <version>1.0</version>
>         </dependency>
>       </dependencies>
>     </profile>
>     <profile>
>       <!-- 
>         Tomcat 6.x Environment : -Dtomcat=6
>       -->
>       <id>tomcat6</id>
>       <activation>
>         <activeByDefault>false</activeByDefault>
>         <property>
>           <name>tomcat</name>
>           <value>6</value>
>         </property>
>       </activation>
>       <build>
>         <defaultGoal>jetty:run</defaultGoal>
>       </build>
>       <dependencies>
>         <dependency>
>           <groupId>javax.servlet</groupId>
>           <artifactId>servlet-api</artifactId>
>           <version>2.5</version>
>           <scope>provided</scope>
>         </dependency>
>         <dependency>
>           <groupId>javax.servlet.jsp</groupId>
>           <artifactId>jsp-api</artifactId>
>           <version>2.1</version>
>           <scope>provided</scope>
>         </dependency>
>         <dependency>
>           <groupId>javax.el</groupId>
>           <artifactId>el-api</artifactId>
>           <version>1.0</version>
>           <scope>provided</scope>
>         </dependency>
>         <dependency>
>           <groupId>el-impl</groupId>
>           <artifactId>el-impl</artifactId>
>           <version>1.0</version>
>           <scope>provided</scope>
>         </dependency>
>       </dependencies>
>     </profile>
> ...
> 'mvn -Pdefault eclipse:eclipse'  should create a tomcat6, myfaces12, richfaces project
> 'mvn -Pdevel eclipse:eclipse'  should create a tomcat5, myfaces12, richfaces project
> 'mvn -Pproductiv eclipse:eclipse'  should create a jboss, myfaces12, richfaces project
> ....
> any ideas?

-- 
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