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,6 +443,9 @@ Quick reminder: | ||
| 443 | * Add an entry to the bottom half of job.yml for the job JSON field | 443 | * Add an entry to the bottom half of job.yml for the job JSON field |
| 444 | * Add documentation for the new option to cli.rst | 444 | * Add documentation for the new option to cli.rst |
| 445 | * Implement the QPDFJob::Config method in QPDFJob_config.cc | 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 | * Adding new options tables is harder -- see below | 449 | * Adding new options tables is harder -- see below |
| 447 | 450 | ||
| 448 | QPDFJob is documented in three places: | 451 | QPDFJob is documented in three places: |
| @@ -458,13 +461,14 @@ QPDFJob is documented in three places: | @@ -458,13 +461,14 @@ QPDFJob is documented in three places: | ||
| 458 | 461 | ||
| 459 | Command-line arguments are closely coupled with QPDFJob. To add a new | 462 | Command-line arguments are closely coupled with QPDFJob. To add a new |
| 460 | command-line argument, add the option to the appropriate table in | 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 | In most cases, adding a new option will automatically declare and call | 473 | In most cases, adding a new option will automatically declare and call |
| 470 | the appropriate Config method, which you then have to implement. If | 474 | the appropriate Config method, which you then have to implement. If |