Re: Armed with a collection of Artifacts, what is the Maven Way™ to resolve them?

2014-01-06 Thread Baptiste Mathus
Does
http://svn.codehaus.org/mojo/trunk/mojo/extra-enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractResolveDependencies.java
help
you?

Cheers


2014/1/6 Laird Nelson ljnel...@gmail.com

 On Sun, Jan 5, 2014 at 3:56 PM, Laird Nelson ljnel...@gmail.com wrote:

  What is the Maven Way™ to resolve these Artifacts?
 

 For completeness, I also looked at

 http://maven.apache.org/guides/introduction/introduction-to-artifact-resolution.htmlbut
 this didn't seem to have ever been completed.

 Thanks,
 Best,
 Laird

 --
 http://about.me/lairdnelson




-- 
Baptiste Batmat MATHUS - http://batmat.net
Sauvez un arbre,
Mangez un castor !


Using Plugin Truncated Name

2014-01-06 Thread Omar@Gmail
I have written my own maven mojo plugin and wish to use the truncated name
instead of the long name to invoke it, like so:

Instead of
mvn org.apache.maven.plugins:maven-pce-plugin:pull

I want use:

mvn pce:pull

But even though I put it under group 'org.apache.maven.plugins' and named
it maven-pce-plugin I still get error message:
No plugin found for prefix 'pce' in the current project and in the plugin
groups [*org.apache.maven.plugins*, org.codehaus.mojo] available from the
repositories [local (C:\Users\omar\.m2\repository), central (
http://repo.maven.apache.org/maven2)]

What am I doing wrong? thanks for the help.


Re: Using Plugin Truncated Name

2014-01-06 Thread Stephen Connolly
On 6 January 2014 12:40, Omar@Gmail omarnet...@googlemail.com wrote:

 I have written my own maven mojo plugin and wish to use the truncated name
 instead of the long name to invoke it, like so:

 Instead of
 mvn org.apache.maven.plugins:maven-pce-plugin:pull

 I want use:

 mvn pce:pull

 But even though I put it under group 'org.apache.maven.plugins' and named
 it maven-pce-plugin I still get error message:


No don't put it there... you don't own that group Id.

Put it in your own groupId and then in your settings.xml just add your
group Id as the pluginGroups
http://maven.apache.org/settings.html#Plugin_Groups


 No plugin found for prefix 'pce' in the current project and in the plugin
 groups [*org.apache.maven.plugins*, org.codehaus.mojo] available from the
 repositories [local (C:\Users\omar\.m2\repository), central (
 http://repo.maven.apache.org/maven2)]

 What am I doing wrong? thanks for the help.



Re: Maven Central Opinion

2014-01-06 Thread Tommy Svensson
Hello again,

OK, I suspected that I get a lot of replies on this :-). 

From experience in other forums I also expected to have people tell me to go 
screw myself, but that has not happened. There are apparently only 
professionals here! That said, there some very good replies and explanations 
but also some I do react to.  

I'll start with the latter. The arguments about quality I just don't buy. We 
are only talking poms here. Whatever is in the poms says nothing about the 
quality of the software itself. What is really bothering me however is the 
argument that if you don't have your things in the way we think they should be, 
you are not serious enough. It hasn't been said straight out but implied. The 
word that pops into my head here is Moralizing! I take my work very seriously 
and I take my open source work even more seriously (since in that case I'm 
allowed the time for it :-)). That if I have one file that is not up to 
someones liking I'm not taking releasing of my software seriously is just 
absurd. 
___

From one of the replies:
 As I said in a previous message, deploying to the remote repo is just a
 matter of mvn deploy, using either the maven-deploy-plugin (by default)
 or the nexus-staging-maven-plugin.

That is good, that is how easy it should be!

 You'll have to configure the GPG plugin to sign your artifacts though, as
 it's a requirement to deploy to Central.

No problem!

I'm going to go though the documentation again and solve the easy way to do 
it :-).  And If I can't find a page that explains this clearly I will create 
such! I have gotten very much information here to go on. 

Someone also pointed out that local webserver repositories are good enough for 
small projects. I basically agree with that. I only considered maven central 
since someone asked me. But it is easier to have things in central and not have 
to add multiple repository specifications in your pom/settings. OK, you can use 
nexus to merge several repositories into one and then use that. But if 
submission to central can be made easy then it is worth to do it. Software does 
not have to be large apache projects to be useful. There are some truly useful 
software out there that comes from single individuals.


Here is my view of how I would want a maven repository to be:

- No requirements of javadoc or sources. If you want to include those, no 
problem, but if you don't  it is up to you. Personally I like to have sources 
available in the repository for the third party software I'm using so I would 
also submit sources to my software, but that is entirely up to me.

- Tags on submitted software (not required - can be empty). 

- Searchable data in addition to group and artifact:
  - Tags
  - Descriptions

- A browsable (navigable) web gui, not just searches. 

- A standardized documentation zip containing PDFs and/or markdown.

- Quality indication:
  - The possibility to star artifacts just like you can star repos in github. 
Also for group level.
  - Download statistics (filtered on ip-address, multiple downloads from the 
same ip-address only count as one).
  - A quality value based on these two as sorting order for search results.

- When an artifact or group is selected in the web gui the following should be 
displayed:
  - Dependency tags for the artifact (obviously :-))
  - Pom information like description, web url, developers, scm url, etc.
  - Stars and download stats.
  - Any submitted docs.

With so much software available in one place it would be very nice to have it 
more searchable and on more useful criteria, and also to have the ability to 
get more details on the software at the same place.

Tommy



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



Re: Maven Central Opinion

2014-01-06 Thread Adam Retter
 I'll start with the latter. The arguments about quality I just don't buy. We 
 are only talking poms here. Whatever is in the poms says nothing about the 
 quality of the software itself.

I agree the pom says nothing about the quality of the software.
However, having a standard mechanism for describing in small detail
software releases. By ensuring that this is consistent, it ensures
that the quality of searching for artifacts in Maven central is
maintained, it also ensures that when someone finds an artifact they
can look at the pom to see what it does and who to contact should they
have a problem. I consider that a small investment.


-- 
Adam Retter

skype: adam.retter
tweet: adamretter
http://www.adamretter.org.uk

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



Re: Maven Central Opinion

2014-01-06 Thread Tamás Cservenák

 The arguments about quality I just don't buy. We are only talking poms
 here. Whatever is in the poms says nothing about the quality of the
 software itself.


Quality of metadata. POM serve as metadata in this case, so, I'd rather
say Central enforces quality of metadata (ie. POM properly filled in,
using proper and proven/owned groupId, sane artifactId, etc, minimal set of
fields are given, file signatures, checksums are present, no update of
already deployed stuff happens [ie. your deploy request would overwrite
something in Cenral] etc).

Still, you can deploy a jar full of zeroes to Central if you wish, all
until you use proper GA, the checksums and signatures matches, and POM
fulfills minimal requirements :)


My 5 cents


Re: Maven Central Opinion

2014-01-06 Thread Tommy Svensson

6 jan 2014 kl. 14:10 skrev Tamás Cservenák ta...@cservenak.net:

 
 The arguments about quality I just don't buy. We are only talking poms
 here. Whatever is in the poms says nothing about the quality of the
 software itself.
 
 
 Quality of metadata. POM serve as metadata in this case, so, I'd rather
 say Central enforces quality of metadata (ie. POM properly filled in,
 using proper and proven/owned groupId, sane artifactId, etc, minimal set of
 fields are given, file signatures, checksums are present, no update of
 already deployed stuff happens [ie. your deploy request would overwrite
 something in Cenral] etc).
 
 Still, you can deploy a jar full of zeroes to Central if you wish, all
 until you use proper GA, the checksums and signatures matches, and POM
 fulfills minimal requirements :)

And I think that is a good thing! It would be rather stupid to do that, but 
that is beside the point :-).

 
 
 My 5 cents


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



Re: Using Plugin Truncated Name

2014-01-06 Thread Omar@Gmail
Thanks Stephen,

What you suggest sounds like good practice (not sure why though) however
not a fix for my issue.

The fix is as follows: - somehow your response inspired me :)

In the pom.xml file of the custom plugin there is a plugin configured
maven-plugin-plugin in that plugin add configuration

goalPrefixpce/goalPrefix

I then installed the plugin and I tried mvn pce:pull and that worked fine.
Job done.



