Skip to content

Commit a665eb4

Browse files
author
einhornimmond
committed
add versioning via git for gradido node and also for gradido blockchain
1 parent 3ec872a commit a665eb4

File tree

5 files changed

+51
-3
lines changed

5 files changed

+51
-3
lines changed

CMakeLists.txt

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
cmake_minimum_required(VERSION 3.18.2)
22
set(CMAKE_POLICY_VERSION_MINIMUM 3.5)
33
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/toolchain.cmake")
4-
project(GradidoNode C CXX)
4+
execute_process(
5+
COMMAND git describe --tags --dirty --always
6+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
7+
OUTPUT_VARIABLE GRADIDO_NODE_GIT_VER
8+
OUTPUT_STRIP_TRAILING_WHITESPACE
9+
)
10+
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" GRADIDO_NODE_CLEAN_VERSION "${GRADIDO_NODE_GIT_VER}")
11+
project(GradidoNode VERSION ${GRADIDO_NODE_CLEAN_VERSION} LANGUAGES C CXX)
512
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
613
message("runtime output directory: ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
714

@@ -23,6 +30,15 @@ set(INSTALL_PLUGINDIR "bin")
2330
# needed for protopuf
2431
add_definitions(-DNOMINMAX)
2532

33+
# version
34+
configure_file(
35+
${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.in
36+
${CMAKE_CURRENT_BINARY_DIR}/generated/version.h
37+
@ONLY
38+
)
39+
40+
set(GRADIDO_NODE_VERSION "@PROJECT_VERSION@")
41+
2642
include_directories(
2743
"dependencies"
2844
"dependencies/jsonrpcpp/include"
@@ -35,6 +51,7 @@ include_directories(
3551
"dependencies/gradido_blockchain/dependencies/protopuf/include"
3652
"dependencies/gradido_blockchain/dependencies/rapidjson/include"
3753
"dependencies/gradido_blockchain/dependencies/cpp-httplib"
54+
${CMAKE_CURRENT_BINARY_DIR}
3855

3956
"dependencies/paho.mqtt.c/src"
4057
#"dependencies/googletest/googletest/include"

src/main.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
#include "MQTTAsync.h"
66
#endif //_USING_IOTA
77
#include "ServerGlobals.h"
8+
#include "generated/version.h"
89

910
#include "gradido_blockchain/lib/Profiler.h"
11+
#include "gradido_blockchain/version.h"
1012

1113
#include "sodium.h"
1214
#include "loguru/loguru.hpp"
@@ -16,8 +18,27 @@
1618

1719
#ifndef _TEST_BUILD
1820

21+
//! \return 0 if ok, -1 for error, 1 for abort
22+
int parseParameter(int argc, char** argv)
23+
{
24+
for (int i = 1; i < argc; i++) {
25+
if (strcmp(argv[i], "--version") == 0) {
26+
printf("%s\n", GRADIDO_NODE_VERSION);
27+
return 1;
28+
}
29+
}
30+
return 0;
31+
};
32+
1933
int main(int argc, char** argv)
2034
{
35+
auto parseResult = parseParameter(argc, argv);
36+
if (parseResult == 1) {
37+
return 0;
38+
}
39+
if (parseResult == -1) {
40+
return -1;
41+
}
2142
std::srand(std::time({}));
2243
// libsodium
2344
if (sodium_init() < 0) {
@@ -34,6 +55,8 @@ int main(int argc, char** argv)
3455

3556
// loguru
3657
loguru::init(argc, argv);
58+
LOG_F(INFO, "Gradido Blockchain Library Version: %s", GRADIDO_BLOCKCHAIN_VERSION);
59+
LOG_F(INFO, "Gradido Node Version: %s", GRADIDO_NODE_VERSION);
3760

3861
MainServer app;
3962
try {

src/model/Apollo/Transaction.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ namespace model {
3636
mId = confirmedTransaction.getId();
3737
mDate = confirmedTransaction.getConfirmedAt();
3838
mBalance = confirmedTransaction.getAccountBalance(pubkey, "").getBalance();
39-
printf("getBalance: %s for id: %lu\n", mBalance.toString().data(), mId);
4039
}
4140

4241
Transaction::Transaction(Timepoint decayStart, Timepoint decayEnd, GradidoUnit startBalance)

src/version.h.in

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#ifndef GRADIDO_NODE_VERSION_H
2+
#define GRADIDO_NODE_VERSION_H
3+
4+
#define GRADIDO_NODE_VERSION "@GRADIDO_NODE_GIT_VER@"
5+
#define GRADIDO_NODE_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
6+
#define GRADIDO_NODE_VERSION_MINOR @PROJECT_VERSION_MINOR@
7+
#define GRADIDO_NODE_VERSION_PATCH @PROJECT_VERSION_PATCH@
8+
9+
#endif // GRADIDO_NODE_VERSION_H

0 commit comments

Comments
 (0)