From f14a8a0a19e1b6c53239b97381991cfc11e6e954 Mon Sep 17 00:00:00 2001 From: mlangkabel Date: Wed, 1 May 2019 16:34:55 +0200 Subject: [PATCH] fetch version number from file instead of using git tag This allows users to download the repository as zip. Furthermore this change also allows the user to increase the version number in the working tree, without having to commit and tag. --- .travis.yml | 3 ++- CMakeLists.txt | 30 ++++-------------------------- appveyor.yml | 9 +++++---- version.txt | 1 + version.txt.in | 1 - 5 files changed, 12 insertions(+), 32 deletions(-) create mode 100644 version.txt delete mode 100644 version.txt.in diff --git a/.travis.yml b/.travis.yml index 136442f..3bcbced 100644 --- a/.travis.yml +++ b/.travis.yml @@ -111,7 +111,8 @@ before_deploy: - | cd $TRAVIS_BUILD_DIR - VERSION=$(head -1 build/version.txt) + VERSION=$(head -1 version.txt) + VERSION=${VERSION//./_} if [[ "$PYTHON_BINDING" == "1" ]]; then PYTHON_VERSION=${PYTHON//.} diff --git a/CMakeLists.txt b/CMakeLists.txt index a4f85e3..22c312e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,28 +22,11 @@ endif() # --- Version --- -if(EXISTS "${CMAKE_SOURCE_DIR}/.git") - find_package(Git) +file (STRINGS "version.txt" VERSION_STRING) - execute_process( - COMMAND ${GIT_EXECUTABLE} describe --long - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE GIT_VERSION_NUMBER - OUTPUT_STRIP_TRAILING_WHITESPACE - ) -else() - set(GIT_VERSION_NUMBER "") -endif() - -if("${GIT_VERSION_NUMBER}" STREQUAL "") - message(WARNING "Unable to derive SourcetrailDB version number from most recent Git tag.") - set(GIT_VERSION_NUMBER "v0.db0.p0-0-a") -endif() - -string(REGEX REPLACE "v([0-9]+)\\..*" "\\1" INTERFACE_VERSION "${GIT_VERSION_NUMBER}") -string(REGEX REPLACE "v[0-9]+\\.db([0-9]+)\\..*" "\\1" DATABASE_VERSION "${GIT_VERSION_NUMBER}") -string(REGEX REPLACE "v[0-9]+\\.db[0-9]+\\.p([0-9]+)-.*" "\\1" PATCH_VERSION "${GIT_VERSION_NUMBER}") -set(VERSION_STRING "v${INTERFACE_VERSION}.db${DATABASE_VERSION}.p${PATCH_VERSION}") +string(REGEX REPLACE "v([0-9]+)\\..*" "\\1" INTERFACE_VERSION "${VERSION_STRING}") +string(REGEX REPLACE "v[0-9]+\\.db([0-9]+)\\..*" "\\1" DATABASE_VERSION "${VERSION_STRING}") +string(REGEX REPLACE "v[0-9]+\\.db[0-9]+\\.p([0-9]+).*" "\\1" PATCH_VERSION "${VERSION_STRING}") set(VERSION_STRING_UNDERSCORE "v${INTERFACE_VERSION}_db${DATABASE_VERSION}_p${PATCH_VERSION}") message(STATUS "SourcetrailDB Version: ${VERSION_STRING}") @@ -51,11 +34,6 @@ message(STATUS "Interface Version: ${INTERFACE_VERSION}") message(STATUS "Database Version: ${DATABASE_VERSION}") message(STATUS "Patch Version: ${PATCH_VERSION}") -configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/version.txt.in - "${CMAKE_CURRENT_BINARY_DIR}/version.txt" -) - # --- Core --- diff --git a/appveyor.yml b/appveyor.yml index 281b080..85c82cf 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -69,9 +69,10 @@ before_build: - cd build - cmake -G "%CMAKE_GENERATOR%" ../ -DBUILD_BINDINGS_PYTHON=ON -DPYTHON_LIBRARY="%PYTHON_PATH%/libs/python%PYTHON_VERSION%.lib" - cd ../ - - ps: $env:CORE_VERSION = Get-Content -Path ./build/version.txt + - ps: $env:CORE_VERSION = Get-Content -Path ./version.txt + - ps: $env:UNDERSCORED_CORE_VERSION = $env:CORE_VERSION.Replace(".", "_") - ps: echo "Core version is $env:CORE_VERSION" -# TODO: convert the core version into dotted format and update appveyor version here +# TODO: use the core version to update appveyor version here # - ps: $env:BUILD_VERSION = "0.0.1." + $env:APPVEYOR_BUILD_NUMBER # - ps: echo update build version to $env:BUILD_VERSION # - ps: Update-AppveyorBuild -Version $env:BUILD_VERSION @@ -84,8 +85,8 @@ build_script: after_build: - - ps: $env:CORE_PACKAGE_NAME = 'sourcetraildb_core_' + $env:CORE_VERSION + '-windows-' + $env:MBITS + 'bit-msvc' + $env:MSVC_VERSION - - ps: $env:PYTHON_PACKAGE_NAME = 'sourcetrailbd_python' + $env:PYTHON_VERSION + '_' + $env:CORE_VERSION + '-windows-' + $env:MBITS + 'bit' + - ps: $env:CORE_PACKAGE_NAME = 'sourcetraildb_core_' + $env:UNDERSCORED_CORE_VERSION + '-windows-' + $env:MBITS + 'bit-msvc' + $env:MSVC_VERSION + - ps: $env:PYTHON_PACKAGE_NAME = 'sourcetrailbd_python' + $env:PYTHON_VERSION + '_' + $env:UNDERSCORED_CORE_VERSION + '-windows-' + $env:MBITS + 'bit' - ps: echo $env:CORE_PACKAGE_NAME - ps: echo $env:PYTHON_PACKAGE_NAME - mkdir artifacts_core diff --git a/version.txt b/version.txt new file mode 100644 index 0000000..aa30471 --- /dev/null +++ b/version.txt @@ -0,0 +1 @@ +v2.db23.p2 diff --git a/version.txt.in b/version.txt.in deleted file mode 100644 index 5eb6902..0000000 --- a/version.txt.in +++ /dev/null @@ -1 +0,0 @@ -@VERSION_STRING_UNDERSCORE@ \ No newline at end of file