Skip to content

Commit ec413dd

Browse files
committed
Fix feature names to be publishable.
See rust-lang/cargo#5554 for more info.
1 parent 0cfcfb2 commit ec413dd

File tree

6 files changed

+11
-11
lines changed

6 files changed

+11
-11
lines changed

jni-android-sys-gen/src/main.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,12 @@ fn generate_toml(directory: &Path, api_levels: RangeInclusive<i32>, result: &jni
120120

121121
// Wildcard feature "*". While it's tempting to make this depend on all other features, this
122122
// causes problems on windows where we run into command line length limits invoking rustc.
123-
writeln!(out, "\"*\" = []")?;
123+
writeln!(out, "\"all\" = []")?;
124124
writeln!(out, "{}:END", line)?;
125125
},
126126
"# PLACEHOLDER:FEATURES:docs.rs" => {
127127
writeln!(out, "{}:BEGIN", line)?;
128-
writeln!(out, "features = [\"*\", \"api-level-{}\", \"force-define\"]", api_levels.end())?;
128+
writeln!(out, "features = [\"all\", \"api-level-{}\", \"force-define\"]", api_levels.end())?;
129129
writeln!(out, "{}:END", line)?;
130130
}
131131
line => {

jni-bindgen/src/emit_rust/fields.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ impl<'a> Field<'a> {
113113
if let Some(required_feature) = required_feature.as_ref() {
114114
writeln!(out, "{}///", indent)?;
115115
writeln!(out, "{}/// Required feature: {}", indent, required_feature)?;
116-
writeln!(out, "{}#[cfg(any(feature = \"*\", feature = {:?}))]", indent, required_feature)?;
116+
writeln!(out, "{}#[cfg(any(feature = \"all\", feature = {:?}))]", indent, required_feature)?;
117117
}
118118
match descriptor {
119119
field::Descriptor::Single(field::BasicType::Char) => writeln!(out, "{}{}pub const {} : {} = {}({});", indent, &attributes, constant, rust_type, rust_type, value)?,
@@ -130,7 +130,7 @@ impl<'a> Field<'a> {
130130
if let Some(required_feature) = required_feature.as_ref() {
131131
writeln!(out, "{}///", indent)?;
132132
writeln!(out, "{}/// Required feature: {}", indent, required_feature)?;
133-
writeln!(out, "{}#[cfg(any(feature = \"*\", feature = {:?}))]", indent, required_feature)?;
133+
writeln!(out, "{}#[cfg(any(feature = \"all\", feature = {:?}))]", indent, required_feature)?;
134134
}
135135
writeln!(out, "{}{}pub fn {}<'env>({}) -> {} {{", indent, &attributes, get, env_param, rust_type)?;
136136
writeln!(out, "{} unsafe {{", indent)?;
@@ -152,7 +152,7 @@ impl<'a> Field<'a> {
152152
if let Some(required_feature) = required_feature.as_ref() {
153153
writeln!(out, "{}///", indent)?;
154154
writeln!(out, "{}/// Required feature: {}", indent, required_feature)?;
155-
writeln!(out, "{}#[cfg(any(feature = \"*\", feature = {:?}))]", indent, required_feature)?;
155+
writeln!(out, "{}#[cfg(any(feature = \"all\", feature = {:?}))]", indent, required_feature)?;
156156
}
157157
writeln!(out, "{}{}pub fn {}<'env>({}, value: {}) {{", indent, &attributes, set, env_param, rust_type)?;
158158
writeln!(out, "{} unsafe {{", indent)?;

jni-bindgen/src/emit_rust/methods.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ impl<'a> Method<'a> {
292292
writeln!(out, "")?;
293293

294294
// Feature cfgs
295-
write!(out, "{}#[cfg(any(feature = \"*\", all(", indent)?;
295+
write!(out, "{}#[cfg(any(feature = \"all\", all(", indent)?;
296296
for (idx, feature) in required_features.iter().enumerate() {
297297
if idx != 0 {
298298
write!(out, ", ")?;

jni-bindgen/src/emit_rust/modules.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ impl Module {
3838
if context.config.codegen.shard_structs {
3939
if context.config.codegen.feature_per_struct {
4040
match Struct::feature_for(context, structure.java.path.as_id()) {
41-
Ok(feature) => write!(out, "{}#[cfg(any(feature = \"*\", feature = {:?}))] ", indent, feature)?,
41+
Ok(feature) => write!(out, "{}#[cfg(any(feature = \"all\", feature = {:?}))] ", indent, feature)?,
4242
Err(e) => {
4343
writeln!(out, "{}// Unable to limit with feature: {:?}", indent, e)?;
4444
write!(out, "{}", indent)?;

jni-bindgen/src/emit_rust/structs.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ impl Struct {
5656
let mut buf = String::new();
5757
for component in class.iter() {
5858
match component {
59-
class::IdPart::Namespace(id) => write!(&mut buf, "{}::", rust_id(id)?)?,
59+
class::IdPart::Namespace(id) => write!(&mut buf, "{}-", rust_id(id)?)?,
6060
class::IdPart::ContainingClass(id) => write!(&mut buf, "{}_", rust_id(id)?)?,
6161
class::IdPart::LeafClass(id) => write!(&mut buf, "{}", rust_id(id)?)?,
6262
}
@@ -157,7 +157,7 @@ impl Struct {
157157
if let Ok(required_feature) = Struct::feature_for(context, self.java.path.as_id()) {
158158
writeln!(out, "{} ///", indent)?;
159159
writeln!(out, "{} /// Required feature: {}", indent, required_feature)?;
160-
writeln!(out, "{} #[cfg(any(feature = \"*\", feature = {:?}))]", indent, required_feature)?;
160+
writeln!(out, "{} #[cfg(any(feature = \"all\", feature = {:?}))]", indent, required_feature)?;
161161
}
162162
write!(out, "{} {}{} {} {} extends {}", indent, attributes, visibility, keyword, &self.rust.struct_name, super_path)?;
163163
let mut implements = false;

scripts/test.cmd

+2-2
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@
124124
@cd jni-android-sys-gen
125125
..\target\%CONFIG%\jni-android-sys-gen generate
126126
@cd ../jni-android-sys
127-
@call :try-cargo +%CHANNEL% build --features "* api-level-28 force-define" %CARGO_FLAGS% || goto :build-one-error
128-
@call :try-cargo +%CHANNEL% doc --no-deps --features "* api-level-28 force-define" %CARGO_FLAGS% || goto :build-one-error
127+
@call :try-cargo +%CHANNEL% build --features "all api-level-28 force-define" %CARGO_FLAGS% || goto :build-one-error
128+
@call :try-cargo +%CHANNEL% doc --no-deps --features "all api-level-28 force-define" %CARGO_FLAGS% || goto :build-one-error
129129
@goto :build-one-successful
130130
:skip-windows
131131

0 commit comments

Comments
 (0)