Skip to content

Commit 0fc2255

Browse files
committed
Add release deployment
1 parent 25b0ab5 commit 0fc2255

File tree

5 files changed

+109
-27
lines changed

5 files changed

+109
-27
lines changed

.travis.yml

Lines changed: 62 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
language: rust
22
sudo: required
33
dist: trusty
4+
env:
5+
global:
6+
- secure: "YCOq0vX7+PsvQvoaanVTGrVepfnFJSUDvVRDoYGaXfeJQJaF1PBUbge9MF9WrRZT8J9wQ3QyoAuPaGEBH0Dr5MD8PVIP7n1BMh88Y49giF87A+H88pj953HqmJ94BfI16gjMsCYGOdSDBu2LFWIw6VzI8gxnQsa7QJ9JKzzSDX/HuyixAVr1HOSbTFHQmIkPLLQYJt7xJxouKGt3hztsx29RKH6P6/eiRB1prVA3uYlBCpsrpt3pBd+cJubDcA0nu0ZW7L3L3kIVp2QqgCfuuR3ktQQ7oYnhvAvGeQ5CnJZl4XoPc0s0lcqoGYefZhrA+Na23YjYHBTgdmh3qgXelF9+9SOKrYT6HTlnCk+SIQrPQSrOIUgJnE6BpyFWqlIDGyJjQnC7OVodAAyr82o+Bcoth17106jMordjVA6l8yZT6Cjx2ddfyb/b0vH6m6UumMwdgM9RLlJ5x+S6QppW+Qtm1U7FDZt0TO/MPxSYUWDmpO9GaFcKjCSyulpWS+mA1qyk0Q6a9fb1uqvjgZMvSgopw7Min+/0jpBh3DkwAjz8Amm1ZAuvEV7/8+a/QhluvSzjHAYzY4/E+qillNn/qJp2qST3pikCxbYiO7tP1mNEhR0u6T5XqjgtKQ5ALl3g/CQr7WZWF/NdRyLSkJvI2ULJmHsIIlcdwoF0FcHpEyc="
7+
- secure: "dE+mh5SJ/Qac0J1QpVzUQwlzVDUWAROPEF3Pbv88wDkrFhM2qBBJKPHQ0IyHvHVvNhnxvYwEDNR79ejv7mTFa4SdeXvvt6qfYbTAfMIXWdOivzEt02lbz7zkeEet4LmlzTPntVJuKdTayEV8XnI+hT8X7xa9zvcsIOhaPBLDSZh9sOmxaQiEYk7eQCJ3VOg/Bbn2sZIqKUpfdusikuWJ/HofP+zR90zZH1JNmMVk45X8ymVzJVZ5tarYtZTMhSs5vEXuTimkJLHZg8s77w8ZmcIfY47CPWTSHATZpXqfBKJqopWZ8mUjBkBApHIN/AKEu+elNecXnGSNbbY/39nLdOBa1kKzpe1SI58ET/sMg9dxAnwHGffWimQoHM2dtUL2OAFEtAkxELcTDHiUGK8fyTagAPTeUeg92MG8kMFizFLllT1d/vAXHempquQxqSWLhxnzgZwz3I2E2j4/DjqeQuSpRCmHWKTsDJvB5ipjZJ65LGlt0LbSni4+wpDwrfpE3BqlPmhJPshu9xF4/fBojY/i6MIo6oe6KJGEmtuocpWlUuz8oUnkcsFmFEtlvHlxby4zfzw4tV9dQZYPQneYf/WCKt/H9stna80pMJi/9Nn1NOpfM4e1cPO0t0sKdYkldpGcPi85HGIcLg8b3pJV8oKpD8QxffEOGLK5Er8sSS4="
8+
- secure: "YgqR3mAXrewMrO0pQsLUeMit1fnIDGF0VZFlb1SU0CgfxD3u6UYb2W0oivKAuWDZqGHSq/DArbEVgSifV7pYhZCEx3D4hQa/CwNjGAD8OQOPdSeUqiDemDgwADZn6T2K03oou4HgD6nex/ZVfwnrHC1gJh83fYtQvinLTFBQHUwOjK9lv9Nbi5UgCVh1W2lRQahJkn6jmgY6eN2YHEnqVw5LAzXCZ5bNTPy/Y7gLYKTBf10mkVhsXargakpu1P7wO8705wEioa+D0Jy61WW1VvJoRwdOo4e7xK+7R804Ib3WmBdIGQHpYYc8Cg/Ykluoth7Uq06PSvh0AKx5Jv7fuDTwMufnEn/rabQKetUihq4Z+0hzMlCrvESoepa/z0KhaHyFFk+vyii841UP1wgBcB1NInN0poA1l8IM9/SsgMcLLAJCEoIrozpj8iN8OYKui0H6Jvir4ciDbrYBm+GHjFAq3dfpPvjlIEajgtyXF5I9FtOh3n5VOVhPwL+IonwHHIa58yUT4jsSnNlWbkHwOuHmE39yX4WkgmBURosGOPOxSLIpIdbRtQo7oWymIIhbXwZZEaUd7wVebusAe2RnlMNmlG6mfFs++T7h9KJVv5J7OjUMyzVmmc044Xo8kmUKsJN+Py0NrXoRkNZdRjznKAB61+Vmq7rBtiG4acYnoX0="
49

