-
Notifications
You must be signed in to change notification settings - Fork 120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compile avoidance #285
Comments
This issue is only considered in the context of 2.0 as it is to complex to fix on the 1.5 (soon to be maintenance) branch. There are a number of items that will affect rerunning of the task and document generation. It is worth listing them out first:
Consider now this asciidoctorPdf {
sources {
include 'a.adoc'
include 'b.adoc'
}
resources {
include 'images/**'
}
// The following block is implicit for the PDF plugin, but
// shown here for context
secondarySources {
include '*-theme.y*ml'
}
inputs.dir 'some/src/directory'
} In simplified terms this issue concerns itself with Taking the above build snippet into consideration, there are a number of resources and theme files associated with both documents. It is possible that this is not the case as some images might only be used in one of the documents, but not the other. In a similar fashion there might be multiple theme files, maybe one each for Thus it means that we now have the following build avoidance algorithm to implement:
In terms of implementation:
Bonus items:
|
We have a repository with many reports, each of which is rendered to a PDF document.
There is a buildAll task which will create all reports, but this task does not check if the artefact (i.e. PDF file) already exists.
It would be great if the plugin would check artefacts first before attempting to recreate all PDFs again (since that takes a very long time).
For added credits: the source documents contain 'include' directives for common building blocks of reports. Ideally the check for compile avoidance should check if any of the include files have changed (timestamp) and build documents again that have that dependency.
The text was updated successfully, but these errors were encountered: