rebuilding debug build strategie for minimum space and time requirements for user

This commit is contained in:
einhorn_b 2021-04-27 00:05:40 +02:00
parent c3022a8849
commit 604755db15
24 changed files with 432 additions and 141 deletions

13
.gitmodules vendored
View File

@ -28,4 +28,15 @@
[submodule "community_server/src/protobuf"]
path = community_server/src/protobuf
url = git@github.com:gradido/gradido_protocol.git
[submodule "login_server/dependencies/libsodium"]
path = login_server/dependencies/libsodium
url = https://github.com/jedisct1/libsodium.git
[submodule "login_server/dependencies/boost/static_assert"]
path = login_server/dependencies/boost/static_assert
url = https://github.com/boostorg/static_assert.git
[submodule "login_server/dependencies/boost/iterator"]
path = login_server/dependencies/boost/iterator
url = https://github.com/boostorg/iterator.git
[submodule "login_server/dependencies/boost/spirit"]
path = login_server/dependencies/boost/spirit
url = https://github.com/boostorg/spirit.git

View File

@ -24,8 +24,8 @@ services:
#########################################################
login-server:
build:
target: login_server_debug
dockerfile: Dockerfile.debug
target: login_server_alpine_debug
dockerfile: Dockerfile.alpine-debug
security_opt:
- seccomp:unconfined
cap_add:
@ -33,9 +33,10 @@ services:
volumes:
- ./logs:/var/log/grd_login
- ./login_server/src:/code/src
- ./login_server/dependencies:/code/dependencies
- ./login_server/scripts:/code/scripts
- ./configs/login_server:/etc/grd_login
- login_build:/code/build
- conan:/root/.conan
- login_build_alpine:/code/build
#########################################################
@ -100,6 +101,5 @@ services:
volumes:
frontend_node_modules:
login_build:
conan:
login_build_alpine:

View File

