OK - so it should be at part of the java artifact specifier proposal [1],
or do you envision another layer?
The URI Syntax proposal [2] that the above extends is becoming a little
thin.

i.e:
  repository-uri = access-specifier "/" product-specifier "/"
                   artifact-specifier
  ...
  product-specifier = organisation "/" project "/" version
  organisation = *pchar
  project = *pchar
  version = *pchar
  (pchar is per http://www.ietf.org/rfc/rfc2396.txt)

becomes:
  ...
  product-specifier = organisation "/" project "/" version
  organisation = path_segments           [3]
  project = *pchar
  version = path_segments
  (path_segments is per http://www.ietf.org/rfc/rfc2396.txt)

organisation, version and artifact-specifier are therefore all
opaque, determined by best-practices.

-Tim

[1] http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/JavaArtifacts
[2] http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/URISyntax
[3] to allow for FQDN and reverse FQDN, separated by "/".

> -----Original Message-----
> From: Stephen McConnell [mailto:[EMAIL PROTECTED]
> Sent: Friday, 14 November 2003 12:55 PM
> To: [EMAIL PROTECTED]
> Subject: Re: URI Syntax: nightly and release builds
>
>
>
> 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:[EMAIL PROTECTED]
>
> |------------------------------------------------|
> | Magic by Merlin                                |
> | Production by Avalon                           |
> |                                                |
> | http://avalon.apache.org/merlin                |
> | http://dpml.net/                               |
> |------------------------------------------------|
>
>
>
>
>


Reply via email to