Re: A thought on local-SNAPSHOTs

2014-06-15 Thread Stephen Connolly
The real issue I see is people not defining their snapshot policy (and I
mean that in a wider sense)

Personally speaking I favour *never* deploying snapshots. Only using them
for local speed up where a large reactor required to wire everything up
using either the `package` or `verify` phase (with or without tests
skipped) would just take too long.

So for me, with my pattern of creating local aggregator projects and not
really installing let alone deploying snapshots, there is no problem...

When working on projects however that use a CI system to deploy snapshots
after every build... Well I tend to curse them (or turn off snapshot update
checking)... Worse is where this was done because building a specific
artifact requires a toolchain I do not have access to on my machine... So I
am forced to turn on snapshot checking for every build while working on
that module.

What you usually find is people have not realised the cause and effect.

I favour the CI server deploying snapshots with every build *but* into a
repo only for use by the CI server.

I favour never deploying smapshots to developer repositories... Any time
you think you need to... Well you probably just need to cut a release...
Can't cut a release because tests are failing? Wtf are you giving me that
broken shit for... Timestamped snapshots are just a crutch...

My €0.02

On Sunday, 15 June 2014, Mark Derricutt m...@talios.com wrote:

 Hey all,

 A recent discussion on one of the github PR's led to a discussion on
 SNAPSHOT resolution, which is a long standing issue in maven range support
 with several long standing open tickets lingering.

 A thought I just had, which relates to some things I've been playing with
 in my C.I. builds, could quite simply resolve this.  Maybe

 I know a few people who say they just don't allow/use SNAPSHOTs but
 whenever you do an `mvm install` you end up with a -SNAPSHOT in your
 ~/.m2/repository - and that then affects resolution.

 My thought was  why is the local _repository_ treated differently to
 normal repositories - in that it's as tho 
 `snapshotsenabledtrue/enabled/snapshots`
 is defined for them - and maybe it is? Why not simply _disable_ that.

 But further than that, what if maven tracked TWO local repositories:

   ~/.m2/repository
   ~/.m2/snapshots

 Much like `distributionManagement ` has two a `repository` and
 `snapshotRepository` section, what if we have an `installationManagement`
 section ( probably limited only to `settings.xml` for install wide
 settings? ) that did the same, but for the local repository? -SNAPSHOTs
 installed via `mvn install` or downloaded via dependencies would go in here.

 This way - there's a clear separation of snapshots and releases, if you
 don't want snapshot resolution - disable that local repository

 Thoughts?

 Mark



-- 
Sent from my phone


Re: A thought on local-SNAPSHOTs

2014-06-15 Thread Robert Scholte
Op Sun, 15 Jun 2014 11:07:33 +0200 schreef Stephen Connolly  
stephen.alan.conno...@gmail.com:



The real issue I see is people not defining their snapshot policy (and I
mean that in a wider sense)

Personally speaking I favour *never* deploying snapshots. Only using them
for local speed up where a large reactor required to wire everything up
using either the `package` or `verify` phase (with or without tests
skipped) would just take too long.

exactly my thoughts as well. I see a lot of users still doing 'install'  
for the wrong reasons:

- coworkers said so / internet said so.


So for me, with my pattern of creating local aggregator projects and not
really installing let alone deploying snapshots, there is no problem...

When working on projects however that use a CI system to deploy snapshots
after every build... Well I tend to curse them (or turn off snapshot  
update

checking)... Worse is where this was done because building a specific
artifact requires a toolchain I do not have access to on my machine...  
So I

am forced to turn on snapshot checking for every build while working on
that module.

What you usually find is people have not realised the cause and effect.

I favour the CI server deploying snapshots with every build *but* into a
repo only for use by the CI server.

I favour never deploying smapshots to developer repositories... Any time
you think you need to... Well you probably just need to cut a release...
Can't cut a release because tests are failing? Wtf are you giving me that
broken shit for... Timestamped snapshots are just a crutch...

