impossibl / pgjdbc-ng

A new JDBC driver for PostgreSQL aimed at supporting the advanced features of JDBC and Postgres
https://impossibl.github.io/pgjdbc-ng
Other
596 stars 108 forks source link

Fix doc task dependencies #602

Closed davidwheeler123 closed 1 month ago

davidwheeler123 commented 1 month ago

The documentation project is failing with a gradle error

BUILD FAILED in 1m 2s
Error: Some problems were found with the configuration of task ':documentation:gitPublishCopy' (type 'Copy').
  - Gradle detected a problem with the following location: '/home/runner/work/pgjdbc-ng/pgjdbc-ng/documentation/build/docs/html5'.

    Reason: Task ':documentation:gitPublishCopy' uses this output of task ':documentation:asciidoctor' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

    Possible solutions:
      1. Declare task ':documentation:asciidoctor' as an input of ':documentation:gitPublishCopy'.
      2. Declare an explicit dependency on ':documentation:asciidoctor' from ':documentation:gitPublishCopy' using Task#dependsOn.
      3. Declare an explicit dependency on ':documentation:asciidoctor' from ':documentation:gitPublishCopy' using Task#mustRunAfter.

    For more information, please refer to https://docs.gradle.org/8.4/userguide/validation_problems.html#implicit_dependency in the Gradle documentation.
  - Gradle detected a problem with the following location: '/home/runner/work/pgjdbc-ng/pgjdbc-ng/documentation/build/javadoc'.

    Reason: Task ':documentation:gitPublishCopy' uses this output of task ':documentation:aggregateJavadocs' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

    Possible solutions:
      1. Declare task ':documentation:aggregateJavadocs' as an input of ':documentation:gitPublishCopy'.
      2. Declare an explicit dependency on ':documentation:aggregateJavadocs' from ':documentation:gitPublishCopy' using Task#dependsOn.
      3. Declare an explicit dependency on ':documentation:aggregateJavadocs' from ':documentation:gitPublishCopy' using Task#mustRunAfter.

    For more information, please refer to https://docs.gradle.org/8.4/userguide/validation_problems.html#implicit_dependency in the Gradle documentation.

This is likely due to the gradle upgrade recently made.

This PR is applying the "possible solution 1" by making the inputs to gitPublishCopy defined by the tasks themselves, rather than the output directories. This allows Gradle to see the dependencies between the tasks.

kdubb commented 1 month ago

@davidwheeler123 👍