build.gradle revision 99a3d3102887d5b4c9c6713cb35d97b478088931
1Properties databindingProperties = new Properties() 2databindingProperties.load(new FileInputStream("${projectDir}/databinding.properties")) 3databindingProperties.mavenRepoDir = "${projectDir}/${databindingProperties.mavenRepoName}" 4ext.config = databindingProperties 5 6println "local maven repo is ${ext.config.mavenRepoDir}." 7 8new File(ext.config.mavenRepoDir).mkdir() 9subprojects { 10 apply plugin: 'maven' 11 group = config.group 12 version = config.snapshotVersion 13 repositories { 14 mavenCentral() 15 maven { 16 url "file://${config.mavenRepoDir}" 17 } 18 } 19 uploadArchives { 20 repositories { 21 mavenDeployer { 22 repository(url: "file://${config.mavenRepoDir}") 23 } 24 } 25 } 26} 27 28task deleteRepo(type: Delete) { 29 delete "${config.mavenRepoDir}" 30} 31 32def buildExtensionsTask = project.tasks.create "buildExtensionsTask", Exec 33buildExtensionsTask.workingDir file('extensions').getAbsolutePath() 34//on linux 35buildExtensionsTask.commandLine './gradlew' 36buildExtensionsTask.args 'clean', 'uploadArchives', '--info', '--stacktrace' 37buildExtensionsTask.dependsOn subprojects.uploadArchives 38 39file('integration-tests').listFiles().findAll { it.isDirectory() }.each { 40 println("Creating run test task for ${it.getAbsolutePath()}.") 41 def testTask = project.tasks.create "runTestsOf${it.getName().capitalize()}", Exec 42 testTask.workingDir it.getAbsolutePath() 43 //on linux 44 testTask.commandLine './gradlew' 45 testTask.args 'clean', 'connectedCheck', '--info', '--stacktrace' 46 testTask.dependsOn subprojects.uploadArchives 47 testTask.dependsOn buildExtensionsTask 48} 49 50task runIntegrationTests { 51 dependsOn tasks.findAll { task -> task.name.startsWith('runTestsOf') } 52} 53 54task runAllTests { 55 dependsOn runIntegrationTests 56} 57 58allprojects { 59 afterEvaluate { project -> 60 runAllTests.dependsOn project.tasks.findAll {task -> task.name.equals('test')} 61 runAllTests.dependsOn project.tasks.findAll {task -> task.name.equals('connectedCheck')} 62 } 63} 64 65subprojects.uploadArchives.each { it.shouldRunAfter deleteRepo } 66buildExtensionsTask.shouldRunAfter deleteRepo 67tasks['runTestsOfMultiModuleTestApp'].dependsOn tasks['runTestsOfIndependentLibrary'] 68 69 70task rebuildRepo() { 71 dependsOn deleteRepo 72 dependsOn subprojects.uploadArchives 73 dependsOn buildExtensionsTask 74}