Dependency Management #68
Triggered via pull request
September 20, 2024 18:32
Status
Success
Total duration
1m 29s
Artifacts
–
ci.yaml
on: pull_request
CPP Test
1m 17s
TypeScript Test
1m 16s
LFC Fallback Test
1m 23s
Annotations
34 warnings
this expression creates a reference which is immediately dereferenced by the compiler:
src/package/management.rs#L283
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/package/management.rs:283:32
|
283 | value.push(&node);
| ^^^^^ help: change this to: `node`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this lifetime isn't used in the function definition:
src/package/management.rs#L251
warning: this lifetime isn't used in the function definition
--> src/package/management.rs:251:16
|
251 | fn flatten<'a>(root_nodes: Vec<DependencyTreeNode>) -> anyhow::Result<Vec<DependencyTreeNode>> {
| ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes
= note: `#[warn(clippy::extra_unused_lifetimes)]` on by default
|
the borrowed expression implements the required traits:
src/package/management.rs#L197
warning: the borrowed expression implements the required traits
--> src/package/management.rs:197:28
|
197 | fs::create_dir_all(&library_path)?;
| ^^^^^^^^^^^^^ help: change this to: `library_path`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
|
writing `&PathBuf` instead of `&Path` involves a new object where a slice will do:
src/package/management.rs#L87
warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
--> src/package/management.rs:87:22
|
87 | target_path: &PathBuf,
| ^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg
help: change this to
|
87 ~ target_path: &Path,
88 | ) -> anyhow::Result<DependencyManager> {
89 | // create library folder
90 ~ let library_path = target_path.to_path_buf().join(LIBRARY_DIRECTORY);
91 | fs::create_dir_all(&library_path)?;
...
94 | let mut lock: DependencyLock;
95 ~ let lock_file = target_path.to_path_buf().join("../Lingo.lock");
96 |
...
104| // integrity of the build directory
105~ if let Ok(()) = lock.init(&target_path.to_path_buf().join("lfc_include")) {
106| return Ok(DependencyManager {
...
134| // moves the selected packages into the include folder
135~ let include_folder = target_path.to_path_buf().join("lfc_include");
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/package/management.rs#L63
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/package/management.rs:63:65
|
63 | let (object, reference) = repo.revparse_ext(&name)?;
| ^^^^^ help: change this to: `name`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
unneeded `return` statement:
src/package/lock.rs#L287
warning: unneeded `return` statement
--> src/package/lock.rs:287:9
|
287 | return Ok(i);
| ^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
help: remove `return`
|
287 - return Ok(i);
287 + Ok(i)
|
|
writing `&PathBuf` instead of `&Path` involves a new object where a slice will do:
src/package/lock.rs#L267
warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
--> src/package/lock.rs:267:22
|
267 | source_path: &PathBuf,
| ^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg
= note: `#[warn(clippy::ptr_arg)]` on by default
help: change this to
|
267 ~ source_path: &Path,
268 | target_path: &PathBuf,
...
271 | for (_, dep) in self.dependencies.iter() {
272 ~ let local_source = source_path.to_path_buf().join(&dep.checksum);
|
|
unneeded `return` statement:
src/package/lock.rs#L278
warning: unneeded `return` statement
--> src/package/lock.rs:278:9
|
278 | return Ok(());
| ^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
= note: `#[warn(clippy::needless_return)]` on by default
help: remove `return`
|
278 - return Ok(());
278 + Ok(())
|
|
the borrowed expression implements the required traits:
src/package/lock.rs#L229
warning: the borrowed expression implements the required traits
--> src/package/lock.rs:229:54
|
229 | let lingo_toml_text = fs::read_to_string(&temp.join("Lingo.toml"))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `temp.join("Lingo.toml")`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
= note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default
|
name `PATH` contains a capitalized acronym:
src/package/lock.rs#L54
warning: name `PATH` contains a capitalized acronym
--> src/package/lock.rs:54:5
|
54 | PATH,
| ^^^^ help: consider making the acronym lowercase, except the initial letter: `Path`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms
|
name `TARBALL` contains a capitalized acronym:
src/package/lock.rs#L53
warning: name `TARBALL` contains a capitalized acronym
--> src/package/lock.rs:53:5
|
53 | TARBALL,
| ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Tarball`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms
|
name `GIT` contains a capitalized acronym:
src/package/lock.rs#L52
warning: name `GIT` contains a capitalized acronym
--> src/package/lock.rs:52:5
|
52 | GIT,
| ^^^ help: consider making the acronym lowercase, except the initial letter: `Git`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms
|
name `REGISTRY` contains a capitalized acronym:
src/package/lock.rs#L51
warning: name `REGISTRY` contains a capitalized acronym
--> src/package/lock.rs:51:5
|
51 | REGISTRY,
| ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Registry`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms
= note: `#[warn(clippy::upper_case_acronyms)]` on by default
|
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`:
src/backends/mod.rs#L26
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> src/backends/mod.rs:26:5
|
26 | / match command {
27 | | CommandSpec::Build(_build) => {
28 | | let manager = match DependencyManager::from_dependencies(
29 | | dependencies.clone(),
... |
50 | | _ => {}
51 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
= note: `#[warn(clippy::single_match)]` on by default
help: try
|
26 ~ if let CommandSpec::Build(_build) = command {
27 + let manager = match DependencyManager::from_dependencies(
28 + dependencies.clone(),
29 + &PathBuf::from(OUTPUT_DIRECTORY),
30 + ) {
31 + Ok(value) => value,
32 + Err(e) => {
33 + error!("failed to create dependency manager because of {e}");
34 + return result;
35 + }
36 + };
37 +
38 + // enriching the apps with the target properties from the libraries
39 + let library_properties = manager.get_target_properties().expect("lib properties");
40 +
41 + // merging app with library target properties
42 + for app in &mut config.apps {
43 + if let Err(e) = app.properties.merge(&library_properties) {
44 + error!("cannot merge properties from the libraries with the app. error: {e}");
45 + return result;
46 + }
47 + }
48 + }
|
|
explicit call to `.into_iter()` in function argument accepting `IntoIterator`:
src/backends/mod.rs#L24
warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
--> src/backends/mod.rs:24:39
|
24 | let dependencies = Vec::from_iter(config.dependencies.clone().into_iter());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `config.dependencies.clone()`
|
note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
--> /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/iter/traits/collect.rs:152:21
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
= note: `#[warn(clippy::useless_conversion)]` on by default
|
deref on an immutable reference:
src/backends/cmake_c.rs#L34
warning: deref on an immutable reference
--> src/backends/cmake_c.rs:34:16
|
34 | content += &*include_statement;
| ^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `include_statement`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref
= note: `#[warn(clippy::borrow_deref_ref)]` on by default
|
TypeScript Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
TypeScript Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
TypeScript Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
TypeScript Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
TypeScript Test
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
TypeScript Test
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions-rs/toolchain@v1, actions/setup-java@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
CPP Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
CPP Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
CPP Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
CPP Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
CPP Test
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
CPP Test
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions-rs/toolchain@v1, actions/setup-java@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
LFC Fallback Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
LFC Fallback Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
LFC Fallback Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
LFC Fallback Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
LFC Fallback Test
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
LFC Fallback Test
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions-rs/toolchain@v1, actions/setup-java@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|