My €0.02



I like to improve the lifecycle even a bit. If you do a deploy, the  
install should be skipped. This way all co-workers will pull the same  
instance. If the deploy fails, your local repo is still clean.

My current thought is to introduce the ability to split the lifecycle.

:
:
  verify
  /\
installdeploy

This would improve the reliability of Maven, make it a bit faster and in  
the end both 'mvn install' and 'mvn deploy' will keep the same behavior.


thanks,
Robert


On Sunday, 15 June 2014, Mark Derricutt m...@talios.com wrote:


Hey all,

A recent discussion on one of the github PR's led to a discussion on
SNAPSHOT resolution, which is a long standing issue in maven range  
support

with several long standing open tickets lingering.

A thought I just had, which relates to some things I've been playing  
with

in my C.I. builds, could quite simply resolve this.  Maybe

I know a few people who say they just don't allow/use SNAPSHOTs but
whenever you do an `mvm install` you end up with a -SNAPSHOT in your
~/.m2/repository - and that then affects resolution.

My thought was  why is the local _repository_ treated differently to
normal repositories - in that it's as tho  
`snapshotsenabledtrue/enabled/snapshots`
is defined for them - and maybe it is? Why not simply _disable_  
that.


But further than that, what if maven tracked TWO local repositories:

  ~/.m2/repository
  ~/.m2/snapshots

Much like `distributionManagement ` has two a `repository` and
`snapshotRepository` section, what if we have an  
`installationManagement`

section ( probably limited only to `settings.xml` for install wide
settings? ) that did the same, but for the local repository? -SNAPSHOTs
installed via `mvn install` or downloaded via dependencies would go in  
here.


This way - there's a clear separation of snapshots and releases, if you
don't want snapshot resolution - disable that local repository

Thoughts?

Mark





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



RE: A thought on local-SNAPSHOTs

2014-06-15 Thread Martin Gainty
 To: dev@maven.apache.org
 Subject: Re: A thought on local-SNAPSHOTs
 Date: Sun, 15 Jun 2014 13:08:17 +0200
 From: rfscho...@apache.org
 
 Op Sun, 15 Jun 2014 11:07:33 +0200 schreef Stephen Connolly  
 stephen.alan.conno...@gmail.com:
 
  The real issue I see is people not defining their snapshot policy (and I
  mean that in a wider sense)
 
  Personally speaking I favour *never* deploying snapshots. Only using them
  for local speed up where a large reactor required to wire everything up
  using either the `package` or `verify` phase (with or without tests
  skipped) would just take too long.
 
 exactly my thoughts as well. I see a lot of users still doing 'install'  
 for the wrong reasons:
 - coworkers said so / internet said so.
 
  So for me, with my pattern of creating local aggregator projects and not
  really installing let alone deploying snapshots, there is no problem...
 
  When working on projects however that use a CI system to deploy snapshots
  after every build... Well I tend to curse them (or turn off snapshot  
  update
  checking)... Worse is where this was done because building a specific
  artifact requires a toolchain I do not have access to on my machine...  
  So I
  am forced to turn on snapshot checking for every build while working on
  that module.
 
  What you usually find is people have not realised the cause and effect.
 
  I favour the CI server deploying snapshots with every build *but* into a
  repo only for use by the CI server.
 
  I favour never deploying smapshots to developer repositories... Any time
  you think you need to... Well you probably just need to cut a release...
  Can't cut a release because tests are failing? Wtf are you giving me that
  broken shit for... Timestamped snapshots are just a crutch...
 
  My €0.02
 
 
 I like to improve the lifecycle even a bit. If you do a deploy, the  
 install should be skipped. This way all co-workers will pull the same  
 instance. If the deploy fails, your local repo is still clean.
 My current thought is to introduce the ability to split the lifecycle.
 
  :
  :
