Skip to content

Commit 2ca4fdf

Browse files
committed
Add 'src/tools/semverver/' from commit '0bbdabfc883a4e5c4d6dce21800b01649f0a70fa'
git-subtree-dir: src/tools/semverver git-subtree-mainline: 2753fab git-subtree-split: 0bbdabf
2 parents 2753fab + 0bbdabf commit 2ca4fdf

File tree

137 files changed

+18629
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+18629
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
push:
7+
branches:
8+
- master
9+
10+
jobs:
11+
build_and_test:
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
toolchain:
16+
- x86_64-unknown-linux-gnu
17+
- x86_64-apple-darwin
18+
- x86_64-pc-windows-msvc
19+
include:
20+
- toolchain: x86_64-unknown-linux-gnu
21+
builder: ubuntu-latest
22+
os: linux
23+
- toolchain: x86_64-apple-darwin
24+
builder: macos-latest
25+
os: macos
26+
- toolchain: x86_64-pc-windows-msvc
27+
builder: windows-latest
28+
os: windows
29+
30+
name: nightly - ${{ matrix.toolchain }}
31+
runs-on: ${{ matrix.builder }}
32+
33+
steps:
34+
- uses: actions/checkout@v2
35+
36+
- name: Run tests
37+
run: sh ci/run.sh ${{ matrix.os }}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Style check
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
push:
7+
branches:
8+
- master
9+
10+
jobs:
11+
style_check:
12+
strategy:
13+
fail-fast: false
14+
15+
name: Shellcheck
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- uses: actions/checkout@v2
20+
21+
- name: Run tests
22+
run: |
23+
shellcheck --version
24+
shellcheck ci/*.sh
25+
26+
- name: Update nightly
27+
run: |
28+
rustup update nightly
29+
30+
- name: rustfmt
31+
run: |
32+
if rustup component add rustfmt; then
33+
cargo fmt --all -- --check
34+
fi
35+
36+
- name: Clippy
37+
run: |
38+
if rustup component add clippy rustc-dev; then
39+
cargo clippy --all
40+
fi

src/tools/semverver/.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
target/
2+
**/*.rs.bk
3+
Cargo.lock
4+
*.rlib
5+
tests/debug.sh

src/tools/semverver/CONTRIBUTING.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Contributing to semverver
2+
3+
Want to help developing semverver? Cool! See below on how to do that.
4+
5+
## Bug reports
6+
7+
If you encounter any unwanted behaviour from the tool, such as crashes or other unexpected
8+
output, or if you think you have found a bug, please open an issue in GitHub's issue
9+
tracker.
10+
11+
Please describe the steps to reproduce your problem, as well as what you expected to
12+
happen, and what happened instead. It is also useful to include the output of your command
13+
invocation(s) with the following environment: `RUST_LOG=debug RUST_BACKTRACE=full`.
14+
Please paste it at https://gist.github.com if the output is longer than a 50 lines or so.
15+
16+
## Feature requests
17+
18+
If you want to see some functionality added to semverver, you can also open an issue. Make
19+
sure to include what functionality you need exactly, why it is useful, and, depending on
20+
the complexity and/or how related the functionality is to the core project goals, why you
21+
think it should be implemented in semverver and not somewhere else.
22+
23+
## Working on issues
24+
25+
If you want to write code to make semverver better, please post in the issue(s) you want
26+
to tackle, and if you already have an idea/proposed solution, you are welcome to summarize
27+
it in case some discussion is necessary.
28+
29+
Here are some guidelines you should try to stick to:
30+
31+
* Please fork the repository on GitHub and create a feature branch in your fork.
32+
* Try to keep your code stylistically similar to the already existing codebase.
33+
* Commit your changes in compact, logically coupled chunks.
34+
* Make sure `cargo test` passes after your changes.
35+
* Run `rustfmt` on your code (for example by running `cargo fmt`).
36+
* If possible, fix any issues `cargo clippy` might find in your code.
37+
* Finally, make a pull request against the master branch on GitHub and wait for the CI to
38+
find any outstanding issues.

src/tools/semverver/Cargo.toml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
[package]
2+
name = "semverver"
3+
description = "Automatic verification of SemVer adhrence in rust library crates"
4+
repository = "https://github.com/rust-dev-tools/rust-semverver"
5+
readme = "README.md"
6+
keywords = ["semver", "plugin"]
7+
categories = ["development-tools", "development-tools::cargo-plugins"]
8+
version = "0.1.46"
9+
authors = ["Inokentiy Babushkin <twk@twki.de>"]
10+
license-file = "LICENSE"
11+
edition = "2018"
12+
13+
[badges]
14+
travis-ci = { repository = "rust-dev-tools/rust-semverver" }
15+
appveyor = { repository = "rust-dev-tools/rust-semverver" }
16+
17+
[[bin]]
18+
name = "cargo-semver"
19+
path = "src/bin/cargo_semver.rs"
20+
21+
[[bin]]
22+
name = "rust-semverver"
23+
path = "src/bin/rust_semverver.rs"
24+
25+
[[bin]]
26+
name = "rust-semver-public"
27+
path = "src/bin/rust_semver_public.rs"
28+
29+
[dependencies]
30+
cargo = "0.44"
31+
crates-io = "0.32"
32+
curl = "0.4.21"
33+
env_logger = "0.7"
34+
anyhow = "1.0.27"
35+
log = "0.4"
36+
rand = "0.7"
37+
semver = "0.9"
38+
serde = { version = "1.0.84", features = ["derive"] }
39+
serde_json = "1.0.34"
40+
41+
[dev-dependencies]
42+
quickcheck = "0.9"

src/tools/semverver/LICENSE

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Copyright Inokentiy Babushkin (c) 2017-2019
2+
3+
All rights reserved.
4+
5+
Redistribution and use in source and binary forms, with or without
6+
modification, are permitted provided that the following conditions are met:
7+
8+
* Redistributions of source code must retain the above copyright
9+
notice, this list of conditions and the following disclaimer.
10+
11+
* Redistributions in binary form must reproduce the above
12+
copyright notice, this list of conditions and the following
13+
disclaimer in the documentation and/or other materials provided
14+
with the distribution.
15+
16+
* Neither the name of Inokentiy Babushkin nor the names of other
17+
contributors may be used to endorse or promote products derived
18+
from this software without specific prior written permission.
19+
20+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)