Skip to content

Commit 5330dc1

Browse files
♻ Adds licensing summary to docs folder (#49)
* Adds licensing summary to docs folder * Review comments * Update README.md Co-Authored-By: Graham Hammond <graham.hammond@arm.com> * Update README.md * Update README.md Co-Authored-By: Graham Hammond <graham.hammond@arm.com> * Update README.md Co-authored-by: Graham Hammond <graham.hammond@arm.com>
1 parent a5c0617 commit 5330dc1

File tree

4 files changed

+34
-7
lines changed

4 files changed

+34
-7
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
[![PyPI](https://img.shields.io/pypi/v/mbed-tools-ci-scripts)](https://pypi.org/project/mbed-tools-ci-scripts/)
66
[![PyPI - Status](https://img.shields.io/pypi/status/mbed-tools-ci-scripts)](https://pypi.org/project/mbed-tools-ci-scripts/)
77
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mbed-tools-ci-scripts)](https://pypi.org/project/mbed-tools-ci-scripts/)
8+
89
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/ARMmbed/mbed-tools-ci-scripts/blob/master/LICENSE)
10+
[![Compliance](https://badgen.net/badge/License%20Report/compliant/green?icon=libraries)](https://armmbed.github.io/mbed-tools-ci-scripts/third_party_IP_report.html)
911

1012
[![Build Status](https://dev.azure.com/mbed-tools/mbed-tools-ci-scripts/_apis/build/status/Build%20and%20Release?branchName=master&stageName=CI%20Checkpoint)](https://dev.azure.com/mbed-tools/mbed-tools-ci/_build/latest?definitionId=3&branchName=master)
1113
[![Test Coverage](https://codecov.io/gh/ARMmbed/mbed-tools-ci-scripts/branch/master/graph/badge.svg)](https://codecov.io/gh/ARMmbed/mbed-tools-ci-scripts)

mbed_tools_ci_scripts/report_third_party_ip.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,32 @@
2424
logger = logging.getLogger(__name__)
2525

2626

27-
def generate_spdx_reports(output_directory: Path) -> SpdxProject:
28-
"""Generates all the SPDX reports for the current project."""
27+
def get_current_spdx_project() -> SpdxProject:
28+
"""Gets information about the current project/package."""
2929
logger.info("Generating package information.")
3030
try:
3131
# Trying to generate the egg for the package but this may fail. If so, continue.
3232
generate_package_info()
3333
except Exception as e:
3434
log_exception(logger, e)
35+
return SpdxProject(CurrentProjectMetadataParser())
3536

37+
38+
def generate_spdx_project_reports(project: SpdxProject, output_directory: Path) -> SpdxProject:
39+
"""Generates all the SPDX reports for a given project."""
3640
logger.info("Generating SPDX report.")
37-
project = SpdxProject(CurrentProjectMetadataParser())
3841
project.generate_tag_value_files(output_directory)
3942
logger.info("Generating licensing summary.")
4043
project.generate_licensing_summary(output_directory)
4144
return project
4245

4346

47+
def generate_spdx_reports(output_directory: Path) -> SpdxProject:
48+
"""Generates all the SPDX reports for the current project."""
49+
project = get_current_spdx_project()
50+
return generate_spdx_project_reports(project, output_directory)
51+
52+
4453
def main() -> int:
4554
"""Script CLI."""
4655
parser = argparse.ArgumentParser(description="Generate licence and third-party IP reports.")

mbed_tools_ci_scripts/tag_and_release.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@
2020
from mbed_tools_ci_scripts.utils.filesystem_helpers import cd
2121
from mbed_tools_ci_scripts.utils.git_helpers import ProjectTempClone, GitWrapper
2222
from mbed_tools_ci_scripts.utils.logging import log_exception, set_log_level
23-
from mbed_tools_ci_scripts.report_third_party_ip import generate_spdx_reports
23+
from mbed_tools_ci_scripts.report_third_party_ip import (
24+
get_current_spdx_project,
25+
generate_spdx_project_reports,
26+
SpdxProject,
27+
)
2428

2529
ENVVAR_TWINE_USERNAME = "TWINE_USERNAME"
2630
ENVVAR_TWINE_PASSWORD = "TWINE_PASSWORD"
@@ -48,11 +52,14 @@ def tag_and_release(mode: CommitType, current_branch: Optional[str] = None) -> N
4852
raise ValueError("Undefined version.")
4953
if mode == CommitType.DEVELOPMENT:
5054
return
55+
# The documentation folder will be emptied when the documentation is updated
5156
_update_documentation()
57+
# Adding the licensing summaries in /docs after folder has been cleared and regenerated.
58+
spdx_project = _update_licensing_summary()
5259
add_licence_header(0)
5360
_update_repository(mode, is_new_version, version, current_branch)
5461
if is_new_version:
55-
_generate_spdx_reports()
62+
_generate_spdx_reports(spdx_project)
5663
_release_to_pypi()
5764

5865

@@ -73,6 +80,14 @@ def _update_documentation() -> None:
7380
generate_documentation(docs_dir, module_to_document)
7481

7582

83+
def _update_licensing_summary() -> SpdxProject:
84+
project = get_current_spdx_project()
85+
project.generate_licensing_summary(
86+
Path(configuration.get_value(ConfigurationVariable.DOCUMENTATION_PRODUCTION_OUTPUT_PATH))
87+
)
88+
return project
89+
90+
7691
def _update_repository(mode: CommitType, is_new_version: bool, version: str, current_branch: Optional[str]) -> None:
7792
"""Update repository with changes that happened."""
7893
with ProjectTempClone(desired_branch_name=current_branch) as git:
@@ -87,12 +102,12 @@ def _update_repository(mode: CommitType, is_new_version: bool, version: str, cur
87102
git.force_push_tag()
88103

89104

90-
def _generate_spdx_reports() -> None:
105+
def _generate_spdx_reports(project: SpdxProject) -> None:
91106
report_directory = Path(configuration.get_value(ConfigurationVariable.PROJECT_ROOT)).joinpath(
92107
SPDX_REPORTS_DIRECTORY
93108
)
94109
report_directory.mkdir(exist_ok=True)
95-
generate_spdx_reports(report_directory)
110+
generate_spdx_project_reports(project, report_directory)
96111

97112

98113
def _add_version_changes(git: GitWrapper) -> None:

news/20200423.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add licensing summary to docs.

0 commit comments

Comments
 (0)