On 6 January 2014 12:44, Stephen Connolly
stephen.alan.conno...@gmail.comwrote:

 On 6 January 2014 12:40, Omar@Gmail omarnet...@googlemail.com wrote:

  I have written my own maven mojo plugin and wish to use the truncated
 name
  instead of the long name to invoke it, like so:
 
  Instead of
  mvn org.apache.maven.plugins:maven-pce-plugin:pull
 
  I want use:
 
  mvn pce:pull
 
  But even though I put it under group 'org.apache.maven.plugins' and named
  it maven-pce-plugin I still get error message:
 

 No don't put it there... you don't own that group Id.

 Put it in your own groupId and then in your settings.xml just add your
 group Id as the pluginGroups
 http://maven.apache.org/settings.html#Plugin_Groups


  No plugin found for prefix 'pce' in the current project and in the plugin
  groups [*org.apache.maven.plugins*, org.codehaus.mojo] available from the
  repositories [local (C:\Users\omar\.m2\repository), central (
  http://repo.maven.apache.org/maven2)]
 
  What am I doing wrong? thanks for the help.
 



Re: Armed with a collection of Artifacts, what is the Maven Way™ to resolve them?

2014-01-06 Thread Laird Nelson
On Mon, Jan 6, 2014 at 1:05 AM, Baptiste Mathus bmat...@batmat.net wrote:

 Does

 http://svn.codehaus.org/mojo/trunk/mojo/extra-enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractResolveDependencies.java
 help you?


Yes; I see that it uses maven-artifact-resolver.  If indeed the
ArtifactResolver class from version 2.1 of maven-artifact-resolver is the
way to go, won't be deprecated, handles the Eclipse/Sonatype Aether split
transparently, etc. then that's what I'll use.  Thanks!

Best,
Laird

-- 
http://about.me/lairdnelson


Re: Armed with a collection of Artifacts, what is the Maven Way™ to resolve them?

2014-01-06 Thread Laird Nelson
On Mon, Jan 6, 2014 at 5:44 AM, Laird Nelson ljnel...@gmail.com wrote:

 On Mon, Jan 6, 2014 at 1:05 AM, Baptiste Mathus bmat...@batmat.netwrote:

 Does

 http://svn.codehaus.org/mojo/trunk/mojo/extra-enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractResolveDependencies.java
 help you?


 Yes; I see that it uses maven-artifact-resolver.  If indeed the
 ArtifactResolver class from version 2.1 of maven-artifact-resolver is the
 way to go, won't be deprecated, handles the Eclipse/Sonatype Aether split
 transparently, etc. then that's what I'll use.  Thanks!


(Meant to say maven-artifact-resolver version 1.0.)

Best,
Laird

-- 
http://about.me/lairdnelson


Re: Maven Central Opinion

2014-01-06 Thread Ron Wheeler
I am assuming that you are putting this in Central so I can easily use 
it without having to worry about the effect on my build process or 
without having to get into your sources and dependencies to build my app 
and I have appropriate license agreements included so I know what I am 
incorporating into my app.


In that case, I would like you to follow the Maven Best Practices for 
deploying to Central.


Using the Release plug-in may save you some steps if you do not already 
have a private repo for releasing software internally.
It seems to me that if you are already releasing to your own repo 
prior to trying to upload it to Central, you are probably going to find 
that the Release plug-in is not the best practice.
We would be in the same situation if we ever decided to put some of our 
utilities into Maven Central. We have already done the release and our 
SCM is in the state in which we want it.
We would probably have to look at our parent POM/child POM structure to 
be sure that it met Maven Central requirements.


I think that you did the right thing by raising your concerns here and I 
think that you got some very good advice and concrete suggestions.


This is a very good group that is usually well-mannered when approached 
in the way that you did.
You were very clear about what you wanted to do and you raised very 
specified issues that you wanted to discuss.
You also reacted to the advice in a positive way that encouraged a 
factual discussion rather than a personal attack.


Ron

On 06/01/2014 7:49 AM, Tommy Svensson wrote:

Hello again,

OK, I suspected that I get a lot of replies on this :-).

 From experience in other forums I also expected to have people tell me to go 
screw myself, but that has not happened. There are apparently only 
professionals here! That said, there some very good replies and explanations 
but also some I do react to.

I'll start with the latter. The arguments about quality I just don't buy. We are only 
talking poms here. Whatever is in the poms says nothing about the quality of the software 
itself. What is really bothering me however is the argument that if you don't have your 
things in the way we think they should be, you are not serious enough. It hasn't been 
said straight out but implied. The word that pops into my head here is 
Moralizing! I take my work very seriously and I take my open source work even 
more seriously (since in that case I'm allowed the time for it :-)). That if I have one 
file that is not up to someones liking I'm not taking releasing of my software seriously 
is just absurd.
___

 From one of the replies:

As I said in a previous message, deploying to the remote repo is just a
matter of mvn deploy, using either the maven-deploy-plugin (by default)
or the nexus-staging-maven-plugin.

That is good, that is how easy it should be!


You'll have to configure the GPG plugin to sign your artifacts though, as
it's a requirement to deploy to Central.

No problem!

I'm going to go though the documentation again and solve the easy way to do 
it :-).  And If I can't find a page that explains this clearly I will create such! I have 
gotten very much information here to go on.

Someone also pointed out that local webserver repositories are good enough for 
small projects. I basically agree with that. I only considered maven central 
since someone asked me. But it is easier to have things in central and not have to add 
multiple repository specifications in your pom/settings. OK, you can use nexus to merge 
several repositories into one and then use that. But if submission to central can be made 
easy then it is worth to do it. Software does not have to be large apache projects to be 
useful. There are some truly useful software out there that comes from single individuals.


Here is my view of how I would want a maven repository to be:

- No requirements of javadoc or sources. If you want to include those, no 
problem, but if you don't  it is up to you. Personally I like to have sources 
available in the repository for the third party software I'm using so I would 
also submit sources to my software, but that is entirely up to me.

- Tags on submitted software (not required - can be empty).

- Searchable data in addition to group and artifact:
   - Tags
   - Descriptions

- A browsable (navigable) web gui, not just searches.

- A standardized documentation zip containing PDFs and/or markdown.

- Quality indication:
   - The possibility to star artifacts just like you can star repos in github. 
Also for group level.
   - Download statistics (filtered on ip-address, multiple downloads from the 
same ip-address only count as one).
   - A quality value based on these two as sorting order for search results.

- When an artifact or group is selected in the web gui the following should be 
displayed:
   - Dependency tags for the artifact (obviously :-))
   - Pom information like description, web url, developers, scm url, etc.
   - Stars and 

short and snappy description of what Maven is

2014-01-06 Thread Lyons, Roy
on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it says:

We need a short and snappy description of what Maven is:

Apache Maven is a software project management and comprehension tool.

Is just not an easy to understand description of what Maven is.




I would like to submit my short description for review.

Apache Maven is a convention-over-configuration build tool which has great 
dependency management features.

I know that it does more than that - but I feel that at its core, this is what 
it really is.

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



Having problem with Maven and POM file

2014-01-06 Thread jacqueline George
I running a test using intelliJ13 and it would not run I did a mvn clean
test and got the following results (see video)
https://www.dropbox.com/s/44geyj4bhthi8mb/Pom%20File%20problem%20in%20maven.
mp4

 

How do I fix this. 

 

Speak soon 

 

Jacqueline George 



Re: short and snappy description of what Maven is

2014-01-06 Thread Russell Gold
Of course, you could say that about Gradle, too. And ant now does have the 
ability to use those dependency features.

I went through this when creating my video course (not in the sig because this 
is work email). It’s not clear to me that you can make a one sentence 
description that will provide sufficiently useful information unless something 
like:

Maven is a build tool which consumes and produces artifacts managed in a 
repository.

But that is not going to help people coming new to the project.

I think I am missing the motivation here.Is the target for this description 
people deciding whether to try Maven? People trying to learn how to use it?

On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.com wrote:

 on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it says:
 
 We need a short and snappy description of what Maven is:
 
 Apache Maven is a software project management and comprehension tool.
 
 Is just not an easy to understand description of what Maven is.
 
 
 
 
 I would like to submit my short description for review.
 
 Apache Maven is a convention-over-configuration build tool which has great 
 dependency management features.
 
 I know that it does more than that - but I feel that at its core, this is 
 what it really is.
 
 -
 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



RE: short and snappy description of what Maven is

2014-01-06 Thread Richard Sand
When people ask me what Maven is, I tell them it's a build and library
management tool. If I take it a  step further I explain it manages library
and dependency versions akin to how SCM systems manage source code. It's
not a perfect analogy but I find it works for a lay description.

Richard Sand | CEO
IDF Connect, Inc.
2207 Concord Ave, #359
Wilmington | Delaware 19803 | USA
Office: +1 888 765 1611 | Fax: +1 866 765 7284
Mobile: +1 267 984 3651


-Original Message-
From: Russell Gold [mailto:russell.g...@oracle.com]
Sent: Monday, January 06, 2014 12:57 PM
To: Maven Users List
Subject: Re: short and snappy description of what Maven is

Of course, you could say that about Gradle, too. And ant now does have the
ability to use those dependency features.

I went through this when creating my video course (not in the sig because
this is work email). It's not clear to me that you can make a one sentence
description that will provide sufficiently useful information unless
something like:

Maven is a build tool which consumes and produces artifacts managed in a
repository.

But that is not going to help people coming new to the project.

I think I am missing the motivation here.Is the target for this
description people deciding whether to try Maven? People trying to learn
how to use it?

On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.com wrote:

 on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it
says:

 We need a short and snappy description of what Maven is:

 Apache Maven is a software project management and comprehension tool.

 Is just not an easy to understand description of what Maven is.




 I would like to submit my short description for review.

 Apache Maven is a convention-over-configuration build tool which has
great dependency management features.

 I know that it does more than that - but I feel that at its core, this
is what it really is.

 -
 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

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



Re: short and snappy description of what Maven is

2014-01-06 Thread Stephen Connolly
The goal is to put this on the front page so that people know enough to
decide if they need/want to dig deeper

On Monday, 6 January 2014, Russell Gold wrote:

 Of course, you could say that about Gradle, too. And ant now does have the
 ability to use those dependency features.

 I went through this when creating my video course (not in the sig because
 this is work email). It’s not clear to me that you can make a one sentence
 description that will provide sufficiently useful information unless
 something like:

 Maven is a build tool which consumes and produces artifacts managed in a
 repository.

 But that is not going to help people coming new to the project.

 I think I am missing the motivation here.Is the target for this
 description people deciding whether to try Maven? People trying to learn
 how to use it?

 On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.comjavascript:;
 wrote:

  on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it
 says:
 
  We need a short and snappy description of what Maven is:
 
  Apache Maven is a software project management and comprehension tool.
 
  Is just not an easy to understand description of what Maven is.
 
 
 
 
  I would like to submit my short description for review.
 
  Apache Maven is a convention-over-configuration build tool which has
 great dependency management features.
 
  I know that it does more than that - but I feel that at its core, this
 is what it really is.
 
  -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.orgjavascript:;
  For additional commands, e-mail: users-h...@maven.apache.orgjavascript:;
 


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



-- 
Sent from my phone


Re: short and snappy description of what Maven is

2014-01-06 Thread Robert Kuropkat


The mention of convention over configuration really is key.  The biggest 
problem I see when people switch from Ant to Maven is they really don't 
want to buy into the convention philosophy.  Even if they are willing to 
do so, their project usually is not laid out in a complimentary way and 
it is likely they do not manage third party libraries outside the 
context of the project (ie. a nexus/artifactory repo).   Because of 
this, they either waste a lot of time trying to contort Maven into 
working like Ant, or they spend much more time than anticipated 
re-arranging their projects and weaving the idea of jar repo into their 
processes and infrastructure, neither of which leaves people with a 
happy experience.


