Skip to content

Commit 4ca80ef

Browse files
committed
support multiple matches in rules
1 parent 19a0d5d commit 4ca80ef

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

java-spaghetti-gen/src/config.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ pub struct Rule {
100100
/// | java.lang.* | jni_prefix = "java/lang/"
101101
/// | name.spaces.OuterClass.* | jni_prefix = "name/spaces/OuterClass$"
102102
#[serde(default)]
103-
pub prefix: String,
103+
#[serde(rename = "match")]
104+
pub matches: Vec<String>,
104105

105106
#[serde(default)]
106107
pub include: Option<bool>,
@@ -161,7 +162,10 @@ impl Config {
161162
serde_yaml::from_str(buffer).map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?;
162163

163164
if config.rules.is_empty() {
164-
config.rules.push(Rule::default())
165+
config.rules.push(Rule {
166+
matches: vec!["".to_string()],
167+
..Default::default()
168+
})
165169
}
166170

167171
config.output = resolve_file(&config.output, dir);
@@ -213,7 +217,7 @@ impl Config {
213217
};
214218

215219
for r in &self.rules {
216-
if class.starts_with(&r.prefix) {
220+
if r.matches.iter().any(|p| class.starts_with(p)) {
217221
if let Some(include) = r.include {
218222
res.include = include;
219223
}

0 commit comments

Comments
 (0)