@ -14,10 +14,12 @@ else()
set(INSTALL_BINDIR "bin")
set(INSTALL_PLUGINDIR "bin")
endif()
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ./lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ./lib)
include_directories(
"dependencies"
"dependencies/tinf/src/"
"dependencies/tinf/src"
"dependencies/mariadb-connector-c/include"
"dependencies/mariadb-connector-c/build/include"
"dependencies/spirit-po/include"
@ -131,10 +133,12 @@ if(WIN32)
endif()
############################## config and add poco ###################################
#SET(SOME_EXPAT_OPTION OFF CACHE BOOL "Use some expat option")
SET(ENABLE_MONGODB OFF CACHE BOOL "" FORCE)
SET(ENABLE_DATA_SQLITE OFF CACHE BOOL "" FORCE)
SET(ENABLE_REDIS OFF CACHE BOOL "" FORCE)
SET(ENABLE_PAGECOMPILER_FILE2PAGE OFF CACHE BOOL "" FORCE)
add_subdirectory("dependencies/poco")
set(ENABLE_MONGODB OFF)
set(ENABLE_DATA_SQLITE OFF)
set(ENABLE_REDIS OFF)
set(POCO_LIBS PocoFoundation PocoUtil PocoNet PocoNetSSL PocoData)

View File

@ -0,0 +1,133 @@
cmake_minimum_required(VERSION 3.18.2)
project(Gradido_LoginServer C CXX)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin" )
SET ( CMAKE_CXX_FLAGS "-std=c++17" )
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(WIN32)
set(CMAKE_CXX_FLAGS "/MP /EHsc")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3")
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
else()
set(INSTALL_BINDIR "bin")
set(INSTALL_PLUGINDIR "bin")
endif()
include_directories(
"dependencies"
"dependencies/tinf/src"
"dependencies/mariadb-connector-c/include"
"dependencies/mariadb-connector-c/build/include"
"dependencies/spirit-po/include"
"dependencies/grpc/include"
"dependencies/grpc/third_party/protobuf/src"
"dependencies/grpc/third_party/googletest/googletest/include"
"dependencies/poco/Crypto/include"
"dependencies/poco/Data/include"
"dependencies/poco/Util/include"
"dependencies/poco/Foundation/include"
"dependencies/poco/JSON/include"
"dependencies/poco/Net/include"
"dependencies/poco/NetSSL_OpenSSL/include"
"src/cpp/proto"
)
#set(MYSQL_INCLUDE_DIR "dependencies/mariadb-connector-c/include")
FILE(GLOB CONTROLLER "src/cpp/controller/*.cpp" "src/cpp/controller/*.h")
FILE(GLOB TINF "dependencies/tinf/src/*.c" "dependencies/tinf/src/*.h")
FILE(GLOB HTTPInterface "src/cpp/HTTPInterface/*.h" "src/cpp/HTTPInterface/*.cpp")
FILE(GLOB JSONInterface "src/cpp/JSONInterface/*.h" "src/cpp/JSONInterface/*.cpp")
FILE(GLOB TASKS "src/cpp/tasks/*.cpp" "src/cpp/tasks/*.h")
FILE(GLOB SINGLETON_MANAGER "src/cpp/SingletonManager/*.h" "src/cpp/SingletonManager/*.cpp")
FILE(GLOB LIB_SRC "src/cpp/lib/*.h" "src/cpp/lib/*.cpp")
FILE(GLOB MODEL "src/cpp/model/*.h" "src/cpp/model/*.cpp")
FILE(GLOB MODEL_TABLE "src/cpp/model/table/*.h" "src/cpp/model/table/*.cpp")
FILE(GLOB MODEL_EMAIL "src/cpp/model/email/*.h" "src/cpp/model/email/*.cpp")
FILE(GLOB MODEL_HEDERA "src/cpp/model/hedera/*.h" "src/cpp/model/hedera/*.cpp")
FILE(GLOB MODEL_GRADIDO "src/cpp/model/gradido/*.h" "src/cpp/model/gradido/*.cpp")
FILE(GLOB CRYPTO "src/cpp/Crypto/*.h" "src/cpp/Crypto/*.cpp")
FILE(GLOB MAIN "src/cpp/*.cpp" "src/cpp/*.c" "src/cpp/*.h")
FILE(GLOB MYSQL "src/cpp/MySQL/*.cpp" "src/cpp/MySQL/*.h" "src/cpp/MySQL/Poco/*.h")
FILE(GLOB PROTO_GRADIDO "src/cpp/proto/gradido/*.cc" "src/cpp/proto/gradido/*.h")
FILE(GLOB PROTO_HEDERA "src/cpp/proto/hedera/*.cc" "src/cpp/proto/hedera/*.h")
# used only for test project
FILE(GLOB TEST "src/cpp/test/*.cpp" "src/cpp/test/*.h")
FILE(GLOB TEST_CRYPTO "src/cpp/test/crypto/*.cpp" "src/cpp/test/crypto/*.h")
FILE(GLOB TEST_MODEL "src/cpp/test/model/*.cpp" "src/cpp/test/model/*.h")
FILE(GLOB TEST_MODEL_TABLE "src/cpp/test/model/table/*.cpp" "src/cpp/test/model/table/*.h")
FILE(GLOB TEST_CONTROLLER "src/cpp/test/controller/*.cpp" "src/cpp/test/controller/*.h")
SET(LOCAL_SRCS
${CONTROLLER} ${TINF} ${MAIN} ${HTTPInterface}
${JSONInterface} ${CRYPTO}
${MODEL} ${MODEL_TABLE} ${MODEL_EMAIL} ${MODEL_HEDERA} ${MODEL_GRADIDO}
${SINGLETON_MANAGER} ${LIB_SRC} ${MYSQL} ${TASKS}
${PROTO_GRADIDO} ${PROTO_HEDERA}
)
SET(LOCAL_TEST_SRC
${TEST} ${TEST_CRYPTO} ${TEST_MODEL} ${TEST_MODEL_TABLE} ${TEST_CONTROLLER}
)
aux_source_directory("src/cpp" LOCAL_SRCS)
if(MSVC)
# src
source_group("controller" FILES ${CONTROLLER})
source_group("proto\\gradido" FILES ${PROTO_GRADIDO})
source_group("proto\\hedera" FILES ${PROTO_HEDERA})
source_group("tinf" FILES ${TINF})
source_group("Crypto" FILES ${CRYPTO})
source_group("tasks" FILES ${TASKS})
source_group("model\\table" FILES ${MODEL_TABLE})
source_group("model\\email" FILES ${MODEL_EMAIL})
source_group("model\\hedera" FILES ${MODEL_HEDERA})
source_group("model\\gradido" FILES ${MODEL_GRADIDO})
source_group("model" FILES ${MODEL})
source_group("mysql" FILES ${MYSQL})
source_group("SingletonManager" FILES ${SINGLETON_MANAGER})
source_group("lib" FILES ${LIB_SRC})
source_group("HTTP-Interface" FILES ${HTTPInterface})
source_group("Json-Interface" FILES ${JSONInterface})
source_group("Test\\crypto" FILES ${TEST_CRYPTO})
source_group("Test\\model\\table" FILES ${TEST_MODEL_TABLE})
source_group("Test\\model" FILES ${TEST_MODEL})
source_group("Test\\controller" FILES ${TEST_CONTROLLER})
source_group("Test" FILES ${TEST})
endif()
add_executable(Gradido_LoginServer ${LOCAL_SRCS})
############################## config and add mariadb ###################################
find_library(MYSQL_LIBRARIES mariadbd PATHS "pre_build/dependencies/mariadb-connector-c/libmariadb/lib" REQUIRED)
############################## config and add poco ###################################
set(BUILD_LIB_PATH "pre_build/lib")
find_library(POCO_FOUNDATION_LIB PocoFoundationd PATHS ${BUILD_LIB_PATH} REQUIRED)
find_library(POCO_UTIL_LIB PocoUtild PATHS ${BUILD_LIB_PATH} REQUIRED)
find_library(POCO_NET_SSL_LIB PocoNetSSLd PATHS ${BUILD_LIB_PATH} REQUIRED)
find_library(POCO_DATA_LIB PocoDatad PATHS ${BUILD_LIB_PATH} REQUIRED)
find_library(POCO_JSON_LIB PocoJSONd PATHS ${BUILD_LIB_PATH} REQUIRED)
find_library(POCO_NET_LIB PocoNetd PATHS ${BUILD_LIB_PATH} REQUIRED)
set(POCO_LIBS ${POCO_FOUNDATION_LIB} ${POCO_UTIL_LIB} ${POCO_NET_SSL_LIB} ${POCO_DATA_LIB} ${POCO_JSON_LIB} ${POCO_NET_LIB})
############################## config and add grpc ###################################
find_library(PROTOBUF_LIB protobufd PATHS "pre_build/dependencies/grpc/third_party/protobuf/lib" REQUIRED)
set(DEPENDENCIES_GRPC_LIB_PATH "pre_build/dependencies/grpc/lib")
find_library(GRPC_PP_REFLECTION grpc++_reflectiond PATHS ${DEPENDENCIES_GRPC_LIB_PATH} REQUIRED)
find_library(GRPC_PP grpc++d PATHS ${DEPENDENCIES_GRPC_LIB_PATH} REQUIRED)
set(GRPC_LIBS, ${GRPC_PP_REFLECTION} ${GRPC_PP} ${PROTOBUF_LIB})
############################## build login server ###################################
target_link_libraries(Gradido_LoginServer ${GRPC_LIBS} ${POCO_LIBS} ${MYSQL_LIBRARIES} sodium)

View File

@ -26,7 +26,7 @@ ENV DOCKER_WORKDIR="/code"
USER root
RUN apt-get update \
&& apt-get -y --no-install-recommends install libsodium-dev libboost-all-dev gettext \
&& apt-get -y --no-install-recommends install libboost-all-dev gettext \
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
RUN mkdir -p ${DOCKER_WORKDIR}

View File

@ -0,0 +1,21 @@
FROM gradido/login_dependencies:alpine-stage2.1 as login_server_alpine_debug
ENV DOCKER_WORKDIR="/code"
EXPOSE 1200
EXPOSE 1201
WORKDIR ${DOCKER_WORKDIR}
COPY ./CMakeLists.txt.lib ./CMakeLists.txt
RUN ls -la ${DOCKER_WORKDIR}/pre_build && \
ls -la ${DOCKER_WORKDIR}/pre_build/lib && \
ls -la ${DOCKER_WORKDIR}/pre_build/dependencies && \
ls -la ${DOCKER_WORKDIR}/pre_build/dependencies/grpc/third_party/protobuf/lib && \
ls -la ${DOCKER_WORKDIR}/pre_build/dependencies/grpc/lib && \
ls -la ${DOCKER_WORKDIR}/pre_build/dependencies/mariadb-connector-c/ && \
ls -la ${DOCKER_WORKDIR}/pre_build/dependencies/mariadb-connector-c/libmariadb && \
ls -la ${DOCKER_WORKDIR}/pre_build/dependencies/mariadb-connector-c/libmariadb/lib
CMD cp -r ${DOCKER_WORKDIR}/pre_build/bin ${DOCKER_WORKDIR}/build/bin; cd scripts; ./prepare_build.sh; ./build_debug.sh; cd ..; ./build/bin/Gradido_LoginServer

View File

@ -12,7 +12,7 @@ USER root
RUN git clone https://github.com/Kitware/CMake.git --branch=v3.19.8 \
&& cd CMake \
&& ./bootstrap \
&& make -j${nproc} \
&& make -j$(nproc) \
&& make install
#########################################################################################################
@ -24,19 +24,14 @@ USER root
ENV DOCKER_WORKDIR="/code"
RUN apt-get update \
&& apt-get -y --no-install-recommends install libsodium-dev libboost-all-dev \
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
COPY . .
RUN cd dependencies/mariadb-connector-c && \
mkdir build && \
cd build && \
cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSL=OFF ..
RUN cd scripts \
&& chmod +x ./prepare_build.sh \
&& ./prepare_build.sh
#########################################################################################################
# run debug
@ -48,7 +43,7 @@ ENV DOCKER_WORKDIR="/code"
EXPOSE 1200
EXPOSE 1201
WORKDIR ${DOCKER_WORKDIR}
RUN chmod +x ./Dockerfiles/build_and_run.sh
RUN chmod +x ./scripts/build_and_run.sh
CMD ./Dockerfiles/build_and_run.sh; ./build/bin/Gradido_LoginServer
CMD ./scripts/build_and_run.sh; ./build/bin/Gradido_LoginServer

View File

@ -1,56 +1,93 @@
#########################################################################################################
# debug build preparation
# gcc 9 with libssl
#########################################################################################################
From conanio/gcc9 as build_debug_preparation
FROM gcc:9 as gcc_9_libssl
USER root
RUN apt-get update && \
apt-get install -y --no-install-recommends libssl-dev libboost-dev && \
apt-get autoclean && \
apt-get autoremove && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
#########################################################################################################
# gcc 9 cmake
#########################################################################################################
FROM gcc_9_libssl as gcc_9_cmake
USER root
ENV DOCKER_WORKDIR="/code"
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
RUN git clone https://github.com/Kitware/CMake.git --branch=v3.19.8 && \
cd CMake && \
./bootstrap --parallel=$(nproc) && \
make -j$(nproc) && \
make install && \
cd .. && \
rm -rf CMake
#########################################################################################################
# debug build preparation
#########################################################################################################
FROM gcc_9_libssl as build_debug_dependencies
USER root
ENV DOCKER_WORKDIR="/code"
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
# copy CMake from last stage
COPY --from=gcc_9_cmake /usr/local/bin/cmake /usr/local/bin/cmake
COPY --from=gcc_9_cmake /usr/local/share/cmake-3.19/Modules /usr/local/share/cmake-3.19/Modules
COPY --from=gcc_9_cmake /usr/local/share/cmake-3.19/Templates /usr/local/share/cmake-3.19/Templates
COPY ./dependencies ./dependencies
COPY ./conanfile.txt ./conanfile.txt
RUN cd dependencies/mariadb-connector-c && \
mkdir build && \
cd build && \
cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSL=OFF ..
RUN mkdir build && \
cd build && \
conan install .. --build=missing -s build_type=Debug
#########################################################################################################
# debug build proto and grpc
#########################################################################################################
From build_debug_preparation as proto_grpc
ENV DOCKER_WORKDIR="/code"
WORKDIR ${DOCKER_WORKDIR}
COPY ./scripts ./scripts
COPY ./CMakeLists.txt .
RUN cd build && \
cmake -DCMAKE_BUILD_TYPE=Debug .. && \
make -j${CPU_COUNT} protoc grpc_cpp_plugin
COPY ./src ./src
RUN cd scripts && \
chmod +x ./prepare_build.sh && \
./prepare_build.sh && \
mkdir ../build && \
chmod +x ./build_debug.sh && \
./build_debug.sh
# remove unneccessary stuff
RUN rm -rf build/bin/Gradido_LoginServer
#########################################################################################################
# parse proto and gettext
# debug build
#########################################################################################################
From proto_grpc as proto_parse
FROM gcc_9_libssl as build_debug
USER root
ENV DOCKER_WORKDIR="/code"
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
RUN mkdir src && \
cd src && \
mkdir cpp
COPY ./src/proto ./src/proto
COPY ./unix_parse_proto.sh .
RUN chmod +x unix_parse_proto.sh && \
./unix_parse_proto.sh
# copy CMake from last stage
COPY --from=build_debug_dependencies /usr/local/bin/cmake /usr/local/bin/cmake
COPY --from=build_debug_dependencies /usr/local/share/cmake-3.19 /usr/local/share/cmake-3.19
COPY --from=build_debug_dependencies /code/build/bin /code/build/bin
COPY --from=build_debug_dependencies /code/build/lib /code/build/lib
# grpc
COPY --from=build_debug_dependencies /code/build/dependencies/grpc/lib /build/dependencies/grpc/lib
COPY --from=build_debug_dependencies /code/build/dependencies/grpc/third_party/protobuf/lib /build/dependencies/grpc/third_party/protobuf/lib
COPY --from=build_debug_dependencies /code/build/dependencies/grpc/third_party/re2/lib /build/dependencies/grpc/third_party/re2/lib
COPY --from=build_debug_dependencies /code/build/dependencies/grpc/third_party/zlib/lib /build/dependencies/grpc/third_party/zlib/lib
COPY --from=build_debug_dependencies /code/build/dependencies/grpc/third_party/cares/cares/lib /build/dependencies/grpc/third_party/cares/cares/lib
COPY --from=build_debug_dependencies /code/build/dependencies/mariadb-connector-c/libmariadb/lib /build/dependencies/mariadb-connector-c/libmariadb/lib

View File

@ -0,0 +1,87 @@
##### BUILD-ENV #####
FROM alpine:3.13.5 as alpine-build
RUN apk add --update --no-cache icu-dev
RUN apk add --no-cache git openssl-dev make gcc musl-dev g++ linux-headers libintl gettext-dev boost-dev libsodium-dev
##### CMAKE #####
FROM alpine-build as alpine-gxx-cmake
USER root
ENV DOCKER_WORKDIR="/code"
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
RUN git clone https://github.com/Kitware/CMake.git --branch=v3.19.8 && \
cd CMake && \
./bootstrap --parallel=$(nproc) && \
make -j$(nproc) && \
make install && \
cd .. && \
rm -rf CMake
RUN ls -la /usr/include/boost
##### BUILD ENV ##############
FROM alpine-build as build_debug_dependencies
USER root
ENV DOCKER_WORKDIR="/code"
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
RUN apk add --no-cache git make gettext openssl-dev
# copy CMake from last stage
COPY --from=alpine-gxx-cmake /usr/local/bin/cmake /usr/local/bin/cmake
COPY --from=alpine-gxx-cmake /usr/local/share/cmake-3.19/Modules /usr/local/share/cmake-3.19/Modules
COPY --from=alpine-gxx-cmake /usr/local/share/cmake-3.19/Templates /usr/local/share/cmake-3.19/Templates
# COPY files from context
COPY ./dependencies ./dependencies
COPY ./scripts ./scripts
COPY ./CMakeLists.txt .
COPY ./src ./src
# run build
RUN cd scripts && \
chmod +x ./prepare_build.sh && \
./prepare_build.sh && \
mkdir ../build && \
chmod +x ./build_debug.sh && \
./build_debug.sh
#########################################################################################################
# builded libs and binaries
#########################################################################################################
FROM alpine-build as debug_builded
USER root
ENV DOCKER_WORKDIR="/code"
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
RUN apk add --no-cache bash
# copy CMake from last stage
COPY --from=build_debug_dependencies /usr/local/bin/cmake /usr/local/bin/cmake
COPY --from=build_debug_dependencies /usr/local/share/cmake-3.19 /usr/local/share/cmake-3.19
COPY --from=build_debug_dependencies /code/build/bin ${DOCKER_WORKDIR}/pre_build/bin
COPY --from=build_debug_dependencies /code/build/lib ${DOCKER_WORKDIR}/pre_build/lib
# grpc
COPY --from=build_debug_dependencies /code/build/dependencies/grpc/lib ${DOCKER_WORKDIR}/pre_build/dependencies/grpc/lib
COPY --from=build_debug_dependencies /code/build/dependencies/grpc/third_party/protobuf/lib ${DOCKER_WORKDIR}/pre_build/dependencies/grpc/third_party/protobuf/lib
COPY --from=build_debug_dependencies /code/build/dependencies/grpc/third_party/re2/lib ${DOCKER_WORKDIR}/pre_build/dependencies/grpc/third_party/re2/lib
COPY --from=build_debug_dependencies /code/build/dependencies/grpc/third_party/zlib/lib ${DOCKER_WORKDIR}/pre_build/dependencies/grpc/third_party/zlib/lib
COPY --from=build_debug_dependencies /code/build/dependencies/grpc/third_party/cares/cares/lib ${DOCKER_WORKDIR}/pre_build/dependencies/grpc/third_party/cares/cares/lib
COPY --from=build_debug_dependencies /code/build/dependencies/mariadb-connector-c/libmariadb/lib ${DOCKER_WORKDIR}/pre_build/dependencies/mariadb-connector-c/libmariadb/lib

View File

@ -1,22 +0,0 @@
#!/bin/bash
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j${nproc} protoc grpc_cpp_plugin
cd ..
if [ ! -d "./src/cpp/proto/hedera" ] ; then
#if [ ! -f "./src/cpp/proto/gradido/TransactionBody.pb.h"] ; then
chmod +x unix_parse_proto.sh
./unix_parse_proto.sh
fi
chmod +x compile_pot.sh
./compile_pot.sh
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j$(nproc) Gradido_LoginServer
#echo "building done"
chmod +x ./bin/Gradido_LoginServer
#./bin/Gradido_LoginServer

View File

@ -1,4 +1,4 @@
sudo apt install libsodium-dev libboost-all-dev
sudo apt install libsodium-dev
# get dependencies
git submodule update --init --recursive

View File

@ -1,2 +0,0 @@
#!/bin/bash
xgettext -D src/cpp -p src/LOCALE -o messages.pot --from-code=UTF-8 --files-from=files_to_translate.txt

@ -0,0 +1 @@
Subproject commit 8aedf4733884a25434b5c17c79c7e7dee27e6eb0

@ -1 +0,0 @@
Subproject commit 159540fe8c8f30b281748fe8a1b79e8b17993a67

View File

@ -1,16 +0,0 @@
#!/bin/bash
if [ ! -d "./src/cpp/proto" ] ; then
mkdir ./src/cpp/proto
fi
if [ ! -d "./src/cpp/proto/gradido" ] ; then
mkdir ./src/cpp/proto/gradido
fi
./protoc --cpp_out=./src/cpp/proto --proto_path=./src/proto ./src/proto/gradido/*.proto
if [ ! -d "./src/cpp/proto/hedera" ] ; then
mkdir ./src/cpp/proto/hedera
fi
./protoc --plugin=protoc-gen-grpc=./grpc_cpp_plugin.exe --cpp_out=./src/cpp/proto/hedera --grpc_out=./src/cpp/proto/hedera --proto_path=./src/proto/hedera/hedera-protobuf/src/main/proto ./src/proto/hedera/hedera-protobuf/src/main/proto/*.proto

View File

@ -0,0 +1,25 @@
#!/bin/sh
cd ../build
cmake -DCMAKE_BUILD_TYPE=Debug ..
if [ ! -f "./bin/protoc" ] ; then
make -j$(nproc) protoc
cp ./dependencies/grpc/third_party/protobuf/bin/* ./bin/
fi
if [ ! -f "./bin/grpc_cpp_plugin" ] ; then
make -j$(nproc) grpc_cpp_plugin
cp ./dependencies/grpc/bin/grpc_cpp_plugin ./bin/grpc_cpp_plugin
fi
cd ../scripts
if [ ! -d "./src/cpp/proto/hedera" ] ; then
chmod +x unix_parse_proto.sh
./unix_parse_proto.sh
fi
chmod +x compile_pot.sh
./compile_pot.sh
cd ../build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j$(nproc) Gradido_LoginServer PageCompiler
chmod +x ./bin/Gradido_LoginServer

View File

@ -0,0 +1,2 @@
#!/bin/sh
xgettext -D ../src/cpp -p ../src/LOCALE -o messages.pot --from-code=UTF-8 --files-from=files_to_translate.txt

View File

@ -0,0 +1,15 @@
#!/bin/sh
# generate version for mariadb connector
cd ../dependencies/mariadb-connector-c
if [ -d "./build" ] ; then
rm -rf ./build
fi
mkdir build
cd build
cmake -DWITH_SSL=OFF ..
cd ../../

View File

@ -0,0 +1,19 @@
#!/bin/sh
if [ ! -d "../src/cpp/proto" ] ; then
mkdir ../src/cpp/proto
fi
if [ ! -d "../src/cpp/proto/gradido" ] ; then
mkdir ../src/cpp/proto/gradido
fi
PROTOC_PATH=../build/bin
CPP_PLUGIN_PATH=../build/bin
$PROTOC_PATH/protoc --cpp_out=../src/cpp/proto --proto_path=../src/proto ../src/proto/gradido/*.proto
if [ ! -d "../src/cpp/proto/hedera" ] ; then
mkdir ../src/cpp/proto/hedera
fi
GOOGLE_PROTOBUF_INCLUDES=../dependencies/grpc/third_party/protobuf/src
$PROTOC_PATH/protoc --plugin=protoc-gen-grpc=$CPP_PLUGIN_PATH/grpc_cpp_plugin --cpp_out=../src/cpp/proto/hedera --grpc_out=../src/cpp/proto/hedera --proto_path=$GOOGLE_PROTOBUF_INCLUDES --proto_path=../src/proto/hedera/hedera-protobuf/src/main/proto ../src/proto/hedera/hedera-protobuf/src/main/proto/*.proto

View File

@ -0,0 +1,19 @@
#!/bin/bash
if [ ! -d "../src/cpp/proto" ] ; then
mkdir ../src/cpp/proto
fi
if [ ! -d "../src/cpp/proto/gradido" ] ; then
mkdir ../src/cpp/proto/gradido
fi
PROTOC_PATH=build/bin
CPP_PLUGIN_PATH=build/bin
$PROTOC_PATH/protoc.exe --cpp_out=../src/cpp/proto --proto_path=../src/proto ../src/proto/gradido/*.proto
if [ ! -d "./src/cpp/proto/hedera" ] ; then
mkdir ./src/cpp/proto/hedera
fi
GOOGLE_PROTOBUF_INCLUDES=../dependencies/grpc/third_party/protobuf/src
$PROTOC_PATH/protoc.exe --plugin=protoc-gen-grpc=$CPP_PLUGIN_PATH/grpc_cpp_plugin.exe --cpp_out=../src/cpp/proto/hedera --grpc_out=../src/cpp/proto/hedera --proto_path=$GOOGLE_PROTOBUF_INCLUDES --proto_path=../src/proto/hedera/hedera-protobuf/src/main/proto ../src/proto/hedera/hedera-protobuf/src/main/proto/*.proto

View File

@ -6,6 +6,7 @@
#include <memory>
#include <cstring>
#include <stdlib.h>
using namespace std;

View File

@ -1,19 +0,0 @@
#!/bin/bash
if [ ! -d "./src/cpp/proto" ] ; then
mkdir ./src/cpp/proto
fi
if [ ! -d "./src/cpp/proto/gradido" ] ; then
mkdir ./src/cpp/proto/gradido
fi
PROTOC_PATH=./build/dependencies/grpc/third_party/protobuf/bin
CPP_PLUGIN_PATH=./build/dependencies/grpc/bin
$PROTOC_PATH/protoc --cpp_out=./src/cpp/proto --proto_path=./src/proto ./src/proto/gradido/*.proto
if [ ! -d "./src/cpp/proto/hedera" ] ; then
mkdir ./src/cpp/proto/hedera
fi
GOOGLE_PROTOBUF_INCLUDES=./dependencies/grpc/third_party/protobuf/src
$PROTOC_PATH/protoc --plugin=protoc-gen-grpc=$CPP_PLUGIN_PATH/grpc_cpp_plugin --cpp_out=./src/cpp/proto/hedera --grpc_out=./src/cpp/proto/hedera --proto_path=$GOOGLE_PROTOBUF_INCLUDES --proto_path=./src/proto/hedera/hedera-protobuf/src/main/proto ./src/proto/hedera/hedera-protobuf/src/main/proto/*.proto

View File

@ -1,19 +0,0 @@
#!/bin/bash
if [ ! -d "./src/cpp/proto" ] ; then
mkdir ./src/cpp/proto
fi
if [ ! -d "./src/cpp/proto/gradido" ] ; then
mkdir ./src/cpp/proto/gradido
fi
PROTOC_PATH=build/bin
CPP_PLUGIN_PATH=build/bin
$PROTOC_PATH/protoc.exe --cpp_out=./src/cpp/proto --proto_path=./src/proto ./src/proto/gradido/*.proto
if [ ! -d "./src/cpp/proto/hedera" ] ; then
mkdir ./src/cpp/proto/hedera
fi
GOOGLE_PROTOBUF_INCLUDES=./dependencies/grpc/third_party/protobuf/src
$PROTOC_PATH/protoc.exe --plugin=protoc-gen-grpc=$CPP_PLUGIN_PATH/grpc_cpp_plugin.exe --cpp_out=./src/cpp/proto/hedera --grpc_out=./src/cpp/proto/hedera --proto_path=$GOOGLE_PROTOBUF_INCLUDES --proto_path=./src/proto/hedera/hedera-protobuf/src/main/proto ./src/proto/hedera/hedera-protobuf/src/main/proto/*.proto