verify
/\
 installdeploy
 
 This would improve the reliability of Maven, make it a bit faster and in  
 the end both 'mvn install' and 'mvn deploy' will keep the same behavior.
 
 thanks,
 Robert
 
  On Sunday, 15 June 2014, Mark Derricutt m...@talios.com wrote:
 
  Hey all,
 
  A recent discussion on one of the github PR's led to a discussion on
  SNAPSHOT resolution, which is a long standing issue in maven range  
  support
  with several long standing open tickets lingering.
 
  A thought I just had, which relates to some things I've been playing  
  with
  in my C.I. builds, could quite simply resolve this.  Maybe
 
  I know a few people who say they just don't allow/use SNAPSHOTs but
  whenever you do an `mvm install` you end up with a -SNAPSHOT in your
  ~/.m2/repository - and that then affects resolution.
 
  My thought was  why is the local _repository_ treated differently to
  normal repositories - in that it's as tho  
  `snapshotsenabledtrue/enabled/snapshots`
  is defined for them - and maybe it is? Why not simply _disable_  
  that.
 
  But further than that, what if maven tracked TWO local repositories:
 
~/.m2/repository
~/.m2/snapshots
 
  Much like `distributionManagement ` has two a `repository` and
  `snapshotRepository` section, what if we have an  
  `installationManagement`
  section ( probably limited only to `settings.xml` for install wide
  settings? ) that did the same, but for the local repository? -SNAPSHOTs
  installed via `mvn install` or downloaded via dependencies would go in  
  here.
 
  This way - there's a clear separation of snapshots and releases, if you
  don't want snapshot resolution - disable that local repository
 
  Thoughts?
 
  Mark
 
 
MGSNAPSHOTs are Murphy on your back Not only maven but eclipse distros going 
into local p2 repo
MGSpent most of the weekend trying to get eclipse buildnumber to sub in 
reasonable version on SNAPS
MG24 hours later i called nojoy and mv  SNAPs and success deployed eclipse 
distros into local p2 repo
MGI agree with Stephen ..if a SNAP is'nt validated for public use dont put in 
any repo
MGBTW: nexus repositories have 3 categories of distros SNAPs, STAGED and 
RELEASEs
MGHappy Fathers Day

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

[GitHub] maven pull request: [MNG-2199] Version ranges not supported for pa...

2014-06-15 Thread jvanzyl
Github user jvanzyl commented on the pull request:

https://github.com/apache/maven/pull/21#issuecomment-46114965
  
No, we do not use install on this particular project where we are 
developing the concept of a generation. We either have a project in source form 
locally, or we get it remotely. Everything works in the reactor because we have 
changed the way resolution works in the reactor. Many of the issues where you 
can't run eclipse:eclipse in the reactor prior to the package phase, or not 
being able to resolve test-jars we have fixed in our particular implementation. 
We are only part way through this project so I'm not sure what will remain when 
we are finally done, but we are doing a form of continuous delivery.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



Re: [GitHub] maven pull request: [MNG-2199] Version ranges not supported for pa...

2014-06-15 Thread Jason van Zyl

On Jun 14, 2014, at 3:09 PM, Hervé BOUTEMY herve.bout...@free.fr wrote:

 Le samedi 14 juin 2014 13:33:37 Jason van Zyl a écrit :
 yes, but how is the constraint expressed and coded?
 
 Trying to encode these in such a way where you effectively have a property
 graph is hard. Aether has some preliminary support for this but not really.
 In practice to date it's really constrain the version or constrain what you
 are resolving against.
 
 Either explicit with your version as a concrete version if you want to
 resolve against the wild. Or you use ranges and the constraint is encoded
 as the list of repositories you are going to resolve against.
 for the moment, yes, the constraint has to be encoded as the list of 
 repositories you resolve against: if we make this practice clear, things will 
 get much clearer until we find another strategy (I don't have one for the 
 moment)
 
 Given that we have a de facto formalism through our code, specifically in
 Aether, that I would gravitate toward using a formalized resolution model
 like what OSGi. I'm certainly not a huge proponent of OSGi, but they have a
 completely formalized and specified resolution algorithm.
 I really didn't find any formalisation of resolution algorithm, either in 
 Aether of OSGi: once a list of version have been found that match the 
 constraint, I still don't see/know what is the chosen one
 
 Can you point me to the right direction, please?

