Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit 5635099

Browse files
Treehugger RobotGerrit Code Review
authored andcommitted
Merge "Delete name_and_version_proc_macros crate." into main
2 parents 70d13eb + 1df8e2a commit 5635099

File tree

8 files changed

+30
-182
lines changed

8 files changed

+30
-182
lines changed

tools/external_crates/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ members = [
66
"google_metadata",
77
"license_checker",
88
"name_and_version",
9-
"name_and_version_proc_macros",
109
"repo_config",
1110
"rooted_path",
1211
"test_mapping",

tools/external_crates/cargo_embargo.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@
1717
"name_and_version": {
1818
"device_supported": false
1919
},
20-
"name_and_version_proc_macros": {
21-
"device_supported": false
22-
},
2320
"repo_config": {
2421
"device_supported": false
2522
}

tools/external_crates/crate_tool/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ crate_config = { path = "../crate_config" }
2929
google_metadata = { path = "../google_metadata"}
3030
license_checker = { path = "../license_checker", features = ["fuzzy_content_match"] }
3131
name_and_version = { path = "../name_and_version" }
32-
name_and_version_proc_macros = { path = "../name_and_version_proc_macros" }
3332
repo_config = { path = "../repo_config" }
3433
rooted_path = { path = "../rooted_path" }
3534
test_mapping = { path = "../test_mapping" }

tools/external_crates/crate_tool/src/crate_collection.rs

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,18 @@
1313
// limitations under the License.
1414

1515
use name_and_version::{NameAndVersion, NameAndVersionMap, NamedAndVersioned};
16-
use name_and_version_proc_macros::NameAndVersionMap;
1716
use rooted_path::RootedPath;
1817

19-
use std::{
20-
collections::HashSet,
21-
path::{Path, PathBuf},
22-
};
18+
use std::path::{Path, PathBuf};
2319

2420
use anyhow::{anyhow, Result};
25-
use semver::Version;
2621
use walkdir::WalkDir;
2722

2823
use crate::{crate_type::Crate, CrateError};
2924

3025
use std::collections::BTreeMap;
3126

32-
#[derive(NameAndVersionMap, Debug)]
27+
#[derive(Debug)]
3328
pub struct CrateCollection {
3429
crates: BTreeMap<NameAndVersion, Crate>,
3530
repo_root: PathBuf,
@@ -64,4 +59,22 @@ impl CrateCollection {
6459
}
6560
Ok(())
6661
}
62+
pub fn len(&self) -> usize {
63+
self.crates.len()
64+
}
65+
pub fn get(&self, nv: &dyn NamedAndVersioned) -> Option<&Crate> {
66+
self.crates.get(nv)
67+
}
68+
pub fn values(&self) -> impl Iterator<Item = &Crate> {
69+
self.crates.values()
70+
}
71+
pub fn get_versions(
72+
&self,
73+
crate_name: impl AsRef<str>,
74+
) -> Box<dyn Iterator<Item = (&NameAndVersion, &Crate)> + '_> {
75+
self.crates.get_versions(crate_name.as_ref())
76+
}
77+
pub fn contains_crate(&self, crate_name: impl AsRef<str>) -> bool {
78+
self.crates.contains_name(crate_name.as_ref())
79+
}
6780
}

