Сбой теста Gradle в CircleCI - Не удалось найти символы для кода, сгенерированного Lombok - PullRequest
0 голосов
/ 27 января 2019

У меня есть приложение Spring Boot с Gradle.Я попытался перейти на Spring Boot 2.1.0.RELEASE.Мне также пришлось обновить Gradel Wrapper до gradle-wrapper.properties следующим образом:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip

Мой код использует Lombok 1.18.2

Локально, мои тесты приложений работают правильно.Тем не менее, сборка CircleCI завершается неудачно, как это.

! / Bin / bash -eo pipefail

тест gradle

Задача: compileJava / home / circleci / repo /src / main / java / guru / springframework / spring5webfluxrest / bootstrap / Bootstrap.java: 31: ошибка: невозможно найти символ categoryRepository.save (Category.builder () ^ symbol: метод builder () расположение: класс Category / home / circleci /repo / src / main / java / guru / springframework / spring5webfluxrest / bootstrap / Bootstrap.java: 34: ошибка: не удается найти символ categoryRepository.save (Category.builder () ^ symbol: метод builder () location: класс Category / home /circleci / repo / src / main / java / гуру / springframework / spring5webfluxrest / bootstrap / Bootstrap.java: 37: ошибка: не удается найти символ categoryRepository.save (Category.builder () ^ символ: метод builder () расположение: класс Категория /home / circleci / repo / src / main / java / гуру / springframework / spring5webfluxrest / bootstrap / Bootstrap.java: 40: ошибка: не удается найти символ categoryRepository.save (Category.builder () ^ символ: методbuilder () расположение: класс Категория /home/circleci/repo/src/main/java/guru/springframework/spring5webfluxrest/bootstrap/Bootstrap.java:43: ошибка: не удается найти символ categoryRepository.save (символ Category.builder () ^: метод builder () расположение: класс Категория /home/circleci/repo/src/main/java/guru/springframework/spring5webfluxrest/bootstrap/Bootstrap.java:48: ошибка: не удается найти символ vendorRepository.save (Vendor.builder ()^ symbol: метод builder () расположение: класс Vendor /home/circleci/repo/src/main/java/guru/springframework/spring5webfluxrest/bootstrap/Bootstrap.java:52: ошибка: не удается найти символ vendorRepository.save (Vendor.builder() ^ символ: сборщик методов () расположение: класс Vendor /home/circleci/repo/src/main/java/guru/springframework/spring5webfluxrest/bootstrap/Bootstrap.java:56: ошибка: не удается найти символ vendorRepository.save (поставщик.builder () ^ символ: метод builder () расположение: класс Vendor / home / circleci / repo / src / main / java / guru / springframework / spring5webfluxrest / bootstrap / Bootstrap.java:60: ошибка: не удается найти символ vendorRepository.save (Vendor.builder () ^ символ: метод построения () местоположение: класс Vendor / home / circleci / repo / src / main / java / guru / springframework / spring5webfluxrest /bootstrap / Bootstrap.java: 64: ошибка: не удается найти символ vendorRepository.save (Vendor.builder () ^ символ: расположение метода метода (): поставщик класса 10 ошибок

Задача: compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or -- 
debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s
1 actionable task: 1 executed
Exited with code 1

Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Что мне помогло, так это добавление «annotationProcessor» в зависимости build.gradle (он также не создавался локально).

dependencies {
   compileOnly 'org.projectlombok:lombok'
   annotationProcessor 'org.projectlombok:lombok'
}
0 голосов
/ 04 февраля 2019

Попробуйте изменить gradle и использовать ./gradlew в разделе steps: в config.yml в качестве шаблона ниже:

version: 2
jobs:
  build:
    docker:
      # specify the version you desire here
      - image: circleci/openjdk:8-jdk

      # Specify service dependencies here if necessary
      # CircleCI maintains a library of pre-built images
      # documented at https://circleci.com/docs/2.0/circleci-images/
      # - image: circleci/postgres:9.4

    working_directory: ~/repo

    environment:
      # Customize the JVM maximum heap limit
      JVM_OPTS: -Xmx3200m
      TERM: dumb

    steps:
      - checkout

      # Download and cache dependencies
      - restore_cache:
          keys:
            - v1-dependencies-{{ checksum "build.gradle" }}
            # fallback to using the latest cache if no exact match is found
            - v1-dependencies-

      - run: ./gradlew dependencies # <-- changed from `gradle dependencies`

      - save_cache:
          paths:
            - ~/.gradle
          key: v1-dependencies-{{ checksum "build.gradle" }}

      # run tests!
      - run: ./gradlew test # <-- changed from `gradle test`
...