gradle: перенесены методы в gradle-plugin
This commit is contained in:
59
build.gradle
59
build.gradle
@@ -1,7 +1,44 @@
|
|||||||
|
class FilteringDependenciesExtention {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* example for 'library':
|
||||||
|
* <pre>
|
||||||
|
* [lib: 'org.bukkit:bukkit:1.12.2-R0.1-SNAPSHOT',
|
||||||
|
* exclude: [
|
||||||
|
* 'com.google.code.gson:gson',
|
||||||
|
* 'com.googlecode.json-simple:json-simple'
|
||||||
|
* ]]
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @param library see example
|
||||||
|
*/
|
||||||
|
def filter(library) {
|
||||||
|
Object[] result = new Object[2]
|
||||||
|
result[0] = library.lib
|
||||||
|
result[1] = {
|
||||||
|
library.exclude.each { String excludeLibStr ->
|
||||||
|
String[] excludeLib = excludeLibStr.split(':')
|
||||||
|
exclude group: excludeLib[0], module: excludeLib[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class FilteringDependenciesPlugin implements Plugin<Project> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void apply(Project target) {
|
||||||
|
target.extensions.create('fildep', FilteringDependenciesExtention)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'java'
|
id 'java'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
apply plugin: FilteringDependenciesPlugin
|
||||||
apply from: 'libs.gradle'
|
apply from: 'libs.gradle'
|
||||||
|
|
||||||
def publishScript = file(rootProject.getProjectDir().getPath() + '/publish.gradle')
|
def publishScript = file(rootProject.getProjectDir().getPath() + '/publish.gradle')
|
||||||
@@ -19,35 +56,17 @@ repositories {
|
|||||||
maven { url 'https://dmx-mc-project.gitlab.io/maven-repository/' }
|
maven { url 'https://dmx-mc-project.gitlab.io/maven-repository/' }
|
||||||
}
|
}
|
||||||
|
|
||||||
def compileOnly2(library) {
|
|
||||||
dependencies.compileOnly library.lib, {
|
|
||||||
library.exclude.each { String excludeLibStr ->
|
|
||||||
String[] excludeLib = excludeLibStr.split(':')
|
|
||||||
exclude group: excludeLib[0], module: excludeLib[1]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def testImplementation2(library) {
|
|
||||||
dependencies.testImplementation library.lib, {
|
|
||||||
library.exclude.each { String excludeLibStr ->
|
|
||||||
String[] excludeLib = excludeLibStr.split(':')
|
|
||||||
exclude group: excludeLib[0], module: excludeLib[1]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly libs.lombok
|
compileOnly libs.lombok
|
||||||
annotationProcessor libs.lombok
|
annotationProcessor libs.lombok
|
||||||
|
|
||||||
compileOnly2 libs.bukkit
|
compileOnly fildep.filter(libs.bukkit)
|
||||||
implementation libs.commons_text
|
implementation libs.commons_text
|
||||||
implementation libs.refobj
|
implementation libs.refobj
|
||||||
|
|
||||||
testImplementation libs.test.junit5
|
testImplementation libs.test.junit5
|
||||||
testImplementation libs.test.mock
|
testImplementation libs.test.mock
|
||||||
testImplementation2 libs.bukkit
|
testImplementation fildep.filter(libs.bukkit)
|
||||||
testImplementation libs.test.h2db
|
testImplementation libs.test.h2db
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
ext {
|
ext {
|
||||||
versions = [junit: '5.5.2']
|
versions = [junit: '5.5.2']
|
||||||
|
|
||||||
|
//noinspection GroovyAssignabilityCheck
|
||||||
libs = [
|
libs = [
|
||||||
bukkit : [lib: 'org.bukkit:bukkit:1.12.2-R0.1-SNAPSHOT', exclude: [
|
bukkit : [lib: 'org.bukkit:bukkit:1.12.2-R0.1-SNAPSHOT', exclude: [
|
||||||
'com.google.code.gson:gson',
|
'com.google.code.gson:gson',
|
||||||
|
|||||||
Reference in New Issue
Block a user