You need to download the spec: http://www.osgi.org/Specifications/HomePage

There is a section on versions.

 
 
 At any rate you have the two mode of ensuring reproducibility which is to
 use concrete versions against an arbitrary set of repositories, or range
 versions against a constrained set of a repositories.
 we don't have the same definition of reproducibility
 but yes, with range version, you can get more control using constrained set 
 of 
 repositories: but more control, to differentiate pre-release and release 
 artifacts for example, is not yet reproducibility

To me there is not real distinction between pre-release and release. As I move 
more toward continuous delivery I see it as a stream of releases all with 
standard versions. Right now I partition by putting them in separate 
repositories, maybe at some point in the future the partitioning can be 
logical. This would be a property graph type resolution where there is a 
property associated with a particular deployment that says what type it is so 
the system can decide whether it should participate in resolution. But that 
presupposes property graph based resolution and that we can actually define 
what these types are. That's not going to happen for a while so the most 
practical option for the time being is separating these types into different 
repositories. Nightly, integration, milestone, or whatever you happen to call 
them.

 
 In both cases you'll
 have reproducibility problems if your repositories are not managed
 correctly. But I think trying to come up with a property graph based
 resolution mechanism to deal with context is not going to happen any time
 soon and most likely never so I don't really think pursuing that is an
 option.
 property graph resolution mechanism is probably too much
 but a parametrized resolution algorithm (filtering + final selection of one 
 version from the remaining candidates), at global build level, should be 
 feasible
 
 
 -
 To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
 For additional commands, e-mail: dev-h...@maven.apache.org
 

Thanks,

Jason

--
Jason van Zyl
Founder,  Apache Maven
http://twitter.com/jvanzyl
http://twitter.com/takari_io
-

To do two things at once is to do neither.
 
 -- Publilius Syrus, Roman slave, first century B.C.











[VOTE] Release Apache Maven EAR Plugin version 2.9.1

2014-06-15 Thread Karl Heinz Marbaise

Hi,

We solved 2 issues:
http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11132version=18776

There are still 27 issues left in JIRA:
http://jira.codehaus.org/issues/?jql=project%20%3D%20MEAR%20AND%20status%20%3D%20Open%20ORDER%20BY%20key%20DESC%2C%20priority%20DESC

Staging repo:
https://repository.apache.org/content/repositories/maven-1024

http://repository.apache.org/content/repositories/maven-1024/org/apache/maven/plugins/maven-ear-plugin/2.9.1/maven-ear-plugin-2.9.1-source-release.zip

Source release checksum(s):
maven-ear-plugin-2.9.1-source-release.zip sha1: 
b1f8e9e492c0199636da22c741736a38307a8f57


Staging site:
http://maven.apache.org/plugins-archives/maven-ear-plugin-LATEST/

Guide to testing staged releases:
http://maven.apache.org/guides/development/guide-testing-releases.html

Vote open for 72 hours.

[ ] +1
[ ] +0
[ ] -1

Kind regards
Karl-Heinz Marbaise

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



Re: [GitHub] maven pull request: [MNG-2199] Version ranges not supported for pa...