tools/external_crates/crate_tool/src/managed_repo.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ impl ManagedRepo {
106106
let cc = self.legacy_crates_for(crate_name)?;
107107
let nv = NameAndVersionRef::new(crate_name, v);
108108
Ok(cc
109-
.map_field()
110109
.get(&nv as &dyn NamedAndVersioned)
111110
.ok_or(anyhow!("Failed to find crate {} v{}", crate_name, v))?
112111
.path()
@@ -165,23 +164,23 @@ impl ManagedRepo {
165164
let krate = match version {
166165
Some(v) => {
167166
let nv = NameAndVersionRef::new(crate_name, v);
168-
match cc.map_field().get(&nv as &dyn NamedAndVersioned) {
167+
match cc.get(&nv as &dyn NamedAndVersioned) {
169168
Some(k) => k,
170169
None => {
171170
return Err(anyhow!("Did not find crate {} v{}", crate_name, v));
172171
}
173172
}
174173
}
175174
None => {
176-
if cc.map_field().len() != 1 {
175+
if cc.len() != 1 {
177176
return Err(anyhow!(
178177
"Expected a single crate version for {}, but found {}. Specify a version with --versions={}=<version>",
179178
crate_name,
180179
cc.get_versions(crate_name).map(|(nv, _)| nv.version()).join(", "),
181180
crate_name
182181
));
183182
}
184-
cc.map_field().values().next().unwrap()
183+
cc.values().next().unwrap()
185184
}
186185
};
187186
println!("Found {} v{} in {}", krate.name(), krate.version(), krate.path());
@@ -428,12 +427,12 @@ impl ManagedRepo {
428427
let mut found_problems = false;
429428
for (dep, req) in version.android_deps_with_version_reqs() {
430429
println!("Found dep {}", dep.crate_name());
431-
let cc = if managed_crates.contains_name(dep.crate_name()) {
430+
let cc = if managed_crates.contains_crate(dep.crate_name()) {
432431
&managed_crates
433432
} else {
434433
&legacy_crates
435434
};
436-
if !cc.contains_name(dep.crate_name()) {
435+
if !cc.contains_crate(dep.crate_name()) {
437436
found_problems = true;
438437
println!(
439438
" Dep {} {} has not been imported to Android",
@@ -701,7 +700,7 @@ impl ManagedRepo {
701700
let mut cc = self.new_cc();
702701
cc.add_from(self.managed_dir().rel())?;
703702

704-
for krate in cc.map_field().values() {
703+
for krate in cc.values() {
705704
let cio_crate = self.crates_io.get_crate(krate.name())?;
706705
let upgrades =
707706
cio_crate.versions_gt(krate.version()).map(|v| v.version()).collect::<Vec<_>>();
@@ -776,12 +775,12 @@ impl ManagedRepo {
776775
// * If a dep is missing, but the same dep exists for the current version of the crate, it's probably not actually necessary.
777776
// * Use relaxed version requirements, treating 0.x and 0.y as compatible, even though they aren't according to semver rules.
778777
for (dep, req) in version.android_deps_with_version_reqs() {
779-
let cc = if managed_crates.contains_name(dep.crate_name()) {
778+
let cc = if managed_crates.contains_crate(dep.crate_name()) {
780779
&managed_crates
781780
} else {
782781
&legacy_crates
783782
};
784-
if !cc.contains_name(dep.crate_name()) {
783+
if !cc.contains_crate(dep.crate_name()) {
785784
found_problems = true;
786785
println!(
787786
" Dep {} {} has not been imported to Android",
@@ -831,7 +830,7 @@ impl ManagedRepo {
831830
managed_crates.add_from(self.managed_dir().rel())?;
832831
let legacy_crates = self.legacy_crates()?;
833832

834-
for krate in managed_crates.map_field().values() {
833+
for krate in managed_crates.values() {
835834
let cio_crate = self.crates_io.get_crate(krate.name())?;
836835

837836
let base_version = cio_crate.get_version(krate.version());
@@ -869,7 +868,7 @@ impl ManagedRepo {
869868
if !dep.is_changed_dep(&base_deps) {
870869
return false;
871870
}
872-
let cc = if managed_crates.contains_name(dep.crate_name()) {
871+
let cc = if managed_crates.contains_crate(dep.crate_name()) {
873872
&managed_crates
874873
} else {
875874
&legacy_crates

tools/external_crates/name_and_version_proc_macros/Android.bp

Lines changed: 0 additions & 23 deletions
This file was deleted.

tools/external_crates/name_and_version_proc_macros/Cargo.toml

Lines changed: 0 additions & 12 deletions
This file was deleted.

tools/external_crates/name_and_version_proc_macros/src/lib.rs

Lines changed: 0 additions & 124 deletions
This file was deleted.

0 commit comments

Comments
 (0)