Commit f84b99157916707e77d8e7632de3b1badcfd488a
1 parent
b8668c65
Enhance maintainer docs with generate_auto_job (fixes #1574)
Thanks to qooxzuub for the suggested update.
Showing
1 changed file
with
11 additions
and
7 deletions
README-maintainer.md
| ... | ... | @@ -443,6 +443,9 @@ Quick reminder: |
| 443 | 443 | * Add an entry to the bottom half of job.yml for the job JSON field |
| 444 | 444 | * Add documentation for the new option to cli.rst |
| 445 | 445 | * Implement the QPDFJob::Config method in QPDFJob_config.cc |
| 446 | +* Pass the build option `-DGENERATE_AUTO_JOB=1` to `cmake` | |
| 447 | + (see [here](https://qpdf.readthedocs.io/en/stable/installation.html#options-for-working-on-qpdf)) | |
| 448 | + or run `generate_auto_job` manually. | |
| 446 | 449 | * Adding new options tables is harder -- see below |
| 447 | 450 | |
| 448 | 451 | QPDFJob is documented in three places: |
| ... | ... | @@ -458,13 +461,14 @@ QPDFJob is documented in three places: |
| 458 | 461 | |
| 459 | 462 | Command-line arguments are closely coupled with QPDFJob. To add a new |
| 460 | 463 | command-line argument, add the option to the appropriate table in |
| 461 | -job.yml. This will automatically declare a method in the private | |
| 462 | -ArgParser class in QPDFJob_argv.cc which you have to implement. The | |
| 463 | -implementation should make calls to methods in QPDFJob via its Config | |
| 464 | -classes. Then, add the same option to either the no-json section of | |
| 465 | -job.yml if it is to be excluded from the job json structure, or add it | |
| 466 | -under the json structure to the place where it should appear in the | |
| 467 | -json structure. | |
| 464 | +job.yml. After `generate_auto_job` is run (either manually or as part | |
| 465 | +of the build process, when `GENERATE_AUTO_JOB` is set), this will | |
| 466 | +automatically declare a method in the private ArgParser class in | |
| 467 | +QPDFJob_argv.cc which you have to implement. The implementation should | |
| 468 | +make calls to methods in QPDFJob via its Config classes. Then, add the | |
| 469 | +same option to either the no-json section of job.yml if it is to be | |
| 470 | +excluded from the job json structure, or add it under the json | |
| 471 | +structure to the place where it should appear in the json structure. | |
| 468 | 472 | |
| 469 | 473 | In most cases, adding a new option will automatically declare and call |
| 470 | 474 | the appropriate Config method, which you then have to implement. If | ... | ... |