Skip to content

Commit

Permalink
Added deprecation warnings (#303)
Browse files Browse the repository at this point in the history
* Added deprecation warnings

* Updated smoketests

* Updated examples

* Addressed PR feedback.

* Addressed PR feedback.
  • Loading branch information
UebelAndre committed Dec 16, 2020
1 parent 52f20dd commit 3515a09
Show file tree
Hide file tree
Showing 18 changed files with 136 additions and 44 deletions.
1 change: 1 addition & 0 deletions examples/remote/complicated_cargo_library/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ workspace_path = "//remote/complicated_cargo_library/cargo"
gen_workspace_prefix = "remote_complicated_cargo_library"
genmode = "Remote"
package_aliases_dir = "cargo"
default_gen_buildrs = false

[package.metadata.raze.crates.proc-macro2.'0.4.30']
additional_flags = [
Expand Down
1 change: 1 addition & 0 deletions examples/remote/no_deps/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ workspace_path = "//remote/no_deps/cargo"
genmode = "Remote"
gen_workspace_prefix = "remote_no_deps"
package_aliases_dir = "cargo"
default_gen_buildrs = true
9 changes: 8 additions & 1 deletion examples/remote/non_cratesio/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,17 @@ path = "src/main.rs"

[package.metadata.raze]
workspace_path = "//remote/non_cratesio/cargo"
target = "x86_64-unknown-linux-gnu"
targets = [
"aarch64-apple-darwin",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"x86_64-unknown-linux-gnu",
]
genmode = "Remote"
gen_workspace_prefix = "remote_non_cratesio"
package_aliases_dir = "cargo"
default_gen_buildrs = false

[package.metadata.raze.crates.log.'0.4.11']
additional_flags = [
Expand Down
20 changes: 8 additions & 12 deletions examples/remote/non_cratesio/cargo/remote/BUILD.atty-0.2.14.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -57,24 +57,20 @@ rust_library(
# cfg(unix)
(
"@io_bazel_rules_rust//rust/platform:aarch64-apple-darwin",
"@io_bazel_rules_rust//rust/platform:aarch64-apple-ios",
"@io_bazel_rules_rust//rust/platform:aarch64-linux-android",
"@io_bazel_rules_rust//rust/platform:aarch64-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:arm-unknown-linux-gnueabi",
"@io_bazel_rules_rust//rust/platform:i686-apple-darwin",
"@io_bazel_rules_rust//rust/platform:i686-linux-android",
"@io_bazel_rules_rust//rust/platform:i686-unknown-freebsd",
"@io_bazel_rules_rust//rust/platform:i686-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:powerpc-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:s390x-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:x86_64-apple-darwin",
"@io_bazel_rules_rust//rust/platform:x86_64-apple-ios",
"@io_bazel_rules_rust//rust/platform:x86_64-linux-android",
"@io_bazel_rules_rust//rust/platform:x86_64-unknown-freebsd",
"@io_bazel_rules_rust//rust/platform:x86_64-unknown-linux-gnu",
): [
"@remote_non_cratesio__libc__0_2_77//:libc",
],
"//conditions:default": [],
}) + selects.with_or({
# cfg(windows)
(
"@io_bazel_rules_rust//rust/platform:x86_64-pc-windows-msvc",
): [
"@remote_non_cratesio__winapi__0_3_9//:winapi",
],
"//conditions:default": [],
}),
)
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ licenses([
rust_library(
name = "termcolor",
srcs = glob(["**/*.rs"]),
aliases = {
},
crate_features = [
],
crate_root = "src/lib.rs",
Expand All @@ -49,5 +51,13 @@ rust_library(
version = "0.3.6",
# buildifier: leave-alone
deps = [
],
] + selects.with_or({
# cfg(windows)
(
"@io_bazel_rules_rust//rust/platform:x86_64-pc-windows-msvc",
): [
"@remote_non_cratesio__wincolor__0_1_6//:wincolor",
],
"//conditions:default": [],
}),
)
1 change: 1 addition & 0 deletions examples/vendored/complicated_cargo_library/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ workspace_path = "//vendored/complicated_cargo_library/cargo"
gen_workspace_prefix = "vendored_complicated_cargo_library"
genmode = "Vendored"
package_aliases_dir = "cargo"
default_gen_buildrs = false

[package.metadata.raze.crates.proc-macro2.'0.4.30']
additional_flags = [
Expand Down
9 changes: 8 additions & 1 deletion examples/vendored/hello_cargo_library/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,15 @@ path = "src/main.rs"

[package.metadata.raze]
workspace_path = "//vendored/hello_cargo_library/cargo"
target = "x86_64-unknown-linux-gnu"
targets = [
"aarch64-apple-darwin",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"x86_64-unknown-linux-gnu",
]
output_buildfile_suffix = "BUILD.bazel"
gen_workspace_prefix = "vendored_hello_cargo_library"
genmode = "Vendored"
package_aliases_dir = "cargo"
default_gen_buildrs = false
9 changes: 8 additions & 1 deletion examples/vendored/non_cratesio_library/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,17 @@ path = "src/main.rs"

[package.metadata.raze]
workspace_path = "//vendored/non_cratesio_library/cargo"
target = "x86_64-unknown-linux-gnu"
targets = [
"aarch64-apple-darwin",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"x86_64-unknown-linux-gnu",
]
gen_workspace_prefix = "vendored_non_cratesio_library"
genmode = "Vendored"
package_aliases_dir = "cargo"
default_gen_buildrs = false

[package.metadata.raze.crates.log.'0.4.11']
additional_flags = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,24 +57,20 @@ rust_library(
# cfg(unix)
(
"@io_bazel_rules_rust//rust/platform:aarch64-apple-darwin",
"@io_bazel_rules_rust//rust/platform:aarch64-apple-ios",
"@io_bazel_rules_rust//rust/platform:aarch64-linux-android",
"@io_bazel_rules_rust//rust/platform:aarch64-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:arm-unknown-linux-gnueabi",
"@io_bazel_rules_rust//rust/platform:i686-apple-darwin",
"@io_bazel_rules_rust//rust/platform:i686-linux-android",
"@io_bazel_rules_rust//rust/platform:i686-unknown-freebsd",
"@io_bazel_rules_rust//rust/platform:i686-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:powerpc-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:s390x-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:x86_64-apple-darwin",
"@io_bazel_rules_rust//rust/platform:x86_64-apple-ios",
"@io_bazel_rules_rust//rust/platform:x86_64-linux-android",
"@io_bazel_rules_rust//rust/platform:x86_64-unknown-freebsd",
"@io_bazel_rules_rust//rust/platform:x86_64-unknown-linux-gnu",
): [
"//vendored/non_cratesio_library/cargo/vendor/libc-0.2.77:libc",
],
"//conditions:default": [],
}) + selects.with_or({
# cfg(windows)
(
"@io_bazel_rules_rust//rust/platform:x86_64-pc-windows-msvc",
): [
"//vendored/non_cratesio_library/cargo/vendor/winapi-0.3.9:winapi",
],
"//conditions:default": [],
}),
)
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,8 @@ rust_library(
# cfg(unix)
(
"@io_bazel_rules_rust//rust/platform:aarch64-apple-darwin",
"@io_bazel_rules_rust//rust/platform:aarch64-apple-ios",
"@io_bazel_rules_rust//rust/platform:aarch64-linux-android",
"@io_bazel_rules_rust//rust/platform:aarch64-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:arm-unknown-linux-gnueabi",
"@io_bazel_rules_rust//rust/platform:i686-apple-darwin",
"@io_bazel_rules_rust//rust/platform:i686-linux-android",
"@io_bazel_rules_rust//rust/platform:i686-unknown-freebsd",
"@io_bazel_rules_rust//rust/platform:i686-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:powerpc-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:s390x-unknown-linux-gnu",
"@io_bazel_rules_rust//rust/platform:x86_64-apple-darwin",
"@io_bazel_rules_rust//rust/platform:x86_64-apple-ios",
"@io_bazel_rules_rust//rust/platform:x86_64-linux-android",
"@io_bazel_rules_rust//rust/platform:x86_64-unknown-freebsd",
"@io_bazel_rules_rust//rust/platform:x86_64-unknown-linux-gnu",
): [
"//vendored/non_cratesio_library/cargo/vendor/libc-0.2.77:libc",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ licenses([
rust_library(
name = "termcolor",
srcs = glob(["**/*.rs"]),
aliases = {
},
crate_features = [
],
crate_root = "src/lib.rs",
Expand All @@ -49,5 +51,13 @@ rust_library(
version = "0.3.6",
# buildifier: leave-alone
deps = [
],
] + selects.with_or({
# cfg(windows)
(
"@io_bazel_rules_rust//rust/platform:x86_64-pc-windows-msvc",
): [
"//vendored/non_cratesio_library/cargo/vendor/wincolor-0.1.6:wincolor",
],
"//conditions:default": [],
}),
)
44 changes: 44 additions & 0 deletions impl/src/settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,47 @@ impl RawRazeSettings {
|| self.rust_rules_workspace_name.is_some()
|| self.vendor_dir.is_some()
}

fn print_notices_and_warnings(&self) {
if self.default_gen_buildrs.is_none() {
eprintln!(
"NOTICE: The default of `[*.raze.default_gen_buildrs]` will soon be set to `true`. Please \
explicitly set this flag to prevent a change in behavior."
);
}

if self.incompatible_relative_workspace_path.unwrap_or(false) {
eprintln!(
"WARNING: `[*.raze.incompatible_relative_workspace_path]` is deprecated. Please set \
this flag to true and make sure `workspace_path` is the label where the Cargo-raze is \
expected to write it's output."
);
}

if self.target.is_some() {
eprintln!(
"WARNING: `[*.raze.target]` is deprecated. Please update your project to use \
`[*.raze.targets]`."
);
}

if self.rust_rules_workspace_name.is_none() {
eprintln!(
"WARNING: The default of `[*.raze.rust_rules_workspace_name]` will soon be set to \
`\"rules_rust\"`. Please explicitly set this flag to prevent a change in behavior or \
upgrade your code to use the latest version of `rules_rust` and change references of \
`io_bazel_rules_rust` to `rules_rust` in your project."
);
}

if self.package_aliases_dir.is_none() {
eprintln!(
"WARNING: The default of `[*.raze.package_aliases_dir]` will soon be set to `\"cargo\"`. \
Please explicitly set this flag to `\".\"` to prevent a change in behavior or update \
your project structure to account for this change."
);
}
}
}

/** Grows a list with duplicate keys between two maps */
Expand Down Expand Up @@ -560,6 +601,7 @@ fn parse_raze_settings_workspace(
metadata_value: &serde_json::value::Value,
metadata: &Metadata,
) -> Result<RazeSettings> {
RawRazeSettings::deserialize(metadata_value)?.print_notices_and_warnings();
let mut settings = RazeSettings::deserialize(metadata_value)?;

let workspace_packages: Vec<&Package> = metadata
Expand Down Expand Up @@ -626,6 +668,7 @@ fn parse_raze_settings_root_package(
metadata_value: &serde_json::value::Value,
root_package: &Package,
) -> Result<RazeSettings> {
RawRazeSettings::deserialize(metadata_value)?.print_notices_and_warnings();
return RazeSettings::deserialize(metadata_value).with_context(|| {
format!(
"Failed to load raze settings from root package: {}",
Expand Down Expand Up @@ -660,6 +703,7 @@ fn parse_raze_settings_any_package(metadata: &Metadata) -> Result<RazeSettings>

// UNWRAP: Safe due to checks above
let settings_value = settings_packages[0].metadata.get("raze").unwrap();
RawRazeSettings::deserialize(settings_value)?.print_notices_and_warnings();
RazeSettings::deserialize(settings_value)
.with_context(|| format!("Failed to deserialize raze settings: {:?}", settings_value))
}
Expand Down
1 change: 1 addition & 0 deletions smoke_test/remote/complicated_cargo_library/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ workspace_path = "//remote/complicated_cargo_library/cargo"
gen_workspace_prefix = "remote_complicated_cargo_library"
genmode = "Remote"
package_aliases_dir = "cargo"
default_gen_buildrs = false

[package.metadata.raze.crates.proc-macro2.'0.4.30']
additional_flags = [
Expand Down
1 change: 1 addition & 0 deletions smoke_test/remote/no_deps/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ workspace_path = "//remote/no_deps/cargo"
genmode = "Remote"
gen_workspace_prefix = "remote_no_deps"
package_aliases_dir = "cargo"
default_gen_buildrs = true
9 changes: 8 additions & 1 deletion smoke_test/remote/non_cratesio/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,17 @@ path = "src/main.rs"

[package.metadata.raze]
workspace_path = "//remote/non_cratesio/cargo"
target = "x86_64-unknown-linux-gnu"
targets = [
"aarch64-apple-darwin",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"x86_64-unknown-linux-gnu",
]
genmode = "Remote"
gen_workspace_prefix = "remote_non_cratesio"
package_aliases_dir = "cargo"
default_gen_buildrs = false

[package.metadata.raze.crates.log.'0.4.11']
additional_flags = [
Expand Down
1 change: 1 addition & 0 deletions smoke_test/vendored/complicated_cargo_library/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ workspace_path = "//vendored/complicated_cargo_library/cargo"
gen_workspace_prefix = "vendored_complicated_cargo_library"
genmode = "Vendored"
package_aliases_dir = "cargo"
default_gen_buildrs = false

[package.metadata.raze.crates.proc-macro2.'0.4.30']
additional_flags = [
Expand Down
9 changes: 8 additions & 1 deletion smoke_test/vendored/hello_cargo_library/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,15 @@ path = "src/main.rs"

[package.metadata.raze]
workspace_path = "//vendored/hello_cargo_library/cargo"
target = "x86_64-unknown-linux-gnu"
targets = [
"aarch64-apple-darwin",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"x86_64-unknown-linux-gnu",
]
output_buildfile_suffix = "BUILD.bazel"
gen_workspace_prefix = "vendored_hello_cargo_library"
genmode = "Vendored"
package_aliases_dir = "cargo"
default_gen_buildrs = false
9 changes: 8 additions & 1 deletion smoke_test/vendored/non_cratesio_library/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,17 @@ path = "src/main.rs"

[package.metadata.raze]
workspace_path = "//vendored/non_cratesio_library/cargo"
target = "x86_64-unknown-linux-gnu"
targets = [
"aarch64-apple-darwin",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"x86_64-unknown-linux-gnu",
]
gen_workspace_prefix = "vendored_non_cratesio_library"
genmode = "Vendored"
package_aliases_dir = "cargo"
default_gen_buildrs = false

[package.metadata.raze.crates.log.'0.4.11']
additional_flags = [
Expand Down

0 comments on commit 3515a09

Please sign in to comment.