Use conventions instead of cross-project configuration
gradle userguide suggests to avoid allprojects/subprojects and use conventions instead https://docs.gradle.org/current/userguide/sharing_build_logic_between_subprojects.html#sec:convention_plugins_vs_cross_configuration
This commit is contained in:
parent
b8929ab414
commit
5d4065d141
15 changed files with 80 additions and 70 deletions
|
@ -1,8 +1,7 @@
|
|||
plugins {
|
||||
id 'java-library'
|
||||
id 'brouter.library-conventions'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':brouter-util')
|
||||
testImplementation 'junit:junit:4.13.1'
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins {
|
||||
id 'java-library'
|
||||
id 'brouter.library-conventions'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -7,7 +7,6 @@ dependencies {
|
|||
implementation project(':brouter-util')
|
||||
implementation project(':brouter-expressions')
|
||||
implementation project(':brouter-codec')
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
}
|
||||
|
||||
// MapcreatorTest generates segments which are used in tests
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
plugins {
|
||||
id 'java-library'
|
||||
id 'brouter.library-conventions'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':brouter-util')
|
||||
implementation project(':brouter-codec')
|
||||
testImplementation 'junit:junit:4.13.1'
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins {
|
||||
id 'java-library'
|
||||
id 'brouter.application-conventions'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -8,6 +8,4 @@ dependencies {
|
|||
implementation project(':brouter-expressions')
|
||||
|
||||
implementation group: 'org.openstreetmap.osmosis', name: 'osmosis-osm-binary', version: '0.48.3'
|
||||
|
||||
testImplementation('junit:junit:4.13.1')
|
||||
}
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
plugins {
|
||||
id 'java-library'
|
||||
id 'brouter.library-conventions'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':brouter-util')
|
||||
implementation project(':brouter-codec')
|
||||
implementation project(':brouter-expressions')
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
}
|
||||
|
||||
// MapcreatorTest generates segments which are used in tests
|
||||
|
|
|
@ -2,6 +2,8 @@ import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
|
|||
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
id 'checkstyle'
|
||||
id 'brouter.version-conventions'
|
||||
}
|
||||
|
||||
android {
|
||||
|
@ -88,6 +90,11 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
google()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
plugins {
|
||||
id 'application'
|
||||
id 'brouter.application-conventions'
|
||||
}
|
||||
|
||||
|
||||
application {
|
||||
mainClass.set('btools.server.BRouter')
|
||||
|
||||
distTar.enabled = false
|
||||
|
||||
jar {
|
||||
manifest {
|
||||
attributes "Main-Class": getMainClass(), "Implementation-Version": project.version
|
||||
|
@ -78,6 +75,5 @@ dependencies {
|
|||
implementation project(':brouter-mapaccess')
|
||||
implementation project(':brouter-util')
|
||||
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
testImplementation 'org.json:json:20180813'
|
||||
}
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
plugins {
|
||||
id 'java-library'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testImplementation('junit:junit:4.13.1')
|
||||
id 'brouter.library-conventions'
|
||||
}
|
||||
|
|
47
build.gradle
47
build.gradle
|
@ -1,7 +1,6 @@
|
|||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
google()
|
||||
|
@ -9,57 +8,11 @@ buildscript {
|
|||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:8.3.1'
|
||||
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
// NOTE:
|
||||
// there are four places to change the version number
|
||||
// this file
|
||||
// app: build.gradle (versionCode only)
|
||||
// OsmTrack (version and versionDate)
|
||||
// docs revisions.md (version and versionDate)
|
||||
project.version "1.7.3"
|
||||
group 'org.btools'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
google()
|
||||
}
|
||||
|
||||
apply plugin: "maven-publish"
|
||||
publishing {
|
||||
repositories {
|
||||
maven {
|
||||
name = "GitHubPackages"
|
||||
url = uri("https://maven.pkg.github.com/$System.env.REPO")
|
||||
credentials {
|
||||
username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
|
||||
password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
|
||||
}
|
||||
}
|
||||
}
|
||||
publications {
|
||||
gpr(MavenPublication)
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: "checkstyle"
|
||||
apply plugin: "pmd"
|
||||
|
||||
pmd {
|
||||
consoleOutput = true
|
||||
toolVersion = "7.0.0"
|
||||
rulesMinimumPriority = 5
|
||||
ruleSetFiles = files("${rootProject.rootDir}/config/pmd/pmd-ruleset.xml")
|
||||
ruleSets = []
|
||||
// ignoreFailures = true
|
||||
}
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
|
|
3
buildSrc/build.gradle
Normal file
3
buildSrc/build.gradle
Normal file
|
@ -0,0 +1,3 @@
|
|||
plugins {
|
||||
id 'groovy-gradle-plugin'
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
plugins {
|
||||
id 'application'
|
||||
id 'brouter.java-conventions'
|
||||
}
|
||||
|
||||
application {
|
||||
distTar.enabled = false
|
||||
}
|
25
buildSrc/src/main/groovy/brouter.java-conventions.gradle
Normal file
25
buildSrc/src/main/groovy/brouter.java-conventions.gradle
Normal file
|
@ -0,0 +1,25 @@
|
|||
plugins {
|
||||
id 'java'
|
||||
id 'checkstyle'
|
||||
id 'pmd'
|
||||
id 'brouter.version-conventions'
|
||||
}
|
||||
|
||||
group 'org.btools'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
}
|
||||
|
||||
pmd {
|
||||
consoleOutput = true
|
||||
toolVersion = '7.0.0'
|
||||
rulesMinimumPriority = 5
|
||||
ruleSetFiles = files("${rootProject.rootDir}/config/pmd/pmd-ruleset.xml")
|
||||
ruleSets = []
|
||||
// ignoreFailures = true
|
||||
}
|
21
buildSrc/src/main/groovy/brouter.library-conventions.gradle
Normal file
21
buildSrc/src/main/groovy/brouter.library-conventions.gradle
Normal file
|
@ -0,0 +1,21 @@
|
|||
plugins {
|
||||
id 'java-library'
|
||||
id 'maven-publish'
|
||||
id 'brouter.java-conventions'
|
||||
}
|
||||
|
||||
publishing {
|
||||
repositories {
|
||||
maven {
|
||||
name = 'GitHubPackages'
|
||||
url = uri("https://maven.pkg.github.com/$System.env.REPO")
|
||||
credentials {
|
||||
username = project.findProperty('gpr.user') ?: System.getenv('USERNAME')
|
||||
password = project.findProperty('gpr.key') ?: System.getenv('TOKEN')
|
||||
}
|
||||
}
|
||||
}
|
||||
publications {
|
||||
gpr(MavenPublication)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
// NOTE:
|
||||
// there are four places to change the version number
|
||||
// this file
|
||||
// app: build.gradle (versionCode only)
|
||||
// OsmTrack (version and versionDate)
|
||||
// docs revisions.md (version and versionDate)
|
||||
version '1.7.3'
|
Loading…
Reference in a new issue