Differences between revisions 17 and 18
Revision 17 as of 2011-11-05 13:43:08
Size: 3123
Editor: jfarrell
Comment:
Revision 18 as of 2012-05-04 01:28:48
Size: 65
Editor: jfarrell
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This page should describe the versioning of libraries. '''It's a DRAFT'''!

goal is to solve the following issues:
 * https://issues.apache.org/jira/browse/THRIFT-6
 * https://issues.apache.org/jira/browse/THRIFT-274

||'''Language'''|| '''via configure.ac''' || '''File(s) containing Version Information''' || '''Open Issues / Questions''' ||'''Deployment Format'''||
||thrift-compiler|| yes || configure.ac || which deployment formats do we need? || src, Windows Binary, unofficial Debian Package ||
||as3 || no || versioned based on java || || ant -Drelease=true publish ||
||cocoa || || || no version available|| ||
||cpp || yes || configure.ac (generate config.h) || none || src, unofficial Debian Package ||
||csharp || no ||lib/csharp/src/Properties/AssemblyInfo.cs lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs || how to automate? people do not use configure scripts on Windows!|| WiX based Installer would be great!||
||delphi||no||/lib/delphi/src/Thrift.pas|| || ||
||erl || yes ||lib/erl/src/thrift.app.src || none, is configure anyway required? ||||
||go|| || || no version available||||
||hs || no || lib/hs/Thrift.cabal|| automate via lib/hs/Makefile.am ? is configure anyway required? ||||
||java || no ||lib/java/build.properties || || maven: ant -Drelease=true publish||
||javame || || || no version available||||
||js || no || lib/js/thrift.js || || ||
||nodejs || no || lib/nodejs/package.json || || npm http://search.npmjs.org/#/thrift ||
||ocaml || || || no version available||||
||perl || ||lib/perl/lib/Thrift.pm, lib/perl/Makefile.PL || perl does not use version info from configure scripts ||cpan?||
||php || || || ?||pear/pecl?||
||py ||no || lib/py/setup.py || automate via lib/py/Makefile.am ? No. It's currently possible to build the Python library without running configure, which is kind of nice. || ||
||rb || || lib/rb/Rakefile|| automate via lib/py/Makefile.am ? is configure anyway required? || Gems http://rubygems.org/gems/thrift||
||st || || || no version available||||
||Debian Packages || no || contrib/debian/changelog || || ||

General Questions:
 * which version string should be used on trunk?
  * '''0.6.0-dev''' or 0.6.x or 0.6.0-SNAPSHOT
  * language specific preferences?
 * string allowed inside version field?
  * 0.5.2.9999 after releasing 0.5.2 if no character is allowed?

 * Same values across Libraries:
  * Name: libthrift
  * Version: 0.6.0-dev
  * License: Apache License 2.0
  * License URL: http://www.apache.org/licenses/LICENSE-2.0
  * Homepage: http://thrift.apache.org
  * Bug-Reports: https://issues.apache.org/jira/browse/THRIFT
  * Maintainer: dev@thrift.apache.org
  * Description: Lang-xx bindings for the Apache Thrift RPC system
  * ...
 * thrift-compiler naming?

== Versioning Concept ==
Semantic Versioning Specification (!SemVer) http://semver.org
 * Major: Incremented for backward incompatible changes. An example would be changes to the protocol.
 * Minor: Incremented for backward compatible changes.
 * Patch: Incremented for bug fixes
Moved to http://thrift.apache.org/docs/committers/HowToVersion/

HowToVersion (last edited 2012-05-04 01:28:48 by jfarrell)