incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Mueller <pmue...@gmail.com>
Subject naming release files and directories
Date Mon, 12 Mar 2012 20:03:02 GMT
One of the things that we're going to need to settle on is how to 'name'
our release artifacts.  Apache provides a lot of leeway, and there are just
a few subtle differences from how we name incubator release and how we'll
name releases after we graduate from incubator.

general references: Releases FAQ [1] and Incubator Releases Guide [2].

A little overview: releases at Apache are stored in two places: the `dist`
tree and the `archive` tree.  `dist` is used to the store the current
release, `archive` stores all your releases.  Artifacts you add to the
`dist` tree are automagically added to the `archive` tree and never deleted
from there.  Because of this, we want to decide what the shape of the
`archive` tree will be, since it will hold all releases we ever produce,
and then that drives what the shape of the `dist` tree is.

Incubator releases differ from "graduated" releases in that they are stored
in `incubator` subdirectories of the `dist` and `archive` trees, and the
release zip/tar balls should have 'incubating' in the name.

You should poke around the current trees to see what sort of structure
folks have used: [3] [4] [5] [6].

There are a couple of general themes, but I kinda like the layout of the
ant trees, modulo some name changes.  The basic idea is that the root of
the tree would contain three subdirectories: source, binaries, and manual.
[7]  Within each of the directories, in the `archive` tree, are the zip/tar
balls of all the releases.

The 'modulo name change' is that I'd prefer to use 'src', 'bin' and 'doc'
for the names of the directories, as well as the suffix on the name of the
zip/tarball.  Because I'm anal - all of the 'names' are 3 chars long. So
we'd have something like:

archive.apache.org/dist/incubator/cordova
  - bin
  - doc
  - src

archive.apache.org/dist/incubator/cordova/bin
  - apache-cordova-1.6.0-incubating-bin.zip
  - apache-cordova-1.6.1-incubating-bin.zip
  - ...

archive.apache.org/dist/incubator/cordova/doc
  - apache-cordova-1.6.0-incubating-doc.zip
  - apache-cordova-1.6.1-incubating-doc.zip
  - ...

archive.apache.org/dist/incubator/cordova/src
  - apache-cordova-1.6.0-incubating-src.zip
  - apache-cordova-1.6.1-incubating-src.zip
  - ...

I've see other projects, instead of bin/doc/src directories in their root,
have version numbers, which would be something like:

archive.apache.org/dist/incubator/cordova/
  - 1.6.0-incubating
  - 1.6.1-incubating
  - ...

archive.apache.org/dist/incubator/cordova/1.6.0-incubating
  - apache-cordova-1.6.0-incubating-bin.zip
  - apache-cordova-1.6.0-incubating-doc.zip
  - apache-cordova-1.6.0-incubating-src.zip

archive.apache.org/dist/incubator/cordova/1.6.1-incubating
  - apache-cordova-1.6.1-incubating-bin.zip
  - apache-cordova-1.6.1-incubating-doc.zip
  - apache-cordova-1.6.1-incubating-src.zip

...

As someone who often scripts downloads of Apache, Eclipse, etc artifacts, I
find this style unpleasant, as it means I need to 'script' up the URL with
version numbers twice.  Icky.  And it just looks kinda dumb, to give
someone a URL to a zip/tar ball that has the version number in it twice -
and is longer than other style. But there is something kinda nice about
having all the files for all a release in one place.

references
----------

[1] http://www.apache.org/dev/release.html
[2] http://incubator.apache.org/guides/releasemanagement.html
[3] http://www.apache.org/dist/
[4] http://www.apache.org/dist/incubator/
[5] http://archive.apache.org/dist/
[6] http://archive.apache.org/dist/incubator/
[7] http://archive.apache.org/dist/ant/

-- 
Patrick Mueller
http://muellerware.org

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message