Действия 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