Skip to content

Commit db22c46

Browse files
author
Jakub Konka
authored
Merge branch 'master' into master
2 parents a51737a + e31f4db commit db22c46

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
//! js: &[0u8; 100], // JavaScript file generated by Emscripten
2525
//! wasm: &[0u8; 100], // Wasm binary generated by Emscripten
2626
//! };
27-
//! let task = TaskBuilder::new("workspace", binary)
27+
//! let task = TaskBuilder::try_new("workspace", binary)?
2828
//! .push_subtask_data(vec![0u8; 100])
2929
//! .build()?;
3030
//! let computed_task = compute(

src/task.rs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ pub struct GWasmBinary<'a> {
4141
/// wasm: &[],
4242
/// };
4343
/// let workspace = tempdir().unwrap();
44-
/// let task = TaskBuilder::new(&workspace, binary).build();
44+
/// let task = TaskBuilder::try_new(&workspace, binary).unwrap().build();
4545
/// assert!(task.is_ok());
4646
/// assert!(task.unwrap().options().subtasks().next().is_none());
4747
/// ```
@@ -66,6 +66,10 @@ pub struct TaskBuilder<'a> {
6666

6767
impl<'a> TaskBuilder<'a> {
6868
/// Creates new `TaskBuilder` from workspace `Path` and `GWasmBinary`
69+
#[deprecated(
70+
since = "0.3.0",
71+
note = "Use try_new instead, which properly handles relative paths"
72+
)]
6973
pub fn new<P: AsRef<Path>>(workspace: P, binary: GWasmBinary<'a>) -> Self {
7074
Self {
7175
binary,
@@ -81,6 +85,13 @@ impl<'a> TaskBuilder<'a> {
8185
}
8286
}
8387

88+
/// Creates new `TaskBuilder` from workspace `Path` and `GWasmBinary`
89+
pub fn try_new<P: AsRef<Path>>(workspace: P, binary: GWasmBinary<'a>) -> Result<Self> {
90+
let abspath = workspace.as_ref().canonicalize()?;
91+
#[allow(deprecated)]
92+
Ok(Self::new(abspath, binary))
93+
}
94+
8495
/// Sets task's name
8596
pub fn name<S: AsRef<str>>(mut self, name: S) -> Self {
8697
self.name = Some(name.as_ref().to_owned());
@@ -226,7 +237,7 @@ impl<'a> TaskBuilder<'a> {
226237
/// wasm: &[],
227238
/// };
228239
/// let workspace = tempdir().unwrap();
229-
/// let task = TaskBuilder::new(&workspace, binary).build().unwrap();
240+
/// let task = TaskBuilder::try_new(&workspace, binary).unwrap().build().unwrap();
230241
/// let json_manifest = json!(task);
231242
/// ```
232243
///
@@ -432,7 +443,7 @@ impl Subtask {
432443
/// wasm: &[],
433444
/// };
434445
/// let workspace = tempdir().unwrap();
435-
/// let task = TaskBuilder::new(&workspace, binary).build().unwrap();
446+
/// let task = TaskBuilder::try_new(&workspace, binary).unwrap().build().unwrap();
436447
/// let computed_task: Result<ComputedTask, _> = task.try_into();
437448
///
438449
/// assert!(computed_task.is_ok());

0 commit comments

Comments
 (0)