Skip to content

Commit

Permalink
Make executables print out git SHA1 info and build time (#487)
Browse files Browse the repository at this point in the history
  • Loading branch information
dutor authored Jun 5, 2019
1 parent 7173c98 commit feb3d57
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 15 deletions.
16 changes: 14 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@ project("Nebula Graph" C CXX)

set(CMAKE_SKIP_RPATH TRUE)

set(CMAKE_VERBOSE_MAKEFILE TRUE)

option(SKIP_JAVA_CLIENT "Whether to skip building the java client" OFF)
option(ENABLE_JEMALLOC "Whether to link jemalloc to all executables" ON)
option(ENABLE_NATIVE "Whether to build native client" OFF)
Expand Down Expand Up @@ -72,6 +70,20 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "_build")
set(NEBULA_HOME ${CMAKE_CURRENT_SOURCE_DIR})
add_definitions(-DNEBULA_HOME=${NEBULA_HOME})

find_package(Git)
if (GIT_FOUND AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
execute_process(
COMMAND
${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR} rev-parse --short HEAD
OUTPUT_VARIABLE GIT_INFO_SHA
)
endif()

if (GIT_INFO_SHA)
string(REGEX REPLACE "[^0-9a-f]+" "" GIT_INFO_SHA "${GIT_INFO_SHA}")
add_definitions(-DGIT_INFO_SHA=${GIT_INFO_SHA})
endif()

# To include customized FindXXX.cmake modules
set(CMAKE_MODULE_PATH "${NEBULA_HOME}/cmake" ${CMAKE_MODULE_PATH})

Expand Down
11 changes: 11 additions & 0 deletions src/common/base/Base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,15 @@ std::ostream& operator<<(std::ostream &os, const HostAddr &addr) {
return os;
}


std::string versionString() {
#if defined(GIT_INFO_SHA)
return folly::stringPrintf("Git: %s, Build Time: %s %s",
NEBULA_STRINGIFY(GIT_INFO_SHA),
__DATE__, __TIME__);
#else
return folly::stringPrintf("Build Time: %s %s", __DATE__, __TIME__);
#endif
}

} // namespace nebula
2 changes: 2 additions & 0 deletions src/common/base/Base.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,5 +159,7 @@ static constexpr auto is_constructible_v = std::is_constructible<T, Args...>::va
template <typename U, typename T>
static constexpr auto is_convertible_v = std::is_constructible<U, T>::value;

std::string versionString();

} // namespace nebula
#endif // COMMON_BASE_BASE_H_
1 change: 1 addition & 0 deletions src/console/NebulaConsole.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ DEFINE_string(p, "", "Password used to authenticate");


int main(int argc, char *argv[]) {
google::SetVersionString(nebula::versionString());
folly::init(&argc, &argv, true);

using nebula::graph::CliManager;
Expand Down
15 changes: 2 additions & 13 deletions src/daemons/GraphDaemon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ static void signalHandler(int sig);
static Status setupSignalHandler();
static Status setupLogging();
static void printHelp(const char *prog);
static void printVersion();

DECLARE_string(flagfile);

int main(int argc, char *argv[]) {
google::SetVersionString(nebula::versionString());
if (argc == 1) {
printHelp(argv[0]);
return EXIT_FAILURE;
Expand All @@ -41,10 +41,6 @@ int main(int argc, char *argv[]) {
printHelp(argv[0]);
return EXIT_SUCCESS;
}
if (::strcmp(argv[1], "-v") == 0) {
printVersion();
return EXIT_SUCCESS;
}
}

folly::init(&argc, &argv, true);
Expand Down Expand Up @@ -213,12 +209,5 @@ Status setupLogging() {


void printHelp(const char *prog) {
fprintf(stderr, "%s -flagfile config_file\n", prog);
fprintf(stderr, "%s -h\n", prog);
fprintf(stderr, "%s -v\n", prog);
}


void printVersion() {
// TODO(dutor)
fprintf(stderr, "%s --flagfile <config_file>\n", prog);
}
1 change: 1 addition & 0 deletions src/daemons/MetaDaemon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ static void signalHandler(int sig);
static Status setupSignalHandler();

int main(int argc, char *argv[]) {
google::SetVersionString(nebula::versionString());
folly::init(&argc, &argv, true);
if (FLAGS_data_path.empty()) {
LOG(ERROR) << "Meta Data Path should not empty";
Expand Down
1 change: 1 addition & 0 deletions src/daemons/StorageDaemon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ static Status setupSignalHandler();


int main(int argc, char *argv[]) {
google::SetVersionString(nebula::versionString());
folly::init(&argc, &argv, true);
if (FLAGS_daemonize) {
google::SetStderrLogging(google::FATAL);
Expand Down

0 comments on commit feb3d57

Please sign in to comment.