From 081dcc0b9111c6c4a55ce9a008d169210fcad11a Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sun, 2 Feb 2020 18:49:23 +0100 Subject: [PATCH] Add travis script and public dependency reference See the nightly feature `public-dependency`, tracking issue: #44663 --- .travis.yml | 8 ++++ Cargo.toml.public-private-dependencies | 58 ++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 Cargo.toml.public-private-dependencies diff --git a/.travis.yml b/.travis.yml index d2e36154ee..1bb3a6c9f6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,6 +52,14 @@ matrix: script: - rustup component add clippy - cargo clippy + - os: linux + rust: nightly + name: "Public private dependencies" + script: + - mv ./Cargo.toml.public-private-dependencies ./Cargo.toml + - echo "#![deny(exported_private_dependencies)]" | cat - src/lib.rs > src/lib.rs.0 + - mv src/lib.rs.0 src/lib.rs + - cargo check script: - if [ -n "${FEATURES+exists}" ]; then cargo build -v --no-default-features --features "$FEATURES" && diff --git a/Cargo.toml.public-private-dependencies b/Cargo.toml.public-private-dependencies new file mode 100644 index 0000000000..3d0a4462c7 --- /dev/null +++ b/Cargo.toml.public-private-dependencies @@ -0,0 +1,58 @@ +cargo-features = ["public-dependency"] + +[package] +name = "image" +version = "0.23.0-preview.0" +edition = "2018" +license = "MIT" +description = "Imaging library written in Rust. Provides basic filters and decoders for the most common image formats." +authors = ["The image-rs Developers"] +readme = "README.md" +documentation = "https://docs.rs/image" +repository = "https://github.com/image-rs/image" +homepage = "https://github.com/image-rs/image" +categories = ["multimedia::images", "multimedia::encoding"] +exclude = [ + "src/png/testdata/*", + "examples/*", + "tests/*", +] + +[lib] +name = "image" +path = "./src/lib.rs" + +[dependencies] +# Not yet public. +bytemuck = "1" +byteorder = "1.3.2" +num-iter = "0.1.32" +num-rational = "0.2.1" +# Public due to Pixel, otherwise quite useless. +num-traits = { version = "0.2.0", public = true } +gif = { version = "0.10.0", optional = true } +jpeg = { package = "jpeg-decoder", version = "0.1", default-features = false, optional = true } +png = { version = "0.15.2", optional = true } +scoped_threadpool = { version = "0.1", optional = true } +tiff = { version = "0.4.0", optional = true } + +[dev-dependencies] +crc32fast = "1.2.0" +num-complex = "0.2.0" +glob = "0.3" +quickcheck = "0.9" + +[features] +default = ["gif", "jpeg", "ico", "png", "pnm", "tga", "tiff", "webp", "bmp", "hdr", "dxt", "dds", "jpeg_rayon"] + +ico = ["bmp", "png"] +pnm = [] +tga = [] +webp = [] +bmp = [] +hdr = ["scoped_threadpool"] +dxt = [] +dds = ["dxt"] +jpeg_rayon = ["jpeg/rayon"] + +benchmarks = []