You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by "Larionov, Konstantin" <la...@mera.ru> on 2010/03/17 11:49:56 UTC

Parameterized artifactId?

Hello,

I just met with a little bit strange (from my point of view) artifact in
the JBoss maven2 repository.
It is for the richfaces-impl artifact and located at
http://repository.jboss.com/maven2/org/richfaces/framework/richfaces-imp
l/3.3.3.CR1/richfaces-impl-3.3.3.CR1.pom

If you will take a look into this POM file you will find that artifact
tag value is equal to '${classifiedArtifactId}' parameter instead of
'richfaces-impl' value.
And there is <profiles /> section in the POM file where
'${classifiedArtifactId}' parameter is defined.
For instance:

<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.framework</groupId>
<artifactId>${classifiedArtifactId}</artifactId>
<name>Java Server Faces AJAX framework implementation</name>
<version>3.3.3.CR1</version>
...
<profiles>
	...
	<profile>
		<id>jsf2_0</id>
		<build>
			...
		</build>
		<dependencies>
			...
		</dependencies>
		<properties>
	
<frameworkAdditionalSourceFolder>src/main/java-jsf20</frameworkAdditiona
lSourceFolder>
	
<classifiedArtifactId>richfaces-impl-jsf2</classifiedArtifactId>
		</properties>
	</profile>
	<profile>
		<id>jsf1_2</id>
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
		<dependencies>
			...
		</dependencies>
		<properties>
	
<frameworkAdditionalSourceFolder>src/main/java-jsf12</frameworkAdditiona
lSourceFolder>
	
<classifiedArtifactId>richfaces-impl</classifiedArtifactId>
		</properties>
	</profile>
</profiles>


The question is: is it good practice to design POMs in that way?
The fact is that it is impossible to work with such POMs using the
Apache Ivy dependency manager and also looks like it will not work with
Maven prior to the 2.1.0.

Can anyone from you, maven-hardened persons, express your opinion?

Sincerely yours,
Konstantin Larionov
Team leader, Custom Software/iPat
+ 7 831 2722165 *2456#



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


Re: Parameterized artifactId?

Posted by Anders Hammar <an...@hammar.net>.
I don't see any reason why you would do like they are doing. As you've
already seen, this causes problems.

In genreal, there are lots of weird solutions at the Jboss' repo. Don't look
there for guidelines on how to use Maven...

/Anders

On Wed, Mar 17, 2010 at 11:49, Larionov, Konstantin <la...@mera.ru>wrote:

> Hello,
>
> I just met with a little bit strange (from my point of view) artifact in
> the JBoss maven2 repository.
> It is for the richfaces-impl artifact and located at
> http://repository.jboss.com/maven2/org/richfaces/framework/richfaces-imp
> l/3.3.3.CR1/richfaces-impl-3.3.3.CR1.pom<http://repository.jboss.com/maven2/org/richfaces/framework/richfaces-imp%0Al/3.3.3.CR1/richfaces-impl-3.3.3.CR1.pom>
>
> If you will take a look into this POM file you will find that artifact
> tag value is equal to '${classifiedArtifactId}' parameter instead of
> 'richfaces-impl' value.
> And there is <profiles /> section in the POM file where
> '${classifiedArtifactId}' parameter is defined.
> For instance:
>
> <modelVersion>4.0.0</modelVersion>
> <groupId>org.richfaces.framework</groupId>
> <artifactId>${classifiedArtifactId}</artifactId>
> <name>Java Server Faces AJAX framework implementation</name>
> <version>3.3.3.CR1</version>
> ...
> <profiles>
>        ...
>        <profile>
>                <id>jsf2_0</id>
>                <build>
>                        ...
>                </build>
>                <dependencies>
>                        ...
>                </dependencies>
>                <properties>
>
> <frameworkAdditionalSourceFolder>src/main/java-jsf20</frameworkAdditiona
> lSourceFolder>
>
> <classifiedArtifactId>richfaces-impl-jsf2</classifiedArtifactId>
>                </properties>
>        </profile>
>        <profile>
>                <id>jsf1_2</id>
>                <activation>
>                        <activeByDefault>true</activeByDefault>
>                </activation>
>                <dependencies>
>                        ...
>                </dependencies>
>                <properties>
>
> <frameworkAdditionalSourceFolder>src/main/java-jsf12</frameworkAdditiona
> lSourceFolder>
>
> <classifiedArtifactId>richfaces-impl</classifiedArtifactId>
>                </properties>
>        </profile>
> </profiles>
>
>
> The question is: is it good practice to design POMs in that way?
> The fact is that it is impossible to work with such POMs using the
> Apache Ivy dependency manager and also looks like it will not work with
> Maven prior to the 2.1.0.
>
> Can anyone from you, maven-hardened persons, express your opinion?
>
> Sincerely yours,
> Konstantin Larionov
> Team leader, Custom Software/iPat
> + 7 831 2722165 *2456#
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>