Skip to content

Commit c1593e7

Browse files
committed
Add CI framework and move docs and examples into subdirectories
- travis with valgrind, cppcheck, ubsan, codecov, covscan (future) - appveyor with MSVC 2010 through 2017, cygwin 32/64, mingw 32/64 - README updated, LICENSE, etc. - Moved documentation into doc/ - Moved examples into example/
1 parent 48965b4 commit c1593e7

21 files changed

+416
-92
lines changed

.codecov.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fixes:
2+
- home/travis/build/*/boost-root/boost/::include/boost/
3+
- home/travis/build/*/boost-root/libs/*/src/::src/

.travis.yml

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
# Copyright 2016 Peter Dimov
2+
# Copyright 2017, 2018 James E. King III
3+
# Distributed under the Boost Software License, Version 1.0.
4+
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
5+
6+
#
7+
# Generic Travis CI build script for boostorg repositories
8+
#
9+
# Instructions for customizing this script for your library:
10+
#
11+
# 1. Customize the compilers and language levels you want.
12+
# 2. If you have move than include/, src/, test/, example/, examples/, or
13+
# tools/ directories, modify your Travis CI project and add the environment
14+
# variable DEPINST. For example if your build uses code in "bench/" and
15+
# "fog/" directories, then set DEPINST to the following:
16+
# --include bench --include fog
17+
# 3. If you want to enable Coverity Scan, you need to provide the environment
18+
# variables COVERITY_SCAN_TOKEN and COVERITY_SCAN_NOTIFICATION_EMAIL in
19+
# your github settings.
20+
# 4. Enable pull request builds in your boostorg/<library> account.
21+
# 5. Change the default C++ version in ci/travis/*.sh (search for CXXSTD) if needed.
22+
#
23+
# That's it - the scripts will do everything else for you.
24+
25+
sudo: false
26+
dist: trusty
27+
language: cpp
28+
29+
env:
30+
global:
31+
# see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties
32+
# to use the default for a given environment, comment it out; recommend you build debug and release however..
33+
# - B2_ADDRESS_MODEL=address-model=64,32
34+
# - B2_LINK=link=shared,static
35+
# - B2_THREADING=threading=multi,single
36+
- B2_VARIANT=variant=release,debug
37+
38+
install:
39+
- git clone https://github.com/jeking3/boost-ci.git boost-ci
40+
- cp -pr boost-ci/ci .
41+
- source ci/travis/install.sh
42+
43+
addons:
44+
apt:
45+
packages:
46+
- binutils-gold
47+
- gdb
48+
- libc6-dbg
49+
50+
branches:
51+
only:
52+
- develop
53+
- master
54+
55+
script:
56+
- cd $BOOST_ROOT/libs/$SELF
57+
- ci/travis/build.sh
58+
59+
jobs:
60+
include:
61+
#################### Jobs to run on every pull request ####################
62+
- os: linux
63+
env:
64+
- COMMENT="C++03"
65+
- TOOLSET=gcc,gcc-7,clang
66+
addons:
67+
apt:
68+
packages:
69+
- g++-7
70+
sources:
71+
- ubuntu-toolchain-r-test
72+
- os: linux
73+
env:
74+
- COMMENT="C++11"
75+
- TOOLSET=gcc,gcc-7,clang
76+
- CXXSTD=11
77+
addons:
78+
apt:
79+
packages:
80+
- g++-7
81+
sources:
82+
- ubuntu-toolchain-r-test
83+
- os: linux
84+
env:
85+
- COMMENT=valgrind
86+
- TOOLSET=clang
87+
- B2_VARIANT=variant=debug
88+
- TESTFLAGS=testing.launcher=valgrind
89+
- VALGRIND_OPTS=--error-exitcode=1
90+
addons:
91+
apt:
92+
packages:
93+
- clang-5.0
94+
- libstdc++-7-dev
95+
- valgrind
96+
sources:
97+
- llvm-toolchain-trusty-5.0
98+
- ubuntu-toolchain-r-test
99+
100+
- os: linux
101+
env:
102+
- COMMENT=cppcheck
103+
script:
104+
- cd $BOOST_ROOT/libs/$SELF
105+
- ci/travis/cppcheck.sh
106+
107+
- os: linux
108+
env:
109+
- COMMENT=UBSAN
110+
- B2_VARIANT=variant=debug
111+
- TOOLSET=gcc-7
112+
- CXXFLAGS="cxxflags=-fno-omit-frame-pointer cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined"
113+
- LINKFLAGS="linkflags=-fsanitize=undefined linkflags=-fno-sanitize-recover=undefined linkflags=-fuse-ld=gold"
114+
- UBSAN_OPTIONS=print_stacktrace=1
115+
addons:
116+
apt:
117+
packages:
118+
- g++-7
119+
sources:
120+
- ubuntu-toolchain-r-test
121+
122+
- os: linux
123+
env:
124+
- COMMENT=CodeCov
125+
- TOOLSET=gcc-7
126+
addons:
127+
apt:
128+
packages:
129+
- gcc-7
130+
- g++-7
131+
sources:
132+
- ubuntu-toolchain-r-test
133+
script:
134+
- pushd /tmp && git clone https://github.com/linux-test-project/lcov.git && cd lcov && sudo make install && which lcov && lcov --version && popd
135+
- cd $BOOST_ROOT/libs/$SELF
136+
- ci/travis/codecov.sh
137+
138+
# does not work with sources install shell yet: see
139+
# https://travis-ci.org/jeking3/tokenizer/jobs/384903189
140+
# for a typical failure
141+
# - os: osx
142+
# osx_image: xcode9
143+
# env:
144+
# - TOOLSET=clang
145+
# - CXXSTD=03,11
146+
147+
#################### Jobs to run on pushes to master, develop ###################
148+
149+
# Coverity Scan
150+
- os: linux
151+
if: (env(COVERITY_SCAN_TOKEN) IS present) AND (branch IN (develop, master)) AND (type IN (cron, push))
152+
env:
153+
- COMMENT="Coverity Scan"
154+
- TOOLSET=gcc
155+
script:
156+
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
157+
- cd $BOOST_ROOT/libs/$SELF
158+
- ci/travis/coverity.sh
159+
160+
notifications:
161+
email:
162+
false
163+

Jamfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Boost.Tokenizer Library Jamfile
2+
#
3+
# Copyright (c) 2018 James E. King III
4+
#
5+
# Use, modification, and distribution are subject to the
6+
# Boost Software License, Version 1.0. (See accompanying file
7+
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8+
9+
# please order by name to ease maintenance
10+
build-project example ;
11+
build-project test ;

LICENSE

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Boost Software License - Version 1.0 - August 17th, 2003
2+
3+
Permission is hereby granted, free of charge, to any person or organization
4+
obtaining a copy of the software and accompanying documentation covered by
5+
this license (the "Software") to use, reproduce, display, distribute,
6+
execute, and transmit the Software, and to prepare derivative works of the
7+
Software, and to permit third-parties to whom the Software is furnished to
8+
do so, all subject to the following:
9+
10+
The copyright notices in the Software and this entire statement, including
11+
the above license grant, this restriction and the following disclaimer,
12+
must be included in all copies of the Software, in whole or in part, and
13+
all derivative works of the Software, unless such copies or derivative
14+
works are solely in the form of machine-executable object code generated by
15+
a source language processor.
16+
17+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
20+
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
21+
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
22+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+
DEALINGS IN THE SOFTWARE.

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,22 @@
77

88
Boost tokenizer is a part of [Boost C++ Libraries](http://github.com/boostorg). The Boost.Tokenizer package provides a flexible and easy-to-use way to break a string or other character sequence into a series of tokens.
99

10+
## License
11+
12+
Distributed under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt).
13+
14+
## Properties
15+
16+
* C++03
17+
* Header-Only
18+
19+
## Build Status
20+
21+
Branch | Travis | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests |
22+
:-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- |
23+
[`master`](https://github.com/boostorg/tokenizer/tree/master) | [![Build Status](https://travis-ci.org/boostorg/tokenizer.svg?branch=master)](https://travis-ci.org/boostorg/tokenizer) | [![Build status](https://ci.appveyor.com/api/projects/status/FIXME-nuihr6s92fjb9gwy/branch/master?svg=true)](https://ci.appveyor.com/project/maintainer/tokenizer-xyzzy/branch/master) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/FIXME-13982/badge.svg)](https://scan.coverity.com/projects/boostorg-tokenizer) | [![codecov](https://codecov.io/gh/boostorg/tokenizer/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/tokenizer/branch/master)| [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/tokenizer.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](http://www.boost.org/doc/libs/master/doc/html/tokenizer.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/tokenizer.html)
24+
[`develop`](https://github.com/boostorg/tokenizer/tree/develop) | [![Build Status](https://travis-ci.org/boostorg/tokenizer.svg?branch=develop)](https://travis-ci.org/boostorg/tokenizer) | [![Build status](https://ci.appveyor.com/api/projects/status/FIXME-nuihr6s92fjb9gwy/branch/develop?svg=true)](https://ci.appveyor.com/project/maintainer/tokenizer-xyzzy/branch/develop) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/FIXME-13982/badge.svg)](https://scan.coverity.com/projects/boostorg-tokenizer) | [![codecov](https://codecov.io/gh/boostorg/tokenizer/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/tokenizer/branch/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/tokenizer.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](http://www.boost.org/doc/libs/develop/doc/html/tokenizer.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/tokenizer.html)
25+
1026

1127
## Overview
1228

appveyor.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Copyright 2016, 2017 Peter Dimov
2+
# Copyright (C) 2017, 2018 James E. King III
3+
# Distributed under the Boost Software License, Version 1.0.
4+
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
5+
6+
version: 1.0.{build}-{branch}
7+
8+
shallow_clone: true
9+
10+
branches:
11+
only:
12+
- develop
13+
- master
14+
15+
matrix:
16+
allow_failures:
17+
- MAYFAIL: true
18+
19+
environment:
20+
global:
21+
# see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties
22+
# to use the default for a given environment, comment it out; recommend you build debug and release however..
23+
# on Windows it is important to exercise all the possibilities, especially shared vs static
24+
# B2_ADDRESS_MODEL: address-model=64,32
25+
# B2_LINK: link=shared,static
26+
# B2_THREADING: threading=multi,single
27+
B2_VARIANT: variant=release,debug
28+
CXXSTD: 03
29+
30+
matrix:
31+
- FLAVOR: Visual Studio 2017
32+
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
33+
TOOLSET: msvc-14.1
34+
B2_ADDRESS_MODEL: address-model=64,32
35+
- FLAVOR: Visual Studio 2015
36+
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
37+
TOOLSET: msvc-14.0
38+
B2_ADDRESS_MODEL: address-model=64,32
39+
- FLAVOR: Visual Studio 2010, 2012, 2013
40+
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
41+
TOOLSET: msvc-10.0,msvc-11.0,msvc-12.0
42+
- FLAVOR: cygwin (32-bit)
43+
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
44+
ADDPATH: C:\cygwin\bin;
45+
B2_ADDRESS_MODEL: address-model=32
46+
# https://github.com/boostorg/test/issues/144
47+
DEFINES: define=_POSIX_C_SOURCE=200112L
48+
THREADING: threadapi=pthread
49+
TOOLSET: gcc
50+
- FLAVOR: cygwin (64-bit)
51+
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
52+
ADDPATH: C:\cygwin64\bin;
53+
B2_ADDRESS_MODEL: address-model=64
54+
# https://github.com/boostorg/test/issues/144
55+
DEFINES: define=_POSIX_C_SOURCE=200112L
56+
THREADING: threadapi=pthread
57+
TOOLSET: gcc
58+
- FLAVOR: mingw32
59+
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
60+
ARCH: i686
61+
B2_ADDRESS_MODEL: address-model=32
62+
SCRIPT: ci\appveyor\mingw.bat
63+
- FLAVOR: mingw64
64+
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
65+
ARCH: x86_64
66+
B2_ADDRESS_MODEL: address-model=64
67+
SCRIPT: ci\appveyor\mingw.bat
68+
69+
install:
70+
- set SELF=%APPVEYOR_PROJECT_SLUG:-=_%
71+
- git clone https://github.com/jeking3/boost-ci.git C:\boost-ci
72+
- xcopy /s /e /q /i C:\boost-ci\ci .\ci
73+
- ci\appveyor\install.bat
74+
75+
build: off
76+
77+
test_script:
78+
- set SELF=%APPVEYOR_PROJECT_SLUG:-=_%
79+
- PATH=%ADDPATH%%PATH%
80+
- IF DEFINED SCRIPT (call libs\%SELF%\%SCRIPT%) ELSE (b2 libs/%SELF% toolset=%TOOLSET% cxxstd=%CXXSTD% %CXXFLAGS% %DEFINES% %THREADING% %B2_ADDRESS_MODEL% %B2_LINK% %B2_THREADING% %B2_VARIANT% -j3)
81+
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)