As a few others have mentioned, the features and goals of the various 
build tools are nearly the same.  It's the driving philosophy that makes 
the difference.  Understanding that it is more of a philosophical 
comparison/change rather than just a tool/feature comparison I think is 
critical to people starting up with Maven with proper expectations.


Robert Kuropkat


On 01/06/2014 12:43 PM, Lyons, Roy wrote:

on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it says:

We need a short and snappy description of what Maven is:

Apache Maven is a software project management and comprehension tool.

Is just not an easy to understand description of what Maven is.




I would like to submit my short description for review.

Apache Maven is a convention-over-configuration build tool which has great 
dependency management features.

I know that it does more than that - but I feel that at its core, this is what 
it really is.

-
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



Re: short and snappy description of what Maven is

2014-01-06 Thread Ron Wheeler

I think that the target has to be people deciding whether to try Maven.
They initially want to know what it does and why it is better than Ant 
or whatever they are using now.


Trying to teach Maven in a single sentence is too much to ask.

Maven is a build tool which consumes and produces artifacts managed in 
a repository. doesn't sound like it will help build my application.

At the start, one doesn't have any artifacts or own a repository.

Apache Maven is a convention-over-configuration build tool which has 
great dependency management features. is pretty clear for a single 
sentence description and it true.

Maybe we can come up with a follow-up sentence to amplify/explain this one.
Most programmers or project managers should be able to find the time to 
read 2 or maybe 3 sentences before deciding on a build tool.
As long as each sentence draws the person deeper into Maven, that would 
work.


Ron


On 06/01/2014 12:57 PM, Russell Gold wrote:

Of course, you could say that about Gradle, too. And ant now does have the 
ability to use those dependency features.

I went through this when creating my video course (not in the sig because this 
is work email). It’s not clear to me that you can make a one sentence 
description that will provide sufficiently useful information unless something 
like:

Maven is a build tool which consumes and produces artifacts managed in a 
repository.

But that is not going to help people coming new to the project.

I think I am missing the motivation here.Is the target for this description 
people deciding whether to try Maven? People trying to learn how to use it?

On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.com wrote:


on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it says:

We need a short and snappy description of what Maven is:

Apache Maven is a software project management and comprehension tool.

Is just not an easy to understand description of what Maven is.




I would like to submit my short description for review.

Apache Maven is a convention-over-configuration build tool which has great 
dependency management features.

I know that it does more than that - but I feel that at its core, this is what 
it really is.

-
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





--
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



Re: short and snappy description of what Maven is

2014-01-06 Thread Stephen Connolly
On Monday, 6 January 2014, Ron Wheeler wrote:

 I think that the target has to be people deciding whether to try Maven.
 They initially want to know what it does and why it is better than Ant or
 whatever they are using now.

 Trying to teach Maven in a single sentence is too much to ask.

 Maven is a build tool which consumes and produces artifacts managed in a
 repository. doesn't sound like it will help build my application.
 At the start, one doesn't have any artifacts or own a repository.

 Apache Maven is a convention-over-configuration build tool which has
 great dependency management features.


I think we should hint at the descriptive philosophy rather than the
procedural philosophy most tools take


 is pretty clear for a single sentence description and it true.
 Maybe we can come up with a follow-up sentence to amplify/explain this one.
 Most programmers or project managers should be able to find the time to
 read 2 or maybe 3 sentences before deciding on a build tool.
 As long as each sentence draws the person deeper into Maven, that would
 work.


Yes that is the idea



 Ron


 On 06/01/2014 12:57 PM, Russell Gold wrote:

 Of course, you could say that about Gradle, too. And ant now does have
 the ability to use those dependency features.

 I went through this when creating my video course (not in the sig because
 this is work email). It’s not clear to me that you can make a one sentence
 description that will provide sufficiently useful information unless
 something like:

 Maven is a build tool which consumes and produces artifacts managed in a
 repository.

 But that is not going to help people coming new to the project.

 I think I am missing the motivation here.Is the target for this
 description people deciding whether to try Maven? People trying to learn
 how to use it?

 On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.com wrote:

  on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it
 says:

 We need a short and snappy description of what Maven is:

 Apache Maven is a software project management and comprehension tool.

 Is just not an easy to understand description of what Maven is.




 I would like to submit my short description for review.

 Apache Maven is a convention-over-configuration build tool which has
 great dependency management features.

 I know that it does more than that - but I feel that at its core, this
 is what it really is.

 -
 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




 --
 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



-- 
Sent from my phone


Re: short and snappy description of what Maven is

2014-01-06 Thread Russell Gold
Several sentences sounds good. But here’s another question. Comparing Maven to 
ant is almost too easy in terms of advantages. Is gradle now a serious 
competitor (I had been working on converting an enormous project to maven, but 
the architect decided to switch to gradle, so I am particularly sensitive to 
the issue). I can see some superficial advantages of gradle that might appeal 
to some projects. Is it better to ignore or address this?

On Jan 6, 2014, at 3:02 PM, Stephen Connolly stephen.alan.conno...@gmail.com 
wrote:

 On Monday, 6 January 2014, Ron Wheeler wrote:
 
 I think that the target has to be people deciding whether to try Maven.
 They initially want to know what it does and why it is better than Ant or
 whatever they are using now.
 
 Trying to teach Maven in a single sentence is too much to ask.
 
 Maven is a build tool which consumes and produces artifacts managed in a
 repository. doesn't sound like it will help build my application.
 At the start, one doesn't have any artifacts or own a repository.
 
 Apache Maven is a convention-over-configuration build tool which has
 great dependency management features.
 
 
 I think we should hint at the descriptive philosophy rather than the
 procedural philosophy most tools take
 
 
 is pretty clear for a single sentence description and it true.
 Maybe we can come up with a follow-up sentence to amplify/explain this one.
 Most programmers or project managers should be able to find the time to
 read 2 or maybe 3 sentences before deciding on a build tool.
 As long as each sentence draws the person deeper into Maven, that would
 work.
 
 
 Yes that is the idea
 
 
 
 Ron
 
 
 On 06/01/2014 12:57 PM, Russell Gold wrote:
 
 Of course, you could say that about Gradle, too. And ant now does have
 the ability to use those dependency features.
 
 I went through this when creating my video course (not in the sig because
 this is work email). It’s not clear to me that you can make a one sentence
 description that will provide sufficiently useful information unless
 something like:
 
 Maven is a build tool which consumes and produces artifacts managed in a
 repository.
 
 But that is not going to help people coming new to the project.
 
 I think I am missing the motivation here.Is the target for this
 description people deciding whether to try Maven? People trying to learn
 how to use it?
 
 On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.com wrote:
 
 on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it
 says:
 
 We need a short and snappy description of what Maven is:
 
 Apache Maven is a software project management and comprehension tool.
 
 Is just not an easy to understand description of what Maven is.
 
 
 
 
 I would like to submit my short description for review.
 
 Apache Maven is a convention-over-configuration build tool which has
 great dependency management features.
 
 I know that it does more than that - but I feel that at its core, this
 is what it really is.
 
 -
 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
 
 
 
 
 --
 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
 
 
 
 -- 
 Sent from my phone


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



Re: short and snappy description of what Maven is

2014-01-06 Thread Ron Wheeler

On 06/01/2014 3:08 PM, Russell Gold wrote:

Several sentences sounds good. But here’s another question. Comparing Maven to 
ant is almost too easy in terms of advantages. Is gradle now a serious 
competitor (I had been working on converting an enormous project to maven, but 
the architect decided to switch to gradle, so I am particularly sensitive to 
the issue). I can see some superficial advantages of gradle that might appeal 
to some projects. Is it better to ignore or address this?


The more that can be said to relate Maven to what the reader already 
knows or is considering, the more useful the paragraph.
There is no reason why the following paragraphs could not point deeper 
into the documentation for comparisons with Ant or Gradle.
I would suggest that the first paragraph not include links so that the 
reader can at least get through one clear section before starting to 
jump around and get carried off into the world of hyperlinks.


Ron


On Jan 6, 2014, at 3:02 PM, Stephen Connolly stephen.alan.conno...@gmail.com 
wrote:


On Monday, 6 January 2014, Ron Wheeler wrote:


I think that the target has to be people deciding whether to try Maven.
They initially want to know what it does and why it is better than Ant or
whatever they are using now.

Trying to teach Maven in a single sentence is too much to ask.

Maven is a build tool which consumes and produces artifacts managed in a
repository. doesn't sound like it will help build my application.
At the start, one doesn't have any artifacts or own a repository.

Apache Maven is a convention-over-configuration build tool which has
great dependency management features.


I think we should hint at the descriptive philosophy rather than the
procedural philosophy most tools take



is pretty clear for a single sentence description and it true.
Maybe we can come up with a follow-up sentence to amplify/explain this one.
Most programmers or project managers should be able to find the time to
read 2 or maybe 3 sentences before deciding on a build tool.
As long as each sentence draws the person deeper into Maven, that would
work.


Yes that is the idea



Ron


On 06/01/2014 12:57 PM, Russell Gold wrote:


Of course, you could say that about Gradle, too. And ant now does have
the ability to use those dependency features.

I went through this when creating my video course (not in the sig because
this is work email). It’s not clear to me that you can make a one sentence
description that will provide sufficiently useful information unless
something like:

Maven is a build tool which consumes and produces artifacts managed in a
repository.

But that is not going to help people coming new to the project.

I think I am missing the motivation here.Is the target for this
description people deciding whether to try Maven? People trying to learn
how to use it?

On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.com wrote:

on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it

says:

We need a short and snappy description of what Maven is:

Apache Maven is a software project management and comprehension tool.

Is just not an easy to understand description of what Maven is.




I would like to submit my short description for review.

Apache Maven is a convention-over-configuration build tool which has
great dependency management features.

I know that it does more than that - but I feel that at its core, this
is what it really is.





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



Re: short and snappy description of what Maven is

2014-01-06 Thread Russell Gold
I missed this earlier - I agree. The biggest advantage I find with Maven over 
tools that have adopted its dependency management philosophy is that every 
build essentially follows a predictable pattern, rather than being free form. A 
new developer automatically knows how to invoke it. That is most definitely not 
guaranteed to be true with any other build system that I know of.

So something like: 

Maven is a build tool which not only simplifies the common tasks of defining a 
build, but also makes it easy for new developers to know how to use the created 
build.

On Jan 6, 2014, at 3:02 PM, Stephen Connolly stephen.alan.conno...@gmail.com 
wrote:

 I think we should hint at the descriptive philosophy rather than the
 procedural philosophy most tools take


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



Is Gradle a competitor to Maven?

2014-01-06 Thread Curtis Rueden
Hi Russell,

Russell Gold wrote:
 Is gradle now a serious competitor (I had been working on converting
 an enormous project to maven, but the architect decided to switch to
 gradle, so I am particularly sensitive to the issue). I can see some
 superficial advantages of gradle that might appeal to some projects.
 Is it better to ignore or address this?

Software architects are faced with a choice between Maven or Gradle (or
other systems) when structuring their projects. So I would definitely call
them competitors.

I am currently in a similar situation to yours, in that the architect of
one of the large development teams with which I collaborate prefers Gradle
to Maven, and is planning to switch to it rather than Maven itself. Members
of that team have a stated dislike Maven's our way or the highway
approach to builds, and believe Gradle offers most of Maven's benefits
without Maven's (perceived) inflexibility. Gradle produces Maven-compatible
artifacts, so this decision is not the end of the world.

However, see this thread:
http://mail-archives.apache.org/mod_mbox/maven-users/201209.mbox/%3cb8d164bed956c5439875951895cb4b220eee1...@waboth9msgusr8c.itservices.sbc.com%3E

I agree with the OP's assessment:
 One of the disadvantages of Gradle is the same as Ant, which is that
 it's very easy to have two people do similar things in a completely
 different way.  Gradle makes it easier to reuse things, but it doesn't
 seem like it nudges you that hard in that direction.

So even if Gradle is more beautiful and/or succinct (I wish Maven POMs
supported JSON!), I personally like the standardization that Maven brings
to the table, especially after having designed relatively complex build
systems in Ant and then getting stuck maintaining them for many years.
Maven does everything (and much more! extensibly!) that my custom build
system does, largely in a much better way, without reinventing the wheel,
and hence without new developers suffering another learning curve.

Regards,
Curtis


On Mon, Jan 6, 2014 at 2:08 PM, Russell Gold russell.g...@oracle.comwrote:

 Several sentences sounds good. But here’s another question. Comparing
 Maven to ant is almost too easy in terms of advantages. Is gradle now a
 serious competitor (I had been working on converting an enormous project to
 maven, but the architect decided to switch to gradle, so I am particularly
 sensitive to the issue). I can see some superficial advantages of gradle
 that might appeal to some projects. Is it better to ignore or address this?

 On Jan 6, 2014, at 3:02 PM, Stephen Connolly 
 stephen.alan.conno...@gmail.com wrote:

  On Monday, 6 January 2014, Ron Wheeler wrote:
 
  I think that the target has to be people deciding whether to try Maven.
  They initially want to know what it does and why it is better than Ant
 or
  whatever they are using now.
 
  Trying to teach Maven in a single sentence is too much to ask.
 
  Maven is a build tool which consumes and produces artifacts managed in
 a
  repository. doesn't sound like it will help build my application.
  At the start, one doesn't have any artifacts or own a repository.
 
  Apache Maven is a convention-over-configuration build tool which has
  great dependency management features.
 
 
  I think we should hint at the descriptive philosophy rather than the
  procedural philosophy most tools take
 
 
  is pretty clear for a single sentence description and it true.
  Maybe we can come up with a follow-up sentence to amplify/explain this
 one.
  Most programmers or project managers should be able to find the time to
  read 2 or maybe 3 sentences before deciding on a build tool.
  As long as each sentence draws the person deeper into Maven, that would
  work.
 
 
  Yes that is the idea
 
 
 
  Ron
 
 
  On 06/01/2014 12:57 PM, Russell Gold wrote:
 
  Of course, you could say that about Gradle, too. And ant now does have
  the ability to use those dependency features.
 
  I went through this when creating my video course (not in the sig
 because
  this is work email). It’s not clear to me that you can make a one
 sentence
  description that will provide sufficiently useful information unless
  something like:
 
  Maven is a build tool which consumes and produces artifacts managed
 in a
  repository.
 
  But that is not going to help people coming new to the project.
 
  I think I am missing the motivation here.Is the target for this
  description people deciding whether to try Maven? People trying to
 learn
  how to use it?
 
  On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.com
 wrote:
 
  on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it
  says:
 
  We need a short and snappy description of what Maven is:
 
  Apache Maven is a software project management and comprehension
 tool.
 
  Is just not an easy to understand description of what Maven is.
 
 
 
 
  I would like to submit my short description for review.
 
  Apache Maven is a convention-over-configuration build 

Two Resource Files In Same Dir ... One Having Property Replaced, Another Does Not

2014-01-06 Thread adilaijaz
Hi there,

I have two resource files in the same dir: a.job and b.job. They have the
following line in both of them:

snip
mongo.home=${mongo.cli.home}
/snip

where mongo.cli.home is a property defined in a filter file.

When I run clean package, a.job gets filtered, the other does not. This is
baffling to me. 

When running mvn -X -P staging resources:resources I see this curtailed
output:

[DEBUG] file a.job has a filtered file extension
[DEBUG] filering /Users/adilaijaz/workspace/apps/target/jobs/a.job to
/Users/adilaijaz/workspace/apps/target/classes/jobs/a.job
[DEBUG] file b.job has a filtered file extension
[DEBUG] filering /Users/adilaijaz/workspace/apps/target/jobs/b.job to
/Users/adilaijaz/workspace/apps/target/classes/jobs/b.job

When I look at filtered a.job, I see this output:

snip
mongo.home=/opt/mongo
/snip

And b.job looks like:

snip
mongo.home=${mongo.cli.home}
/snip

I am stumped. Any pointers will be helpful. I am using the following version
of maven:

[adilaijaz@ ~/workspace]$ mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 09:31:09-0800)
Maven home: /usr/share/maven
Java version: 1.6.0_41, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: mac os x, version: 10.8.2, arch: x86_64, family: mac



--
View this message in context: 
http://maven.40175.n5.nabble.com/Two-Resource-Files-In-Same-Dir-One-Having-Property-Replaced-Another-Does-Not-tp5780640.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



[ANN] Apache Maven Shared Jarsigner 1.3.1 Released

2014-01-06 Thread Tony Chemit
The Maven team is pleased to announce the release of the Apache Maven 
Jarsigner,  
version 1.3.1

This component provides some utilities to sign/verify jars/files in your Mojos.

http://maven.apache.org/shared/maven-jarsigner/

To use the Maven Jarsigner, add the following dependency to your project:

   dependency
 groupIdorg.apache.maven.shared/groupId
 artifactIdmaven-jarsigner/artifactId
 version1.3.1/version
   /dependency

Release Notes - Maven Shared Components - Version maven-jarsigner-1.3.1

** Bug
* [MSHARED-315] - Unsign jars are still not ok

Enjoy,

-The Maven team

tony.


-- 
Tony Chemit

tél: +33 (0) 2 40 50 29 28
http://www.codelutin.com
email: che...@codelutin.com
twitter: https://twitter.com/tchemit

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



[ANN] Maven Jarsigner Plugin 1.3.1 Released

2014-01-06 Thread Tony Chemit
The Maven team is pleased to announce the release of the Maven Jarsigner
Plugin, version 1.3.1.

This plugin signs and verifies the project artifacts using the jarsigner
tool. See the plugin's site for more details:

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

This plugin is meant to supercede the existing jar:sign and
jar:verify goals from the Maven Jar Plugin which will be deprecated
in a future release.

To use the updated plugin in your projects, you need to add the 
following snippet to the plugins or plugin management section of your POM:

plugin
  groupIdorg.apache.maven.plugins/groupId
  artifactIdmaven-jarsigner-plugin/artifactId
  version1.3.1/version
  executions
...
  /executions
/plugin

Release Notes - Maven Jar Signer Plugin - Version 1.3.1

** Bug
* [MJARSIGNER-33] - Sign already signed jar still does not work

Enjoy,

The Maven team.

-- 
Tony Chemit

tél: +33 (0) 2 40 50 29 28
http://www.codelutin.com
email: che...@codelutin.com
twitter: https://twitter.com/tchemit

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



[ANN] Maven Jarsigner Plugin 1.3.1 Released

2014-01-06 Thread Tony Chemit
The Maven team is pleased to announce the release of the Maven Jarsigner
Plugin, version 1.3.1.

This plugin signs and verifies the project artifacts using the jarsigner
tool. See the plugin's site for more details:

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

This plugin is meant to supercede the existing jar:sign and
jar:verify goals from the Maven Jar Plugin which will be deprecated
in a future release.

To use the updated plugin in your projects, you need to add the 
following snippet to the plugins or plugin management section of your POM:

plugin
  groupIdorg.apache.maven.plugins/groupId
  artifactIdmaven-jarsigner-plugin/artifactId
  version1.3.1/version
  executions
...
  /executions
/plugin

Release Notes - Maven Jar Signer Plugin - Version 1.3.1

** Bug
* [MJARSIGNER-33] - Sign already signed jar still does not work

Enjoy,

The Maven team.

-- 
Tony Chemit

tél: +33 (0) 2 40 50 29 28
http://www.codelutin.com
email: che...@codelutin.com
twitter: https://twitter.com/tchemit

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



Maven Jarsigner plugin vs Apache Maven Shared Jarsigner

2014-01-06 Thread Alejandro . Endo
Can someone explain what is the difference between these two plugins. 
Based on the description, they do the same

This plugin signs and verifies the project artifacts using the jarsigner
tool. See the plugin's site for more details:
vs
This component provides some utilities to sign/verify jars/files in your 
Mojos.

What I am actually looking for is a way in maven to UNsign jars. In the 
release notes of maven shared jarsigner i see a fixed bug [MSHARED-314] 
- Unsigning a jar is not correct
This gives me hope that there is already a way to unsign jars but i can't 
find how to do it


