Плагин Spotless Gradle не работает в закрытой системе - PullRequest
1 голос
/ 08 октября 2019

Я использую Gradle 5.4.1. Я использую spotless-plugin-gradle 3.25.0.

Мой build.gradle содержит

plugins {
  id 'java'
  id 'eclipse'
  id 'maven-publish'
  id 'com.github.johnrengelman.plugin-shadow' version '2.0.3'
  id 'org.sonarqube' version '2.7.1'
  id 'com.diffplug.gradle.spotless' version '3.25.0'
}

У меня безупречная связь в моей закрытой системе (она не может связаться с Интернетом). Gav для spotless в моем хранилище nexus 'com.diffplug.spotless: spotless-plugin-gradle: 3.25.0'.

Мой файл settings.gradle содержит:

pluginManagement {
  resolutionStrategy {
    eachPlugin {
      if (requested.id.namespace == "org" && requested.id.name == "sonarqube") {
        useModule("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:${requested.version})
      }
      if (requested.id.namespace == "com.github.johnrengelman" && requested.id.name == "plugin-shadow") {
        useModule("com.github.johnrengelman.gradle.plugins:shadow:${requested.version})
      }
      if (requested.id.namespace == "com.diffplug.gradle" && requested.id.name == "spotless") {
        useModule("com.diffplug.spotless:spotless-plugin-gradle:${requested.version})
      }
    }
  }
  repositories {
    maven {
      url "http://nexus:8081/repository/jcenter"
    }
  }
}

КогдаЯ делаю «./gradlew зависимостей» я получаю следующую ошибку:

An exception occurred applying plugin request [id: 'com.diffplug.gradle.spotless' version: '3.25.0', artifact: 'com.diffplug.spotless:spotless-plugin-gradle:3.25.0']
> Failed to apply plugin [id: 'com.diffplug.gradle.spotless']
 > Could not create an instance of type com.diffplug.gradle.spotless.SpotlessExtension
  > Could not generate a decorated class for class com.diffplug.gradle.spotless.SpotlessExtension
   > com/diffplug/spotless/LineEnding

трассировка стека, кажется, не очень помог. Я попробовал старый подход (блок buildscript), но это приводит к той же ошибке. Может кто-то указать, что я делаю не так? В системе, где у меня есть прямой доступ к Интернету (и, следовательно, нет необходимости добавлять какие-либо записи в файл settings.gradle), все работает просто отлично.

1 Ответ

1 голос
/ 25 октября 2019

Бьорн Вестер ударил по гвоздю по голове:

Для меня это выглядит как отсутствующее определение класса. Вы загрузили все зависимости плагина и его оригинальный файл pom?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...