mirror of
https://github.com/taiki-e/install-action.git
synced 2026-04-26 17:10:48 +00:00
Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2ee2c006bb | ||
|
|
5e38d7308e | ||
|
|
14dbe17742 | ||
|
|
097a2e7fdd | ||
|
|
84c20235be | ||
|
|
3e74d077d9 | ||
|
|
6c6479b498 | ||
|
|
fd087fdc9a | ||
|
|
64cb046fe5 | ||
|
|
5de533f2e9 | ||
|
|
657fe8a2ad | ||
|
|
27f9e86c40 | ||
|
|
4be883217e | ||
|
|
52039f2329 | ||
|
|
ab28da9c30 | ||
|
|
61ec312f22 | ||
|
|
1a4c3ed94c | ||
|
|
fde7b8ff39 | ||
|
|
d2075253de | ||
|
|
f107a892ec | ||
|
|
a32ef9009a | ||
|
|
e328d9d001 | ||
|
|
f347aeffc7 | ||
|
|
5bdd4e5d62 | ||
|
|
3ff373c7a6 | ||
|
|
6c02aaad16 |
49
CHANGELOG.md
49
CHANGELOG.md
@@ -10,6 +10,48 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [2.52.3] - 2025-05-30
|
||||
|
||||
- Update `cargo-nextest@latest` to 0.9.97.
|
||||
|
||||
- Update `trivy@latest` to 0.63.0.
|
||||
|
||||
- Update `protoc@latest` to 3.31.1.
|
||||
|
||||
## [2.52.2] - 2025-05-27
|
||||
|
||||
- Update `mdbook@latest` to 0.4.51.
|
||||
|
||||
## [2.52.1] - 2025-05-25
|
||||
|
||||
- Update `taplo@latest` to 0.10.0.
|
||||
|
||||
- Update `mdbook@latest` to 0.4.50.
|
||||
|
||||
- Update `deepsource@latest` to 0.9.0.
|
||||
|
||||
- Update `cargo-shear@latest` to 1.3.0.
|
||||
|
||||
## [2.52.0] - 2025-05-22
|
||||
|
||||
- Support `trivy`. ([#970](https://github.com/taiki-e/install-action/pull/970), thanks @jayvdb)
|
||||
|
||||
- Update `syft@latest` to 1.26.1.
|
||||
|
||||
- Update `rclone@latest` to 1.69.3.
|
||||
|
||||
- Update `cargo-shear@latest` to 1.2.8.
|
||||
|
||||
## [2.51.3] - 2025-05-20
|
||||
|
||||
- Update `wasmtime@latest` to 33.0.0.
|
||||
|
||||
- Update `cargo-tarpaulin@latest` to 0.32.7.
|
||||
|
||||
- Update `espup@latest` to 0.15.1.
|
||||
|
||||
- Update `dprint@latest` to 0.50.0.
|
||||
|
||||
## [2.51.2] - 2025-05-18
|
||||
|
||||
- Update `syft@latest` to 1.25.1.
|
||||
@@ -3906,7 +3948,12 @@ Note: This release is considered a breaking change because installing on version
|
||||
|
||||
Initial release
|
||||
|
||||
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.51.2...HEAD
|
||||
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.52.3...HEAD
|
||||
[2.52.3]: https://github.com/taiki-e/install-action/compare/v2.52.2...v2.52.3
|
||||
[2.52.2]: https://github.com/taiki-e/install-action/compare/v2.52.1...v2.52.2
|
||||
[2.52.1]: https://github.com/taiki-e/install-action/compare/v2.52.0...v2.52.1
|
||||
[2.52.0]: https://github.com/taiki-e/install-action/compare/v2.51.3...v2.52.0
|
||||
[2.51.3]: https://github.com/taiki-e/install-action/compare/v2.51.2...v2.51.3
|
||||
[2.51.2]: https://github.com/taiki-e/install-action/compare/v2.51.1...v2.51.2
|
||||
[2.51.1]: https://github.com/taiki-e/install-action/compare/v2.51.0...v2.51.1
|
||||
[2.51.0]: https://github.com/taiki-e/install-action/compare/v2.50.10...v2.51.0
|
||||
|
||||
1
TOOLS.md
1
TOOLS.md
@@ -62,6 +62,7 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho
|
||||
| [**shfmt**](https://github.com/mvdan/sh) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/mvdan/sh/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/mvdan/sh/blob/master/LICENSE) |
|
||||
| [**syft**](https://github.com/anchore/syft) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/anchore/syft/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/anchore/syft/blob/main/LICENSE) |
|
||||
| [**taplo**](https://github.com/tamasfe/taplo) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/tamasfe/taplo/releases) | Linux, macOS, Windows | [MIT](https://github.com/tamasfe/taplo/blob/master/LICENSE) |
|
||||
| [**trivy**](https://github.com/aquasecurity/trivy) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/aquasecurity/trivy/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/aquasecurity/trivy/blob/main/LICENSE) |
|
||||
| [**trunk**](https://github.com/trunk-rs/trunk) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/trunk-rs/trunk/releases) | Linux, macOS, Windows | [MIT](https://github.com/trunk-rs/trunk/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/trunk-rs/trunk/blob/main/LICENSE-APACHE) |
|
||||
| [**typos**](https://github.com/crate-ci/typos) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/crate-ci/typos/releases) | Linux, macOS, Windows | [MIT](https://github.com/crate-ci/typos/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/crate-ci/typos/blob/master/LICENSE-APACHE) |
|
||||
| [**valgrind**](https://valgrind.org/) | `/snap/bin` | [snap](https://snapcraft.io/install/valgrind/ubuntu) | Linux | [GPL-2.0](https://sourceware.org/git/?p=valgrind.git;a=blob;f=COPYING;hb=HEAD) |
|
||||
|
||||
27
manifests/cargo-nextest.json
generated
27
manifests/cargo-nextest.json
generated
@@ -19,10 +19,33 @@
|
||||
},
|
||||
"license_markdown": "[Apache-2.0](https://github.com/nextest-rs/nextest/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/nextest-rs/nextest/blob/main/LICENSE-MIT)",
|
||||
"latest": {
|
||||
"version": "0.9.96"
|
||||
"version": "0.9.97"
|
||||
},
|
||||
"0.9": {
|
||||
"version": "0.9.96"
|
||||
"version": "0.9.97"
|
||||
},
|
||||
"0.9.97": {
|
||||
"previous_stable_version": "0.9.96",
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD9F32F0EFF7C2",
|
||||
"checksum": "0f1b196f271b86af42254dd019fc17527410b112742a64b9b1038e264ab69cdc"
|
||||
},
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD9F333A0ADF4C",
|
||||
"checksum": "af7f57244643c4806b55143307ddecbcd3ff255893540c5d170c85e85ee617bf"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD9F332C1540BA",
|
||||
"checksum": "08496e249d1babc2a7dd8355006c0ca20d64e1d236efcbebca24afe3ea2a3d64"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD9F331D38B6B8",
|
||||
"checksum": "3fda2e22f7e8a339b35a705518fba3eff93c3544884b0ea7500d2c85208d8fca"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD9F331447466C",
|
||||
"checksum": "6dce638cb68b614a0c5a098531606b83bba221146592faafd246f79292a47cc7"
|
||||
}
|
||||
},
|
||||
"0.9.96": {
|
||||
"previous_stable_version": "0.9.95",
|
||||
|
||||
61
manifests/cargo-shear.json
generated
61
manifests/cargo-shear.json
generated
@@ -28,13 +28,68 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/Boshen/cargo-shear/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "1.2.7"
|
||||
"version": "1.3.0"
|
||||
},
|
||||
"1": {
|
||||
"version": "1.2.7"
|
||||
"version": "1.3.0"
|
||||
},
|
||||
"1.3": {
|
||||
"version": "1.3.0"
|
||||
},
|
||||
"1.3.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD99D6556E27B3",
|
||||
"checksum": "d864eeb629b9c8c4d811c108e5ae629d2cbc87f08fcce023e6752467a55e7f3a"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD99D6546C31DF",
|
||||
"checksum": "5de53ab4e68cb20f930e6467ba7e1362b743229790f5e12e7a94f8c5b862a01e"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD99D6892D47D3",
|
||||
"checksum": "2ade1680522af8bb87b021012272ec3d80a2c4cadb7747c8143fdc81ba869854"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD99D65A177CBC",
|
||||
"checksum": "b94674ba28fb33cc16bf2b04517c5054ceb9cc9b02c70a8f0334bbb0e4b378e2"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD99D65373A74E",
|
||||
"checksum": "403474803e32d3594b275cfc68f67c1758cbfa713117d0a3182986838d388808"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DD99D67B5A26B0",
|
||||
"checksum": "10ace55b8d0693d69ae75180b76c46f8aa76ca48728dd6fd267a32acd33a8e36"
|
||||
}
|
||||
},
|
||||
"1.2": {
|
||||
"version": "1.2.7"
|
||||
"version": "1.2.8"
|
||||
},
|
||||
"1.2.8": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD982697163822",
|
||||
"checksum": "f1cd7bef53d18ea89f0681396185f45d9c8aaee9df4c29fb23d1b04c84df5751"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD982690010D13",
|
||||
"checksum": "33b90bc8c6349c1e4b62cbb1e18b9558fe763e6384b4eb16dd5e384db660182a"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD9826B76CF533",
|
||||
"checksum": "959df98ee9145c769a7c78eda3bb18557919f9223d68c8e33f7b86232f69bcd0"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD9826965AE6D9",
|
||||
"checksum": "36d079caa9aa83f8aa76b54a8e08acc1f1983f0d81ac19779b0631d8686305dd"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD9826977B65F8",
|
||||
"checksum": "1f8867e9a1aa9bb6df19398f780b92ddf985b8729f72d8abf0a822c69ff622ea"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DD9826C4751FA2",
|
||||
"checksum": "b0f801a4e3585eedf8811c6a4e34490c195d92ce167c0aaec676cc4640353f25"
|
||||
}
|
||||
},
|
||||
"1.2.7": {
|
||||
"x86_64_linux_musl": {
|
||||
|
||||
20
manifests/cargo-sort.json
generated
20
manifests/cargo-sort.json
generated
@@ -15,6 +15,26 @@
|
||||
"latest": {
|
||||
"version": "1.0.9"
|
||||
},
|
||||
"2.0.1": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD99C061507FEF",
|
||||
"checksum": "16c0bcb92f4bd632baa8ce432c89ad90daf76854c451c747ad4614a672dd77ae"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD99C09E29362F",
|
||||
"checksum": "441d80044560e482241152ec8b424c485c1532063a848a93f59143b8455cd29f"
|
||||
}
|
||||
},
|
||||
"2.0.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD99648EABCEC5",
|
||||
"checksum": "7093c407027c4e216b4af36170c9e72f6c4627e788616491051c6cc1a0a078d7"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD9964CEC798D5",
|
||||
"checksum": "d72a6fb2fc5dd35759198e88540be90334c54288b319b80c052d95d4b4feff0b"
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"version": "1.0.9"
|
||||
},
|
||||
|
||||
48
manifests/cargo-tarpaulin.json
generated
48
manifests/cargo-tarpaulin.json
generated
@@ -19,10 +19,54 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-MIT) OR [Apache-2.0](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-APACHE)",
|
||||
"latest": {
|
||||
"version": "0.32.5"
|
||||
"version": "0.32.7"
|
||||
},
|
||||
"0.32": {
|
||||
"version": "0.32.5"
|
||||
"version": "0.32.7"
|
||||
},
|
||||
"0.32.7": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD97837785BE11",
|
||||
"checksum": "67a61b2b271488e2d0cb718ccec384d0f296703f3c810f80ea5d46484c5d463b"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD9783A2459325",
|
||||
"checksum": "17ab0e18a3855fa7273947082806771cb3f0695bb9e26cc655533f9a5bf69800"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD9782F4EE5FFE",
|
||||
"checksum": "db7098a262470d6584f7c2f0d43aba97a0762ecbb74a1c33f1fef0acd4ae861f"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD97834FE828A7",
|
||||
"checksum": "8a22fe50a51848914309d59d38a038c763fef981a06ab8e7ee8c616cc8282448"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD97838E6A6E62",
|
||||
"checksum": "a7d5f79a788a87307e2a9a97b2cccdd26f640d527cb4dd6bcf54d6639cd950ea"
|
||||
}
|
||||
},
|
||||
"0.32.6": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD976B7C5228DC",
|
||||
"checksum": "b325b233950ccbdf9def5c410ca44882da1fdd025f6ebce94f84ce3af54d2514"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD976B638ABF6E",
|
||||
"checksum": "b8cf0ba028197d8bb5190b1644c010a8ecf04984891f23e4e167e490fe8b4b55"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD976BF83EE0CF",
|
||||
"checksum": "1b1a205902bf6df5a956b4bae032061e2e33df1ebdaf009476c001d0640d77a2"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD976BC8B914A0",
|
||||
"checksum": "14b5d72e1f3d7004372a2e5671756eedfa3c497c3805a5436a681b2139a07cef"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD976B83DB8A86",
|
||||
"checksum": "bb2ce7d9cd2c187c167523ac7f8a984b3eea37bce16958a910b4d2ecee923bcf"
|
||||
}
|
||||
},
|
||||
"0.32.5": {
|
||||
"x86_64_linux_musl": {
|
||||
|
||||
27
manifests/deepsource.json
generated
27
manifests/deepsource.json
generated
@@ -19,7 +19,32 @@
|
||||
},
|
||||
"license_markdown": "[BSD-2-Clause](https://github.com/DeepSourceCorp/cli/blob/master/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.8.6"
|
||||
"version": "0.9.0"
|
||||
},
|
||||
"0.9": {
|
||||
"version": "0.9.0"
|
||||
},
|
||||
"0.9.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD99CDB0552550",
|
||||
"checksum": "83b6a5c1dfbe3592725b151d34d26616ae1434fcc50ddc0ef29a6a43fad2905c"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD99CDB0F73EB8",
|
||||
"checksum": "3240af1ac883962144bc0fc2963026d0bd4644b3d662191a0e3f40261c8dca58"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD99CDB1075940",
|
||||
"checksum": "3eea8dd28ff3500a4c33728224178b2fa0659bb6148b6d6a7eae4dea8e7fbc1c"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD99CDB0559A00",
|
||||
"checksum": "2755be77c31178c12809542747330cf8e75a9b04ec5584ca46dd0c8d2283beed"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD99CDB108905C",
|
||||
"checksum": "77ed09a08063e76a3a76703318055aeeff5d992435f0dae6125d46971403b2c4"
|
||||
}
|
||||
},
|
||||
"0.8": {
|
||||
"version": "0.8.6"
|
||||
|
||||
27
manifests/dprint.json
generated
27
manifests/dprint.json
generated
@@ -25,7 +25,32 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/dprint/dprint/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.49.1"
|
||||
"version": "0.50.0"
|
||||
},
|
||||
"0.50": {
|
||||
"version": "0.50.0"
|
||||
},
|
||||
"0.50.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD965DE7871DF4",
|
||||
"checksum": "74012160bb83cc09d77f9cb200e5916c411a8920289011dad0d38eb018ecfcfe"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD965DE76BEC62",
|
||||
"checksum": "9266d40c1c565bea46cee3a195d086432682671f2f063357c8ddb66577cb24b0"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD965DE76F1D12",
|
||||
"checksum": "4b396b18741896e794a274998eda6f780e0a345fd9ff4e90a54c90a003007a9c"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD965DE770C8E4",
|
||||
"checksum": "54db26d4219438578230197e4e6c552f3d9297215cbdf258991e62715dce9e83"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD965DE76DBF13",
|
||||
"checksum": "b6a25e1dff9ea8d9e023548c0ec80fcde5d425e48fab60028fc0003fddf2debb"
|
||||
}
|
||||
},
|
||||
"0.49": {
|
||||
"version": "0.49.1"
|
||||
|
||||
26
manifests/espup.json
generated
26
manifests/espup.json
generated
@@ -19,10 +19,32 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/esp-rs/espup/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/esp-rs/espup/blob/main/LICENSE-APACHE)",
|
||||
"latest": {
|
||||
"version": "0.15.0"
|
||||
"version": "0.15.1"
|
||||
},
|
||||
"0.15": {
|
||||
"version": "0.15.0"
|
||||
"version": "0.15.1"
|
||||
},
|
||||
"0.15.1": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD96B09625D239",
|
||||
"checksum": "9cc376bd4270bb7ad2b39443d8c058cc39c880dc9cd91d506152d9e75de9551e"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD96B0409C251E",
|
||||
"checksum": "a8fad6a5599bc0b4699451a3775c5a08719de089867bb3d0fab0c8bd096ee32d"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD96B084898EA7",
|
||||
"checksum": "c3fded7eff2af13503e570224a565788f6cd99ea74a0dc6ac5f35d099c646c91"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD96B0731784D2",
|
||||
"checksum": "f1bda719bf2108d55f10e07236b421edbcadee0fc835163ded69bc091c7fffed"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD96B05383B18F",
|
||||
"checksum": "7c5139160b98d13149ecf38c02fe38751b8dc65fa6e981899298ed6719d7d6da"
|
||||
}
|
||||
},
|
||||
"0.15.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
|
||||
48
manifests/mdbook.json
generated
48
manifests/mdbook.json
generated
@@ -22,10 +22,54 @@
|
||||
},
|
||||
"license_markdown": "[MPL-2.0](https://github.com/rust-lang/mdBook/blob/master/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.4.49"
|
||||
"version": "0.4.51"
|
||||
},
|
||||
"0.4": {
|
||||
"version": "0.4.49"
|
||||
"version": "0.4.51"
|
||||
},
|
||||
"0.4.51": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD9C87BE4665CF",
|
||||
"checksum": "b287c2f97d190c5f1b0140e383c6295d36139d5256569671b934fc2e45a2de7a"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD9C87AD8CAF22",
|
||||
"checksum": "72f0975066dce2d6aa8fa9b44a48d69d10c02ebfc696cce6b9d73e579fc31e00"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD9C87F8F1F1DD",
|
||||
"checksum": "23e22ce76fa8e5857ed784959390a42f9bcf5f9468233c81f71f0d1540ff9e49"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD9C87C39468EE",
|
||||
"checksum": "b79c1cc113640a3b8b13ea0eac75a326bcaf488a0b48acc5dc2d0c3d14c1c1c1"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD9C87ADC88A66",
|
||||
"checksum": "9f9ebb8a7f3c911fe7fb3d7abf610d7505699a78710de8f55b578ca800c34283"
|
||||
}
|
||||
},
|
||||
"0.4.50": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD9A0FBAE3ABF7",
|
||||
"checksum": "01affcd71d4b251160745d92565bfa8b8a2f882f4bcc4f2837edf33176175d2f"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD9A0FAD3137BC",
|
||||
"checksum": "c2d2db0bb54b3643d475eccb57225ad58fe11f8156a1ed359a4a13e45a15104f"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD9A100D1D0DD2",
|
||||
"checksum": "01d8b4d4a0b91fc8725ff17ce597fa3b428996f193a8e21cc41632939d12b485"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD9A0FC121B692",
|
||||
"checksum": "c1c5e471089086a3f9ae8ffc30bea78f9fc965ea2f3004a583fe4456640c923f"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD9A0FA80B50D7",
|
||||
"checksum": "96669d1ebc37861d727bac45683c2e4258f26bcbac0c3a8510539d2285436ccd"
|
||||
}
|
||||
},
|
||||
"0.4.49": {
|
||||
"x86_64_linux_musl": {
|
||||
|
||||
33
manifests/protoc.json
generated
33
manifests/protoc.json
generated
@@ -3,13 +3,40 @@
|
||||
"template": null,
|
||||
"license_markdown": "[BSD-3-Clause](https://github.com/protocolbuffers/protobuf/blob/HEAD/LICENSE)",
|
||||
"latest": {
|
||||
"version": "3.31.0"
|
||||
"version": "3.31.1"
|
||||
},
|
||||
"3": {
|
||||
"version": "3.31.0"
|
||||
"version": "3.31.1"
|
||||
},
|
||||
"3.31": {
|
||||
"version": "3.31.0"
|
||||
"version": "3.31.1"
|
||||
},
|
||||
"3.31.1": {
|
||||
"x86_64_linux_gnu": {
|
||||
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-linux-x86_64.zip",
|
||||
"etag": "0x8DD9E18EFD1B2E2",
|
||||
"checksum": "96553041f1a91ea0efee963cb16f462f5985b4d65365f3907414c360044d8065"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-osx-x86_64.zip",
|
||||
"etag": "0x8DD9E18F021E98E",
|
||||
"checksum": "485e87088b18614c25a99b1c0627918b3ff5b9fde54922fb1c920159fab7ba29"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-win64.zip",
|
||||
"etag": "0x8DD9E18F0214DFA",
|
||||
"checksum": "70381b116ab0d71cb6a5177d9b17c7c13415866603a0fd40d513dafe32d56c35"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-linux-aarch_64.zip",
|
||||
"etag": "0x8DD9E18EF7AA62F",
|
||||
"checksum": "6c554de11cea04c56ebf8e45b54434019b1cd85223d4bbd25c282425e306ecc2"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-osx-aarch_64.zip",
|
||||
"etag": "0x8DD9E18EFD16519",
|
||||
"checksum": "4aeea0a34b0992847b03a8489a8dbedf3746de01109b74cc2ce9b6888a901ed9"
|
||||
}
|
||||
},
|
||||
"3.31.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
|
||||
32
manifests/rclone.json
generated
32
manifests/rclone.json
generated
@@ -28,13 +28,39 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/rclone/rclone/blob/master/COPYING)",
|
||||
"latest": {
|
||||
"version": "1.69.2"
|
||||
"version": "1.69.3"
|
||||
},
|
||||
"1": {
|
||||
"version": "1.69.2"
|
||||
"version": "1.69.3"
|
||||
},
|
||||
"1.69": {
|
||||
"version": "1.69.2"
|
||||
"version": "1.69.3"
|
||||
},
|
||||
"1.69.3": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD98A9E1AF392F",
|
||||
"checksum": "14c841f24de6dfb5b914900b345b02e6a00278ad20e7502041d856a4f1d4e221"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD98AAAEE85BEF",
|
||||
"checksum": "b2e9e178f2aebee4033b7c02105ef250da61846a8c7dab00fb71281983c9762e"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD98AAEAB69E14",
|
||||
"checksum": "9b32123fd33c805d44c1598dc529062a48cbee7573f7a66794722ce0ae7af058"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD98A9FAE1684C",
|
||||
"checksum": "c23f03c11931b2dd4c6ccc091a11ec508f1ca936cc8916ac69669be5b433941c"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD98AAB72DCEE0",
|
||||
"checksum": "c8c4a8a76990aeec4774832046471d46a556cedf6a42cb328055b6012b1dc3aa"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DD98AAF2709AC0",
|
||||
"checksum": "001da6d6b66f8b54a006118071c7200ba93dbfe9bfe02c67b92bc327ba1e7625"
|
||||
}
|
||||
},
|
||||
"1.69.2": {
|
||||
"x86_64_linux_musl": {
|
||||
|
||||
51
manifests/syft.json
generated
51
manifests/syft.json
generated
@@ -24,10 +24,57 @@
|
||||
},
|
||||
"license_markdown": "[Apache-2.0](https://github.com/anchore/syft/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "1.25.1"
|
||||
"version": "1.26.1"
|
||||
},
|
||||
"1": {
|
||||
"version": "1.25.1"
|
||||
"version": "1.26.1"
|
||||
},
|
||||
"1.26": {
|
||||
"version": "1.26.1"
|
||||
},
|
||||
"1.26.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD992E8B20F6FE",
|
||||
"checksum": "4f3e84f9467080c876deb0fa968da54309c6d21fb8c00fd3a4e547eb9f006835"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD992E8C0A9DF3",
|
||||
"checksum": "2eae0b76a208c5916cf02847b94e861024c7a5a6c1e2e606f5436f97747b1f76"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD992E8BFE28D3",
|
||||
"checksum": "7af7acb9f81bdddbc343855cb3a42e1d38ae9a1b044bfcd9b975a118d107849e"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD992E8B117805",
|
||||
"checksum": "ed3915cbc9c039f0501cb49d4485125befbd729acc263e767f70a18de3fec10d"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD992E8BF0CA9A",
|
||||
"checksum": "00435a3fe2ae940203708ee2eae9976d1719982c628d30b2b78aacd36133ec6b"
|
||||
}
|
||||
},
|
||||
"1.26.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD97E6326C9DAC",
|
||||
"checksum": "2db9f93ba88edc4b23d09b414954847130c59c625e5cd55c1ca1e3951a56c802"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD97E6331F6CB6",
|
||||
"checksum": "18a82757a400766e9ce51686de5594b5e09a8f4454c0a8b58707157d52f02687"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD97E6331F6CB6",
|
||||
"checksum": "eca51fb712144a3af97c3699bde32e0ff5d389ed97985fff975fd46b92410075"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD97E6327766F7",
|
||||
"checksum": "17710a79dd4d5664bf175c776d04163d0031dc3ec041d5df6a2a5701b8248464"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD97E6332201E7",
|
||||
"checksum": "9af29fa25554b4ae801b3ced7f4b13b2542c8ec201ec09b1809ead2703a0fd90"
|
||||
}
|
||||
},
|
||||
"1.25": {
|
||||
"version": "1.25.1"
|
||||
|
||||
27
manifests/taplo.json
generated
27
manifests/taplo.json
generated
@@ -24,7 +24,32 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/tamasfe/taplo/blob/master/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.9.3"
|
||||
"version": "0.10.0"
|
||||
},
|
||||
"0.10": {
|
||||
"version": "0.10.0"
|
||||
},
|
||||
"0.10.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD99AABF8469BA",
|
||||
"checksum": "8fe196b894ccf9072f98d4e1013a180306e17d244830b03986ee5e8eabeb6156"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD99AB380D812C",
|
||||
"checksum": "898122cde3a0b1cd1cbc2d52d3624f23338218c91b5ddb71518236a4c2c10ef2"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD99AB3165DD82",
|
||||
"checksum": "1615eed140039bd58e7089109883b1c434de5d6de8f64a993e6e8c80ca57bdf9"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD99AABD8A3667",
|
||||
"checksum": "033681d01eec8376c3fd38fa3703c79316f5e14bb013d859943b60a07bccdcc3"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD99AB3700C1B5",
|
||||
"checksum": "713734314c3e71894b9e77513c5349835eefbd52908445a0d73b0c7dc469347d"
|
||||
}
|
||||
},
|
||||
"0.9": {
|
||||
"version": "0.9.3"
|
||||
|
||||
101
manifests/trivy.json
generated
Normal file
101
manifests/trivy.json
generated
Normal file
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"rust_crate": null,
|
||||
"template": {
|
||||
"x86_64_linux_gnu": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_Linux-64bit.tar.gz",
|
||||
"bin": "trivy"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_macOS-64bit.tar.gz",
|
||||
"bin": "trivy"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_windows-64bit.zip",
|
||||
"bin": "trivy.exe"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_Linux-ARM64.tar.gz",
|
||||
"bin": "trivy"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_macOS-ARM64.tar.gz",
|
||||
"bin": "trivy"
|
||||
}
|
||||
},
|
||||
"license_markdown": "[Apache-2.0](https://github.com/aquasecurity/trivy/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.63.0"
|
||||
},
|
||||
"0.63": {
|
||||
"version": "0.63.0"
|
||||
},
|
||||
"0.63.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD9EDB240EAE38",
|
||||
"checksum": "ea91fa393cfcb802da22832c96e99a4c8a295a8ba8faefd824c7168b7f0a741e"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD9EDB25C39AD1",
|
||||
"checksum": "01659b540a885ee9bd1273c8c75ade1ce046fc9d6e5933d5978d9125a6a1cf6c"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD9EDB25D2CBF6",
|
||||
"checksum": "33ba726ec9c37f15490efa1d51044c21f0db6acb9be56492d5e1429f404b602f"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD9EDB26DF8B6D",
|
||||
"checksum": "9aeecf81e8a1dc5625dd96a1a6fbea92a1f8e51c4160cfc0e412ef5f641ea1ac"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD9EDB26DD1D32",
|
||||
"checksum": "784f687759c647ffad54e4d7f55ed953647e4fff5ea1e38dbaf877a135254972"
|
||||
}
|
||||
},
|
||||
"0.62": {
|
||||
"version": "0.62.1"
|
||||
},
|
||||
"0.62.1": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD8CD66B2C973F",
|
||||
"checksum": "7da92b2ca503d08eb15e717585fa4ffb95ef2c5dc4c554204882d7d26d386a6a"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD8CD66B02A920",
|
||||
"checksum": "819bf4dad9c3bb4e78bbd11d08b61bdc4663b33777121b3f43372986f7cb3d3e"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD8CD66CA4E62B",
|
||||
"checksum": "f6d9b422f10af2d7a21b4924d36400d8a76932c9159b5feefaa8aee3e45a82bd"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD8CD669AB51A2",
|
||||
"checksum": "50e13c5cdd3e3b610e0dc554e3bc58bc6f58eabe3e42a6b28961a23ac6eff0df"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD8CD66C735F7B",
|
||||
"checksum": "0bbfa581a4139c6fef21f4129233ae6f02a9f4b53039327e62eccd7956af2ba1"
|
||||
}
|
||||
},
|
||||
"0.62.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD880CCF3EE84C",
|
||||
"checksum": "1be4420999ffde59b9a6900f2c2481a2f4e50fd2e0ac738ad028944563ee6c60"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD880CCD4C9C5F",
|
||||
"checksum": "8f6d54c7de5c7247bb92b51d29d2542be8006111515ceaf50fe8185adb59ad89"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD880CCD7359BB",
|
||||
"checksum": "b30da5d15587824335cbb88a62585f00a3aac18f3f754d3ad74d68327e2efc46"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD880CCF085E40",
|
||||
"checksum": "82c8acca00390bf5e014b26abb03e24ba754824c4f87ead5564cd56375df07c1"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD880CCF853F18",
|
||||
"checksum": "727a8865c2caf6841a1f4668fd7702f442ae088fd08e3c3719e4f731c1f11333"
|
||||
}
|
||||
}
|
||||
}
|
||||
34
manifests/wasmtime.json
generated
34
manifests/wasmtime.json
generated
@@ -28,7 +28,39 @@
|
||||
},
|
||||
"license_markdown": "[Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "32.0.0"
|
||||
"version": "33.0.0"
|
||||
},
|
||||
"33": {
|
||||
"version": "33.0.0"
|
||||
},
|
||||
"33.0": {
|
||||
"version": "33.0.0"
|
||||
},
|
||||
"33.0.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD979CE62FD22A",
|
||||
"checksum": "075d491ad2c9855c6247b7ca4284a833d1f3b51e85339e0f6be4e64620ea7f40"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD979CE7464A40",
|
||||
"checksum": "210c974e10741d6021b411197e40478cb42c48c6d9b598cd6b5aa93548f64a3e"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD979CEB891312",
|
||||
"checksum": "2833fc01a3f9165162e0699dc37eaee67415d644b20a244983365d7db97b8e02"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD979CD8B6A1A5",
|
||||
"checksum": "aa9e061200d3e1ed70dafa721708b1d5987c25f789b26dbb2e67c145e94e8a2e"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD979CD9C360C1",
|
||||
"checksum": "a5a7063c4e03b558b91a95a3e5d29514769a0564fef7ff1bfd89cc3b126623e9"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DD979CDC093B2B",
|
||||
"checksum": "af681210e2b184b10d3d36f2058bfeef66211d88961e7843dd5632c1c98829bb"
|
||||
}
|
||||
},
|
||||
"32": {
|
||||
"version": "32.0.0"
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"rust_crate": "${package}",
|
||||
"asset_name": "${package}-${rust_target}.tar.gz",
|
||||
"version_range": "> 1.0.5",
|
||||
"broken": ["2.0.0", "2.0.1"],
|
||||
"platform": {
|
||||
"x86_64_linux_gnu": {},
|
||||
"x86_64_macos": {},
|
||||
|
||||
23
tools/codegen/base/trivy.json
Normal file
23
tools/codegen/base/trivy.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"repository": "https://github.com/aquasecurity/trivy",
|
||||
"tag_prefix": "v",
|
||||
"bin": "${package}${exe}",
|
||||
"version_range": ">= 0.62.0",
|
||||
"platform": {
|
||||
"x86_64_linux_gnu": {
|
||||
"asset_name": "${package}_${version}_Linux-64bit.tar.gz"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"asset_name": "${package}_${version}_macOS-64bit.tar.gz"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"asset_name": "${package}_${version}_windows-64bit.zip"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"asset_name": "${package}_${version}_Linux-ARM64.tar.gz"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"asset_name": "${package}_${version}_macOS-ARM64.tar.gz"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -127,7 +127,9 @@ fn main() -> Result<()> {
|
||||
latest_only = true;
|
||||
}
|
||||
}
|
||||
|
||||
if manifest_path.is_file() {
|
||||
println!("loading pre-existing manifest {}", manifest_path.display());
|
||||
match serde_json::from_slice(&fs::read(manifest_path)?) {
|
||||
Ok(m) => {
|
||||
manifests = m;
|
||||
@@ -161,34 +163,57 @@ fn main() -> Result<()> {
|
||||
}
|
||||
}
|
||||
|
||||
// Populate license_markdown
|
||||
// Populate license_markdown from the base manifest if present.
|
||||
if let Some(license_markdown) = base_info.license_markdown {
|
||||
if license_markdown.is_empty() {
|
||||
panic!("license_markdown can not be an empty value");
|
||||
}
|
||||
manifests.license_markdown = license_markdown;
|
||||
} else if let Some(detail) = crates_io_version_detail {
|
||||
if let Some(license) = detail.license {
|
||||
eprintln!("Trying to using license '{license}' from crates.io ...");
|
||||
if let Some(license_markdown) =
|
||||
get_license_markdown(&license, repo, &repo_info.default_branch)
|
||||
{
|
||||
manifests.license_markdown = license_markdown;
|
||||
}
|
||||
}
|
||||
|
||||
// Check if the license_markdown is valid.
|
||||
if !manifests.license_markdown.is_empty() {
|
||||
let urls = get_license_markdown_urls(&manifests.license_markdown);
|
||||
if urls.is_empty() {
|
||||
bail!("Could not find URLs in license_markdown: {}.", manifests.license_markdown);
|
||||
}
|
||||
} else if let Some(license) = repo_info.license {
|
||||
if let Some(license) = license.spdx_id {
|
||||
eprintln!("Trying to using license '{license}' from github.com ...");
|
||||
if let Some(license_markdown) =
|
||||
get_license_markdown(&license, repo, &repo_info.default_branch)
|
||||
{
|
||||
manifests.license_markdown = license_markdown;
|
||||
for url in urls {
|
||||
if let Err(err) = github_head(&url) {
|
||||
eprintln!("Failed to fetch pre-existing license_markdown {url}: {err}");
|
||||
manifests.license_markdown = String::new();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Try to detect license_markdown from crates.io or GitHub.
|
||||
if manifests.license_markdown.is_empty() {
|
||||
panic!("Unable to determine license_markdown; set manually")
|
||||
let license = match (crates_io_version_detail, repo_info.license) {
|
||||
(Some(crates_io::VersionMetadataDetail { license: Some(license) }), _) => {
|
||||
eprintln!("Trying to verify license '{license}' obtained from crates.io ...");
|
||||
license
|
||||
}
|
||||
(_, Some(github::RepoLicense { spdx_id: Some(spdx_id) })) => {
|
||||
eprintln!("Trying to verify license '{spdx_id}' obtained from github.com ...");
|
||||
spdx_id
|
||||
}
|
||||
_ => {
|
||||
bail!(
|
||||
"No license SPDX found in crates.io or GitHub metadata.\n\
|
||||
Please set license_markdown in the base manifest"
|
||||
);
|
||||
}
|
||||
};
|
||||
if let Some(license_markdown) =
|
||||
get_license_markdown(&license, repo, &repo_info.default_branch)
|
||||
{
|
||||
manifests.license_markdown = license_markdown;
|
||||
} else {
|
||||
bail!(
|
||||
"Unable to verify license file(s) in the repo for license {license}.\n\
|
||||
Please set license_markdown in the base manifest"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
let version_req: Option<semver::VersionReq> = match version_req {
|
||||
@@ -766,11 +791,18 @@ fn github_head(url: &str) -> Result<()> {
|
||||
Err(last_error.unwrap().into())
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
#[must_use]
|
||||
fn create_github_raw_link(repository: &str, branch: &str, filename: &str) -> String {
|
||||
format!("https://raw.githubusercontent.com/{repository}/{branch}/{filename}")
|
||||
}
|
||||
|
||||
/// Create URLs for https://docs.github.com/en/rest/repos/contents
|
||||
#[must_use]
|
||||
fn github_content_api_url(repository: &str, branch: &str, filename: &str) -> String {
|
||||
format!("https://api.github.com/repos/{repository}/contents/{filename}?ref={branch}")
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
fn create_github_link(repository: &str, branch: &str, filename: &str) -> String {
|
||||
format!("https://github.com/{repository}/blob/{branch}/{filename}")
|
||||
@@ -814,7 +846,7 @@ fn get_license_markdown(spdx_expr: &str, repo: &str, default_branch: &str) -> Op
|
||||
}
|
||||
|
||||
match license_ids.len() {
|
||||
0 => panic!("No licenses"),
|
||||
0 => panic!("No licenses detected in SPDX expression: {expr}"),
|
||||
1 => {
|
||||
let (license_id, exception_id) = license_ids.first().unwrap();
|
||||
let license_name = if let Some(exception_id) = exception_id {
|
||||
@@ -829,10 +861,15 @@ fn get_license_markdown(spdx_expr: &str, repo: &str, default_branch: &str) -> Op
|
||||
"LICENSE.md".to_owned(),
|
||||
"COPYING".to_owned(),
|
||||
] {
|
||||
let url = create_github_raw_link(repo, default_branch, &filename);
|
||||
if github_head(&url).is_ok() {
|
||||
let url = create_github_link(repo, default_branch, &filename);
|
||||
return Some(format!("[{license_name}]({url})"));
|
||||
let url = github_content_api_url(repo, default_branch, &filename);
|
||||
match download(&url) {
|
||||
Ok(_) => {
|
||||
let url = create_github_link(repo, default_branch, &filename);
|
||||
return Some(format!("[{license_name}]({url})"));
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("Failed to fetch {url}: {e}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -841,15 +878,20 @@ fn get_license_markdown(spdx_expr: &str, repo: &str, default_branch: &str) -> Op
|
||||
for (license_id, exception_id) in &license_ids {
|
||||
let name = license_id.name.split('-').next().unwrap().to_ascii_uppercase();
|
||||
let filename = format!("LICENSE-{name}");
|
||||
let url = create_github_raw_link(repo, default_branch, &filename);
|
||||
let url = github_content_api_url(repo, default_branch, &filename);
|
||||
let license_name = if let Some(exception_id) = exception_id {
|
||||
format!("{} WITH {}", license_id.name, exception_id.name)
|
||||
} else {
|
||||
license_id.name.to_owned()
|
||||
};
|
||||
if github_head(&url).is_ok() {
|
||||
let url = create_github_link(repo, default_branch, &filename);
|
||||
license_markdowns.push(format!("[{license_name}]({url})"));
|
||||
match download(&url) {
|
||||
Ok(_) => {
|
||||
let url = create_github_link(repo, default_branch, &filename);
|
||||
license_markdowns.push(format!("[{license_name}]({url})"));
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("Failed to fetch {url}: {e}");
|
||||
}
|
||||
}
|
||||
}
|
||||
if license_markdowns.is_empty() {
|
||||
@@ -874,6 +916,14 @@ fn get_license_markdown(spdx_expr: &str, repo: &str, default_branch: &str) -> Op
|
||||
None
|
||||
}
|
||||
|
||||
fn get_license_markdown_urls(license_markdown: &str) -> Vec<String> {
|
||||
license_markdown
|
||||
.split(['(', ')'])
|
||||
.filter(|s| s.starts_with("http"))
|
||||
.map(|s| s.trim().to_string())
|
||||
.collect::<Vec<_>>()
|
||||
}
|
||||
|
||||
mod github {
|
||||
use serde_derive::Deserialize;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user