74 lines
2.3 KiB
Groovy
74 lines
2.3 KiB
Groovy
Properties databindingProperties = new Properties()
|
|
databindingProperties.load(new FileInputStream("${projectDir}/databinding.properties"))
|
|
databindingProperties.mavenRepoDir = "${projectDir}/${databindingProperties.mavenRepoName}"
|
|
ext.config = databindingProperties
|
|
|
|
println "local maven repo is ${ext.config.mavenRepoDir}."
|
|
|
|
new File(ext.config.mavenRepoDir).mkdir()
|
|
subprojects {
|
|
apply plugin: 'maven'
|
|
group = config.group
|
|
version = config.snapshotVersion
|
|
repositories {
|
|
mavenCentral()
|
|
maven {
|
|
url "file://${config.mavenRepoDir}"
|
|
}
|
|
}
|
|
uploadArchives {
|
|
repositories {
|
|
mavenDeployer {
|
|
repository(url: "file://${config.mavenRepoDir}")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
task deleteRepo(type: Delete) {
|
|
delete "${config.mavenRepoDir}"
|
|
}
|
|
|
|
def buildExtensionsTask = project.tasks.create "buildExtensionsTask", Exec
|
|
buildExtensionsTask.workingDir file('extensions').getAbsolutePath()
|
|
//on linux
|
|
buildExtensionsTask.commandLine './gradlew'
|
|
buildExtensionsTask.args 'clean', 'uploadArchives', '--info', '--stacktrace'
|
|
buildExtensionsTask.dependsOn subprojects.uploadArchives
|
|
|
|
file('integration-tests').listFiles().findAll { it.isDirectory() }.each {
|
|
println("Creating run test task for ${it.getAbsolutePath()}.")
|
|
def testTask = project.tasks.create "runTestsOf${it.getName().capitalize()}", Exec
|
|
testTask.workingDir it.getAbsolutePath()
|
|
//on linux
|
|
testTask.commandLine './gradlew'
|
|
testTask.args 'clean', 'connectedCheck', '--info', '--stacktrace'
|
|
testTask.dependsOn subprojects.uploadArchives
|
|
testTask.dependsOn buildExtensionsTask
|
|
}
|
|
|
|
task runIntegrationTests {
|
|
dependsOn tasks.findAll { task -> task.name.startsWith('runTestsOf') }
|
|
}
|
|
|
|
task runAllTests {
|
|
dependsOn runIntegrationTests
|
|
}
|
|
|
|
allprojects {
|
|
afterEvaluate { project ->
|
|
runAllTests.dependsOn project.tasks.findAll {task -> task.name.equals('test')}
|
|
runAllTests.dependsOn project.tasks.findAll {task -> task.name.equals('connectedCheck')}
|
|
}
|
|
}
|
|
|
|
subprojects.uploadArchives.each { it.shouldRunAfter deleteRepo }
|
|
buildExtensionsTask.shouldRunAfter deleteRepo
|
|
tasks['runTestsOfMultiModuleTestApp'].dependsOn tasks['runTestsOfIndependentLibrary']
|
|
|
|
|
|
task rebuildRepo() {
|
|
dependsOn deleteRepo
|
|
dependsOn subprojects.uploadArchives
|
|
dependsOn buildExtensionsTask
|
|
} |