Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
畅游知识海洋
json
提交
c1642aff
J
json
项目概览
畅游知识海洋
/
json
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
json
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
c1642aff
编写于
8月 10, 2017
作者:
N
Niels Lohmann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
👷
clang-3.8
上级
a46afd40
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
285 deletion
+6
-285
.travis.yml
.travis.yml
+6
-285
未找到文件。
.travis.yml
浏览文件 @
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
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录