Re: Obtain a dependency version for output in resource filtering

2013-09-30 Thread Jörg Schaible
Hi Mark,

Mark Eggers wrote:

> Folks,
> 
> I have a requirement to do the following:
> 
> 1. grab the version of a particular artifact
> 2. place that via into a file visible in the final build
> 
> I was thinking of using the resources plugin to do this. However, I
> can't seem to find the property to reference that points to a version of
> a particular dependency.
> 
> What I fell back to is the following:
> 
> 
>  1.2.3
> 
> 
> 
>  
>  some.org
>  importantArtifact
>  ${importantArtifactVersion
>  
> 
> 
> Then in the file to be filtered:
> 
> ImportantArtifact: ${importantArtifactVersion}
> 
> This all works fine, and as a bonus makes things easier to update when
> versions are bumped.
> 
> However, how will this impact the eventual use of the release plugin?
> Will the release plugin look at a dependency, find the version is a
> property, look for the property and increment that?
> 
> If not, what is a good way of meeting this requirement (other than tell
> someone to read the POM or site for a particular released version).

Apart from the fact that you're using the property elsewhere, it is quite 
common to define the versions of all dependencies and plugins in separate 
properties like you did. Those properties are used then typically in a 
dependencyManagement or pluginManagement section. The only versions that you 
will normally never define with properties are the current version of your 
project and the version of your parent.

One big advantage is also, that you can try out from command line a 
different version of a dependency or plugin for your build ... sim,ply 
define the property as system property to override the one in the POM.
 
> . . . still a Maven newbie


Cheers,
Jörg


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



Re: Cannot retrieve parent snapshot pom, but can depend on it - why?

2013-09-30 Thread NRO
Hello,

We are facing a slightly similar problem.

We are using Nexus.
Our settings.xml file has a mirror section with "*" resolves to our Nexus
server.

Maven can resolve a SNAPSHOT dependency but cannot resolve a Parent
SNAPSHOT.

The only way we found to make this happen is to:

Exclude the snapshot repository from the mirror and to add a specific
repository definition in the settings.xml file.

If we change the settings.xml file to:
[...]


nexus
*,!internal.project.snapshot
   
http://foo.bar.com:15000/nexus/content/groups/public


[...]
   

internal.project.snapshot
internal.project.snapshot

   
http://foo.bar.com:15000/nexus/content/repositories/project_snapshot/


true
   always


false
never


  
[...] 



--
View this message in context: 
http://maven.40175.n5.nabble.com/Cannot-retrieve-parent-snapshot-pom-but-can-depend-on-it-why-tp3401886p5772160.html
Sent from the Maven - Users mailing list archive at Nabble.com.

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



Re: Artifacts missing in maven-aether-provider in Maven 3.1.0

2013-09-30 Thread Bernd Adamowicz

OK. Thanks for clarifying this!

However, one question remains about the missing classes:

* org.apache.maven.repository.internal.MavenRepositorySystemSession
* org.apache.maven.repository.internal.MavenServiceLocator

Have they been replaced by other classes or is there a migration path? We're 
using a plugin that depends on them.

Thanks,
Bernd

On Thu, 19 Sep 2013 23:52:20 +0200, Stuart McCulloch  wrote:


Maven 3.1.0 was released after the Maven runtime project moved to git:

https://git-wip-us.apache.org/repos/asf?p=maven.git;a=summary

Specifically:


https://git-wip-us.apache.org/repos/asf?p=maven.git;a=tree;h=5a0e6574404b4964522d90c3438e25574a95466c;hb=893ca28a1da9d5f51ac03827af98bb730128f9f2

The tag you saw in svn is probably the leftover of an aborted release before 
the move to git.

On 19 Sep 2013, at 22:36, Bernd Adamowicz wrote:


Hi all!

When switching from 3.0.4 to 3.1.0 I encountered that obviously the classes

* org.apache.maven.repository.internal.MavenRepositorySystemSession
* org.apache.maven.repository.internal.MavenServiceLocator

are no longer there. Seems, the last version with these classes was 3.0.5.

However, if I check out maven-aether-provider from 
http://svn.apache.org/repos/asf/maven/maven-3/tags/maven-3.1.0/maven-aether-provider
 and have a look at the sources, the classes are there. The Jar after building 
the project also contains them. But the official Jar at Maven Central does not.

Tried to find a hint somewhere inside the release notes with no success. So, 
can anyone tell me what's going on here? Where are these classes?

Thanks for any help!
Bernd

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




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





--
Bernd Adamowicz
Softwaremanagement

Georg-Fahrbach-Straße 21
74653 Ingelfingen-Criesbach
Mobil: +49 (0)171 7278857
Mail: i...@bernd-adamowicz.de
http://www.bernd-adamowicz.de

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



Re: Artifacts missing in maven-aether-provider in Maven 3.1.0

2013-09-30 Thread Stuart McCulloch
On 30 Sep 2013, at 14:22, Bernd Adamowicz wrote:

> OK. Thanks for clarifying this!
> 
> However, one question remains about the missing classes:
> 
> * org.apache.maven.repository.internal.MavenRepositorySystemSession
> * org.apache.maven.repository.internal.MavenServiceLocator
> 
> Have they been replaced by other classes or is there a migration path? We're 
> using a plugin that depends on them.

Looking at the commit history those classes were replaced by the following 
methods:

MavenRepositorySystemUtils.newSession();

MavenRepositorySystemUtils.newServiceLocator();

https://git-wip-us.apache.org/repos/asf?p=maven.git;a=commit;h=82b345e0094813b34fcac85e64dde2d5e02b4cc9

> Thanks,
> Bernd
> 
> On Thu, 19 Sep 2013 23:52:20 +0200, Stuart McCulloch  
> wrote:
> 
>> Maven 3.1.0 was released after the Maven runtime project moved to git:
>> 
>>  https://git-wip-us.apache.org/repos/asf?p=maven.git;a=summary
>> 
>> Specifically:
>> 
>>  
>> https://git-wip-us.apache.org/repos/asf?p=maven.git;a=tree;h=5a0e6574404b4964522d90c3438e25574a95466c;hb=893ca28a1da9d5f51ac03827af98bb730128f9f2
>> 
>> The tag you saw in svn is probably the leftover of an aborted release before 
>> the move to git.
>> 
>> On 19 Sep 2013, at 22:36, Bernd Adamowicz wrote:
>> 
>>> Hi all!
>>> 
>>> When switching from 3.0.4 to 3.1.0 I encountered that obviously the classes
>>> 
>>> * org.apache.maven.repository.internal.MavenRepositorySystemSession
>>> * org.apache.maven.repository.internal.MavenServiceLocator
>>> 
>>> are no longer there. Seems, the last version with these classes was 3.0.5.
>>> 
>>> However, if I check out maven-aether-provider from 
>>> http://svn.apache.org/repos/asf/maven/maven-3/tags/maven-3.1.0/maven-aether-provider
>>>  and have a look at the sources, the classes are there. The Jar after 
>>> building the project also contains them. But the official Jar at Maven 
>>> Central does not.
>>> 
>>> Tried to find a hint somewhere inside the release notes with no success. 
>>> So, can anyone tell me what's going on here? Where are these classes?
>>> 
>>> Thanks for any help!
>>> Bernd
>>> 
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>>> For additional commands, e-mail: users-h...@maven.apache.org
>>> 
>> 
>> 
>> -
>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>> For additional commands, e-mail: users-h...@maven.apache.org
>> 
>> 
> 
> 
> -- 
> Bernd Adamowicz
> Softwaremanagement
> 
> Georg-Fahrbach-Straße 21
> 74653 Ingelfingen-Criesbach
> Mobil: +49 (0)171 7278857
> Mail: i...@bernd-adamowicz.de
> http://www.bernd-adamowicz.de
> 
> -
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
> 


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



Looking for class property-substitution plugin

2013-09-30 Thread Russell Gold
Before I write this myself…

I am converting an ant build to maven. One of the steps processes a template 
file, using properties from a properties file to replace tokens and produce a 
java source file, which is then compiled. Is there an existing plugin which 
does this? The resource plugin can do the substitution, but will not mark the 
resultant file for compilation. It's not all that difficult to write, but one 
fewer plugin to maintain is a good thing.

Thanks,
Russ
-
Come read my webnovel, Take a Lemon , 
and listen to the Misfile radio play !







Re: Looking for class property-substitution plugin

2013-09-30 Thread Lyons, Roy
:) I have an obligatory recommendation.  If nothing else, theres the
antrun plugin which will allow you to do that substitution as well.  It
allows you to run ant functions within the pom.