2014-06-15 Thread Hervé BOUTEMY
Le dimanche 15 juin 2014 09:19:26 Jason van Zyl a écrit :
 On Jun 14, 2014, at 3:09 PM, Hervé BOUTEMY herve.bout...@free.fr wrote:
  Le samedi 14 juin 2014 13:33:37 Jason van Zyl a écrit :
  yes, but how is the constraint expressed and coded?
  
  Trying to encode these in such a way where you effectively have a
  property
  graph is hard. Aether has some preliminary support for this but not
  really.
  In practice to date it's really constrain the version or constrain what
  you
  are resolving against.
  
  Either explicit with your version as a concrete version if you want to
  resolve against the wild. Or you use ranges and the constraint is encoded
  as the list of repositories you are going to resolve against.
  
  for the moment, yes, the constraint has to be encoded as the list of
  repositories you resolve against: if we make this practice clear, things
  will get much clearer until we find another strategy (I don't have one
  for the moment)
  
  Given that we have a de facto formalism through our code, specifically in
  Aether, that I would gravitate toward using a formalized resolution model
  like what OSGi. I'm certainly not a huge proponent of OSGi, but they have
  a
  completely formalized and specified resolution algorithm.
  
  I really didn't find any formalisation of resolution algorithm, either in
  Aether of OSGi: once a list of version have been found that match the
  constraint, I still don't see/know what is the chosen one
  
  Can you point me to the right direction, please?
 
 You need to download the spec: http://www.osgi.org/Specifications/HomePage
 
 There is a section on versions.
ok, I found the answer:

3.8 Resolving Process
...
An exporter with a higher version is preferred over an exporter with a lower 
version

then maximum version (compatible with version range) is used: we should be 
able to say simply that

and IIUC:
- nobody finds that any other choice is better in any case
- nobody finds that it looks like LATEST, which was removed because it was told 
not reproducible

Now I understand how using version ranges is not really compatible with using 
SNAPSHOTs: SNAPSHOT is the way to handle limited change when not using ranges
But if you choose to use ranges, you have this de-facto LATEST handling that 
makes SNAPSHOTs more a problem than anything

For the moment, I continue to like SNAPSHOTs + preferred versions :)
But I start to see all the implications of using ranges: this is a whole other 
organization


Regards,

Hervé

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



Re: [GitHub] maven pull request: [MNG-2199] Version ranges not supported for pa...

2014-06-15 Thread Jason van Zyl

On Jun 15, 2014, at 11:01 AM, Hervé BOUTEMY herve.bout...@free.fr wrote:

 Le dimanche 15 juin 2014 09:19:26 Jason van Zyl a écrit :
 On Jun 14, 2014, at 3:09 PM, Hervé BOUTEMY herve.bout...@free.fr wrote:
 Le samedi 14 juin 2014 13:33:37 Jason van Zyl a écrit :
 yes, but how is the constraint expressed and coded?
 
 Trying to encode these in such a way where you effectively have a
 property
 graph is hard. Aether has some preliminary support for this but not
 really.
 In practice to date it's really constrain the version or constrain what
 you
 are resolving against.
 
 Either explicit with your version as a concrete version if you want to
 resolve against the wild. Or you use ranges and the constraint is encoded
 as the list of repositories you are going to resolve against.
 
 for the moment, yes, the constraint has to be encoded as the list of
 repositories you resolve against: if we make this practice clear, things
 will get much clearer until we find another strategy (I don't have one
 for the moment)
 
 Given that we have a de facto formalism through our code, specifically in
 Aether, that I would gravitate toward using a formalized resolution model
 like what OSGi. I'm certainly not a huge proponent of OSGi, but they have
 a
 completely formalized and specified resolution algorithm.
 
 I really didn't find any formalisation of resolution algorithm, either in
 Aether of OSGi: once a list of version have been found that match the
 constraint, I still don't see/know what is the chosen one
 
 Can you point me to the right direction, please?
 
 You need to download the spec: http://www.osgi.org/Specifications/HomePage
 
 There is a section on versions.
 ok, I found the answer:
 
 3.8 Resolving Process
 ...
 An exporter with a higher version is preferred over an exporter with a lower 
 version
 
 then maximum version (compatible with version range) is used: we should be 
 able to say simply that
 
 and IIUC:
 - nobody finds that any other choice is better in any case
 - nobody finds that it looks like LATEST, which was removed because it was 
 told 
 not reproducible
 

