www-repository mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen McConnell <mcconn...@apache.org>
Subject Re: URI Syntax: nightly and release builds
Date Fri, 14 Nov 2003 01:54:51 GMT

Tim:

My initial impression is that all the following could be expressed as 
part of a spec. one-level-up from the artifact spec.  Everything below 
is dealing with the notion of the usage of the repository for a 
particular purpose - namely the registration of artifacts arising from 
development processes.  It would be nice if we could draw a line between 
the repository in its role as "artifact retrieval" as distinct from the 
*usage* of the repository for a particular domain objective.

Personally I figure this can be archived by layering on a usage specific 
set of rules/best-practices on top of the [version] element.


Cheers, Steve.

 

Tim Anderson wrote:

>The URISyntax proposal is silent on how to handle
>nightly, release, snapshot, and latest builds.
>This should be formalised. 
>
>The current proposal has:
>  product-specifier = organisation "/" project "/" version
>where: 
>  version = *pchar
>
>To support nightlies etc, this leads to the possibility of 
>artifacts named:
>  http://repo.apache.org/apache/commons-cli/1.0/...
>  http://repo.apache.org/apache/commons-cli/1.1/...
>  http://repo.apache.org/apache/commons-cli/latest/...
>    -> link to ../1.1
>  http://repo.apache.org/apache/commons-cli/nightly-20031112/...
>  http://repo.apache.org/apache/commons-cli/nightly-20031113/...
>  http://repo.apache.org/apache/commons-cli/nightly-latest/...
>    -> link to ../nightly-latest
>
>Where *latest is a symlink to the latest version, to aid navigation.
>
>Option 1. Specify version format
>--------------------------------
>
>To formalise the above, product-specifier could be changed to:
>  product-specifier = organisation "/" project "/" [rtype "-"] version
>  rtype = "nightly" | "snapshot"
>  version = "latest" | YYYYMMDD ["-" HHMM [SS]] | *pchar
>
>Cons:
>. clutters the repository
>. doesn't follow existing conventions, e.g:
>  http://cvs.apache.org/builds/jakarta-commons/nightly/commons-cli/
>. no facility to indicate snapshots or nightlies of a particular
>  version, if two or more versions are being developed concurrently.
>
>Option 2. Add build directory
>-----------------------------
>
>To reduce clutter, a new directory could be introduced to separate
>releases from nightly and snapshot builds i.e:
>
>  product-specifier = organisation "/" project "/" rtype "/" version
>  rtype = "release" | "nightly" | "snapshot"
>  version = "latest" | YYYYMMDD ["-" HHMM [SS]] | *pchar
>
>E.g:
>  http://repo.apache.org/apache/commons-cli/release/l.0/...
>  http://repo.apache.org/apache/commons-cli/release/l.1/...
>  http://repo.apache.org/apache/commons-cli/release/latest/... 
>    -> symlink to ../1.1
>  http://repo.apache.org/apache/commons-cli/nightly/20031112/...
>  http://repo.apache.org/apache/commons-cli/nightly/20031113/... 
>    -> symlink to ../20031113
>  http://repo.apache.org/apache/commons-cli/snapshot/20030901-1032/...
>  http://repo.apache.org/apache/commons-cli/snapshot/latest/...
>    -> symlink to ../20030901-1032
>
>Cons:
>. no facility to indicate snapshots or nightlies of a particular
>  version, if two or more versions are being developed concurrently.
>
>Option 3. Concurrent version nightly/snapshot builds
>----------------------------------------------------
>
>To allow nightlies and snapshots of multiple versions, product-specifier
>could be changed to:
>  product-specifier = organisation "/" project "/" build
>  build = release-build | interim-build
>  release-build = "release" "/" version
>  interim-build = itype "/" version "/" YYYYMMDD ["-" HHMM [SS]]
>  itype = "nightly" | "snapshot"
>  version = "latest" | *pchar
>
>E.g:
>  http://repo.apache.org/apache/commons-cli/release/l.0/...
>  http://repo.apache.org/apache/commons-cli/release/l.1/...
>  http://repo.apache.org/apache/commons-cli/release/latest/... 
>    -> symlink to ../1.1
>  http://repo.apache.org/apache/commons-cli/nightly/1.0/20031112/...
>  http://repo.apache.org/apache/commons-cli/nightly/1.0/20031113/...
>  http://repo.apache.org/apache/commons-cli/nightly/1.0/latest/... 
>    -> symlink to ../20031113
>  http://repo.apache.org/apache/commons-cli/nightly/2.0/20031112/... 
>  http://repo.apache.org/apache/commons-cli/nightly/2.0/20031113/... 
>  http://repo.apache.org/apache/commons-cli/nightly/2.0/latest/... 
>    -> symlink to ../20031113
>  http://repo.apache.org/apache/commons-cli/snapshot/1.0/20030901-1032/...
>  http://repo.apache.org/apache/commons-cli/snapshot/1.0/latest/...
>    -> symlink to ../20030901-1032
>  http://repo.apache.org/apache/commons-cli/snapshot/2.0/20031101-1452/...
>  http://repo.apache.org/apache/commons-cli/snapshot/2.0/latest/...
>    -> symlink to ../20031101-1452
>
>Option 4. Concurrent version interim builds
>----------------------------------------------------
>
>An alternative to Option 3 would be to remove any  distinction 
>from nightly and snapshot builds, as the difference 
>IMO is only cosmetic:
>  product-specifier = organisation "/" project "/" build
>  build = release-build | interim-build
>  release-build = "release" "/" version
>  interim-build = "interim" "/" version "/" YYYYMMDD ["-" HHMM [SS]]
>  version = "latest" | *pchar
>
>E.g:
>  http://repo.apache.org/apache/commons-cli/release/l.0/...
>  http://repo.apache.org/apache/commons-cli/release/l.1/...
>  http://repo.apache.org/apache/commons-cli/release/latest/... 
>    -> symlink to ../1.1
>  http://repo.apache.org/apache/commons-cli/interim/1.0/20031112/...
>  http://repo.apache.org/apache/commons-cli/interim/1.0/20031113/...
>  http://repo.apache.org/apache/commons-cli/interim/1.0/latest/... 
>    -> symlink to ../20031113
>  http://repo.apache.org/apache/commons-cli/interim/2.0/20031112/... 
>  http://repo.apache.org/apache/commons-cli/interim/2.0/20031113/... 
>  http://repo.apache.org/apache/commons-cli/interim/2.0/latest/... 
>    -> symlink to ../20031113
>
>Comments?
>
>-Tim
>
>
>  
>

-- 

Stephen J. McConnell
mailto:mcconnell@apache.org

|------------------------------------------------|
| Magic by Merlin                                |
| Production by Avalon                           |
|                                                |
| http://avalon.apache.org/merlin                |
| http://dpml.net/                               |
|------------------------------------------------|





Mime
View raw message