Я работаю над проектом, который требует и запрещает определенные c зависимости. В настоящее время у меня есть автономный плагин Gradle, который имеет необходимые значения и пытается глобально исключить некоторых представителей. По какой-то причине в проекте, где я применяю плагин, я не могу получить доступ к зависимостям, реализованным в плагине Gradle. Я тестировал проект, который реализует плагин через gradle dependencies
, и проверял, указаны ли в дереве требуемые зависимости.
В этом примере мой плагин втягивает group: 'org.slf4j', name:'slf4j-api', transitive: true
, и мне нужно чтобы иметь возможность видеть / знать, что он втягивается как переходный деп в реализующий проект.
плагин Gradle build.gradle :
buildscript {
repositories {
maven { url mainUrl }
}
}
apply plugin: 'java'
apply plugin: 'maven'
repositories {
maven {
url mainUrl
}
}
dependencies {
implementation gradleApi()
// ...
compile(group: 'org.slf4j', name:'slf4j-api', transitive: true)
}
Проект который реализует плагин Gradle build.gradle :
buildscript {
repositories {
maven { url mainUrl
metadataSources {
mavenPom()
artifact()
}
}
}
configurations.all { resolutionStrategy.cacheDynamicVersionsFor 0, 'minutes' }
dependencies {
classpath 'com.gradlepluginpath:gradle-plugin:1.0.+'
}
}
plugins {
id 'java'
}
apply plugin: "gradle-plugin"
sourceCompatibility = 1.8
repositories {
maven{
url mainUrl
}
}
dependencies {
//...
}
После запуска gradle dependencies
, org.slf4j
не отображается в дереве Dep для реализуемого проекта.
Любая помощь приветствуется.
Также существует проблема с неработающим глобальным исключением. С этим блоком в подключаемом модуле gradle build.gradle , log4j
модули все еще отображаются в дереве Dep для реализуемого проекта.
configurations {
classpath {
all*.exclude group: 'org.apache.logging.log4j', module: '*'
}
}