There was a proposal for pre-releases (like SNAPSHOTs but was rejected). 
Honestly I don't think they are needed. At Eclipse we do just fine without 
them. There are a steam of releases and we pick one that works. More akin to 
continuous delivery. To further complicate matters you can have an explicit 
target platform which essentially enumerates your entire runtime and that's 
what you can resolve against. So you can have ranges in your dependency 
specification but your target platform is going to have specific versions 
available for use and it is a logical constraint. This is a little like having 
a dependencyManagement section if it enumerated the transitive hull and locked 
down the versions but in Maven's case (without some enforcement) if a 
dependency was not listed but requested Maven would carry on, where if a bundle 
was requested and not available in the target platform the resolver would blow 
up. Unless you're using Tycho without a target platform and then it works more 
like Maven. It's rather complicated in Tycho as we've tried to make Maven and 
OSGi cooperate which is like mixing oil and water as Igor would say.

 Now I understand how using version ranges is not really compatible with using 
 SNAPSHOTs: SNAPSHOT is the way to handle limited change when not using ranges
 But if you choose to use ranges, you have this de-facto LATEST handling that 
 makes SNAPSHOTs more a problem than anything

It's just how we use SNAPSHOT. In a Tycho build we use -SNAPSHOT in the Maven 
POMs and .qualifier in the bundle manifests, but all the bundles and metadata 
get expanded for deployment. So if you look at the m2e-egit extra manfiest:

https://github.com/tesla/m2eclipse-egit/blob/master/org.sonatype.m2e.egit/META-INF/MANIFEST.MF#L5

You will see .qualifier in the version and this gets expanded to a build 
qualifier which generally contains the UTC date stamp.

Now if you look in a deployed version at:

http://repository.takari.io:8081/nexus/content/sites/m2e.extras/m2eclipse-egit/0.14.0/N/0.14.0.201405280011/

And you open the artifacts.jar and look at artifact.xml you will see that there 
is no trace of the .qualifier. So the resolver is not dealing with the literal 
.qualifier it's just dealing with numerics. Really I think this is where we 
will get insofar deploying artifacts and metadata with expanded qualifiers.

I think our discussion on Wednesday will include having build-time vs 
consumption-time POMs. The consumption-time POM can have most of the build 
information stripped out and we can likely have it be fully expanded. I'll post 
something on Monday so people can prepare for Wednesday.

 
 For the moment, I continue to like SNAPSHOTs + preferred versions :)

It works in many cases and for 10 years ago it was better than anything else. 
The fatal flaw with snapshots (which would not be hard to fix) is that each 
build 

Re: A thought on local-SNAPSHOTs

2014-06-15 Thread Mark Derricutt
So if I have two modules that are interdependent on in-progress changes, 
how does one build/test the dependant one.


Note - reactor builds and multi-modules builds are out of the question - 
the above modules are in separate git repositories and there's no way to 
create a fake reactor setup - i.e. a separate pom.xml just listing 
module/ elements ( maven complains when that pom is not the parent ).


On 15 Jun 2014, at 23:08, Robert Scholte wrote:

exactly my thoughts as well. I see a lot of users still doing 
'install' for the wrong reasons:

- coworkers said so / internet said so.


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



Re: A thought on local-SNAPSHOTs

2014-06-15 Thread Mark Derricutt

On 15 Jun 2014, at 21:07, Stephen Connolly wrote:

I favour never deploying smapshots to developer repositories... Any 
time


Agree fully on not deploying snapshots - but I'm talking about locally 
INSTALLED snapshots.



broken shit for... Timestamped snapshots are just a crutch...


Agreed totally - and we never use them either. But that's 100% 
irrelevant to this topic ( at least directly ).





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



Re: A thought on local-SNAPSHOTs

2014-06-15 Thread Jason van Zyl
On Jun 15, 2014, at 5:45 PM, Mark Derricutt m...@talios.com wrote:

 So if I have two modules that are interdependent on in-progress changes, how 
 does one build/test the dependant one.
 

