That's completely reasonable -- we don't have more than one version in
production at a given time, however.

On Tue, Feb 1, 2011 at 9:29 PM, Ron Wheeler
<rwhee...@artifact-software.com>wrote:

> On 01/02/2011 11:03 AM, Mate Varga wrote:
>
>> Perforce, and we're strict about comments as well, but we don't really do
>> branching and tagging (the dev team size is just too small).
>>
> We are very small as well but we really do need the branching and tagging
> to enable us to support and fix bugs in multiple versions that are in
> production plus test and development.
>
> Ron
>
>  It does not need to be very easy to tie source to snapshots.
>>
>> Besides that, is what I've written about snapshots correct?
>>
>> On Tue, Feb 1, 2011 at 3:52 PM, Ron Wheeler
>> <rwhee...@artifact-software.com>wrote:
>>
>>  What version control system are you using?
>>>
>>> We are using Subversion and are pretty strict about:
>>> a) Branching and tagging
>>> b) Comments.
>>>
>>> The fundamental question is "How easy does it have to be to tie a source
>>> version to a snapshot?"
>>> We very seldom need to go back and do a forensic reconstruction of the
>>> crime.
>>> When we do, we have comments and commit dates in the SCM that can be
>>> matched against other evidence (paper notes, Snapshot dates, e-mails,
>>> etc.)
>>> to determine where the source and the other event (test, presentation,
>>> e-mail, bug report) coincide in time.
>>>
>>> SNAPSHOTS and Subversion commits are both dated so it is always possible
>>> to
>>> match them.
>>> It has been required less than 3 times in the past 4 years that we have
>>> been developing with Subversion and Maven, so the extra time to read a
>>> history or go through a set of Maven Artifacts (we have Nexus) is not
>>> really
>>> a determining factor in our selection of a methodology and development
>>> protocol.
>>>
>>>
>>> Ron
>>>
>>>
>>> On 01/02/2011 10:14 AM, Mate Varga wrote:
>>>
>>>  That sounds right.
>>>> As far as I know, Maven assumes that releases are immutable, but
>>>> snapshots
>>>> are not. So I could just use {some version number}-SNAPSHOT for all of
>>>> our
>>>> projects and they would depend on each others' snapshot versions.
>>>> As far as I remember, the reason why I've chosen version numbers instead
>>>> of
>>>> SNAPSHOTs is that given a 'snapshot' (not in the Maven sense) of a
>>>> project
>>>> and it's runtime dependencies, it is possible to go and find the sources
>>>> he
>>>> artifacts were built from.
>>>> So in our current setup, a self-containing 'release' of project a
>>>> contains
>>>> A-12.jar
>>>> B-19.jar
>>>> C-123.jar
>>>> D-111.jar
>>>>
>>>> The version numbers are CI build numbers. Using snapshots (and without
>>>> manual versioning), this would look like A-1-SNAPSHOT, B-1-SNAPSHOT,
>>>> etc.
>>>> However, this should not be a problem as there are hundred other ways of
>>>> tying an artifact to a build / source revision...
>>>>
>>>> So you recommend just using a fixed version and SNAPSHOTs instead of
>>>> 'RELEASE's?
>>>>
>>>> Sorry for being confusing, this is my first encounter with Maven (and
>>>> even
>>>> with these hacks it's much more convenient than Ant, at least for our
>>>> purposes).
>>>>
>>>> Thanks,
>>>> Mate
>>>>
>>>> On Tue, Feb 1, 2011 at 2:43 PM, Ron Wheeler
>>>> <rwhee...@artifact-software.com>wrote:
>>>>
>>>>  It does seem that you are describing the way SNAPSHOTS work.
>>>>
>>>>> Can you identify any particular problem in your environment that
>>>>> prevents
>>>>> you from working according to the Best Practices that thousands of
>>>>> organizations are following?
>>>>> I can not see from anything that you have described so far that is
>>>>> abnormal.
>>>>> We have 70 projects that make up a large LMS and it depends on 60+
>>>>> third
>>>>> party libraries and most of the war files include dependencies on our
>>>>> utilities and web services.
>>>>>
>>>>> We do not use CI but dozens of regulars here do and can help make that
>>>>> work
>>>>> correctly.
>>>>>
>>>>> Can you give a short description of the issues that made you abandon
>>>>> SNAPSHOTS?
>>>>>
>>>>>
>>>>> Ron
>>>>>
>>>>>
>>>>> On 01/02/2011 9:22 AM, Mate Varga wrote:
>>>>>
>>>>>  What assumptions do I break except the immutability of an artifact
>>>>> with
>>>>>
>>>>>> a
>>>>>> specific version? (Which is only broken locally, and mvn should not
>>>>>> really
>>>>>> know about it, and it should not affect anything as mvn does not copy
>>>>>> local
>>>>>> artifacts anywhere.)
>>>>>>
>>>>>> Well, then the easiest thing is to explain what I'd like to do -- and
>>>>>> maybe
>>>>>> there's some other way to achieve it.
>>>>>>
>>>>>> (let's assume we have 3 projects, A, B, C,D; A depends on B, B depends
>>>>>> on
>>>>>> C
>>>>>> and A depends on D
>>>>>> - we don't have major / minor versions at all -- we do not want and we
>>>>>> do
>>>>>> not need a separate release procedure. Every successful CI build is
>>>>>> considered to be a new version. Obviously, successful CI builds should
>>>>>> be
>>>>>> handled as snapshots, but if project B has been successfully built in
>>>>>> the
>>>>>> CI, then each following build of A should be using that version.
>>>>>> Therefore
>>>>>> the version numbers should be incremented automatically (CI build
>>>>>> number
>>>>>> could be used for that)
>>>>>> - developers should be able to modify and build project B locally, and
>>>>>> then
>>>>>> modify and build A (and A should use B which was built locally)
>>>>>>
>>>>>> Currently, what I do is
>>>>>> - have two profiles, a 'local' and a 'CI', which are activated
>>>>>> automatically
>>>>>> depending on the environment
>>>>>> - after successful CI builds, artifacts are deployed to the repo
>>>>>> manager
>>>>>> (this works perfectly)
>>>>>> - locally built artifacts have version no. 99999999
>>>>>> - if an internal project references another internal project, then it
>>>>>> refers
>>>>>> to its 'LATEST' version
>>>>>>
>>>>>> Are there other ways to achieve similar results? Please do not
>>>>>> criticize
>>>>>> the
>>>>>> way we do releases, as this is 'given', and it's the result of the
>>>>>> environment we work in. We cannot have major/minor releases, nor can
>>>>>> we
>>>>>> manually version each release. I'd be very happy if there were a
>>>>>> proper
>>>>>> way
>>>>>> to do what we're doing in a bit hacky way now.
>>>>>>
>>>>>> Thanks,
>>>>>> Mate
>>>>>>
>>>>>> On Tue, Feb 1, 2011 at 1:22 PM, Stephen Connolly<
>>>>>> stephen.alan.conno...@gmail.com>    wrote:
>>>>>>
>>>>>>  ugh this is just so wrong I don't know where to start.
>>>>>>
>>>>>>  please consider using SNAPSHOTS as they are the correct way
>>>>>>>
>>>>>>> LATEST and RELEASE do not mean what you think they mean, and they
>>>>>>> have
>>>>>>> been
>>>>>>> deprecated. their use is no longer supported.
>>>>>>>
>>>>>>> maven makes assumptions about non-SNAPSHOT versions which you are
>>>>>>> breaking
>>>>>>> behind its back.
>>>>>>>
>>>>>>> there be dragons here
>>>>>>>
>>>>>>> - Stephen
>>>>>>>
>>>>>>> ---
>>>>>>> Sent from my Android phone, so random spelling mistakes, random
>>>>>>> nonsense
>>>>>>> words and other nonsense are a direct result of using swype to type
>>>>>>> on
>>>>>>> the
>>>>>>> screen
>>>>>>> On 1 Feb 2011 11:13, "Mate Varga"<mate.va...@gmail.com>    wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>  ---------------------------------------------------------------------
>>>>>>>
>>>>>> 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
>
>

Reply via email to