automated versioning

This commit is contained in:
Friendika 2011-03-09 16:57:22 -08:00
parent 1c779e2061
commit 7b9dff1db7
3 changed files with 16 additions and 15 deletions

1
.gitignore vendored
View file

@ -4,5 +4,6 @@ wip/*
include/jquery-1.4.2.min.js include/jquery-1.4.2.min.js
*.log *.log
*.out *.out
*.version*
push* push*
home.html home.html

View file

@ -2,9 +2,9 @@
set_time_limit(0); set_time_limit(0);
define ( 'BUILD_ID', 1040 ); define ( 'FRIENDIKA_VERSION', '2.1.913' );
define ( 'FRIENDIKA_VERSION', '2.10.0912' );
define ( 'DFRN_PROTOCOL_VERSION', '2.1' ); define ( 'DFRN_PROTOCOL_VERSION', '2.1' );
define ( 'DB_UPDATE_VERSION', 1040 );
define ( 'EOL', "<br />\r\n" ); define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@ -435,15 +435,15 @@ function check_config(&$a) {
$build = get_config('system','build'); $build = get_config('system','build');
if(! x($build)) if(! x($build))
$build = set_config('system','build',BUILD_ID); $build = set_config('system','build',DB_UPDATE_VERSION);
$url = get_config('system','url'); $url = get_config('system','url');
if(! x($url)) if(! x($url))
$url = set_config('system','url',$a->get_baseurl()); $url = set_config('system','url',$a->get_baseurl());
if($build != BUILD_ID) { if($build != DB_UPDATE_VERSION) {
$stored = intval($build); $stored = intval($build);
$current = intval(BUILD_ID); $current = intval(DB_UPDATE_VERSION);
if(($stored < $current) && file_exists('update.php')) { if(($stored < $current) && file_exists('update.php')) {
// We're reporting a different version than what is currently installed. // We're reporting a different version than what is currently installed.
// Run any existing update scripts to bring the database up to current. // Run any existing update scripts to bring the database up to current.
@ -455,7 +455,7 @@ function check_config(&$a) {
$func($a); $func($a);
} }
} }
set_config('system','build', BUILD_ID); set_config('system','build', DB_UPDATE_VERSION);
} }
} }

View file

@ -11,24 +11,24 @@
* Each function in this file is named update_nnnn() where nnnn is an increasing number * Each function in this file is named update_nnnn() where nnnn is an increasing number
* which began counting at 1000. * which began counting at 1000.
* *
* At the top of the file "boot.php" is a define for BUILD_ID. Any time there is a change * At the top of the file "boot.php" is a define for DB_UPDATE_VERSION. Any time there is a change
* to the database schema or one which requires an upgrade path from the existing application, * to the database schema or one which requires an upgrade path from the existing application,
* the BUILD_ID is incremented. * the DB_UPDATE_VERSION is incremented.
* *
* The current BUILD_ID is stored in the config area of the database. If the application starts up * The current DB_UPDATE_VERSION is stored in the config area of the database. If the application starts up
* and BUILD_ID is greater than the last stored build number, we will process every update function * and DB_UPDATE_VERSION is greater than the last stored build number, we will process every update function
* in order from the currently stored value to the new BUILD_ID. This is expected to bring the system * in order from the currently stored value to the new DB_UPDATE_VERSION. This is expected to bring the system
* up to current without requiring re-installation or manual intervention. * up to current without requiring re-installation or manual intervention.
* *
* Once the upgrade functions have completed, the current BUILD_ID is stored as the current value. * Once the upgrade functions have completed, the current DB_UPDATE_VERSION is stored as the current value.
* The BUILD_ID will always be one greater than the last numbered script in this file. * The DB_UPDATE_VERSION will always be one greater than the last numbered script in this file.
* *
* If you change the database schema, the following are required: * If you change the database schema, the following are required:
* 1. Update the file database.sql to match the new schema. * 1. Update the file database.sql to match the new schema.
* 2. Update this file by adding a new function at the end with the number of the current BUILD_ID. * 2. Update this file by adding a new function at the end with the number of the current DB_UPDATE_VERSION.
* This function should modify the current database schema and perform any other steps necessary * This function should modify the current database schema and perform any other steps necessary
* to ensure that upgrade is silent and free from requiring interaction. * to ensure that upgrade is silent and free from requiring interaction.
* 3. Increment the BUILD_ID in boot.php * 3. Increment the DB_UPDATE_VERSION in boot.php
* 4. TEST the upgrade prior to checkin and filing a pull request. * 4. TEST the upgrade prior to checkin and filing a pull request.
* *
*/ */