510
cache:
611
directories:
7-
- ~/llvm
12+
- "~/llvm"
813

914
matrix:
1015
include:
@@ -17,11 +22,17 @@ matrix:
1722
install:
1823
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./build_linux.sh; fi
1924
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./build_osx.sh; fi
20-
script:
21-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export LIBCLANG_STATIC_PATH=~/clang/lib; fi
22-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export LLVM_CONFIG_PATH=/clang/bin/llvm-config; fi
23-
- cargo build --verbose --features "clang_3_8 static"
24-
- RUST_TEST_THREADS=1 cargo test --verbose --features "clang_3_8 static"
25+
26+
script: |
27+
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
28+
export LLVM_CONFIG_PATH=/clang/bin/llvm-config
29+
export LIBCLANG_STATIC_PATH=~/clang/lib
30+
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
31+
export LLVM_CONFIG_PATH=/clang/bin/llvm-config
32+
export LIBCLANG_STATIC_PATH=/clang/lib
33+
fi
34+
cargo build --verbose --release --features "clang_3_8 static"
35+
RUST_TEST_THREADS=1 cargo test --verbose --features "clang_3_8 static"
2536
2637
after_success: |
2738
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
@@ -34,5 +45,49 @@ after_success: |
3445
make &&
3546
sudo make install &&
3647
cd ../.. &&
37-
RUST_TEST_THREADS=1 kcov --coveralls-id=$TRAVIS_JOB_ID --exclude-pattern=/.cargo target/kcov target/debug/cpp_codegen_rs-*;
48+
RUST_TEST_THREADS=1 kcov --coveralls-id=$TRAVIS_JOB_ID --exclude-pattern=/.cargo target/kcov target/debug/cpp_codegen-*;
49+
rm -rf master.tar.gz kcov-master
50+
fi
51+
52+
before_deploy: |
53+
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
54+
mv target/release/cpp_codegen target/release/cpp_codegen_linux;
55+
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
56+
mv target/release/cpp_codegen target/release/cpp_codegen_osx;
57+
fi
58+
59+
deploy:
60+
- provider: releases
61+
api_key:
62+
- secure: hEt0C0njTFYbJGWdC3gp0r+SmKC/rnhOi4OChc2p+bEH+2TIGltXxwyrwoicMikhHr2FhBwDiAgbEE85okcKxkYvBsAiH4PuiQBhzJq50QVHDcdW5HjZbBqWyYdANJrdkya68SbzjHKMSvf47W1HyX2uzGkEFSq4lp+GI8TZIZPy88XeHLOOT05XpBOJnOwIVpuH3ilP7bN1QeAM0OVc+aKJXYQkX5i0JG0eYnQXp8/QPfykmVXUSFzvDqP11eK+FPqtGbwKVkC9YpD9LtgOldylFTxJdWpa0UY05ttaKReaU2Ca7X0qIYn8/hG6GmI9PJNfj2awWczO4O2/1+mRxqbBDaW8syvXFoNRz0X54ZvWwJFLu3v3uTbUxnB0QwoV8s9mgRvaodw4idN2aBr141lHtjes8br+9QRRy74ND5Gg0eUFIG6NCaDnqDNIi+vyCNIB+d1ptMCXmOi+vazqrCjJ2oLeWULk29TDqyM5FIqxAdkADmHkSYA0rwzqHADMgaT5qhbBM/yGPgAySnvPxxTLAPQRUFW1SE9g/gQkSrivaJ58cxowCQXdmkb1M0E4MCaCkWP2UxYlr7fWEaVT2NyALFr98RD3nxVNUo+9mbRtqWx1JJuvzIPgCVdGGFUAB8DcBZNIBwKzHUDRmPqPmHwE9dl3qRoV5r4gjON3bdQ=
63+
file: "target/release/cpp_codegen_linux"
64+
skip_cleanup: true
65+
on:
66+
tags: true
67+
condition: "$TRAVIS_OS_NAME = linux"
68+
- provider: releases
69+
api_key:
70+
- secure: hEt0C0njTFYbJGWdC3gp0r+SmKC/rnhOi4OChc2p+bEH+2TIGltXxwyrwoicMikhHr2FhBwDiAgbEE85okcKxkYvBsAiH4PuiQBhzJq50QVHDcdW5HjZbBqWyYdANJrdkya68SbzjHKMSvf47W1HyX2uzGkEFSq4lp+GI8TZIZPy88XeHLOOT05XpBOJnOwIVpuH3ilP7bN1QeAM0OVc+aKJXYQkX5i0JG0eYnQXp8/QPfykmVXUSFzvDqP11eK+FPqtGbwKVkC9YpD9LtgOldylFTxJdWpa0UY05ttaKReaU2Ca7X0qIYn8/hG6GmI9PJNfj2awWczO4O2/1+mRxqbBDaW8syvXFoNRz0X54ZvWwJFLu3v3uTbUxnB0QwoV8s9mgRvaodw4idN2aBr141lHtjes8br+9QRRy74ND5Gg0eUFIG6NCaDnqDNIi+vyCNIB+d1ptMCXmOi+vazqrCjJ2oLeWULk29TDqyM5FIqxAdkADmHkSYA0rwzqHADMgaT5qhbBM/yGPgAySnvPxxTLAPQRUFW1SE9g/gQkSrivaJ58cxowCQXdmkb1M0E4MCaCkWP2UxYlr7fWEaVT2NyALFr98RD3nxVNUo+9mbRtqWx1JJuvzIPgCVdGGFUAB8DcBZNIBwKzHUDRmPqPmHwE9dl3qRoV5r4gjON3bdQ=
71+
file: "target/release/cpp_codegen_osx"
72+
skip_cleanup: true
73+
on:
74+
tags: true
75+
condition: "$TRAVIS_OS_NAME = osx"
76+
77+
after_deploy: |
78+
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
79+
git clone --quiet https://${GITHUB_VERSION_BUMP_API_KEY}@github.com/jupp0r/cpp-codegen-rs.git > /dev/null 2>&1 &&
80+
cd cpp-codegen-rs &&
81+
git checkout master &&
82+
export LLVM_CONFIG_PATH=/clang/bin/llvm-config &&
83+
export LIBCLANG_STATIC_PATH=~/clang/lib &&
84+
cargo login ${CARGO_API_KEY} &&
85+
sed -i "0,/version.*/s//version = \"${TRAVIS_TAG}\"/" Cargo.toml &&
86+
git config --global user.email "[email protected]" &&
87+
git config --global user.name "Travis CI" &&
88+
git add Cargo.toml &&
89+
git commit -m "Bump version to ${TRAVIS_TAG}" &&
90+
cargo package &&
91+
git push -u origin master > /dev/null 2>&1 &&
92+
cargo publish
3893
fi

Cargo.lock

Lines changed: 12 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
[package]
2-
name = "cpp_codegen_rs"
3-
version = "0.1.0"
2+
name = "cpp_codegen"
3+
version = "0.1.15"
4+
description = "Generate Code from C++ classes"
5+
homepage = "https://github.com/jupp0r/cpp-codegen-rs"
6+
repository = "https://github.com/jupp0r/cpp-codegen-rs"
7+
readme = "README.md"
48
authors = ["Jupp Müller <[email protected]>"]
59
license = "MIT"
610
build = "build.rs"
@@ -21,20 +25,20 @@ gte_clang_3_8 = []
2125
gte_clang_3_9 = []
2226

2327
[dev-dependencies]
24-
tempdir = "*"
28+
tempdir = "0.3"
2529

2630
[build-dependencies]
27-
serde_codegen = "*"
31+
serde_codegen = "0.8"
2832

2933
[dependencies]
30-
serde = "*"
31-
serde_json = "*"
32-
clap = "*"
33-
rand = "*"
34-
log = "*"
35-
env_logger = "*"
36-
clang = "*"
34+
serde = "0.8"
35+
serde_json = "0.8"
36+
clap = "2"
37+
rand = "0.3"
38+
log = "0.3"
39+
env_logger = "0.3"
40+
clang = "0.12"
3741

