group 'io.mifos'

task publishApiToMavenLocal {
    dependsOn gradle.includedBuild('api').task(':publishToMavenLocal')
}

task publishSpiToMavenLocal {
    dependsOn gradle.includedBuild('spi').task(':publishToMavenLocal')
}

task publishServiceToMavenLocal {
    mustRunAfter publishApiToMavenLocal
    mustRunAfter publishSpiToMavenLocal
    dependsOn gradle.includedBuild('service').task(':publishToMavenLocal')
}

task publishComponentTestToMavenLocal {
    mustRunAfter publishApiToMavenLocal
    mustRunAfter publishSpiToMavenLocal
    mustRunAfter publishServiceToMavenLocal
    dependsOn gradle.includedBuild('component-test').task(':publishToMavenLocal')
}

task publishToMavenLocal {
    group 'all'
    dependsOn publishApiToMavenLocal
    dependsOn publishSpiToMavenLocal
    dependsOn publishServiceToMavenLocal
    dependsOn publishComponentTestToMavenLocal
}

task prepareForTest {
    group 'all'
    dependsOn publishToMavenLocal
    dependsOn gradle.includedBuild('component-test').task(':build')
}

task licenseFormat {
    group 'all'
    dependsOn gradle.includedBuild('api').task(':licenseFormat')
    dependsOn gradle.includedBuild('spi').task(':licenseFormat')
    dependsOn gradle.includedBuild('service').task(':licenseFormat')
    dependsOn gradle.includedBuild('component-test').task(':licenseFormat')
}
