Crystal clear now.

Thanks,

-Moiz 

-----Original Message-----
From: Jesse McConnell [mailto:[EMAIL PROTECTED] 
Sent: Thursday, September 22, 2005 8:10 AM
To: Maven Users List
Subject: Re: [m2] project descriptor tags

sure:


this is the pom.xml for the maven-jdbc-plugin...notice there are not
dependencies for a database driver in the plugin pom itself.

<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>mojo</artifactId>
<groupId>org.apache.maven.plugins</groupId>
<version>1.0.1</version>
</parent>
<artifactId>maven-jdbc-plugin</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<name>Maven JDBC Plugin</name>
<inceptionYear>2005</inceptionYear>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.0-beta-1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>1.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

and here is the pom.xml for something that is using the plugin:

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>g</groupId>
<artifactId>g-db</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<name>g - db plugin playground</name>
<parent>
<groupId>g</groupId>
<artifactId>g</artifactId>
<version>1.0</version>
</parent>
<dependencies>
<dependency>
<groupId>oracle</groupId>
<artifactId>oracle</artifactId>
<version>9201</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>oracle</groupId>
<artifactId>oracle_nls_charset</artifactId>
<version>9201.12</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<extensions>
<extension>
<artifactId>oracle</artifactId>
<groupId>oracle</groupId>
<version>9201</version>
</extension>
<extension>
<artifactId>oracle_nls_charset</artifactId>
<groupId>oracle</groupId>
<version>9201.12</version>
</extension>
</extensions>
<plugins>
<plugin>
<artifactId>maven-jdbc-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<configuration>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:oracle:thin:@host:1790:DB</url>
<username>user</username>
<password>password</password>
<statement>select * from whatever</statement> </configuration> </plugin>
</plugins> </build> </project>


now, the <dependency> entries would in available to compile against for
sources that might be in this subproject..but they would not be available to
the plugin execution classpath. But with the <extensions> mechanism the
plugin would be able to find the oracle.jdbc.driver.OracleDriver class since
those extensions are inserted into the plugin exec classpath

in a nutshell it can boil down to

extensions let you insert an artifact into the classpath of a plugin when it
executes

that clear it up further?

jesse

On 9/22/05, dohadwala, moiz <[EMAIL PROTECTED]> wrote:
>
> Jesse,
>
> Thanks for the explanation. To make it clearer, can you show me what 
> the extension tag would look like in this case?
>
> Thanks,
>
> -Moiz
>
> -----Original Message-----
> From: Jesse McConnell [mailto:[EMAIL PROTECTED]
> Sent: Thursday, September 22, 2005 7:25 AM
> To: Maven Users List
> Subject: Re: [m2] project descriptor tags
>
> I can give you a use case where you would need extensions.
>
> there is a jdbc plugin that lets you execute whatever sql you want 
> when you execute the plugin. But the way the plugin was built you 
> can't just declare every database driver as a dependency of the 
> plugin...that would mean people would need to download oracle drivers 
> and install them just to use mysql..
>
> so you use extensions so that you can insert the database driver code 
> at runtime of the plugin..
>
> does that case clear up what extensions can be used for?
>
> jesse
>
> On 9/22/05, dohadwala, moiz <[EMAIL PROTECTED]> wrote:
> >
> > I am new to maven and have decided to take the plunge with m2. I 
> > have trying to understand the pom.xml tags. I don't understand the 
> > purpose of the extension tag. The description on 
> > http://maven.apache.org/maven2/maven-model/maven.html#class_Extensio
> > n 
> > <http://maven.apache.org/maven2/maven-model/maven.html#class_Extensi
> > on
> > >
> > isn't too clear.
> >
> > Is there any other location I can use for reference?
> >
> > -Moiz
> >
> >
> >
> >
>
>
> --
> jesse mcconnell
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
jesse mcconnell

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to