Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Commit license-metadata.json to git and check it's correct in CI #133453

Merged
merged 4 commits into from
Nov 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions REUSE.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ path = [
"COPYRIGHT",
"INSTALL.md",
"LICENSE-APACHE",
"license-metadata.json",
"LICENSE-MIT",
"README.md",
"RELEASES.md",
Expand Down
269 changes: 269 additions & 0 deletions license-metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,269 @@
{
"files": {
"children": [
{
"children": [
{
"children": [
{
"children": [
{
"children": [
{
"directories": [],
"files": [
"analyzer-decls.h",
"malloc-macro.h"
],
"license": {
"copyright": [
"2000-2024 Free Software Foundation, Inc"
],
"spdx": "GPL-2.0-only"
},
"type": "group"
}
],
"license": {
"copyright": [
"2007-2011 Atheros Communications Inc",
"2011-2012,2017 Qualcomm Atheros, Inc",
"2016-2017 Erik Stromdahl <erik.stromdahl@gmail.com>"
],
"spdx": "ISC"
},
"name": "c-c++-common/analyzer",
"type": "directory"
}
],
"license": {
"copyright": [
"2000-2024 Free Software Foundation, Inc"
],
"spdx": "GPL-2.0-only"
},
"name": "gcc/testsuite",
"type": "directory"
},
{
"license": {
"copyright": [
"2000-2024 Free Software Foundation, Inc"
],
"spdx": "GCC-exception-3.1"
},
"name": "libstdc++-v3/config/os/aix/os_defines.h",
"type": "file"
}
],
"license": {
"copyright": [
"1997-2024 Free Software Foundation, Inc"
],
"spdx": "GPL-3.0-or-later"
},
"name": "src/gcc",
"type": "directory"
},
{
"children": [
{
"license": {
"copyright": [
"The Rust Project Developers (see https://thanks.rust-lang.org)"
],
"spdx": "Apache-2.0 OR MIT"
},
"name": "noscript.css",
"type": "file"
},
{
"license": {
"copyright": [
"Nicolas Gallagher and Jonathan Neal"
],
"spdx": "MIT"
},
"name": "normalize.css",
"type": "file"
}
],
"license": {
"copyright": [
"2016 Ike Ku, Jessica Stokes and Leon Guan",
"The Rust Project Developers (see https://thanks.rust-lang.org)"
],
"spdx": "Apache-2.0 OR MIT"
},
"name": "src/librustdoc/html/static/css",
"type": "directory"
},
{
"children": [
{
"license": {
"copyright": [
"The Rust Project Developers (see https://thanks.rust-lang.org)"
],
"spdx": "Apache-2.0 OR MIT"
},
"name": "README.txt",
"type": "file"
},
{
"directories": [],
"files": [
"FiraSans-LICENSE.txt",
"FiraSans-Medium.woff2",
"FiraSans-Regular.woff2"
],
"license": {
"copyright": [
"2014, Mozilla Foundation",
"2014, Telefonica S.A"
],
"spdx": "OFL-1.1"
},
"type": "group"
},
{
"directories": [],
"files": [
"NanumBarunGothic-LICENSE.txt",
"NanumBarunGothic.ttf.woff2"
],
"license": {
"copyright": [
"2010 NAVER Corporation"
],
"spdx": "OFL-1.1"
},
"type": "group"
}
],
"license": {
"copyright": [
"2010, 2012, 2014-2023, Adobe Systems Incorporated"
],
"spdx": "OFL-1.1"
},
"name": "src/librustdoc/html/static/fonts",
"type": "directory"
},
{
"license": {
"copyright": [
"2003-2019 University of Illinois at Urbana-Champaign",
"The Rust Project Developers (see https://thanks.rust-lang.org)"
],
"spdx": "Apache-2.0 WITH LLVM-exception AND (Apache-2.0 OR MIT)"
},
"name": "compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp",
"type": "file"
},
{
"children": [],
"license": {
"copyright": [
"2014 Alex Crichton",
"The Rust Project Developers (see https://thanks.rust-lang.org)"
],
"spdx": "Apache-2.0 OR MIT"
},
"name": "library/backtrace",
"type": "directory"
},
{
"license": {
"copyright": [
"1991-2024 Unicode, Inc"
],
"spdx": "Unicode-3.0"
},
"name": "library/core/src/unicode/unicode_data.rs",
"type": "file"
},
{
"children": [],
"license": {
"copyright": [
"2019 The Crossbeam Project Developers",
"The Rust Project Developers (see https://thanks.rust-lang.org)"
],
"spdx": "Apache-2.0 OR MIT"
},
"name": "library/std/src/sync/mpmc",
"type": "directory"
},
{
"license": {
"copyright": [
"2016 The Fuchsia Authors",
"The Rust Project Developers (see https://thanks.rust-lang.org)"
],
"spdx": "BSD-2-Clause AND (Apache-2.0 OR MIT)"
},
"name": "library/std/src/sys/sync/mutex/fuchsia.rs",
"type": "file"
},
{
"children": [],
"license": {
"copyright": [
"Rust on Embedded Devices Working Group",
"The Rust Project Developers (see https://thanks.rust-lang.org)"
],
"spdx": "Apache-2.0 OR CC-BY-SA-4.0 OR MIT"
},
"name": "src/doc/embedded-book",
"type": "directory"
},
{
"children": [],
"license": {
"copyright": [
"2014 Jorge Aparicio",
"The Rust Project Developers (see https://thanks.rust-lang.org)"
],
"spdx": "Apache-2.0 OR MIT"
},
"name": "src/doc/rust-by-example",
"type": "directory"
},
{
"license": {
"copyright": [
"2014-2021 Knut Sveidqvist"
],
"spdx": "MIT"
},
"name": "src/doc/rustc-dev-guide/mermaid.min.js",
"type": "file"
},
{
"children": [],
"license": {
"copyright": [
"2003-2019 University of Illinois at Urbana-Champaign",
"2003-2019 by the contributors listed in CREDITS.TXT (https://github.com/rust-lang/llvm-project/blob/7738295178045041669876bf32b0543ec8319a5c/llvm/CREDITS.TXT)",
"2010 Apple Inc"
],
"spdx": "Apache-2.0 WITH LLVM-exception AND NCSA"
},
"name": "src/llvm-project",
"type": "directory"
}
],
"license": {
"copyright": [
"The Rust Project Developers (see https://thanks.rust-lang.org)"
],
"spdx": "Apache-2.0 OR MIT"
},
"name": ".",
"type": "directory"
}
],
"type": "root"
}
}
6 changes: 2 additions & 4 deletions src/bootstrap/src/core/build_steps/run.rs
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,7 @@ impl Step for CollectLicenseMetadata {
panic!("REUSE is required to collect the license metadata");
};

// Temporary location, it will be moved to src/etc once it's accurate.
let dest = builder.out.join("license-metadata.json");
let dest = builder.src.join("license-metadata.json");

let mut cmd = builder.tool_cmd(Tool::CollectLicenseMetadata);
cmd.env("REUSE_EXE", reuse);
Expand All @@ -209,8 +208,7 @@ impl Step for GenerateCopyright {
}

fn run(self, builder: &Builder<'_>) -> Self::Output {
let license_metadata = builder.ensure(CollectLicenseMetadata);

let license_metadata = builder.src.join("license-metadata.json");
let dest = builder.out.join("COPYRIGHT.html");
let dest_libstd = builder.out.join("COPYRIGHT-library.html");

Expand Down
32 changes: 32 additions & 0 deletions src/bootstrap/src/core/build_steps/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3675,3 +3675,35 @@ impl Step for TestFloatParse {
cargo_run.into_cmd().run(builder);
}
}

#[derive(Debug, PartialOrd, Ord, Clone, Hash, PartialEq, Eq)]
pub struct CollectLicenseMetadata;

impl Step for CollectLicenseMetadata {
type Output = PathBuf;
const ONLY_HOSTS: bool = true;

fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
run.path("src/tools/collect-license-metadata")
}

fn make_run(run: RunConfig<'_>) {
run.builder.ensure(CollectLicenseMetadata);
}

fn run(self, builder: &Builder<'_>) -> Self::Output {
let Some(reuse) = &builder.config.reuse else {
panic!("REUSE is required to collect the license metadata");
};

let dest = builder.src.join("license-metadata.json");

let mut cmd = builder.tool_cmd(Tool::CollectLicenseMetadata);
cmd.env("REUSE_EXE", reuse);
cmd.env("DEST", &dest);
cmd.env("ONLY_CHECK", "1");
cmd.run(builder);

dest
}
}
1 change: 1 addition & 0 deletions src/bootstrap/src/core/builder/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -915,6 +915,7 @@ impl<'a> Builder<'a> {
test::HtmlCheck,
test::RustInstaller,
test::TestFloatParse,
test::CollectLicenseMetadata,
// Run bootstrap close to the end as it's unlikely to fail
test::Bootstrap,
// Run run-make last, since these won't pass without make on Windows
Expand Down
1 change: 1 addition & 0 deletions src/ci/docker/host-x86_64/mingw-check/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ ENV SCRIPT \
/scripts/validate-toolstate.sh && \
/scripts/validate-error-codes.sh && \
reuse --include-submodules lint && \
python3 ../x.py test collect-license-metadata && \
# Runs checks to ensure that there are no issues in our JS code.
es-check es2019 ../src/librustdoc/html/static/js/*.js && \
eslint -c ../src/librustdoc/html/static/.eslintrc.js ../src/librustdoc/html/static/js/*.js && \
Expand Down
Loading
Loading