versioning now includes the commit hash, or -final for tagged releases

This commit is contained in:
Riccardo Spagni 2014-09-12 13:06:51 +02:00
parent 446a7ddc49
commit 8334ce0b24
7 changed files with 38 additions and 37 deletions

View File

@ -30,9 +30,6 @@
cmake_minimum_required(VERSION 2.8.6) cmake_minimum_required(VERSION 2.8.6)
set(VERSION "0.1")
# $Format:Packaged from commit %H%nset(COMMIT %h)%nset(REFS "%d")$
set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(CMAKE_CONFIGURATION_TYPES "Debug;Release") set(CMAKE_CONFIGURATION_TYPES "Debug;Release")
enable_testing() enable_testing()
@ -161,24 +158,15 @@ elseif(NOT MSVC)
endif() endif()
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/version") file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/version")
if(DEFINED COMMIT) find_package(Git QUIET)
string(REPLACE "." "\\." VERSION_RE "${VERSION}") if(Git_FOUND OR GIT_FOUND)
if(NOT REFS MATCHES "(\\(|, )tag: v${VERSION_RE}(\\)|, )")
set(VERSION "${VERSION}-g${COMMIT}")
endif()
configure_file("src/version.h.in" "version/version.h")
add_custom_target(version ALL)
else()
find_package(Git QUIET)
if(Git_FOUND OR GIT_FOUND)
message(STATUS "Found Git: ${GIT_EXECUTABLE}") message(STATUS "Found Git: ${GIT_EXECUTABLE}")
add_custom_target(version ALL "${CMAKE_COMMAND}" "-D" "VERSION=${VERSION}" "-D" "GIT=${GIT_EXECUTABLE}" "-D" "TO=${CMAKE_BINARY_DIR}/version/version.h" "-P" "src/version.cmake" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") add_custom_target(version ALL "${CMAKE_COMMAND}" "-D" "GIT=${GIT_EXECUTABLE}" "-D" "TO=${CMAKE_BINARY_DIR}/version/version.h" "-P" "src/version.cmake" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
else() else()
message(STATUS "WARNING: Git was not found!") message(STATUS "WARNING: Git was not found!")
set(VERSION "${VERSION}-unknown") set(VERSIONTAG "unknown")
configure_file("src/version.h.in" "version/version.h") configure_file("src/version.h.in" "version/version.h")
add_custom_target(version ALL) add_custom_target(version ALL)
endif()
endif() endif()
add_subdirectory(external) add_subdirectory(external)

View File

@ -69,7 +69,7 @@ bool command_line_preprocessor(const boost::program_options::variables_map& vm)
bool exit = false; bool exit = false;
if (command_line::get_arg(vm, command_line::arg_version)) if (command_line::get_arg(vm, command_line::arg_version))
{ {
std::cout << CRYPTONOTE_NAME << " v" << PROJECT_VERSION_LONG << ENDL; std::cout << CRYPTONOTE_NAME << " v" << MONERO_VERSION_FULL << ENDL;
exit = true; exit = true;
} }
if (command_line::get_arg(vm, arg_os_version)) if (command_line::get_arg(vm, arg_os_version))
@ -140,7 +140,7 @@ int main(int argc, char* argv[])
if (command_line::get_arg(vm, command_line::arg_help)) if (command_line::get_arg(vm, command_line::arg_help))
{ {
std::cout << CRYPTONOTE_NAME << " v" << PROJECT_VERSION_LONG << ENDL << ENDL; std::cout << CRYPTONOTE_NAME << " v" << MONERO_VERSION_FULL << ENDL << ENDL;
std::cout << desc_options << std::endl; std::cout << desc_options << std::endl;
return false; return false;
} }
@ -175,7 +175,7 @@ int main(int argc, char* argv[])
log_dir = log_file_path.has_parent_path() ? log_file_path.parent_path().string() : log_space::log_singletone::get_default_log_folder(); log_dir = log_file_path.has_parent_path() ? log_file_path.parent_path().string() : log_space::log_singletone::get_default_log_folder();
log_space::log_singletone::add_logger(LOGGER_FILE, log_file_path.filename().string().c_str(), log_dir.c_str()); log_space::log_singletone::add_logger(LOGGER_FILE, log_file_path.filename().string().c_str(), log_dir.c_str());
LOG_PRINT_L0(CRYPTONOTE_NAME << " v" << PROJECT_VERSION_LONG); LOG_PRINT_L0(CRYPTONOTE_NAME << " v" << MONERO_VERSION_FULL);
if (command_line_preprocessor(vm)) if (command_line_preprocessor(vm))
{ {

View File

@ -89,7 +89,7 @@ private:
std::string get_commands_str() std::string get_commands_str()
{ {
std::stringstream ss; std::stringstream ss;
ss << CRYPTONOTE_NAME << " v" << PROJECT_VERSION_LONG << ENDL; ss << CRYPTONOTE_NAME << " v" << MONERO_VERSION_FULL << ENDL;
ss << "Commands: " << ENDL; ss << "Commands: " << ENDL;
std::string usage = m_cmd_binder.get_usage(); std::string usage = m_cmd_binder.get_usage();
boost::replace_all(usage, "\n", "\n "); boost::replace_all(usage, "\n", "\n ");

View File

@ -866,7 +866,7 @@ namespace nodetool
} }
rsp.connections_count = m_net_server.get_config_object().get_connections_count(); rsp.connections_count = m_net_server.get_config_object().get_connections_count();
rsp.incoming_connections_count = rsp.connections_count - get_outgoing_connections_count(); rsp.incoming_connections_count = rsp.connections_count - get_outgoing_connections_count();
rsp.version = PROJECT_VERSION_LONG; rsp.version = MONERO_VERSION_FULL;
rsp.os_version = tools::get_os_version_string(); rsp.os_version = tools::get_os_version_string();
m_payload_handler.get_stat_info(rsp.payload_info); m_payload_handler.get_stat_info(rsp.payload_info);
return 1; return 1;

View File

@ -1090,14 +1090,14 @@ int main(int argc, char* argv[])
if (command_line::get_arg(vm, command_line::arg_help)) if (command_line::get_arg(vm, command_line::arg_help))
{ {
success_msg_writer() << CRYPTONOTE_NAME << " wallet v" << PROJECT_VERSION_LONG; success_msg_writer() << CRYPTONOTE_NAME << " wallet v" << MONERO_VERSION_FULL;
success_msg_writer() << "Usage: simplewallet [--wallet-file=<file>|--generate-new-wallet=<file>] [--daemon-address=<host>:<port>] [<COMMAND>]"; success_msg_writer() << "Usage: simplewallet [--wallet-file=<file>|--generate-new-wallet=<file>] [--daemon-address=<host>:<port>] [<COMMAND>]";
success_msg_writer() << desc_all << '\n' << w.get_commands_str(); success_msg_writer() << desc_all << '\n' << w.get_commands_str();
return false; return false;
} }
else if (command_line::get_arg(vm, command_line::arg_version)) else if (command_line::get_arg(vm, command_line::arg_version))
{ {
success_msg_writer() << CRYPTONOTE_NAME << " wallet v" << PROJECT_VERSION_LONG; success_msg_writer() << CRYPTONOTE_NAME << " wallet v" << MONERO_VERSION_FULL;
return false; return false;
} }
@ -1116,7 +1116,7 @@ int main(int argc, char* argv[])
log_space::log_singletone::get_default_log_file().c_str(), log_space::log_singletone::get_default_log_file().c_str(),
log_space::log_singletone::get_default_log_folder().c_str(), LOG_LEVEL_4); log_space::log_singletone::get_default_log_folder().c_str(), LOG_LEVEL_4);
message_writer(epee::log_space::console_color_white, true) << CRYPTONOTE_NAME << " wallet v" << PROJECT_VERSION_LONG; message_writer(epee::log_space::console_color_white, true) << CRYPTONOTE_NAME << " wallet v" << MONERO_VERSION_FULL;
if(command_line::has_arg(vm, arg_log_level)) if(command_line::has_arg(vm, arg_log_level))
{ {

View File

@ -1,11 +1,25 @@
execute_process(COMMAND "${GIT}" describe --dirty --match "v${VERSION}" RESULT_VARIABLE RET OUTPUT_VARIABLE DESCRIPTION OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND "${GIT}" rev-parse --short HEAD RESULT_VARIABLE RET OUTPUT_VARIABLE COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE)
if(RET) if(RET)
message(WARNING "Cannot determine current revision. Make sure that you are building either from a Git working tree or from a source archive.") message(WARNING "Cannot determine current commit. Make sure that you are building either from a Git working tree or from a source archive.")
set(VERSION "${COMMIT}") set(VERSIONTAG "unknown")
configure_file("src/version.h.in" "${TO}") configure_file("src/version.h.in" "${TO}")
else() else()
string(REGEX MATCH "([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])?(-dirty)? $" COMMIT "${DESCRIPTION} ") message(STATUS "You are currently on commit ${COMMIT}")
string(STRIP "${COMMIT}" COMMIT) execute_process(COMMAND "${GIT}" show-ref --tags -d --abbrev COMMAND awk "END{print $1}" RESULT_VARIABLE RET OUTPUT_VARIABLE TAGGEDCOMMIT OUTPUT_STRIP_TRAILING_WHITESPACE)
set(VERSION "${COMMIT}") if(RET)
message(WARNING "Cannot determine most recent tag. Make sure that you are building either from a Git working tree or from a source archive.")
set(VERSIONTAG "${COMMIT}")
else()
message(STATUS "The most recent tag was at ${TAGGEDCOMMIT}")
if(COMMIT MATCHES TAGGEDCOMMIT)
message(STATUS "You are building a tagged release")
set(VERSIONTAG "release")
else()
message(STATUS "You are ahead or behind of a tagged release")
set(VERSIONTAG "${COMMIT}")
endif()
endif()
configure_file("src/version.h.in" "${TO}") configure_file("src/version.h.in" "${TO}")
endif() endif()

View File

@ -1,4 +1,3 @@
#define BUILD_COMMIT_ID "@VERSION@" #define MONERO_VERSION_TAG "@VERSIONTAG@"
#define PROJECT_VERSION "0.8.8" #define MONERO_VERSION "0.8.8.4"
#define PROJECT_VERSION_BUILD_NO "4" #define MONERO_VERSION_FULL MONERO_VERSION "-" MONERO_VERSION_TAG
#define PROJECT_VERSION_LONG PROJECT_VERSION "." PROJECT_VERSION_BUILD_NO "(" BUILD_COMMIT_ID ")"