This setup is just normal and works in m2e with Eclipse's workspace resolution. 
I can have an arbitrary graph of projects where the projects can be in source 
form or binary dependencies: everything is resolved from within Eclipse and I 
don't need the command line at all. I have worked like this for years and Igor 
has made many improvements over time to make it easier.

 Note - reactor builds and multi-modules builds are out of the question - the 
 above modules are in separate git repositories and there's no way to create a 
 fake reactor setup - i.e. a separate pom.xml just listing module/ 
 elements ( maven complains when that pom is not the parent ).
 

That said I am working with a customer where this type of workspace resolution 
we have in Eclipse we want on the command line. Ideally I want the behaviour we 
have in Eclipse to be available on the command line and in CI systems. The 
graph of projects you have in your IDE is probably not too dissimilar from a 
graph of projects you have in a CI system and you should be able to build them 
all in the same workspace.

I basically always work in Eclipse for this reason and I never install anything 
until I want to try it all on the command line. Ultimately I hope not to have 
to install anything ever and maybe install can just go away at some point.

 On 15 Jun 2014, at 23:08, Robert Scholte wrote:
 
 exactly my thoughts as well. I see a lot of users still doing 'install' for 
 the wrong reasons:
 - coworkers said so / internet said so.
 
 -
 To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
 For additional commands, e-mail: dev-h...@maven.apache.org
 

Thanks,

Jason

--
Jason van Zyl
Founder,  Apache Maven
http://twitter.com/jvanzyl
http://twitter.com/takari_io
-

To think is easy. To act is hard. But the hardest thing in the world is to act 
in accordance with your thinking.

 -- Johann von Goethe











[GitHub] maven-enforcer pull request: [MENFORCER-193]: Add new rule: Banned...

2014-06-15 Thread wangyf2010
Github user wangyf2010 closed the pull request at:

https://github.com/apache/maven-enforcer/pull/13


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



Re: A thought on local-SNAPSHOTs

2014-06-15 Thread Stephen Connolly
On Sunday, 15 June 2014, Mark Derricutt m...@talios.com wrote:

 So if I have two modules that are interdependent on in-progress changes,
 how does one build/test the dependant one.

 Note - reactor builds and multi-modules builds are out of the question -
 the above modules are in separate git repositories and there's no way to
 create a fake reactor setup - i.e. a separate pom.xml just listing
 module/ elements ( maven complains when that pom is not the parent ).


Even if the local aggregator does something like

module../foo/module

?


 On 15 Jun 2014, at 23:08, Robert Scholte wrote:

  exactly my thoughts as well. I see a lot of users still doing 'install'
 for the wrong reasons:
 - coworkers said so / internet said so.


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



-- 
Sent from my phone


Re: A thought on local-SNAPSHOTs

2014-06-15 Thread Barrie Treloar
On 16 June 2014 14:12, Stephen Connolly stephen.alan.conno...@gmail.com
wrote:

 On Sunday, 15 June 2014, Mark Derricutt m...@talios.com wrote:

  So if I have two modules that are interdependent on in-progress changes,
  how does one build/test the dependant one.
 
  Note - reactor builds and multi-modules builds are out of the question -
  the above modules are in separate git repositories and there's no way to
  create a fake reactor setup - i.e. a separate pom.xml just listing
  module/ elements ( maven complains when that pom is not the parent ).


 Even if the local aggregator does something like

 module../foo/module


A link to a blog post or more detail might be useful for those still
learning.

I'm pretty sure I know this to look like
ROOT/
- aggregator
  - pom.xml (reference modules ../projectA and ../projectB)
- projectA
- projectB

But its not something I do, and I'm hoping I got it right from Maven
experience :)

This is where the vaoporware Magic Checkout plugin that Kristian has
mentioned would be useful.
This plugin would automatically change a released dependency to its
snapshot version, check it out, and update/create the aggregator project to
reference the checked out version.