Bart Hertog преди 6 години
родител
ревизия
8b33dd90a8
променени са 4 файла, в които са добавени 40 реда и са изтрити 24 реда
  1. 1 1
      CMakeLists.txt
  2. 26 6
      bitbucket-pipelines-dependencies.sh
  3. 12 16
      bitbucket-pipelines.yml
  4. 1 1
      sonar-project.properties

+ 1 - 1
CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.5)
 
 project(test_EmbeddedProto)
 

+ 26 - 6
bitbucket-pipelines-dependencies.sh

@@ -1,17 +1,37 @@
 #!/bin/bash
 
-if [ -d "$PWD/build-wrapper-linux-x86" ]; then
+if [ -d "$PWD/protoc" ]; then
+  echo "found protoc cache"
+else
+  curl --insecure -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.11.0/protoc-3.11.0-linux-x86_64.zip
+  unzip -o protoc-3*.zip -d protoc/
+fi
+export PATH="$PATH:$PWD/protoc/bin"
+
+if [ -d "$PWD/build-wrapper" ]; then
   echo "found sonar cloud wrapper cache"
 else
   curl --insecure -OL https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip
   unzip -o build-wrapper-linux-x86.zip
+  mv build-wrapper-linux-x86/ build-wrapper/
+  # The following is required for my local machine.
+  cp build-wrapper/libinterceptor-x86_64.so build-wrapper/libinterceptor-haswell.so
 fi
-export PATH="$PATH:$PWD/build-wrapper-linux-x86"
+export PATH="$PATH:$PWD/build-wrapper"
 
-if [ -d "$PWD/sonar-scanner-cli-3.3.0.1492-linux" ]; then
+if [ -d "$PWD/sonar-scanner/" ]; then
   echo "found sonar scanner scanner cache"
 else
-  curl --insecure -OL https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-linux.zip
-  unzip -o sonar-scanner-cli-3.3.0.1492-linux.zip
+  curl --insecure -OL https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip
+  unzip -o sonar-scanner-cli-*-linux.zip
+  mv sonar-scanner*/ sonar-scanner/
+fi
+export PATH="$PATH:$PWD/sonar-scanner/bin"
+
+if [ -d "$PWD/venv" ]; then
+  echo "found python virtualenv in cache"
+else
+  python3 -m venv venv
 fi
-export PATH="$PATH:$PWD/sonar-scanner-cli-3.3.0.1492-linux/bin"
+source venv/bin/activate
+pip install -r requirements.txt

+ 12 - 16
bitbucket-pipelines.yml

@@ -4,26 +4,22 @@ pipelines:
     - step:    
         caches:
           - git-modules
-        script:            
-          - apt-get update; apt-get install -y jq unzip lib32ncurses5 lib32z1 lib32stdc++6 tree protobuf-compiler cmake
-          - which python3
+        script: 
+          - add-apt-repository ppa:ubuntu-toolchain-r/test -y
+          - apt-get update
+          - apt-get install -y jq gcc-9 g++-9 unzip cmake lib32ncurses5 lib32z1 lib32stdc++6 python3-venv
+          - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9
           - git submodule update --recursive --init
-          - mkdir -p ./build/EAMS
-          - protoc --version
-          - protoc --plugin=protoc-gen-eams=protoc-gen-eams -I./test/proto --eams_out=./build/EAMS ./test/proto/simple_types.proto
-          - protoc --plugin=protoc-gen-eams=protoc-gen-eams -I./test/proto --eams_out=./build/EAMS ./test/proto/nested_message.proto
-          - protoc --plugin=protoc-gen-eams=protoc-gen-eams -I./test/proto --eams_out=./build/EAMS ./test/proto/repeated_fields.proto
-          - mkdir -p build/test
-          - cd build/test/
-          - cmake -DCMAKE_BUILD_TYPE=Debug ../../
-          - make
-          - cd ../..
           - source bitbucket-pipelines-dependencies.sh
-          - cd ./build/test
-          - ../../build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir SonarQube-output make clean all
+
+          - ./build_test.sh
+
+          - cd build/test
+          - build-wrapper-linux-x86-64 --out-dir SonarQube-output make clean all
+          
           - cd -
           - export SONAR_SCANNER_OPTS="-Xmx1024m"
-          - ./sonar-scanner-3.3.0.1492-linux/bin/sonar-scanner -Dproject.settings=sonar-project.properties -Dsonar.login=492dba2b1a7da82eaea36308ce177f6033626bca -Dsonar.cfamily.build-wrapper-output=build/test/SonarQube-output
+          - sonar-scanner -Dproject.settings=sonar-project.properties -Dsonar.login=492dba2b1a7da82eaea36308ce177f6033626bca -Dsonar.cfamily.build-wrapper-output=build/test/SonarQube-output
                  
 definitions:
   caches:

+ 1 - 1
sonar-project.properties

@@ -24,4 +24,4 @@ sonar.test.exclusions=test/**
 # Encoding of the source code. Default is default system encoding
 sonar.sourceEncoding=UTF-8
 
-sonar.cfamily.build-wrapper-output=SonarQube-output
+sonar.cfamily.build-wrapper-output=build/test/SonarQube-output