3842
[dependencies.handlebars]
39-
version = "*"
43+
version = "0.20"
4044
features = ["serde_type"]

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
A Code Generator for C++ Interfaces [![Build Status](https://travis-ci.org/jupp0r/cpp-codegen-rs.svg?branch=master)](https://travis-ci.org/jupp0r/cpp-codegen-rs)[![Build status](https://ci.appveyor.com/api/projects/status/nov0lxhgce7dwjvl/branch/master?svg=true)](https://ci.appveyor.com/project/jupp0r/cpp-codegen-rs/branch/master)[![Coverage Status](https://coveralls.io/repos/github/jupp0r/cpp-codegen-rs/badge.svg?branch=master)](https://coveralls.io/github/jupp0r/cpp-codegen-rs?branch=master)
1+
Generate Code from C++ Classes [![Build Status](https://travis-ci.org/jupp0r/cpp-codegen-rs.svg?branch=master)](https://travis-ci.org/jupp0r/cpp-codegen-rs)[![Build status](https://ci.appveyor.com/api/projects/status/nov0lxhgce7dwjvl/branch/master?svg=true)](https://ci.appveyor.com/project/jupp0r/cpp-codegen-rs/branch/master)[![Coverage Status](https://coveralls.io/repos/github/jupp0r/cpp-codegen-rs/badge.svg?branch=master)](https://coveralls.io/github/jupp0r/cpp-codegen-rs?branch=master)
22
===================================
33
cpp-codegen-rs uses libclang to read C++ class definitions and
44
generate code. Example use cases include the generation of Google Mock
@@ -77,7 +77,7 @@ also deals with namespaces and class templates, can be found in
7777
In order to perform the actual compilation, cpp-codegen-rs is invoked with the following parameters
7878
7979
``` bash
80-
cpp_codegen_rs interface.h -t templates/gmock.hbs
80+
cpp_codegen interface.h -t templates/gmock.hbs
8181
```
8282

8383
Generated code is written to stdout.

appveyor.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,25 @@ install:
1010

1111
build_script:
1212
- cargo build --verbose --release --features clang_3_8
13+
- md deploy
14+
- move target\release\cpp_codegen.exe deploy\cpp_codegen_windows.exe
15+
- copy C:\LLVM\bin\libclang.dll deploy\libclang.dll
16+
- 7z a cpp_codegen_windows.zip .\deploy\*.*
1317

1418
test_script:
1519
- set RUST_BACKTRACE=1
1620
- set RUST_TEST_THREADS=1
1721
- cargo test --verbose -- --nocapture
22+
23+
artifacts:
24+
- path: cpp_codegen_windows.zip
25+
name: Releases
26+
27+
deploy:
28+
description: ''
29+
provider: GitHub
30+
auth_token:
31+
secure: aFuuIGpdj5nf4v6gDDv1bfL3Jhkk4ktsY3SC0WICL+2w2RDOH/xK1HVq2Dl3Ehnp
32+
artifact: cpp_codegen_windows.zip
33+
on:
34+
appveyor_repo_tag: true

0 commit comments

Comments
 (0)