Действия GitHub: Gradle JavaExec с зависимостью от вывода сборки

Я пытаюсь запустить основной метод класса в своем проекте как задачу Gradle. Предостережение заключается в том, что этот класс зависит от класса, созданного другой задачей (Netflix DGSgenerateJava).

Я предполагаю, что это должно быть так же просто, как добавление:

      task printJsonSchema(type: JavaExec) {
    dependsOn generateJava
    group = "Execution"
    description = "Run schema printer task"
    classpath = sourceSets.main.runtimeClasspath
    mainClass = 'com.company.xyz_api.utils.JsonSchemaGenerator'
}

И эта задача работает нормально, когда я запускаю ее локально, но отказывается работать из действий GitHub, что приводит к сбою на этапе компиляции.

Журналы действий Github: (я пытался исключить весь мусор, но дайте мне знать, если этого недостаточно, и я могу попытаться прикрепить полный журнал)

      Run ./gradlew printJsonSchema
...
> Task :xyz-api:generateJava
...
Build cache key for task ':xyz-api:generateJava' is eb70be25b6f69b5bd5dae98232698061
Task ':xyz-api:generateJava' is not up-to-date because:
  No history is available.
...
Stored cache entry for task ':xyz-api:generateJava' with cache key eb70be25b6f69b5bd5dae98232698061
...
:xyz-api:generateJava (Thread[included builds,5,main]) completed. Took 7.043 secs.
...
:xyz-api:compileJava (Thread[included builds,5,main]) started.
...
Build cache key for task ':xyz-api:compileJava' is 677850935e99c0573c6d0134967c67e2
Task ':xyz-api:compileJava' is not up-to-date because:
  No history is available.
The input changes require a full rebuild for incremental task ':xyz-api:compileJava'.
...
:xyz-api:compileJava (Thread[included builds,5,main]) completed. Took 55.844 secs.
import com.company.gen.xyzapi.types.DealInternal;
                                        ^
1 error
13 warnings

Одна из вещей, которые я пробовал, - это попытаться включить папку сборки в путь к классам для задачи, но, похоже, это не связано с ошибкой компиляции Java.

      classpath = sourceSets.main.runtimeClasspath + files("xyz-api/build/generated/sources/dgs-codegen/com/company/gen/types")

действие:

      name: Run Gradle Task

on: [push]

jobs:
  gradle:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Use JDK 17
        uses: actions/setup-java@v3
        with:
          distribution: 'temurin'
          java-version: 17
      - name: Run Gradle Task
        run: ./gradlew printJsonSchema
      - name: Store Schema File as ENV VAR
        id: generate_output_file
        run: |
          schema_json=$(cat xyz-api/schema.json)
          echo "$schema_json"  >> $GITHUB_OUTPUT

0 ответов

Другие вопросы по тегам