On Apr 17, 2014, at 10:24 AM, Benson Margulies <[email protected]> wrote:

> I'd like to arrange a system in which the automated builds stamp out
> releases (in the Maven sense),

In my case there is nothing to stamp out, every build is releasable. I deploy 
sources and everything else required and have mechanisms to cleanup the 
repository as our builds are frequent. For releases in the current Maven sense 
I plan to phase out in all my use cases: no SNAPSHOTs and no release plugin. 
Things obviously need to be tagged and processed once you decide a particular 
build is your "release" but we are developing tooling for this.

> but that developers can use the usual
> IDE and command-line builds when just building on their particular
> machine at some particular instant. So I'd like to spare developers
> from 'passing in the version always.'

Our developers don't pass anything in, the system they use does this for them 
and ultimately I'll make tooling for a generations workflow and people can 
decide to use it if it works for their case. I  definitely don't want 
developers having to fiddle with properties.

> The device discussed in your
> last paragraph could undoubtedly use some environmental hint to tell
> that it's just a dev's machine and either fill in a very unique
> qualifier or just use a snapshot.

I just use a custom MetadataGenerationFactory to stuff in the right version 
which is always a release version. The same mechanism to flip SNAPSHOTs to 
timestamps. This mechanism is not very pretty and at a minimum I will clean 
this up so that guys like who posted after you don't have to hackup the model 
reader to achieve what they need.

> 
> 
> On Tue, Apr 15, 2014 at 12:09 PM, Jason van Zyl <[email protected]> wrote:
>> For the continuous delivery friendly versions I saw an issue in JIRA as well 
>> that tried to use snapshots.
>> 
>> The version is always a release version, not a snapshot. Snapshots are 
>> definitively not CD friendly. In the system I'm working on that currently 
>> uses this feature it is always a Perforce changelist which is the version. 
>> All artifacts get deployed with this version. This is getting close, but we 
>> don't use snapshots or the release plugin which is the way I believe things 
>> will evolve in the Maven ecosystem. This is the generations stuff I've 
>> mentioned and while it is working in production right now, it's not complete 
>> but I'll likely have all the edge cases worked out in a few months.
>> 
>> So the theory is with this mechanism that the release version is passed in 
>> externally always. I have another method I'm working on which is to have 
>> something like x.y.z.qualifier where the magic happens in the 
>> maven-aether-provider to do the necessary transformation based on the system 
>> you're running in: Git, P4, whatever.
>> 
>> What are you trying to do? I can explain more if I know what you're playing 
>> with.
>> 
>> On Apr 15, 2014, at 10:19 AM, Benson Margulies <[email protected]> wrote:
>> 
>>> I've been thinking about how to exploit the 3.2.1 feature of
>>> 
>>>  <version>${something}</version>
>>> 
>>> My idea is that an ordinary developer would end up with 'something'
>>> defined to be a good, old, -SNAPSHOT, while various automated builds
>>> would define it based on git commits.
>>> 
>>> Is is intended that a POM could declare
>>> 
>>>   <something>44-SNAPSHOT</something>
>>> 
>>> and then have the command-line override with -Dsomething=SOMETHING-else?
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>> 
>> 
>> Thanks,
>> 
>> Jason
>> 
>> ----------------------------------------------------------
>> Jason van Zyl
>> Founder,  Apache Maven
>> http://twitter.com/jvanzyl
>> http://twitter.com/takari_io
>> ---------------------------------------------------------
>> 
>> A party which is not afraid of letting culture,
>> business, and welfare go to ruin completely can
>> be omnipotent for a while.
>> 
>>  -- Jakob Burckhardt
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 

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









Reply via email to