Committed to semantic versioning

as prompted by #365, #430, #447 and a thread on the google group.
- split version bumping out of generateSingleHeader script
- separate scripts for bumping each version component
- "build" number only incremented for "develop" builds
This commit is contained in:
Phil Nash
2015-06-29 18:05:23 +01:00
parent f5fef1ebed
commit 21f7ef6fdc
13 changed files with 239 additions and 133 deletions

View File

@@ -126,12 +126,7 @@ namespace Catch {
}
void showHelp( std::string const& processName ) {
Catch::cout() << "\nCatch v" << libraryVersion.majorVersion << "."
<< libraryVersion.minorVersion << " build "
<< libraryVersion.buildNumber;
if( libraryVersion.branchName != std::string( "master" ) )
Catch::cout() << " (" << libraryVersion.branchName << " branch)";
Catch::cout() << "\n";
Catch::cout() << "\nCatch v" << libraryVersion << "\n";
m_cli.usage( Catch::cout(), processName );
Catch::cout() << "For more detail usage please see the project docs\n" << std::endl;
@@ -148,9 +143,10 @@ namespace Catch {
catch( std::exception& ex ) {
{
Colour colourGuard( Colour::Red );
Catch::cerr() << "\nError(s) in input:\n"
<< Text( ex.what(), TextAttributes().setIndent(2) )
<< "\n\n";
Catch::cerr()
<< "\nError(s) in input:\n"
<< Text( ex.what(), TextAttributes().setIndent(2) )
<< "\n\n";
}
m_cli.usage( Catch::cout(), m_configData.processName );
return (std::numeric_limits<int>::max)();

View File

@@ -14,19 +14,20 @@ namespace Catch {
struct Version {
Version( unsigned int _majorVersion,
unsigned int _minorVersion,
unsigned int _buildNumber,
char const* const _branchName )
: majorVersion( _majorVersion ),
minorVersion( _minorVersion ),
buildNumber( _buildNumber ),
branchName( _branchName )
{}
unsigned int _patchNumber,
std::string const& _branchName,
unsigned int _buildNumber );
unsigned int const majorVersion;
unsigned int const minorVersion;
unsigned int const buildNumber;
char const* const branchName;
unsigned int const patchNumber;
// buildNumber is only used if branchName is not null
std::string const branchName;
unsigned int const buildNumber;
friend std::ostream& operator << ( std::ostream& os, Version const& version );
private:
void operator=( Version const& );
};

View File

@@ -12,8 +12,33 @@
namespace Catch {
// These numbers are maintained by a script
Version libraryVersion( 1, 1, 3, "master" );
Version::Version
( unsigned int _majorVersion,
unsigned int _minorVersion,
unsigned int _patchNumber,
std::string const& _branchName,
unsigned int _buildNumber )
: majorVersion( _majorVersion ),
minorVersion( _minorVersion ),
patchNumber( _patchNumber ),
branchName( _branchName ),
buildNumber( _buildNumber )
{}
std::ostream& operator << ( std::ostream& os, Version const& version ) {
os << version.majorVersion << "."
<< version.minorVersion << "."
<< version.patchNumber;
if( !version.branchName.empty() ) {
os << "-" << version.branchName
<< "." << version.buildNumber;
}
return os;
}
Version libraryVersion( 1, 2, 0, "", 0 );
}
#endif // TWOBLUECUBES_CATCH_VERSION_HPP_INCLUDED

View File

@@ -261,12 +261,7 @@ namespace Catch {
stream << "\n" << getLineOfChars<'~'>() << "\n";
Colour colour( Colour::SecondaryText );
stream << currentTestRunInfo->name
<< " is a Catch v" << libraryVersion.majorVersion << "."
<< libraryVersion.minorVersion << " b"
<< libraryVersion.buildNumber;
if( libraryVersion.branchName != std::string( "master" ) )
stream << " (" << libraryVersion.branchName << ")";
stream << " host application.\n"
<< " is a Catch v" << libraryVersion << " host application.\n"
<< "Run with -? for options\n\n";
if( m_config->rngSeed() != 0 )