Avoid copying files in gtkdoc documentation generation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 6.6k
- Forks
- 1.9k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 33
Description
I have recently been working on adding support for using generated files as content files (#2806) as it was needed for `NetworkManager`. This has led to another issue (#2831) because the install script does not trigger the building of those generated files, so I have been trying to handle dependencies with `ninja`.
However, another issue has arisen recently (please take a look at the at this [comment](https://github.com/mesonbuild/meson/pull/2806#issuecomment-356875939) and the followings), and I have [come to the conclusion](https://github.com/mesonbuild/meson/pull/2806#issuecomment-356990605) that copying files might cause different problems:
* The [`gtkdochelper`](https://github.com/mesonbuild/meson/blob/master/mesonbuild/scripts/gtkdochelper.py#L88) might generate collisions when copying files that have already been generated in the build directory.
* It might also cause problems when handling those generated dependencies because, they are handled simply by being present in the build dir, and the fact that there isn't any link between them in the meson build files makes `ninja` not to handle dependencies properly.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with mesonbuild/scripts/gtkdochelper.py, especially the file-copying path referenced in the issue, and review the linked discussion around generated content files and Ninja dependencies. Done means gtkdoc generation avoids collisions from copying generated files and preserves correct dependency handling for those files.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, documentation
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100