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 {
|
plugins {
|
||||||
id 'java-library'
|
id 'brouter.library-conventions'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':brouter-util')
|
implementation project(':brouter-util')
|
||||||
testImplementation 'junit:junit:4.13.1'
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
plugins {
|
plugins {
|
||||||
id 'java-library'
|
id 'brouter.library-conventions'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@ -7,7 +7,6 @@ dependencies {
|
||||||
implementation project(':brouter-util')
|
implementation project(':brouter-util')
|
||||||
implementation project(':brouter-expressions')
|
implementation project(':brouter-expressions')
|
||||||
implementation project(':brouter-codec')
|
implementation project(':brouter-codec')
|
||||||
testImplementation 'junit:junit:4.13.2'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MapcreatorTest generates segments which are used in tests
|
// MapcreatorTest generates segments which are used in tests
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
plugins {
|
plugins {
|
||||||
id 'java-library'
|
id 'brouter.library-conventions'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':brouter-util')
|
implementation project(':brouter-util')
|
||||||
implementation project(':brouter-codec')
|
implementation project(':brouter-codec')
|
||||||
testImplementation 'junit:junit:4.13.1'
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
plugins {
|
plugins {
|
||||||
id 'java-library'
|
id 'brouter.application-conventions'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@ -8,6 +8,4 @@ dependencies {
|
||||||
implementation project(':brouter-expressions')
|
implementation project(':brouter-expressions')
|
||||||
|
|
||||||
implementation group: 'org.openstreetmap.osmosis', name: 'osmosis-osm-binary', version: '0.48.3'
|
implementation group: 'org.openstreetmap.osmosis', name: 'osmosis-osm-binary', version: '0.48.3'
|
||||||
|
|
||||||
testImplementation('junit:junit:4.13.1')
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
plugins {
|
plugins {
|
||||||
id 'java-library'
|
id 'brouter.library-conventions'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':brouter-util')
|
implementation project(':brouter-util')
|
||||||
implementation project(':brouter-codec')
|
implementation project(':brouter-codec')
|
||||||
implementation project(':brouter-expressions')
|
implementation project(':brouter-expressions')
|
||||||
testImplementation 'junit:junit:4.13.2'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MapcreatorTest generates segments which are used in tests
|
// MapcreatorTest generates segments which are used in tests
|
||||||
|
|
|
@ -2,6 +2,8 @@ import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'com.android.application'
|
id 'com.android.application'
|
||||||
|
id 'checkstyle'
|
||||||
|
id 'brouter.version-conventions'
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
@ -88,6 +90,11 @@ android {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
|
google()
|
||||||
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||||
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
||||||
|
|
|
@ -1,13 +1,10 @@
|
||||||
plugins {
|
plugins {
|
||||||
id 'application'
|
id 'brouter.application-conventions'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
application {
|
application {
|
||||||
mainClass.set('btools.server.BRouter')
|
mainClass.set('btools.server.BRouter')
|
||||||
|
|
||||||
distTar.enabled = false
|
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
manifest {
|
manifest {
|
||||||
attributes "Main-Class": getMainClass(), "Implementation-Version": project.version
|
attributes "Main-Class": getMainClass(), "Implementation-Version": project.version
|
||||||
|
@ -78,6 +75,5 @@ dependencies {
|
||||||
implementation project(':brouter-mapaccess')
|
implementation project(':brouter-mapaccess')
|
||||||
implementation project(':brouter-util')
|
implementation project(':brouter-util')
|
||||||
|
|
||||||
testImplementation 'junit:junit:4.13.2'
|
|
||||||
testImplementation 'org.json:json:20180813'
|
testImplementation 'org.json:json:20180813'
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
plugins {
|
plugins {
|
||||||
id 'java-library'
|
id 'brouter.library-conventions'
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
testImplementation('junit:junit:4.13.1')
|
|
||||||
}
|
}
|
||||||
|
|
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.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
google()
|
google()
|
||||||
|
@ -9,57 +8,11 @@ buildscript {
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:8.3.1'
|
classpath 'com.android.tools.build:gradle:8.3.1'
|
||||||
|
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
// in the individual module build.gradle files
|
// 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) {
|
task clean(type: Delete) {
|
||||||
delete rootProject.buildDir
|
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'
|
|
@ -1,7 +1,7 @@
|
||||||
rootProject.name='brouter'
|
rootProject.name='brouter'
|
||||||
if (file('local.properties').exists()) {
|
if (file('local.properties').exists()) {
|
||||||
include ':brouter-routing-app'
|
include ':brouter-routing-app'
|
||||||
} else {
|
} else {
|
||||||
println "Note: To include Android app add 'local.properties' with 'sdk.dir=...' "
|
println "Note: To include Android app add 'local.properties' with 'sdk.dir=...' "
|
||||||
}
|
}
|
||||||
include ':brouter-mapaccess', ':brouter-core', ':brouter-util', ':brouter-expressions', ':brouter-codec', ':brouter-map-creator', ':brouter-server'
|
include ':brouter-mapaccess', ':brouter-core', ':brouter-util', ':brouter-expressions', ':brouter-codec', ':brouter-map-creator', ':brouter-server'
|
||||||
|
|
Loading…
Reference in a new issue