Thank you,
Alejandro Endo | Software Designer/Concepteur de logiciels

DISCLAIMER:
Privileged and/or Confidential information may be contained in this
message. If you are not the addressee of this message, you may not
copy, use or deliver this message to anyone. In such event, you
should destroy the message and kindly notify the sender by reply
e-mail. It is understood that opinions or conclusions that do not
relate to the official business of the company are neither given
nor endorsed by the company.
Thank You.


Re: Maven Jarsigner plugin vs Apache Maven Shared Jarsigner

2014-01-06 Thread Alejandro . Endo
Ok, forget about the first question. I get know what is meant by shared. 
i usually call this common so i missed it.
But still, the second question remains: how to just clear all signatures 
from a jar. The removeExistingSignatures parameter states that the 
resulting JAR will appear as being signed only once.  whereas i just want 
to remove any existing signature

Alejandro Endo | Software Designer/Concepteur de logiciels




From:   Alejandro Endo/MontrealMIR/BeldenCDT
To: users@maven.apache.org, 
Date:   2014-01-06 03:58 PM
Subject:Maven Jarsigner plugin vs Apache Maven Shared Jarsigner


Can someone explain what is the difference between these two plugins. 
Based on the description, they do the same

This plugin signs and verifies the project artifacts using the jarsigner
tool. See the plugin's site for more details:
vs
This component provides some utilities to sign/verify jars/files in your 
Mojos.

What I am actually looking for is a way in maven to UNsign jars. In the 
release notes of maven shared jarsigner i see a fixed bug [MSHARED-314] 
- Unsigning a jar is not correct
This gives me hope that there is already a way to unsign jars but i can't 
find how to do it


Thank you,
Alejandro Endo | Software Designer/Concepteur de logiciels


DISCLAIMER:
Privileged and/or Confidential information may be contained in this
message. If you are not the addressee of this message, you may not
copy, use or deliver this message to anyone. In such event, you
should destroy the message and kindly notify the sender by reply
e-mail. It is understood that opinions or conclusions that do not
relate to the official business of the company are neither given
nor endorsed by the company.
Thank You.


Re: short and snappy description of what Maven is

2014-01-06 Thread Stephen Connolly
I don't want a religious war. If Gradle or ANT are a better fit for the way
some people think about building software... well good for them... and the
faster we can help them realise that Maven takes a different tack the
better.

I happen to believe that the power of Maven comes from being model driven
rather than procedural, which ultimately allows for a richer IDE
experience, but consequently you lose some flexibility in your build
process. It is a tradeoff I happen to like the Maven balance of, but I am
not so arrogant to presume that Maven's balance suits everyone.

The Maven repository has grown beyond just Maven, so that is no longer a
key differentiator for Maven.

The differentiator is in the declarative build rather than procedural
build...

With Ant you have a mostly pure procedural build.

With Maven you have a mostly pure declarative build.

With Gradle you have a hodge-podge mix of both.

(By declarative, I mean packagingjar/packaging is all I need to
declare, maven knows how everything fits into that)

So let's let others go to the tools that suit their tastes, and the faster
that we help them there, the less bitching about how Maven is crap
(because it doesn't suit my taste) we will hear.

It's like marmite: you either love it or hate it!


On 6 January 2014 20:08, Russell Gold russell.g...@oracle.com wrote:

 Several sentences sounds good. But here’s another question. Comparing
 Maven to ant is almost too easy in terms of advantages. Is gradle now a
 serious competitor (I had been working on converting an enormous project to
 maven, but the architect decided to switch to gradle, so I am particularly
 sensitive to the issue). I can see some superficial advantages of gradle
 that might appeal to some projects. Is it better to ignore or address this?

 On Jan 6, 2014, at 3:02 PM, Stephen Connolly 
 stephen.alan.conno...@gmail.com wrote:

  On Monday, 6 January 2014, Ron Wheeler wrote:
 
  I think that the target has to be people deciding whether to try Maven.
  They initially want to know what it does and why it is better than Ant
 or
  whatever they are using now.
 
  Trying to teach Maven in a single sentence is too much to ask.
 
  Maven is a build tool which consumes and produces artifacts managed in
 a
  repository. doesn't sound like it will help build my application.
  At the start, one doesn't have any artifacts or own a repository.
 
  Apache Maven is a convention-over-configuration build tool which has
  great dependency management features.
 
 
  I think we should hint at the descriptive philosophy rather than the
  procedural philosophy most tools take
 
 
  is pretty clear for a single sentence description and it true.
  Maybe we can come up with a follow-up sentence to amplify/explain this
 one.
  Most programmers or project managers should be able to find the time to
  read 2 or maybe 3 sentences before deciding on a build tool.
  As long as each sentence draws the person deeper into Maven, that would
  work.
 
 
  Yes that is the idea
 
 
 
  Ron
 
 
  On 06/01/2014 12:57 PM, Russell Gold wrote:
 
  Of course, you could say that about Gradle, too. And ant now does have
  the ability to use those dependency features.
 
  I went through this when creating my video course (not in the sig
 because
  this is work email). It’s not clear to me that you can make a one
 sentence
  description that will provide sufficiently useful information unless
  something like:
 
  Maven is a build tool which consumes and produces artifacts managed
 in a
  repository.
 
  But that is not going to help people coming new to the project.
 
  I think I am missing the motivation here.Is the target for this
  description people deciding whether to try Maven? People trying to
 learn
  how to use it?
 
  On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.com
 wrote:
 
  on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it
  says:
 
  We need a short and snappy description of what Maven is:
 
  Apache Maven is a software project management and comprehension
 tool.
 
  Is just not an easy to understand description of what Maven is.
 
 
 
 
  I would like to submit my short description for review.
 
  Apache Maven is a convention-over-configuration build tool which has
  great dependency management features.
 
  I know that it does more than that - but I feel that at its core, this
  is what it really is.
 
  -
  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
 
 
 
 
  --
  Ron Wheeler
  President
  Artifact Software Inc
  email: rwhee...@artifact-software.com
  skype: ronaldmwheeler
  phone: 866-970-2435, ext 102
 
 
  

Re: Maven Jarsigner plugin vs Apache Maven Shared Jarsigner

2014-01-06 Thread Stephen Connolly
maven-jarsigner-plugin is a plugin

apache maven shared jarsigner is the common dependency that is used by the
plugin... because signing jars is something that other plugins may want to
do, this dependency provides an API to do that signing


On 6 January 2014 20:56, alejandro.e...@miranda.com wrote:

 Can someone explain what is the difference between these two plugins.
 Based on the description, they do the same

 This plugin signs and verifies the project artifacts using the jarsigner
 tool. See the plugin's site for more details:
 vs
 This component provides some utilities to sign/verify jars/files in your
 Mojos.

 What I am actually looking for is a way in maven to UNsign jars. In the
 release notes of maven shared jarsigner i see a fixed bug [MSHARED-314]
 - Unsigning a jar is not correct
 This gives me hope that there is already a way to unsign jars but i can't
 find how to do it


 Thank you,
 Alejandro Endo | Software Designer/Concepteur de logiciels

 DISCLAIMER:
 Privileged and/or Confidential information may be contained in this
 message. If you are not the addressee of this message, you may not
 copy, use or deliver this message to anyone. In such event, you
 should destroy the message and kindly notify the sender by reply
 e-mail. It is understood that opinions or conclusions that do not
 relate to the official business of the company are neither given
 nor endorsed by the company.
 Thank You.



Re: Maven Central Opinion

2014-01-06 Thread JBaruch
Hi Tommy et al,

here's another option for you:

You can leverage bintray.com to sync to Maven Central from there. For
starter, you'll just get your artifacts to Maven Central in more sane way -
no parent poms, no maven-release-plugin, no 20 pages guides. Just get your
artifacts to Bintray, include them in the JCenter repo (which is a superset
of central, btw), and voila, once your pom is good (all the needed tags
like description, developers, etc), your artifacts are in Central. But
that's just a start. You'll probably discover some nice features of Bintray
by its own merit - near real-time stats, packages watching and inclusion,
organizations support, fast CDN downloads, etc.

Anyway, give it a try, your opinion on a painful Maven Central onboading
might change.

Baruch.

P.S. I am very much affiliated with Bintray and proud of it :)
--
JFrog Developer Advocate
www.jfrog.com
+972544954353F
@jbaruch https://twitter.com/jbaruch/
http://linkd.in/jbaruch
 http://jax.de/node/901





 I am assuming that you are putting this in Central so I can easily use it
 without having to worry about the effect on my build process or without
 having to get into your sources and dependencies to build my app and I have
 appropriate license agreements included so I know what I am incorporating
 into my app.

 In that case, I would like you to follow the Maven Best Practices for
 deploying to Central.

 Using the Release plug-in may save you some steps if you do not already
 have a private repo for releasing software internally.
 It seems to me that if you are already releasing to your own repo prior
 to trying to upload it to Central, you are probably going to find that the
 Release plug-in is not the best practice.
 We would be in the same situation if we ever decided to put some of our
 utilities into Maven Central. We have already done the release and our SCM
 is in the state in which we want it.
 We would probably have to look at our parent POM/child POM structure to be
 sure that it met Maven Central requirements.

 I think that you did the right thing by raising your concerns here and I
 think that you got some very good advice and concrete suggestions.

 This is a very good group that is usually well-mannered when approached in
 the way that you did.
 You were very clear about what you wanted to do and you raised very
 specified issues that you wanted to discuss.
 You also reacted to the advice in a positive way that encouraged a factual
 discussion rather than a personal attack.

 Ron


 On 06/01/2014 7:49 AM, Tommy Svensson wrote:

 Hello again,

 OK, I suspected that I get a lot of replies on this :-).

  From experience in other forums I also expected to have people tell me
 to go screw myself, but that has not happened. There are apparently only
 professionals here! That said, there some very good replies and
 explanations but also some I do react to.

 I'll start with the latter. The arguments about quality I just don't buy.
 We are only talking poms here. Whatever is in the poms says nothing about
 the quality of the software itself. What is really bothering me however is
 the argument that if you don't have your things in the way we think they
 should be, you are not serious enough. It hasn't been said straight out but
 implied. The word that pops into my head here is Moralizing! I take my
 work very seriously and I take my open source work even more seriously
 (since in that case I'm allowed the time for it :-)). That if I have one
 file that is not up to someones liking I'm not taking releasing of my
 software seriously is just absurd.
 ___

  From one of the replies:

 As I said in a previous message, deploying to the remote repo is just a
 matter of mvn deploy, using either the maven-deploy-plugin (by default)
 or the nexus-staging-maven-plugin.

 That is good, that is how easy it should be!

  You'll have to configure the GPG plugin to sign your artifacts though, as
 it's a requirement to deploy to Central.

 No problem!

 I'm going to go though the documentation again and solve the easy way
 to do it :-).  And If I can't find a page that explains this clearly I will
 create such! I have gotten very much information here to go on.

 Someone also pointed out that local webserver repositories are good
 enough for small projects. I basically agree with that. I only considered
 maven central since someone asked me. But it is easier to have things in
 central and not have to add multiple repository specifications in your
 pom/settings. OK, you can use nexus to merge several repositories into one
 and then use that. But if submission to central can be made easy then it is
 worth to do it. Software does not have to be large apache projects to be
 useful. There are some truly useful software out there that comes from
 single individuals.
 

 Here is my view of how I would want a maven repository to be:

 - No requirements of javadoc or sources. If you want to include those, no
 problem, but if you 