You may be able to just keep the files in your src/main/language folder,
and do a " wrote:

>Before I write this myselfŠ
>
>I am converting an ant build to maven. One of the steps processes a
>template file, using properties from a properties file to replace tokens
>and produce a java source file, which is then compiled. Is there an
>existing plugin which does this? The resource plugin can do the
>substitution, but will not mark the resultant file for compilation. It's
>not all that difficult to write, but one fewer plugin to maintain is a
>good thing.
>
>Thanks,
>Russ
>-
>Come read my webnovel, Take a Lemon ,
>and listen to the Misfile radio play
>!
>
>
>
>
>


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



Re: Looking for class property-substitution plugin

2013-09-30 Thread Cemo
On 30 September 2013 17:44, Russell Gold  wrote:

> Before I write this myself…
>
> I am converting an ant build to maven. One of the steps processes a
> template file, using properties from a properties file to replace tokens
> and produce a java source file, which is then compiled. Is there an
> existing plugin which does this? The resource plugin can do the
> substitution, but will not mark the resultant file for compilation. It's
> not all that difficult to write, but one fewer plugin to maintain is a good
> thing.
>
> Thanks,
> Russ
>

If I understood correctly, you can first process a template file before
compile phase then you can add directory of replaced files as a source
directory. For adding source you can use builder-helper-maven-plugin like
this:


org.codehaus.mojo
build-helper-maven-plugin


generate-sources
add-source


src/main/generated






RE: Looking for class property-substitution plugin

2013-09-30 Thread Richard Sand
Hi Russel,

Take a look at the templating plugin provided by Codehaus:
http://mojo.codehaus.org/templating-maven-plugin/

Its flagged as pre-release but it worked fine for me.

In my case, I needed to insert the filename of a resolved dependency (a
war file) into a configuration file I generated for an assembly. I wrote a
plugin to generate properties ".filename" and ".version" for each
dependency, just so I could use those properties in my templates.
http://artifactpropertyplugin.sourceforge.net/

Hope this helps,

Richard

-Original Message-
From: Russell Gold [mailto:r...@gold-family.us]
Sent: Monday, September 30, 2013 10:45 AM
To: Maven Users List
Subject: Looking for class property-substitution plugin

Before I write this myself.

I am converting an ant build to maven. One of the steps processes a
template file, using properties from a properties file to replace tokens
and produce a java source file, which is then compiled. Is there an
existing plugin which does this? The resource plugin can do the
substitution, but will not mark the resultant file for compilation. It's
not all that difficult to write, but one fewer plugin to maintain is a
good thing.

Thanks,
Russ
-
Come read my webnovel, Take a Lemon , and
listen to the Misfile radio play
!

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



Re: Looking for class property-substitution plugin

2013-09-30 Thread Russell Gold
Thanks; I am aware that I could just keep the processing in ant; there are a 
couple of problems with your solution, that I see:

1) If I keep the file in the source directory, changing it wreaks havoc with 
source control - CM cannot tell if I meant to change it or not, and in a system 
such as Perforce, the file would be read-only in any event if I am not changing 
it.
2) The ant solution makes it very hard to ensure that the file gets added to 
the list of files that maven will compile

That's why I want a plugin that does this the maven way. 

Thanks,
Russ

On Sep 30, 2013, at 10:50 AM, "Lyons, Roy"  wrote:

