{"push_id":2651320332,"size":1,"distinct_size":1,"ref":"refs/heads/development-1.6","head":"a3ecd769511e1c8d3824ba046d35fe24c4ba6df9","before":"6f59226c135e41c2b7d6b0ef81f06d7f8e8372a3","commits":[{"sha":"a3ecd769511e1c8d3824ba046d35fe24c4ba6df9","author":{"name":"Schalk W. Cronjé","email":"122166f250afd90b8caef5e42c8f7d02b219c764@gmail.com"},"message":"New generation Asciidoctor Gradle plugins\n\nGeneral:\n- Use 'base' plugin model for Asciidoctor plugins.\n- Only support Gradle 4.0+.\n- Only support JDK8+.\n- For Gradle 4.5+ migration messages are controlled via `--warning-mode`.\n- For Gradle 4.0-4.4 migration messages are controlled via `--info`.\n- Additional text will be displayed on Gradle Plugin Portal for during\n  alpha & beta releases.\n- Compatibility testing has been added and initialy against Gradle\n  versions 4.0, 4.3 & 4.6.\n- Codenarc settings has been updated to find configuration from within\n  subprojects.\n- Updated license headers to include 2018.\n- Integration tests utilises an offline Ivy repository (via Ivypot plugin)\n  to reduce bandwith usage and test time.\n- AsciidoctorJ, GroovyDSL etc. versions are defined in code and read by the\n  build script. This provides one point of definition and ensure that code\n  can have appropriate default versions.\n\nNew generation plugins and tasks:\n- New (JVM) AsciidoctorJ extension can be added to both project & tasks.\n  Extension in task can be used to override global settings from the\n  project extension. It takes into account some of the ideas @manuelprinz\n  had for #231 for is much more extensive.\n- Extension has support for Asciidoctor verbose mode (#233).\n  If `verboseMode` is set then a temporary file will be created and made\n  part of Asciidoctor `requires`.\n- JRuby version can be controlled at both project and task level. If no\n  version is specified at either level, the default JRuby version that\n  AsciidoctorJ depends on will be used.\n- GroovyDSL extensions are now registered eitehr on the project extension\n  or the task extensions. The extensions are only loaded within a worker\n  instance. The asciidoctor task is unloaded at the end of the worker and\n  with it the extensions. (#166)\n- AsciidoctorTask differentitates between top-level sources, secondary\n  sources and resources in order to have a better idea of being\n  out-of-date. (#185)\n- It is possible to control whether resources should be copied or not. This\n  allows a build to better deal with a backend such as PDF, which do not\n  need resources to be copied.\n- It is possible to perform the conversion from an intermediate working\n  directory, which allows for a source directory to be kept pristine from\n  intermediate artifacts generated from extensions such as ditaa.\n- Using a worker approach for running Asciidoctor instances. (#220)\n- Asciidoctor tasks can be configured to run AsciidoctorJ conversions in\n  or out of process. Even when running in process AsciidoctorJ will be on\n  an isolated classpath.\n- Tasks support parallel mode which will run each backend (or in the case\n  of Epub, each output format) in a separate worker. This behevaiour can\n  be turned off in which case only one Asciidoctor instance is used to run\n  all conversions in sequence.\n- For cases where Gradle's idea of supplementing the classpath for workers\n  do fail, there is a special `inProcess = JAVA_EXEC` that will run the\n  conversion out of process, albeit less efficient than an out-of-process\n  worker.\n- Due to Gradle API classpath leakage, builds with Gradle 4.0-4.2 will\n  always run in `JAVA_EXEC` mode to prevent issues.\n- `AsciidoctorJPdf` plugin has been added which adds a single\n  `asciidoctorPdf` task and configures it accordingly to PDF behaviour.\n  It also sets a default version of the `asciidoctorj-pdf` dependency.\n- Backends and separateOutputDirs are configured via an outputOptions\n  closure or action.\n- `AsciidoctorJEpub` plugin has been added which adds a single\n  `asciidoctorEpub` task and configures it accordingly to EPUB behaviour.\n  It also sets a default version of the `asciidoctorj-epub` dependency.\n- Epub output formats can be set via the `ebookFormats` method.\n- Additional Kindlegen plugin which is invoked by EPUB for when the format\n  is KF8. The plugin will bootstrap kindlegen on all supported platforms.\n- Work around https://github.com/gradle/gradle/issues/3698 and Xerces API\n  clash by running EPub conversions using `inProcess = JAVA_EXEC`.\n- All methods on the new task classes that take closures as parameters now\n  also have equivalent Action parameters (#236).\n- All new tasks are supportd by integration tests and compatibility tests. (#180)\n\nKnown issues:\n- Intermittent failsures in tests related to bad file descriptor. Could be\n  similar to asciidoctor/asciidoctorj#442.\n- EPUB3 + KF8 in one task (PendingFeature). Both formats in one task is\n  currently failing. The exact failure message depends on which order\n  (KF8+EPUB3 or EPUB3+KF8) the conversion takes place in.\n\nBackwards compatibility and migration:\n- Legacy code moved to 'org.asciidoctor.gradle.compat' package,\n  but get AsciidoctorTask in same package for compatibility purpose.\n- Renamed AsciidoctorPlugin to AsciidoctorCompatibilityPlugin.\n- Legacy plugin cannot be used with other Asciidoctor plugins within\n  the same project.\n- Existing 1.5.x deprecated methods has been removed from legacy\n  AsciidoctorTask.","distinct":true,"url":"https://api.github.com/repos/ysb33r/asciidoctor-gradle-plugin/commits/a3ecd769511e1c8d3824ba046d35fe24c4ba6df9"}]}
{"actor":{"display_login":"ysb33r"}}