oracle / oracle/macaron

[Feature Request] - [Improve buildspec generation and error handling for missing metadata]

Open
#1,353 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

build_spec_generation enhancement feature
Dominant language
Python
Stars
210
Forks
36
Avg merge
1d 10h
Merged PRs (30d)
2

Description

Description

Currently, Macaron does not generate a buildspec when required metadata such as repository URL, commit, or build tool cannot be determined. This makes it difficult to diagnose issues and reduces visibility into partial analysis results.

Proposed Feature
  • Always generate a buildspec (or alternative output): Even when critical fields (repo URL, commit, build tool) are missing, Macaron should still generate a buildspec (or a separate diagnostic file) with available information.
  • Record errors explicitly: Instead of failing silently, errors should be captured and included in the generated output (e.g., in the buildspec or a companion file). This will help users understand what went wrong.
  • Pre-check package availability: Before attempting to resolve the repository or commit, Macaron should first verify whether the specified package version exists in the public repository (e.g., Maven Central, npm, etc.).
  • Improved error reporting for missing packages: If the package version is not found, record a clear and specific error in the buildspec (or diagnostic output), rather than proceeding with repository/commit resolution.
Note

One example highlighting the importance of a “pre-check package availability” step is the following: for the incorrect vllm purl pkg:pypi/vllm@0.11, we fall back to default values for fields such as "has_binaries": false, which is incorrect. This indicates a need to define how we populate fields that depend on package availability. For comparison, the correct reference is pkg:pypi/vllm@0.11.0.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names Macaron’s buildspec generation, metadata resolution, and package-availability checks but no files or tests. Start by tracing those entry points and existing handling for missing repository URLs, commits, build tools, and invalid package versions; done means a partial buildspec or diagnostic output records available data and explicit errors without silently applying misleading defaults.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.