> :) I have an obligatory recommendation.  If nothing else, theres the
> antrun plugin which will allow you to do that substitution as well.  It
> allows you to run ant functions within the pom.
> 
> You may be able to just keep the files in your src/main/language folder,
> and do a " 
> 
> Thanks,
> 
> Roy Lyons
> 
> 
> 
> 
> On 9/30/13 9:44 AM, "Russell Gold"  wrote:
> 
>> Before I write this myselfŠ
>> 
>> I am converting an ant build to maven. One of the steps processes a
>> template file, using properties from a properties file to replace tokens
>> and produce a java source file, which is then compiled. Is there an
>> existing plugin which does this? The resource plugin can do the
>> substitution, but will not mark the resultant file for compilation. It's
>> not all that difficult to write, but one fewer plugin to maintain is a
>> good thing.
>> 
>> Thanks,
>> Russ
>> -
>> Come read my webnovel, Take a Lemon ,
>> and listen to the Misfile radio play
>> !
>> 
>> 
>> 
>> 
>> 
> 
> 
> -
> 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 , 
and listen to the Misfile radio play !







Which minify plugin do you use?

2013-09-30 Thread Peter Kahn
Hi all,

Which plugin to use to minify javascript (reduce size, improve load times)?

I found three candidates two of which seem inactive but I'm unsure if they
are inactive because there's not much to do or because they were abandoned.

What do you use?


* http://mojo.codehaus.org/webminifier-maven-plugin/ (1.0.1
2012-05-15)*INACTIVE*

* http://alchim.sourceforge.net/yuicompressor-maven-plugin/index.html (1.1
2010-09-22) *INACTIVE*

* http://samaxes.github.io/minify-maven-plugin/ (1.7.2 2-13-09-08) *ACTIVE*


Thanks

Peter
-- 
Peter Kahn
citizenk...@gmail.com
http://www.google.com/profiles/citizenkahn
Awareness - Intention - Action


Re: Which minify plugin do you use?

2013-09-30 Thread Stephen Connolly
I use jszip.org but then I'm biased, and I have to put some cycles into
getting it past -alpha- and ready for beta... and work has been distracting
me for some time... should be getting some time shortly (though perhaps
after the end of the month if I am realistic)


On 30 September 2013 16:41, Peter Kahn  wrote:

> Hi all,
>
> Which plugin to use to minify javascript (reduce size, improve load times)?
>
> I found three candidates two of which seem inactive but I'm unsure if they
> are inactive because there's not much to do or because they were abandoned.
>
> What do you use?
>
>
> * http://mojo.codehaus.org/webminifier-maven-plugin/ (1.0.1
> 2012-05-15)*INACTIVE*
>
> * http://alchim.sourceforge.net/yuicompressor-maven-plugin/index.html (1.1
> 2010-09-22) *INACTIVE*
>
> * http://samaxes.github.io/minify-maven-plugin/ (1.7.2 2-13-09-08)
> *ACTIVE*
>
>
> Thanks
>
> Peter
> --
> Peter Kahn
> citizenk...@gmail.com
> http://www.google.com/profiles/citizenkahn
> Awareness - Intention - Action
>


Re: Which minify plugin do you use?

2013-09-30 Thread Stevo Slavić
https://code.google.com/p/wro4j/
https://code.google.com/p/wro4j/wiki/MavenPlugin


On Mon, Sep 30, 2013 at 5:45 PM, Stephen Connolly <
stephen.alan.conno...@gmail.com> wrote:

> I use jszip.org but then I'm biased, and I have to put some cycles into
> getting it past -alpha- and ready for beta... and work has been distracting
> me for some time... should be getting some time shortly (though perhaps
> after the end of the month if I am realistic)
>
>
> On 30 September 2013 16:41, Peter Kahn  wrote:
>
> > Hi all,
> >
> > Which plugin to use to minify javascript (reduce size, improve load
> times)?
> >
> > I found three candidates two of which seem inactive but I'm unsure if
> they
> > are inactive because there's not much to do or because they were
> abandoned.
> >
> > What do you use?
> >
> >
> > * http://mojo.codehaus.org/webminifier-maven-plugin/ (1.0.1
> > 2012-05-15)*INACTIVE*
> >
> > * http://alchim.sourceforge.net/yuicompressor-maven-plugin/index.html(1.1
> > 2010-09-22) *INACTIVE*
> >
> > * http://samaxes.github.io/minify-maven-plugin/ (1.7.2 2-13-09-08)
> > *ACTIVE*
> >
> >
> > Thanks
> >
> > Peter
> > --
> > Peter Kahn
> > citizenk...@gmail.com
> > http://www.google.com/profiles/citizenkahn
> > Awareness - Intention - Action
> >
>