Re: short and snappy description of what Maven is

2014-01-06 Thread Thomas Broyer
Le 6 janv. 2014 22:34, Stephen Connolly stephen.alan.conno...@gmail.com
a écrit :

 I don't want a religious war. If Gradle or ANT are a better fit for the
way
 some people think about building software... well good for them... and the
 faster we can help them realise that Maven takes a different tack the
 better.

 I happen to believe that the power of Maven comes from being model driven
 rather than procedural, which ultimately allows for a richer IDE
 experience, but consequently you lose some flexibility in your build
 process. It is a tradeoff I happen to like the Maven balance of, but I am
 not so arrogant to presume that Maven's balance suits everyone.

 The Maven repository has grown beyond just Maven, so that is no longer a
 key differentiator for Maven.

 The differentiator is in the declarative build rather than procedural
 build...

I disagree (when comparing with Gradle). The differentiator to me is going
beyond the build tool: project management and comprehension tool. Things
like the m-release-p, m-scm-p, m-site-p, etc. No other tool has those
AFAICT, and not everybody wants or needs them.
On the negative side: linear lifecycle, fixed number of classpaths (scopes)
that forces you to use separate modules (not a problem per se) thus put
files in separate folder trees (more of an issue, even if it means losing
IDE support), etc. Many of which contribute to making it really hard to
migrate from Ant to Maven.

 With Ant you have a mostly pure procedural build.

 With Maven you have a mostly pure declarative build.

 With Gradle you have a hodge-podge mix of both.

 (By declarative, I mean packagingjar/packaging is all I need to
 declare, maven knows how everything fits into that)

apply plugin: java is all you need to declare in Gradle ;-)

(OK, you also need a couple other lines to deploy to a Maven or Ivy repo,
but no more than in a POM)

 So let's let others go to the tools that suit their tastes, and the faster
 that we help them there, the less bitching about how Maven is crap
 (because it doesn't suit my taste) we will hear.

 It's like marmite: you either love it or hate it!


 On 6 January 2014 20:08, Russell Gold russell.g...@oracle.com wrote:

  Several sentences sounds good. But here’s another question. Comparing
  Maven to ant is almost too easy in terms of advantages. Is gradle now a
  serious competitor (I had been working on converting an enormous
project to
  maven, but the architect decided to switch to gradle, so I am
particularly
  sensitive to the issue). I can see some superficial advantages of gradle
  that might appeal to some projects. Is it better to ignore or address
this?
 
  On Jan 6, 2014, at 3:02 PM, Stephen Connolly 
  stephen.alan.conno...@gmail.com wrote:
 
   On Monday, 6 January 2014, Ron Wheeler wrote:
  
   I think that the target has to be people deciding whether to try
Maven.
   They initially want to know what it does and why it is better than
Ant
  or
   whatever they are using now.
  
   Trying to teach Maven in a single sentence is too much to ask.
  
   Maven is a build tool which consumes and produces artifacts managed
in
  a
   repository. doesn't sound like it will help build my application.
   At the start, one doesn't have any artifacts or own a repository.
  
   Apache Maven is a convention-over-configuration build tool which has
   great dependency management features.
  
  
   I think we should hint at the descriptive philosophy rather than the
   procedural philosophy most tools take
  
  
   is pretty clear for a single sentence description and it true.
   Maybe we can come up with a follow-up sentence to amplify/explain
this
  one.
   Most programmers or project managers should be able to find the time
to
   read 2 or maybe 3 sentences before deciding on a build tool.
   As long as each sentence draws the person deeper into Maven, that
would
   work.
  
  
   Yes that is the idea
  
  
  
   Ron
  
  
   On 06/01/2014 12:57 PM, Russell Gold wrote:
  
   Of course, you could say that about Gradle, too. And ant now does
have
   the ability to use those dependency features.
  
   I went through this when creating my video course (not in the sig
  because
   this is work email). It’s not clear to me that you can make a one
  sentence
   description that will provide sufficiently useful information unless
   something like:
  
   Maven is a build tool which consumes and produces artifacts managed
  in a
   repository.
  
   But that is not going to help people coming new to the project.
  
   I think I am missing the motivation here.Is the target for this
   description people deciding whether to try Maven? People trying to
  learn
   how to use it?
  
   On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.com
  wrote:
  
   on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Siteit
   says:
  
   We need a short and snappy description of what Maven is:
  
   Apache Maven is a software project management and comprehension
  tool.

Re: short and snappy description of what Maven is

2014-01-06 Thread Stephen Connolly
On 6 January 2014 22:18, Thomas Broyer t.bro...@gmail.com wrote:

 Le 6 janv. 2014 22:34, Stephen Connolly stephen.alan.conno...@gmail.com
 
 a écrit :
 
  I don't want a religious war. If Gradle or ANT are a better fit for the
 way
  some people think about building software... well good for them... and
 the
  faster we can help them realise that Maven takes a different tack the
  better.
 
  I happen to believe that the power of Maven comes from being model driven
  rather than procedural, which ultimately allows for a richer IDE
  experience, but consequently you lose some flexibility in your build
  process. It is a tradeoff I happen to like the Maven balance of, but I am
  not so arrogant to presume that Maven's balance suits everyone.
 
  The Maven repository has grown beyond just Maven, so that is no longer a
  key differentiator for Maven.
 
  The differentiator is in the declarative build rather than procedural
  build...

 I disagree (when comparing with Gradle). The differentiator to me is going
 beyond the build tool: project management and comprehension tool. Things
 like the m-release-p, m-scm-p, m-site-p, etc. No other tool has those
 AFAICT, and not everybody wants or needs them.
 On the negative side: linear lifecycle, fixed number of classpaths (scopes)
 that forces you to use separate modules (not a problem per se) thus put
 files in separate folder trees (more of an issue, even if it means losing
 IDE support), etc. Many of which contribute to making it really hard to
 migrate from Ant to Maven.

  With Ant you have a mostly pure procedural build.
 
  With Maven you have a mostly pure declarative build.
 
  With Gradle you have a hodge-podge mix of both.
 
  (By declarative, I mean packagingjar/packaging is all I need to
  declare, maven knows how everything fits into that)

 apply plugin: java is all you need to declare in Gradle ;-)

 (OK, you also need a couple other lines to deploy to a Maven or Ivy repo,
 but no more than in a POM)


*but* if you see a maven build, you know it pretty much has to be
declarative...

if you see a gradle build it can add a whole procedural set of steps quite
trivially on top..

(you can also add procedural stuff to maven, but it is hard and ugly
because of the syntax and the way maven forces you to work)

