Skip to content

feat: support explicit main component metadata without pyproject.toml - #1121

Draft
abhijit24learning wants to merge 1 commit into
CycloneDX:mainfrom
abhijit24learning:feat/explicit-main-component-metadata-no-pyproject
Draft

abhijit24learning wants to merge 1 commit into
CycloneDX:mainfrom
abhijit24learning:feat/explicit-main-component-metadata-no-pyproject

Conversation

@abhijit24learning

Copy link
Copy Markdown

Description

Add support for explicitly setting main/root component metadata from the CLI when pyproject.toml is not available.

This PR introduces:

  • --mc-name
  • --mc-version

and keeps existing behavior for:

  • --mc-type
  • --pyproject

The new options are supported for both requirements and environment and complement --pyproject rather than replacing it. If --pyproject is provided, its metadata is used as the base and CLI values override it when explicitly set. If no pyproject.toml is present, CLI-provided metadata can still be used to populate metadata.component.

This closes the gap for legacy or minimal Python projects that still need a valid top-level SBOM component but do not define project metadata in pyproject.toml.

Resolves or fixes issue: #1105

AI Tool Disclosure

  • [ x ] My contribution does not include any AI-generated content
  • My contribution includes AI-generated content, as disclosed below:
    • AI Tools: [e.g. GitHub CoPilot, ChatGPT, JetBrains Junie etc.]
    • LLMs and versions: [e.g. GPT-4.1, Claude Haiku 4.5, Gemini 2.5 Pro etc.]
    • Prompts: [Summarize the key prompts or instructions given to the AI tools]

Affirmation

Add CLI support for setting the root/main component metadata directly when pyproject.toml is not available.
add --mc-name and --mc-version support
keep --mc-type and --pyproject behavior intact
prefer CLI overrides when explicitly provided
support requirements and environment subcommands
add unit tests for precedence and edge cases

Signed-off-by: Abhijit Patil <abhijitpatil@siemens.com>
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 7 complexity · 0 duplication

Metric Results
Complexity ✅ 7 (≤ 20 complexity)
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant