Added a versioning system to the config files

This commit is contained in:
João Brázio 2016-04-22 17:33:00 +01:00
parent d50ba08246
commit de8108648f
No known key found for this signature in database
GPG Key ID: F62CFD37DFFDB540
4 changed files with 50 additions and 0 deletions

View File

@ -38,6 +38,19 @@
#ifndef CONFIGURATION_H #ifndef CONFIGURATION_H
#define CONFIGURATION_H #define CONFIGURATION_H
/**
*
* ***********************************
* ** ATTENTION TO ALL DEVELOPERS **
* ***********************************
*
* You must increment this version number for every significant change such as,
* but not limited to: ADD, DELETE RENAME OR REPURPOSE any directive/option.
*
* Note: Update also Default_Version.h !
*/
#define CONFIGURATION_H_VERSION 1
#include "boards.h" #include "boards.h"
#include "macros.h" #include "macros.h"

View File

@ -33,6 +33,19 @@
#ifndef CONFIGURATION_ADV_H #ifndef CONFIGURATION_ADV_H
#define CONFIGURATION_ADV_H #define CONFIGURATION_ADV_H
/**
*
* ***********************************
* ** ATTENTION TO ALL DEVELOPERS **
* ***********************************
*
* You must increment this version number for every significant change such as,
* but not limited to: ADD, DELETE RENAME OR REPURPOSE any directive/option.
*
* Note: Update also Default_Version.h !
*/
#define CONFIGURATION_ADV_H_VERSION 1
#include "Conditionals.h" #include "Conditionals.h"
// @section temperature // @section temperature

View File

@ -38,6 +38,20 @@
#error "Versions of Arduino IDE prior to 1.6.0 are no longer supported, please update your toolkit." #error "Versions of Arduino IDE prior to 1.6.0 are no longer supported, please update your toolkit."
#endif #endif
/**
* We try our best to include sanity checks for all the changes configuration
* directives because people have a tendency to use outdated config files with
* the bleding edge source code, but sometimes this is not enough. This check
* will force a minimum config file revision, otherwise Marlin will not build.
*/
#if ! defined(CONFIGURATION_H_VERSION) || CONFIGURATION_H_VERSION < REQUIRED_CONFIGURATION_H_VERSION
#error You are using an old Configuration.h file, updated it before building Marlin.
#endif
#if ! defined(CONFIGURATION_ADV_H_VERSION) || CONFIGURATION_ADV_H_VERSION < REQUIRED_CONFIGURATION_ADV_H_VERSION
#error You are using an old Configuration_adv.h file, updated it before building Marlin.
#endif
/** /**
* Marlin release, version and default string * Marlin release, version and default string
*/ */

View File

@ -44,6 +44,16 @@
*/ */
#define STRING_DISTRIBUTION_DATE "2016-04-27 12:00" #define STRING_DISTRIBUTION_DATE "2016-04-27 12:00"
/**
* Required minimum Configuration.h and Configuration_adv.h file versions.
*
* You must increment this version number for every significant change such as,
* but not limited to: ADD, DELETE RENAME OR REPURPOSE any directive/option on
* the configuration files.
*/
#define REQUIRED_CONFIGURATION_H_VERSION 1
#define REQUIRED_CONFIGURATION_ADV_H_VERSION 1
/** /**
* @todo: Missing documentation block * @todo: Missing documentation block
*/ */