Basically I view the main advantage of gradle as it's main
disadvantage... others are free to invert that point of view if/as they
see fit, but I have yet to see the benefits of the flexibility that gradle
adds... I have only seen downsides... I'll not go ramming my PoV down your
mouth... as long as you don't try and ram your PoV down mine ;-)



  So let's let others go to the tools that suit their tastes, and the
 faster
  that we help them there, the less bitching about how Maven is crap
  (because it doesn't suit my taste) we will hear.
 
  It's like marmite: you either love it or hate it!
 
 
  On 6 January 2014 20:08, Russell Gold russell.g...@oracle.com wrote:
 
   Several sentences sounds good. But here’s another question. Comparing
   Maven to ant is almost too easy in terms of advantages. Is gradle now a
   serious competitor (I had been working on converting an enormous
 project to
   maven, but the architect decided to switch to gradle, so I am
 particularly
   sensitive to the issue). I can see some superficial advantages of
 gradle
   that might appeal to some projects. Is it better to ignore or address
 this?
  
   On Jan 6, 2014, at 3:02 PM, Stephen Connolly 
   stephen.alan.conno...@gmail.com wrote:
  
On Monday, 6 January 2014, Ron Wheeler wrote:
   
I think that the target has to be people deciding whether to try
 Maven.
They initially want to know what it does and why it is better than
 Ant
   or
whatever they are using now.
   
Trying to teach Maven in a single sentence is too much to ask.
   
Maven is a build tool which consumes and produces artifacts managed
 in
   a
repository. doesn't sound like it will help build my application.
At the start, one doesn't have any artifacts or own a repository.
   
Apache Maven is a convention-over-configuration build tool which
 has
great dependency management features.
   
   
I think we should hint at the descriptive philosophy rather than the
procedural philosophy most tools take
   
   
is pretty clear for a single sentence description and it true.
Maybe we can come up with a follow-up sentence to amplify/explain
 this
   one.
Most programmers or project managers should be able to find the time
 to
read 2 or maybe 3 sentences before deciding on a build tool.
As long as each sentence draws the person deeper into Maven, that
 would
work.
   
   
Yes that is the idea
   
   
   
Ron
   
   
On 06/01/2014 12:57 PM, Russell Gold wrote:
   
Of course, you could say that about Gradle, too. And ant now does
 have
the ability to use those dependency features.
   
I went through this when creating my 

Re: short and snappy description of what Maven is

2014-01-06 Thread Thomas Broyer
Le 6 janv. 2014 23:25, Stephen Connolly stephen.alan.conno...@gmail.com
a écrit :

 On 6 January 2014 22:18, Thomas Broyer t.bro...@gmail.com wrote:

  Le 6 janv. 2014 22:34, Stephen Connolly 
stephen.alan.conno...@gmail.com
  
  a écrit :
  
   I don't want a religious war. If Gradle or ANT are a better fit for
the
  way
   some people think about building software... well good for them... and
  the
   faster we can help them realise that Maven takes a different tack the
   better.
  
   I happen to believe that the power of Maven comes from being model
driven
   rather than procedural, which ultimately allows for a richer IDE
   experience, but consequently you lose some flexibility in your build
   process. It is a tradeoff I happen to like the Maven balance of, but
I am
   not so arrogant to presume that Maven's balance suits everyone.
  
   The Maven repository has grown beyond just Maven, so that is no
longer a
   key differentiator for Maven.
  
   The differentiator is in the declarative build rather than procedural
   build...
 
  I disagree (when comparing with Gradle). The differentiator to me is
going
  beyond the build tool: project management and comprehension tool. Things
  like the m-release-p, m-scm-p, m-site-p, etc. No other tool has those
  AFAICT, and not everybody wants or needs them.
  On the negative side: linear lifecycle, fixed number of classpaths
(scopes)
  that forces you to use separate modules (not a problem per se) thus put
  files in separate folder trees (more of an issue, even if it means
losing
  IDE support), etc. Many of which contribute to making it really hard to
  migrate from Ant to Maven.
 
   With Ant you have a mostly pure procedural build.
  
   With Maven you have a mostly pure declarative build.
  
   With Gradle you have a hodge-podge mix of both.
  
   (By declarative, I mean packagingjar/packaging is all I need to
   declare, maven knows how everything fits into that)
 
  apply plugin: java is all you need to declare in Gradle ;-)
 
  (OK, you also need a couple other lines to deploy to a Maven or Ivy
repo,
  but no more than in a POM)
 

 *but* if you see a maven build, you know it pretty much has to be
 declarative...

 if you see a gradle build it can add a whole procedural set of steps quite
 trivially on top..

Ack.

 (you can also add procedural stuff to maven, but it is hard and ugly
 because of the syntax and the way maven forces you to work)

 Basically I view the main advantage of gradle as it's main
 disadvantage... others are free to invert that point of view if/as they
 see fit, but I have yet to see the benefits of the flexibility that gradle
 adds... I have only seen downsides... I'll not go ramming my PoV down your
 mouth... as long as you don't try and ram your PoV down mine ;-)

