Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
json
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
json
Commits
c1642aff
Unverified
Commit
c1642aff
authored
Aug 10, 2017
by
Niels Lohmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
👷
clang-3.8
parent
a46afd40
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
285 deletions
+6
-285
.travis.yml
.travis.yml
+6
-285
No files found.
.travis.yml
View file @
c1642aff
...
...
@@ -28,293 +28,22 @@ env:
matrix
:
include
:
# Valgrind
-
os
:
linux
compiler
:
gcc
env
:
-
COMPILER=g++-4.9
-
SPECIAL=valgrind
addons
:
apt
:
sources
:
[
'
ubuntu-toolchain-r-test'
]
packages
:
[
g++-4.9
,
valgrind
]
after_success
:
-
make check TEST_PREFIX="valgrind --error-exitcode=1 --leak-check=full " TEST_PATTERN=""
# cLang sanitizer
# note: sadly clang's libc++ has errors when running with sanitize,
# so we use clang with gcc's libstdc++ which doesn't give those error.
# that's why we need to install g++-6 to get the lastest version
-
os
:
linux
env
:
-
LLVM_VERSION=3.8.1
-
SPECIAL=sanitizer
addons
:
apt
:
sources
:
[
'
ubuntu-toolchain-r-test'
]
packages
:
g++-6
compiler
:
clang
before_script
:
-
make clang_sanitize
# cppcheck
-
os
:
linux
compiler
:
gcc
env
:
-
COMPILER=g++-4.9
-
SPECIAL=cppcheck
addons
:
apt
:
sources
:
[
'
ubuntu-toolchain-r-test'
]
packages
:
[
g++-4.9
,
cppcheck
]
after_success
:
-
make cppcheck
# no exceptions
-
os
:
linux
compiler
:
gcc
env
:
-
COMPILER=g++-4.9
-
SPECIAL=no_exceptions
addons
:
apt
:
sources
:
[
'
ubuntu-toolchain-r-test'
]
packages
:
[
g++-4.9
,
cppcheck
]
after_success
:
-
make clean
-
CPPFLAGS="-DJSON_NOEXCEPTION" make check TEST_PATTERN="-e \"*\""
# Coveralls (http://gronlier.fr/blog/2015/01/adding-code-coverage-to-your-c-project/)
-
os
:
linux
compiler
:
gcc
addons
:
apt
:
sources
:
[
'
ubuntu-toolchain-r-test'
]
packages
:
[
'
g++-4.9'
,
'
ruby'
]
before_script
:
-
wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz
-
tar xf lcov_1.11.orig.tar.gz
-
sudo make -C lcov-1.11/ install
-
gem install coveralls-lcov
-
pip install --user cpp-coveralls
after_success
:
-
make clean
-
CXXFLAGS="--coverage -g -O0" CPPFLAGS="-DNDEBUG" make json_unit
-
test/json_unit "*"
-
coveralls --build-root test --exclude src/catch.hpp --exclude src/unit-algorithms.cpp --exclude src/unit-allocator.cpp --exclude src/unit-capacity.cpp --exclude src/unit-class_const_iterator.cpp --exclude src/unit-class_iterator.cpp --exclude src/unit-class_lexer.cpp --exclude src/unit-class_parser.cpp --exclude src/unit-comparison.cpp --exclude src/unit-concepts.cpp --exclude src/unit-constructor1.cpp --exclude src/unit-constructor2.cpp --exclude src/unit-convenience.cpp --exclude src/unit-conversions.cpp --exclude src/unit-deserialization.cpp --exclude src/unit-element_access1.cpp --exclude src/unit-element_access2.cpp --exclude src/unit-inspection.cpp --exclude src/unit-iterator_wrapper.cpp --exclude src/unit-iterators1.cpp --exclude src/unit-iterators2.cpp --exclude src/unit-json_patch.cpp --exclude src/unit-json_pointer.cpp --exclude src/unit-modifiers.cpp --exclude src/unit-pointer_access.cpp --exclude src/unit-readme.cpp --exclude src/unit-reference_access.cpp --exclude src/unit-regression.cpp --exclude src/unit-serialization.cpp --exclude src/unit-testsuites.cpp --exclude src/unit-unicode.cpp --include ../src/json.hpp --gcov-options '\-lp' --gcov 'gcov-4.9'
-
lcov --directory src --directory test/src --capture --output-file coverage.info --rc lcov_branch_coverage=1 --no-external
-
lcov --remove coverage.info 'test/src/*' --output-file coverage.info --rc lcov_branch_coverage=1
-
lcov --list coverage.info --rc lcov_branch_coverage=1
-
coveralls-lcov --repo-token F9bs4Nop10JRgqPQXRcifyQKYhb3FczkS coverage.info
env
:
-
COMPILER=g++-4.9
-
SPECIAL=coveralls
# Coverity (only for branch coverity_scan)
-
os
:
linux
compiler
:
clang
before_install
:
echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-certificates.crt
addons
:
coverity_scan
:
project
:
name
:
"
nlohmann/json"
description
:
"
Build
submitted
via
Travis
CI"
notification_email
:
niels.lohmann@gmail.com
build_command_prepend
:
"
make
clean"
build_command
:
"
make"
branch_pattern
:
coverity_scan
env
:
-
LLVM_VERSION=3.6.0
-
SPECIAL=coverity
# OSX / Clang
-
os
:
osx
osx_image
:
xcode6.4
-
os
:
osx
osx_image
:
xcode7.3
-
os
:
osx
osx_image
:
xcode8
-
os
:
osx
osx_image
:
xcode8.1
-
os
:
osx
osx_image
:
xcode8.2
-
os
:
osx
osx_image
:
xcode8.3
-
os
:
osx
osx_image
:
xcode9
# Linux / GCC
-
os
:
linux
compiler
:
gcc
env
:
COMPILER=g++-4.9
addons
:
apt
:
sources
:
[
'
ubuntu-toolchain-r-test'
]
packages
:
g++-4.9
-
os
:
linux
compiler
:
gcc
env
:
COMPILER=g++-5
addons
:
apt
:
sources
:
[
'
ubuntu-toolchain-r-test'
]
packages
:
g++-5
-
os
:
linux
compiler
:
gcc
env
:
COMPILER=g++-6
addons
:
apt
:
sources
:
[
'
ubuntu-toolchain-r-test'
]
packages
:
g++-6
-
os
:
linux
compiler
:
gcc
env
:
COMPILER=g++-7
addons
:
apt
:
sources
:
[
'
ubuntu-toolchain-r-test'
]
packages
:
g++-7
-
os
:
linux
compiler
:
gcc
env
:
-
COMPILER=g++-7
-
CXXFLAGS=-std=c++17
env
:
COMPILER=clang-3.8
addons
:
apt
:
sources
:
[
'
ubuntu-toolchain-r-test'
]
packages
:
g++-7
# Linux / Clang
-
os
:
linux
env
:
LLVM_VERSION=3.6.0
compiler
:
clang
-
os
:
linux
env
:
LLVM_VERSION=3.6.1
compiler
:
clang
-
os
:
linux
env
:
LLVM_VERSION=3.6.2
compiler
:
clang
# - os: linux
# env: LLVM_VERSION=3.7.0
# compiler: clang
# - os: linux
# env: LLVM_VERSION=3.7.1
# compiler: clang
-
os
:
linux
env
:
LLVM_VERSION=3.8.0
compiler
:
clang
-
os
:
linux
env
:
LLVM_VERSION=3.8.1
compiler
:
clang
# - os: linux
# addons:
# apt:
# sources: llvm-toolchain-trusty-3.9
# packages: clang-3.9
# env: COMPILER=clang++-3.9
#
# - os: linux
# addons:
# apt:
# sources: llvm-toolchain-trusty-4.0
# packages: clang-4.0
# env: COMPILER=clang++-4.0
#
# - os: linux
# addons:
# apt:
# sources: llvm-toolchain-trusty
# packages: clang-5.0
# env: COMPILER=clang++-5.0
#####################
# installation step #
#####################
# set directories to cache
cache
:
directories
:
-
${TRAVIS_BUILD_DIR}/deps/llvm-3.6.2
-
${TRAVIS_BUILD_DIR}/deps/llvm-3.6.1
-
${TRAVIS_BUILD_DIR}/deps/llvm-3.6.0
-
${TRAVIS_BUILD_DIR}/deps/llvm-3.7.0
-
${TRAVIS_BUILD_DIR}/deps/llvm-3.7.1
-
${TRAVIS_BUILD_DIR}/deps/llvm-3.8.0
-
${TRAVIS_BUILD_DIR}/deps/llvm-3.8.1
install
:
# create deps dir if not existing
-
DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
-
mkdir -p ${DEPS_DIR}
# make sure CXX is correctly set
-
if [[ "${COMPILER}" != "" ]]; then export CXX=${COMPILER}; fi
# get CMake (only for systems with brew - macOS)
-
|
if [[ !(-x $(which cmake)) && (-x $(which brew)) ]]; then
brew update
brew install cmake
cmake --version
fi
# install LLVM/clang when LLVM_VERSION is set
-
|
if [[ "${LLVM_VERSION}" != "" ]]; then
LLVM_DIR=${DEPS_DIR}/llvm-${LLVM_VERSION}
if [[ -z "$(ls -A ${LLVM_DIR})" ]]; then
travis_retry wget --quiet https://cmake.org/files/v3.6/cmake-3.6.1.tar.gz
tar xfz cmake-3.6.1.tar.gz
(cd cmake-3.6.1 && ./configure --prefix=${LLVM_DIR}/cmake && make install)
export PATH="${LLVM_DIR}/cmake/bin:${PATH}"
LLVM_URL="http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
LIBCXX_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxx-${LLVM_VERSION}.src.tar.xz"
LIBCXXABI_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxxabi-${LLVM_VERSION}.src.tar.xz"
CLANG_URL="http://llvm.org/releases/${LLVM_VERSION}/clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-ubuntu-14.04.tar.xz"
mkdir -p ${LLVM_DIR} ${LLVM_DIR}/build ${LLVM_DIR}/projects/libcxx ${LLVM_DIR}/projects/libcxxabi ${LLVM_DIR}/clang
travis_retry wget --quiet -O - ${LLVM_URL} | tar --strip-components=1 -xJ -C ${LLVM_DIR}
travis_retry wget --quiet -O - ${LIBCXX_URL} | tar --strip-components=1 -xJ -C ${LLVM_DIR}/projects/libcxx
travis_retry wget --quiet -O - ${LIBCXXABI_URL} | tar --strip-components=1 -xJ -C ${LLVM_DIR}/projects/libcxxabi
travis_retry wget --quiet -O - ${CLANG_URL} | tar --strip-components=1 -xJ -C ${LLVM_DIR}/clang
(cd ${LLVM_DIR}/build && cmake .. -DCMAKE_INSTALL_PREFIX=${LLVM_DIR}/install -DCMAKE_CXX_COMPILER=clang++)
(cd ${LLVM_DIR}/build/projects/libcxx && make install -j2)
(cd ${LLVM_DIR}/build/projects/libcxxabi && make install -j2)
fi
export CXXFLAGS="-nostdinc++ -isystem ${LLVM_DIR}/install/include/c++/v1"
export LDFLAGS="-L ${LLVM_DIR}/install/lib -l c++ -l c++abi"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${LLVM_DIR}/install/lib"
export PATH="${LLVM_DIR}/clang/bin:${PATH}"
fi
sources
:
[
'
ubuntu-toolchain-r-test'
,
'
llvm-toolchain-precise-3.8'
]
packages
:
[
'
g++-6'
,
'
clang-3.8'
]
################
# build script #
################
script
:
# make sure CXX is correctly set
-
if [[ "${COMPILER}" != "" ]]; then export CXX=${COMPILER}; fi
# show OS/compiler version
-
uname -a
-
$CXX --version
...
...
@@ -324,11 +53,3 @@ script:
-
cmake .. && cmake --build . --config Release -- -j4
-
ctest -C Release -V
-
cd ..
# check if homebrew works (only checks develop branch)
-
if [ `which brew` ]; then
brew update ;
brew tap nlohmann/json ;
brew install nlohmann_json --HEAD ;
brew test nlohmann_json ;
fi
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment