HI Richard,

I've seen both notations used; however, I've only seen the string name approach 
in plugins such as jar and assembly, where they were used as filters to exclude 
elements from an established dependency list. 

I have written a plugin, on the other hand, which needed to pull artifacts from 
the repository, and used the artifacts object, with each coordinate in a 
separate element.

So there's good precedent for the string name approach, although I've never 
used it. I would check the assembly plugin and manifest utility to see how they 
are handled.

- Russ

On Jul 16, 2013, at 11:43 PM, Richard Sand <rs...@idfconnect.com> wrote:

> Hi Russell - the plugin I've been working on obfuscates certain artifacts of
> a project. I'm using ResolutionScope.COMPILE_PLUS_RUNTIME to gather the
> input artifacts, then the plugin configuration determines which of these
> available artifacts should be obfuscated.
> 
> Basically the question is whether my plugin configuration can easily use the
> xml elements to specify an artifact by way of some helper class in the API,
> or should I just stick to specifying each artifact by its String name, e.g.
> right now I configure the plugin as follows:
> 
>       <configuration>
>               <inputArtifacts>
>       
> <inputArtifact>com.somegroup:someartifact</inputArtifact>
>               </inputArtifacts>
>               .....
> 
> So my question is, is it better (more "maven'ish") to specify it this way
> instead? And if so, what object from the API can I use in the @Param
> inputArtifacts object should I use instead of String?
> 
>       <configuration>
>               <inputArtifacts>
>                       <inputArtifact>
>                               <groupId>com.somegroup</groupId>
>                               <artifactId>someartifact</artifactId>
>                       <inputArtifact>
>               </inputArtifacts>
> 
> Best regards,
> 
> Richard
> 
> -----Original Message-----
> From: Russell Gold [mailto:r...@gold-family.us] 
> Sent: Saturday, July 13, 2013 10:28 PM
> To: Maven Users List
> Subject: Re: input artifacts to plugin
> 
> HI Richard,
> 
> What do you want to do? If all you want is the compile dependencies:
> 
> 1. Configure the plugin to require compile and runtime dependency
> resolution:
> 
> @Mojo( ... requiresDependencyResolution =
> ResolutionScope.COMPILE_PLUS_RUNTIME)
> 
> 2. Specify a parameter configured to receive project.compileClassElements
> 
>  /**
>   * Compile classpath of the maven project.
>   */
>  @Parameter(defaultValue = "${project.compileClasspathElements}")
>  private List<String> projectCompileClasspathElements;
> 
> On Jul 12, 2013, at 12:45 PM, Richard Sand <rs...@idfconnect.com> wrote:
> 
>> Hi all - another hopefully simple question:
>> 
>> Can I add a custom configuration property to my plugin which takes in 
>> the normal <dependencies><dependency>......</ schema used in the build?
> E.g.
>> instead of calling mavenProject.getArtifacts() to get a Set<Artifact> 
>> for the build, I'd have a @Property Set<Artifact> which maven will 
>> still resolve & manage but specifically for use by the plugin.
>> 
>> As a sample, this is what I want to put into the pom.xml:
>> 
>> <configuration>
>>      <includedArtifacts>
>>              <includedArtifact>
>>                      <groupId>com.somegroup</groupId>
>>                      <artifactId>someartifact</artifactId>
>>                      <version>1.0.1</version>
>>              </includedArtifact>
>>      </includedArtifacts>
>>      ........
>> 
>> And in the plugin code:
>> 
>>      /**
>>       * Other artifacts to include in obfuscation
>>       */
>>      @Property 
>>      Set<Artifact> includedArtifacts
>> 
>> This doesn't work of course - Artifact cannot be instantiated... can 
>> someone give me some hints for which portions of the API can help 
>> achieve what I'm trying to accomplish?
>> 
>> Another option I have is to use a Set<String> and just enter the 
>> toString representation of an artifact, and then look through
>> mavenProject.getArtifacts() to find a match. That just seems a hack to 
>> require two different formats for specifying artifacts, but if it's 
>> the only way, so be it.
>> 
>> Thanks for any input!
>> 
>> Richard Sand | CEO
>> IDF Connect, Inc. 
>> 2207 Concord Ave, #359
>> Wilmington | Delaware 19803 | USA
>> Office: +1 302 425 0516 | Fax: +1 856 866 1899
>> Mobile: +1 267 984 3651
>> 
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>> For additional commands, e-mail: users-h...@maven.apache.org
>> 
> 
> -----------------
> Come read my webnovel, Take a Lemon <http://www.takealemon.com>, and listen
> to the Misfile radio play <http://www.gold-family.us/audio/misfile.html>!
> 
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
> 

-----------------
Come read my webnovel, Take a Lemon <http://www.takealemon.com>, 
and listen to the Misfile radio play 
<http://www.gold-family.us/audio/misfile.html>!




Reply via email to