[ANN] Apache Maven Deploy Plugin 2.8 Released

2013-09-30 Thread Robert Scholte
The Apache Maven team is pleased to announce the release of the Apache  
Maven Deploy Plugin, version 2.8


This plugin is primarily used during the deploy phase, to add your  
artifact(s) to a remote repository for sharing with other developers and  
projects.


http://maven.apache.org/plugins/maven-deploy-plugin/

You should specify the version in your project's plugin configuration:


  org.apache.maven.plugins
  maven-deploy-plugin
  2.8



Release Notes - Maven Deploy Plugin - Version 2.8

** Bug
* [MDEPLOY-68] - altDeploymentRepository allows dangerous deploy  
processes

* [MDEPLOY-145] - Documentation does not list layouts

** Improvement
* [MDEPLOY-154] - Rewrite page 'deploy with classifier'

** New Feature
* [MDEPLOY-157] - Add deployAtEnd option for multimodule projects

** Task
* [MDEPLOY-151] - use maven-plugin-tools' java 5 annotations


Enjoy,

-The Apache Maven team

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



Re: [nexus-user] Re: Parent Pom does not work with Nexus

2013-09-30 Thread Ron Wheeler

Forgive the double post but I can not tell who this bug belongs to!

Or just have everyone install the parent which is a PITA if you have a 
lot of projects going on with lots of parents.


It looks like a simple bug where the Maven/Nexus interface does not 
follow the right path after finding out that the parent is not available 
locally.


Who gets the JIRA entry?

Ron

On 30/09/2013 4:26 PM, NRO wrote:

Hi Ron,

That's exactly what we've got.
I work in a large organization with many developers, Jenkins continuous
build systems, Nexus, etc...
Everyday, teams need to share projects thru the repository and SNAPSHOTS are
what everybody uses during development phases.

The only workaround I found to sort of fix the problem is to exclude the
snapshot repository from the Nexus mirror section and then declare
explicitly the Nexus snapshot repository in the repository section of the
pom. As shown in a previous post above.

nr



--
View this message in context: 
http://maven.40175.n5.nabble.com/Parent-Pom-does-not-work-with-Nexus-tp5714786p5772259.html
Sent from the Nexus Maven Repository Manager Users List mailing list archive at 
Nabble.com.

-
To unsubscribe, e-mail: nexus-user-unsubscr...@sonatype.org
For additional commands, e-mail: nexus-user-h...@sonatype.org





--
Ron Wheeler
President
Artifact Software Inc
email: rwhee...@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


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



Progressive Organization POM 1.0 released

2013-09-30 Thread Manfred Moser
Hello all,

I have recently released version 1.0.0 of my project called "Progressive
Organization POM". it implements the well know Maven best practice of a
"Company POM" or "Organization" in  a very comprehensive manner covering
lots of plugins.

it is called progressive since I am using the latest version of all
plugins. The project is apache licensed so you can use it for your own
projects without problems.

If you would like your plugin added or let know about using the project...
drop me a note.

More details are at

https://github.com/simpligility/progressive-organization-pom

Manfred
http://www.simpligility.com

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



Simplified Staging to OSSRH/Central

2013-09-30 Thread Manfred Moser
Hi all!

I have written a blog post that shows you how you can use the Nexus
Staging Maven Plugin to simplify releasing your components to Central via
the Sonatype OSSRH Nexus instance. With the plugin you can avoid having to
log into the web interface or writing your own REST API invocation. This
in turn allows you to automate your release on the command line or a CI
server..

http://blog.sonatype.com/people/2013/09/simplified-releases-to-the-central-repository-with-nexus/

I hope that helps and make the process even easier for you all.

manfred
http://www.simpligility.com


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



maven install plugin version 2.5 installAtEnd question

2013-09-30 Thread Tonio Caputo
Hi,

I was trying this new great feature but,

I found that if the last module of the project skips the install,  it
will not install any of the other modules.

Is this the expected behaviour ?

Just to let you know:

My project last module is an integration-test that should be ran after all
other modules are packaged, it should not be installed nor deployed,
so it will be great if this configuration option can handle scenarios like
this.


Thanks in advance
tonio
PS: Seems maven-deploy-plugin version 2.8 deployAtEnd works in a similar
way.


Re: maven install plugin version 2.5 installAtEnd question

2013-09-30 Thread Robert Scholte

Hi Tonio,

that's one of the reasons why I didn't changed this to the default  
behavior for both plugins.
Current implementation checks if it is installing/deploying the final  
module. If so, it will continue with the configuration of that module.  
This should cover most of the usecases, so now we can gather those special  
cases and start tweaking those plugins.


Robert


Op Mon, 30 Sep 2013 23:11:12 +0200 schreef Tonio Caputo  
:



Hi,

I was trying this new great feature but,

I found that if the last module of the project skips the install,  it
will not install any of the other modules.

Is this the expected behaviour ?

Just to let you know:

My project last module is an integration-test that should be ran after  
all

other modules are packaged, it should not be installed nor deployed,
so it will be great if this configuration option can handle scenarios  
like

this.


Thanks in advance
tonio
PS: Seems maven-deploy-plugin version 2.8 deployAtEnd works in a similar
way.


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



Re: maven install plugin version 2.5 installAtEnd question

2013-09-30 Thread Tonio Caputo
Hi Robert,

Thanks for your quick answer, expecting the special cases handling ! :-)

And now that you mention it, I remember wondering why it was not set to
true by default :-).

Sorry I might have missed reading some documentation, and that's my fault.

thanks again
tonio



On Mon, Sep 30, 2013 at 6:30 PM, Robert Scholte wrote:

> Hi Tonio,
>
> that's one of the reasons why I didn't changed this to the default
> behavior for both plugins.
> Current implementation checks if it is installing/deploying the final
> module. If so, it will continue with the configuration of that module. This
> should cover most of the usecases, so now we can gather those special cases
> and start tweaking those plugins.
>
> Robert
>
>
> Op Mon, 30 Sep 2013 23:11:12 +0200 schreef Tonio Caputo <
> ton...@exeo.com.ar>:
>
>
>  Hi,
>>
>> I was trying this new great feature but,
>>
>> I found that if the last module of the project skips the install,  it
>> will not install any of the other modules.
>>
>> Is this the expected behaviour ?
>>
>> Just to let you know:
>>
>> My project last module is an integration-test that should be ran after all
>> other modules are packaged, it should not be installed nor deployed,
>> so it will be great if this configuration option can handle scenarios like
>> this.
>>
>>
>> Thanks in advance
>> tonio
>> PS: Seems maven-deploy-plugin version 2.8 deployAtEnd works in a similar
>> way.
>>
>
> --**--**-
> To unsubscribe, e-mail: 
> users-unsubscribe@maven.**apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>


maven shade: how to actually use custom shader (plus a few ideas)

2013-09-30 Thread Bear Giles
First the question: how do I actually use a custom shader? I've created my
own Shader implementation based on DefaultShader, set a new hint, and
modified the working pom.xml entry with
myShaderHint.

It blows up - it can't find a class implementing the Shader interface. I
KNOW that that class is present, I don't know why it can't find it. I also
tried adding . No joy
there either.

So how do I specify the custom shader???

Now two ideas. I would contribute code but my employer is rather paranoid
so my hands are tied until the end of my contract. Fortunately these are
simple ideas that would only take a few hours for someone familiar with the
code to knock out.

1. Add "artifact" to ShadeRequest. This lets the custom shader to make a
distinction between "internal" dependencies and "external" dependencies.

2. Add a standard Shader that creates a jar-of-jars instead of an uberjar.

The specific motivation for the jar-of-jars is that we need to collect
dependencies for third-party vulnerability assessment. We've been doing it
by hand but it's very error prone. With a trivial change to DefaultShader
we can immediately create a jar containing all of the dependencies. We can
then upload that monster for assessment.

(The ability to capture the corresponding source is a free additional
benefit!)

3. We're trying to implement a refinement of the second item. The specs are
still in flux but the idea is that anything "internal" (same groupId) goes
in the parent directory but is stripped of version information. Everything
else goes into a "lib" directory. Again the idea is that it makes it much
easier to pass to a third-party validation tool. I don't know if this is
too specific for a general tool or if it's something easily supported with
a configuration flag or two.

Thanks,

Bear