I respect your PoV ;-)

 
   So let's let others go to the tools that suit their tastes, and the
  faster
   that we help them there, the less bitching about how Maven is crap
   (because it doesn't suit my taste) we will hear.
  
   It's like marmite: you either love it or hate it!
  
  
   On 6 January 2014 20:08, Russell Gold russell.g...@oracle.com wrote:
  
Several sentences sounds good. But here’s another question.
Comparing
Maven to ant is almost too easy in terms of advantages. Is gradle
now a
serious competitor (I had been working on converting an enormous
  project to
maven, but the architect decided to switch to gradle, so I am
  particularly
sensitive to the issue). I can see some superficial advantages of
  gradle
that might appeal to some projects. Is it better to ignore or
address
  this?
   
On Jan 6, 2014, at 3:02 PM, Stephen Connolly 
stephen.alan.conno...@gmail.com wrote:
   
 On Monday, 6 January 2014, Ron Wheeler wrote:

 I think that the target has to be people deciding whether to try
  Maven.
 They initially want to know what it does and why it is better
than
  Ant
or
 whatever they are using now.

 Trying to teach Maven in a single sentence is too much to ask.

 Maven is a build tool which consumes and produces artifacts
managed
  in
a
 repository. doesn't sound like it will help build my
application.
 At the start, one doesn't have any artifacts or own a repository.

 Apache Maven is a convention-over-configuration build tool which
  has
 great dependency management features.


 I think we should hint at the descriptive philosophy rather than
the
 procedural philosophy most tools take


 is pretty clear for a single sentence description and it true.
 Maybe we can come up with a follow-up sentence to amplify/explain
  this
one.
 Most programmers or project managers should be able to find the
time
  to
 read 2 or maybe 3 sentences before deciding on a build tool.
 As long as each sentence draws the person deeper into Maven, that
  would
 work.


 Yes that is the idea



   

Re: Misunderstanding modules: Two or more projects in the reactor have the same identifier

2014-01-06 Thread erich8
Barrie Treloar wrote
 When you build Product X the libraries A, B and C should already
 exist.  You dont want to rebuild them just to build Product X, that
 will slow down your development process.
 Ideally A, B, and C are released versions, but if you find a bug in
 them then you will be using SNAPSHOT versions, which will need to be
 released separately prior to releasing Product X.
 If developers are rarely touching the libraries then its better to let
 your continuous build system (e.g. Jenkins) build the libraries and
 Maven will automatically pull down the latest SNAPSHOT for you.
 This way Developer D can fix a bug in A and Developer E will
 automatically get the bug fix the next time they pull down the
 SNAPSHOT build of library A, they no longer need to resync and
 manually build.
 You can configure how often Maven will check for a snapshot update
 (see updatePolicy
 http://maven.apache.org/ref/3.0.3/maven-settings/settings.html#class_snapshots)
 
 With a continuous build system in place whenever C changes it will
 automatically schedule a build for A and B, run your unit tests and
 report success or failure.
 It should also then build Product X and Y for you (since a downstream
 dependency changed), again running your unit tests.
 
 You will also want a Repository Manager so that it can keep some
 control over how many SNAPSHOT versions to keep (otherwise you can
 find yourself running out of disk space)
 
 Hope this helps some.

I understand the need to treat internally-developed dependencies as actual
dependencies rather than forcing them to be modules, but I'm having some
problems with the workflow. 

When the project is relatively new and the internally-developed dependency
A is no where near being mature, nearly every change being made to
Project X requires a corresponding change to A. At this point in the
development cycle (and for many months in the foreseeable future) I actually
/do/ need to rebuild A every time I build X.

I can setup our CI system so that A SNAPSHOTS are built and published to
Nexus after every commit, but what about during development, before I'm
ready commit my changes? Am I stuck with what my IDE provides? We have
developers using a wide range of IDEs, or no IDE at all, so I was hoping
that Maven itself would have some way of kicking off builds of downstream
dependency A when X is built, if in fact that's what I want to do.

Right now we're simply telling folks to build A, then build X. And this
certainly makes sense when you step back and think about it... it's just not
terribly convenient.



--
View this message in context: 
http://maven.40175.n5.nabble.com/Misunderstanding-modules-Two-or-more-projects-in-the-reactor-have-the-same-identifier-tp4614001p5780688.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: Misunderstanding modules: Two or more projects in the reactor have the same identifier

2014-01-06 Thread Barrie Treloar
On 7 January 2014 09:42, erich8 eric.herrm...@intermedix.com wrote:
 Barrie Treloar wrote
 When you build Product X the libraries A, B and C should already
 exist.  You dont want to rebuild them just to build Product X, that
 will slow down your development process.
 Ideally A, B, and C are released versions, but if you find a bug in
 them then you will be using SNAPSHOT versions, which will need to be
 released separately prior to releasing Product X.
 If developers are rarely touching the libraries then its better to let
 your continuous build system (e.g. Jenkins) build the libraries and
 Maven will automatically pull down the latest SNAPSHOT for you.
 This way Developer D can fix a bug in A and Developer E will
 automatically get the bug fix the next time they pull down the
 SNAPSHOT build of library A, they no longer need to resync and
 manually build.
 You can configure how often Maven will check for a snapshot update
 (see updatePolicy
 http://maven.apache.org/ref/3.0.3/maven-settings/settings.html#class_snapshots)

 With a continuous build system in place whenever C changes it will
 automatically schedule a build for A and B, run your unit tests and
 report success or failure.
 It should also then build Product X and Y for you (since a downstream
 dependency changed), again running your unit tests.

 You will also want a Repository Manager so that it can keep some
 control over how many SNAPSHOT versions to keep (otherwise you can
 find yourself running out of disk space)

 Hope this helps some.

 I understand the need to treat internally-developed dependencies as actual
 dependencies rather than forcing them to be modules, but I'm having some
 problems with the workflow.

 When the project is relatively new and the internally-developed dependency
 A is no where near being mature, nearly every change being made to
 Project X requires a corresponding change to A. At this point in the
 development cycle (and for many months in the foreseeable future) I actually
 /do/ need to rebuild A every time I build X.

 I can setup our CI system so that A SNAPSHOTS are built and published to
 Nexus after every commit, but what about during development, before I'm
 ready commit my changes? Am I stuck with what my IDE provides? We have
 developers using a wide range of IDEs, or no IDE at all, so I was hoping
 that Maven itself would have some way of kicking off builds of downstream
 dependency A when X is built, if in fact that's what I want to do.

Ideally you want your development to be only against releases, but as
you notice in the early days that just can't happen.

One thing I neglected to mention is that publishing SNAPSHOT to a
repository can be a pain.

The reason is that while you are happily working with your artifacts,
if a new SNAPSHOT is published and Maven decides to start downloading
it then you can find your local development hosed by bugs in the new
SNAPSHOT.
Obviously there is a trade-off here. You want to see bugs quickly so
that you can get them fixed correctly - either your code, or the
dependency. But you can also waste a lot of time if you have people
checking in things that cause breakage all the time (perhaps you then
need to investigate why that is occurring and deal with that as well).
 You should be able to manage this with the --no-snapshot-updates
option so you can when you want to pull in newer SNAPSHOTS.  Just
remember that you may have to rebuild your code again so that your
local .m2 cache has your code changes in it and not the CI version.

The next thing to ask is who is making the changes to A and X.
If it is the same person then they dont need Maven yet.
They can build via the command line, IDE, whatever.
I prefer to let the IDE (Eclipse in my case) handle the incremental
build problems.
I keep working on whatever projects I need until they are ready to
commit into version control and the IDE will ensure that everything is
building correctly so I can run my unit tests, etc all in the IDE.
I'm not using Maven at all here.

Before I commit this to version control, then I break out Maven and
build the projects in the correct order and ensure everything works.
Once committed to version control then CI will publish the SNAPSHOTS
and other developers can then decide when they want to start using the
new SNAPSHOTS.

 Right now we're simply telling folks to build A, then build X. And this
 certainly makes sense when you step back and think about it... it's just not
 terribly convenient.

If those folks are working on A and X they dont have any other
options, they want to build their code with their changes and not
suddenly get something from CI (which obviously can not have their
changes in it).
For those working with IDEs they should be able to just work in the
IDE. I'm fairly sure there is Maven integration with m2e like features
in NetBeans and IDEA.
I dont understand how you can efficiently develop without an IDE and
I'm not prepared to spend any of my time trying to help them 

Re: short and snappy description of what Maven is

2014-01-06 Thread Ron Wheeler

I am not sure that you want to start a range war in the opening paragraph.
If there is a concise second or third sentence that clearly explains the 
difference between Ant and Maven, it would be a great idea to add that.
If Gradle is likely to be in the running for a new developer, it might 
be interesting to have a sentence explaining the difference. Need to be 
careful not to turn off a new person by an obscure argument that does 
not address the decision points in a way that a new person would understand.


Ron

On 06/01/2014 4:33 PM, Stephen Connolly wrote:

I don't want a religious war. If Gradle or ANT are a better fit for the way
some people think about building software... well good for them... and the
faster we can help them realise that Maven takes a different tack the
better.

I happen to believe that the power of Maven comes from being model driven
rather than procedural, which ultimately allows for a richer IDE
experience, but consequently you lose some flexibility in your build
process. It is a tradeoff I happen to like the Maven balance of, but I am
not so arrogant to presume that Maven's balance suits everyone.

The Maven repository has grown beyond just Maven, so that is no longer a
key differentiator for Maven.

The differentiator is in the declarative build rather than procedural
build...

With Ant you have a mostly pure procedural build.

With Maven you have a mostly pure declarative build.

With Gradle you have a hodge-podge mix of both.

(By declarative, I mean packagingjar/packaging is all I need to
declare, maven knows how everything fits into that)

So let's let others go to the tools that suit their tastes, and the faster
that we help them there, the less bitching about how Maven is crap
(because it doesn't suit my taste) we will hear.

It's like marmite: you either love it or hate it!


On 6 January 2014 20:08, Russell Gold russell.g...@oracle.com wrote:


Several sentences sounds good. But here’s another question. Comparing
Maven to ant is almost too easy in terms of advantages. Is gradle now a
serious competitor (I had been working on converting an enormous project to
maven, but the architect decided to switch to gradle, so I am particularly
sensitive to the issue). I can see some superficial advantages of gradle
that might appeal to some projects. Is it better to ignore or address this?

On Jan 6, 2014, at 3:02 PM, Stephen Connolly 
stephen.alan.conno...@gmail.com wrote:


On Monday, 6 January 2014, Ron Wheeler wrote:


I think that the target has to be people deciding whether to try Maven.
They initially want to know what it does and why it is better than Ant

or

whatever they are using now.

Trying to teach Maven in a single sentence is too much to ask.

Maven is a build tool which consumes and produces artifacts managed in

a

repository. doesn't sound like it will help build my application.
At the start, one doesn't have any artifacts or own a repository.

Apache Maven is a convention-over-configuration build tool which has
great dependency management features.


I think we should hint at the descriptive philosophy rather than the
procedural philosophy most tools take



is pretty clear for a single sentence description and it true.
Maybe we can come up with a follow-up sentence to amplify/explain this

one.

Most programmers or project managers should be able to find the time to
read 2 or maybe 3 sentences before deciding on a build tool.
As long as each sentence draws the person deeper into Maven, that would
work.


Yes that is the idea



Ron


On 06/01/2014 12:57 PM, Russell Gold wrote:


Of course, you could say that about Gradle, too. And ant now does have
the ability to use those dependency features.

I went through this when creating my video course (not in the sig

because

this is work email). It’s not clear to me that you can make a one

sentence

description that will provide sufficiently useful information unless
something like:

Maven is a build tool which consumes and produces artifacts managed

in a

repository.

But that is not going to help people coming new to the project.

I think I am missing the motivation here.Is the target for this
description people deciding whether to try Maven? People trying to

learn

how to use it?

On Jan 6, 2014, at 12:43 PM, Lyons, Roy roy.ly...@cmegroup.com

wrote:

on https://cwiki.apache.org/confluence/display/MAVEN/New+Main+Site it

says:

We need a short and snappy description of what Maven is:

Apache Maven is a software project management and comprehension

tool.

Is just not an easy to understand description of what Maven is.




I would like to submit my short description for review.

Apache Maven is a convention-over-configuration build tool which has
great dependency management features.

I know that it does more than that - but I feel that at its core, this
is what it really is.

-





--
Ron Wheeler
President
Artifact Software Inc
email: 

Re: Misunderstanding modules: Two or more projects in the reactor have the same identifier

2014-01-06 Thread Ron Wheeler
During active development, we have found that libraries A,B and C should 
be released as SNAPSHOTs with a spec and warranty from the developer.
These may be informal but without this, the developer of X has a hard 
time testing if A,B and C are changing specification/behaviour without 
warning.


This implies that there is a series of stubs for methods in A,B and C 
that are not complete.


If it is not possible for the developers of A,B and C to do this, the 
developer of X needs to program to interfaces of A,B and C and find a 
way (DI for instance ) of substituting is own versions (stubs) of A,B 
and C for testing while A,B and C are being developed to a point where 
they are suitable for testing and can be released as SNAPSHOTS with 
specs and warranties.


Otherwise the developer of X will waste a lot of time debugging the 
intermediate versions of A, B and C rather than focusing on X. While 
debugging, the developer of X will never know whether changes to X are 
not working or changes to the behaviour of X are caused by undocumented 
changes to the dependencies.


Ron




On 06/01/2014 6:12 PM, erich8 wrote:

Barrie Treloar wrote

When you build Product X the libraries A, B and C should already
exist.  You dont want to rebuild them just to build Product X, that
will slow down your development process.
Ideally A, B, and C are released versions, but if you find a bug in
them then you will be using SNAPSHOT versions, which will need to be
released separately prior to releasing Product X.
If developers are rarely touching the libraries then its better to let
your continuous build system (e.g. Jenkins) build the libraries and
Maven will automatically pull down the latest SNAPSHOT for you.
This way Developer D can fix a bug in A and Developer E will
automatically get the bug fix the next time they pull down the
SNAPSHOT build of library A, they no longer need to resync and
manually build.
You can configure how often Maven will check for a snapshot update
(see updatePolicy
http://maven.apache.org/ref/3.0.3/maven-settings/settings.html#class_snapshots)

With a continuous build system in place whenever C changes it will
automatically schedule a build for A and B, run your unit tests and
report success or failure.
It should also then build Product X and Y for you (since a downstream
dependency changed), again running your unit tests.

You will also want a Repository Manager so that it can keep some
control over how many SNAPSHOT versions to keep (otherwise you can
find yourself running out of disk space)

Hope this helps some.

I understand the need to treat internally-developed dependencies as actual
dependencies rather than forcing them to be modules, but I'm having some
problems with the workflow.

When the project is relatively new and the internally-developed dependency
A is no where near being mature, nearly every change being made to
Project X requires a corresponding change to A. At this point in the
development cycle (and for many months in the foreseeable future) I actually
/do/ need to rebuild A every time I build X.

I can setup our CI system so that A SNAPSHOTS are built and published to
Nexus after every commit, but what about during development, before I'm
ready commit my changes? Am I stuck with what my IDE provides? We have
developers using a wide range of IDEs, or no IDE at all, so I was hoping
that Maven itself would have some way of kicking off builds of downstream
dependency A when X is built, if in fact that's what I want to do.

Right now we're simply telling folks to build A, then build X. And this
certainly makes sense when you step back and think about it... it's just not
terribly convenient.



--
View this message in context: 
http://maven.40175.n5.nabble.com/Misunderstanding-modules-Two-or-more-projects-in-the-reactor-have-the-same-identifier-tp4614001p5780688.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





--
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



Re: Misunderstanding modules: Two or more projects in the reactor have the same identifier

2014-01-06 Thread Mark Derricutt

 When the project is relatively new and the internally-developed dependency
 A is no where near being mature, nearly every change being made to
 Project X requires a corresponding change to A. At this point in the
 development cycle (and for many months in the foreseeable future) I actually
 /do/ need to rebuild A every time I build X.

What I've often done here is create a new workspace area that contains symlinks 
( or git submodule checkouts ) of each of the modules I'm working on, and 
having a simple pom.xml in the top level that sets up a reactor build, then 
just build that.


signature.asc
Description: OpenPGP digital signature


Re: Misunderstanding modules: Two or more projects in the reactor have the same identifier

2014-01-06 Thread Barrie Treloar
On 7 January 2014 15:29, Mark Derricutt m...@talios.com wrote:

 When the project is relatively new and the internally-developed dependency
 A is no where near being mature, nearly every change being made to
 Project X requires a corresponding change to A. At this point in the
 development cycle (and for many months in the foreseeable future) I actually
 /do/ need to rebuild A every time I build X.

 What I've often done here is create a new workspace area that contains 
 symlinks ( or git submodule checkouts ) of each of the modules I'm working 
 on, and having a simple pom.xml in the top level that sets up a reactor 
 build, then just build that.

There was also some talk about automating this step.
But its vapourware at the moment.

It would work by checking your current pom for any -SNAPSHOT
dependencies and then pulling out the source code for those and
sitting them in the parent directory.
And as you say the parent pom is just a helper that has a bunch of
modules to make building things easier - and you would never check
that pom into version control.

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