Yigit Boyar | e421e29 | 2015-03-13 12:57:48 -0700 | [diff] [blame] | 1 | Properties databindingProperties = new Properties() |
George Mount | 4c5cc00 | 2015-03-12 09:18:12 -0700 | [diff] [blame] | 2 | databindingProperties.load(new FileInputStream("${projectDir}/databinding.properties")) |
Yigit Boyar | e421e29 | 2015-03-13 12:57:48 -0700 | [diff] [blame] | 3 | databindingProperties.mavenRepoDir = "${projectDir}/${databindingProperties.mavenRepoName}" |
Yigit Boyar | ee75867 | 2015-04-16 15:12:02 -0700 | [diff] [blame] | 4 | databindingProperties.prebuildFolder = "${projectDir}/${databindingProperties.prebuildFolderName}" + |
| 5 | "/${databindingProperties.releaseVersion}" |
| 6 | |
Yigit Boyar | e421e29 | 2015-03-13 12:57:48 -0700 | [diff] [blame] | 7 | ext.config = databindingProperties |
| 8 | |
Yigit Boyar | e421e29 | 2015-03-13 12:57:48 -0700 | [diff] [blame] | 9 | println "local maven repo is ${ext.config.mavenRepoDir}." |
Yigit Boyar | ee75867 | 2015-04-16 15:12:02 -0700 | [diff] [blame] | 10 | println "local pre-build folder is ${ext.config.prebuildFolder}." |
Yigit Boyar | e421e29 | 2015-03-13 12:57:48 -0700 | [diff] [blame] | 11 | |
| 12 | new File(ext.config.mavenRepoDir).mkdir() |
Yigit Boyar | ee75867 | 2015-04-16 15:12:02 -0700 | [diff] [blame] | 13 | new File(ext.config.prebuildFolder).mkdir() |
| 14 | |
Yigit Boyar | 840f0ce | 2014-12-12 16:45:00 -0800 | [diff] [blame] | 15 | subprojects { |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 16 | apply plugin: 'maven' |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 17 | group = config.group |
Yigit Boyar | e421e29 | 2015-03-13 12:57:48 -0700 | [diff] [blame] | 18 | version = config.snapshotVersion |
Yigit Boyar | 840f0ce | 2014-12-12 16:45:00 -0800 | [diff] [blame] | 19 | repositories { |
Yigit Boyar | 840f0ce | 2014-12-12 16:45:00 -0800 | [diff] [blame] | 20 | mavenCentral() |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 21 | maven { |
Yigit Boyar | e421e29 | 2015-03-13 12:57:48 -0700 | [diff] [blame] | 22 | url "file://${config.mavenRepoDir}" |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 23 | } |
Yigit Boyar | 840f0ce | 2014-12-12 16:45:00 -0800 | [diff] [blame] | 24 | } |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 25 | uploadArchives { |
| 26 | repositories { |
| 27 | mavenDeployer { |
Yigit Boyar | e421e29 | 2015-03-13 12:57:48 -0700 | [diff] [blame] | 28 | repository(url: "file://${config.mavenRepoDir}") |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 29 | } |
| 30 | } |
| 31 | } |
| 32 | } |
| 33 | |
| 34 | task deleteRepo(type: Delete) { |
Yigit Boyar | e421e29 | 2015-03-13 12:57:48 -0700 | [diff] [blame] | 35 | delete "${config.mavenRepoDir}" |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 36 | } |
| 37 | |
Yigit Boyar | ee75867 | 2015-04-16 15:12:02 -0700 | [diff] [blame] | 38 | task deletePrebuildFolder(type: Delete) { |
| 39 | delete "${config.prebuildFolder}" |
| 40 | } |
| 41 | |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 42 | def buildExtensionsTask = project.tasks.create "buildExtensionsTask", Exec |
| 43 | buildExtensionsTask.workingDir file('extensions').getAbsolutePath() |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 44 | buildExtensionsTask.commandLine './gradlew' |
| 45 | buildExtensionsTask.args 'clean', 'uploadArchives', '--info', '--stacktrace' |
| 46 | buildExtensionsTask.dependsOn subprojects.uploadArchives |
| 47 | |
Yigit Boyar | ee75867 | 2015-04-16 15:12:02 -0700 | [diff] [blame] | 48 | def prepareExtensionPrebuilds = project.tasks.create "prepareExtensionPrebuilds", Exec |
| 49 | prepareExtensionPrebuilds.workingDir file('extensions').getAbsolutePath() |
| 50 | prepareExtensionPrebuilds.commandLine './gradlew' |
| 51 | prepareExtensionPrebuilds.args 'clean', 'preparePrebuilds', '--info', '--stacktrace' |
| 52 | prepareExtensionPrebuilds.dependsOn subprojects.uploadArchives |
| 53 | |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 54 | file('integration-tests').listFiles().findAll { it.isDirectory() }.each { |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 55 | println("Creating run test task for ${it.getAbsolutePath()}.") |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 56 | def testTask = project.tasks.create "runTestsOf${it.getName().capitalize()}", Exec |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 57 | testTask.workingDir it.getAbsolutePath() |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 58 | //on linux |
| 59 | testTask.commandLine './gradlew' |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 60 | testTask.args 'clean', 'connectedCheck', '--info', '--stacktrace' |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 61 | testTask.dependsOn subprojects.uploadArchives |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 62 | testTask.dependsOn buildExtensionsTask |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 63 | } |
| 64 | |
| 65 | task runIntegrationTests { |
| 66 | dependsOn tasks.findAll { task -> task.name.startsWith('runTestsOf') } |
| 67 | } |
| 68 | |
| 69 | task runAllTests { |
| 70 | dependsOn runIntegrationTests |
| 71 | } |
| 72 | |
Yigit Boyar | ee75867 | 2015-04-16 15:12:02 -0700 | [diff] [blame] | 73 | task preparePrebuilds() { |
| 74 | dependsOn deletePrebuildFolder |
| 75 | dependsOn prepareExtensionPrebuilds |
| 76 | } |
| 77 | |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 78 | allprojects { |
| 79 | afterEvaluate { project -> |
| 80 | runAllTests.dependsOn project.tasks.findAll {task -> task.name.equals('test')} |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 81 | runAllTests.dependsOn project.tasks.findAll {task -> task.name.equals('connectedCheck')} |
Yigit Boyar | ee75867 | 2015-04-16 15:12:02 -0700 | [diff] [blame] | 82 | preparePrebuilds.dependsOn project.tasks.findAll {task -> task.name.startsWith('prebuild')} |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 83 | } |
| 84 | } |
| 85 | |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 86 | subprojects.uploadArchives.each { it.shouldRunAfter deleteRepo } |
| 87 | buildExtensionsTask.shouldRunAfter deleteRepo |
Yigit Boyar | 99a3d31 | 2015-03-25 12:46:05 -0700 | [diff] [blame] | 88 | tasks['runTestsOfMultiModuleTestApp'].dependsOn tasks['runTestsOfIndependentLibrary'] |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 89 | |
Yigit Boyar | f9e51c0 | 2015-03-12 14:30:29 -0700 | [diff] [blame] | 90 | |
| 91 | task rebuildRepo() { |
| 92 | dependsOn deleteRepo |
| 93 | dependsOn subprojects.uploadArchives |
Yigit Boyar | a6e4583 | 2015-03-13 15:58:53 -0700 | [diff] [blame] | 94 | dependsOn buildExtensionsTask |
Yigit Boyar | ee75867 | 2015-04-16 15:12:02 -0700 | [diff] [blame] | 95 | } |
| 96 | |