oneapi-src / oneapi-src/unified-runtime

Prevent modifying the generated files if generate target fails

Open
#1,090 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
57
Forks
120
Avg merge
1d 14h
Merged PRs (30d)
1

Description

If we tried to run make generate and it fails, it will still generate some files and some files not, it will also not run clang-format on the generated files. This will be shown as some of the files are modified while they only have been regenerated without the new additions that we added and without being formatted. We could maybe enhance this by prevent the regeneration of all the files while also report a meaningful error of what happened.

For example: if we tried running make generate without installing third_party/requirements.txt and so a missing dependency , it will report a failure with:

Failed to generate specification.
'bytes' object has no attribute 'read'

Note: This is one of the missing dependencies error, it could also fail with other errors depending on which packages are missing

Contributor guide

No contributing guide indexed for this repository

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

Start by running make generate and reviewing the generation target, the failure involving third_party/requirements.txt, and the subsequent clang-format step. Trace how partial generated-file changes are left behind; done means a failed generation reports a meaningful error without leaving inconsistent regenerated or unformatted files.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.