Skip to content

Commit 5e2cccf

Browse files
committed
fix(build): canonicalize file arguments
fixes #98
1 parent 797e299 commit 5e2cccf

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

Diff for: crates/rari-cli/main.rs

+11-5
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,12 @@ fn main() -> Result<(), Error> {
270270
settings.json_issues = args.json_issues;
271271
let _ = SETTINGS.set(settings);
272272

273+
let arg_files = args
274+
.files
275+
.iter()
276+
.map(|path| path.canonicalize())
277+
.collect::<Result<Vec<PathBuf>, _>>()?;
278+
273279
let templ_stats = if args.templ_stats {
274280
let (tx, rx) = channel::<String>();
275281
TEMPL_RECORDER_SENDER
@@ -303,7 +309,7 @@ fn main() -> Result<(), Error> {
303309
None
304310
};
305311

306-
let cache = match (args.files.is_empty(), args.no_cache) {
312+
let cache = match (arg_files.is_empty(), args.no_cache) {
307313
(_, true) => Cache::None,
308314
(true, false) => Cache::Static,
309315
(false, false) => Cache::Dynamic,
@@ -315,10 +321,10 @@ fn main() -> Result<(), Error> {
315321
let mut urls = Vec::new();
316322
let mut docs = Vec::new();
317323
info!("Building everything 🛠️");
318-
if args.all || !args.no_basic || args.content || !args.files.is_empty() {
324+
if args.all || !args.no_basic || args.content || !arg_files.is_empty() {
319325
let start = std::time::Instant::now();
320-
docs = if !args.files.is_empty() {
321-
read_docs_parallel::<Page, Doc>(&args.files, None)?
326+
docs = if !arg_files.is_empty() {
327+
read_docs_parallel::<Page, Doc>(&arg_files, None)?
322328
} else if args.no_cache {
323329
let files: &[_] = if let Some(translated_root) = content_translated_root() {
324330
&[content_root(), translated_root]
@@ -342,7 +348,7 @@ fn main() -> Result<(), Error> {
342348
urls.extend(spas);
343349
info!("Took: {: >10.3?} to build spas ({num})", start.elapsed(),);
344350
}
345-
if args.all || !args.no_basic || args.content || !args.files.is_empty() {
351+
if args.all || !args.no_basic || args.content || !arg_files.is_empty() {
346352
let start = std::time::Instant::now();
347353
let (docs, meta) = build_docs(&docs)?;
348354
build_top_level_meta(meta)?;

0 commit comments

Comments
 (0)