Here is the issue I am trying to resolve.

I am developing a plugin. (It runs only in phase
generate-sources.)   The underlaying code requires
knowledge of any user specified JAR files in order
to process java files.  The user specified dependencies
should be plugin specific.

To date I have been unable to accesss the plugin's dependency
artifacts within the mojo.  I have tried a variety of APIs
without success (see below).  I am using 2.0.4.  How do I do it.
(The corresponding POM is below code segment.)


** fails to list ALL project level dependencies (see POM below)
Set p = project.getArtifacts();
DefaultArtifact df = (DefaultArtifact)itl.next();
df.toString();
   output:
        javax.xml.bind:jsr173_api:jar:1.0:compile

** lists plugins only
Set p = project.getPluginArtifacts();
DefaultArtifact df = (DefaultArtifact)itl.next();
df.toString();
   output:
         
com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin:maven-plugin:RELEASE:runt
ime

** Lists project level dependencies only
Set p = project.getDependencyArtifacts();
DefaultArtifact df = (DefaultArtifact)itl.next();
df.toString();
   output:
        javax.xml.bind:jsr173_api:jar:1.0:compile
        jdk-rt:jar:0.0:system

** Lists incomplete set of project level artifacts
List p = project.getRuntimeClasspathElements();
((String)itl.next().toString()
   output:
        /d3/bschemagen/target/classes
        
/d5/maven-2.0.4/repository/javax/xml/bind/jsr173_api/1.0/jsr173_api-1.0.jar

** No access to plugin level artifact.
List p = project.getBuildPlugins();
d = (org.apache.maven.model.Dependency)itl.next();
d.getDependencies();
d.toString();
   output:
        {groupId=javax.activation, artifactId=activation, version=1.1, type=jar}


d.getSystemPath();
   output:
        null



<project>

        :

   <dependencies>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jsr173_api</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>local.rt</groupId>
            <artifactId>jdk-rt</artifactId>
            <version>0.0</version>
            <scope>system</scope>
            <systemPath>/d5/jdk1.5.0_06/jre/lib/rt.jar</systemPath>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>com.sun.tools.jxc.maven2</groupId>
                <artifactId>maven-jaxb-schemagen-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>javax.activation</groupId>
                        <artifactId>activation</artifactId>
                        <version>1.1</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

     :

</project>




Rebecca Searls wrote:
What is the intended use of project/build/plugins/plugin/dependencies
as compared to project/dependencies?

One would assume project/build/plugins/plugin/dependencies
are plugin specific in scope; that project/dependencies are
active project wide in scope.

And one would expect that if project/dependencies are
accessable as artifacts then project/build/plugins/plugin/dependencies
would be accessable as artifacts by some means as well but
where or how?



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

Reply via email to