Skip to content

Commit

Permalink
Add gradle task to register service providers
Browse files Browse the repository at this point in the history
  • Loading branch information
avazirna committed Dec 7, 2023
1 parent 8609871 commit 58e9550
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 9 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,5 @@ app/libs/javarosa-libraries.jar
build/
**/*~
app/google-services.json
app/fabric.properties
app/fabric.properties
app/src/META-INF/
32 changes: 25 additions & 7 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -161,17 +161,21 @@ ext {
HQ_API_PASSWORD = project.properties['HQ_API_PASSWORD'] ?: ""
TEST_BUILD_TYPE = project.properties['TEST_BUILD_TYPE'] ?: "debug"
FIREBASE_DATABASE_URL = project.properties['FIREBASE_DATABASE_URL'] ?: ""

// properties related to Service providers
SERVICE_PROVIDERS = ["org.commcare.util.IEncryptionKeyProvider" : "org.commcare.utils.EncryptionKeyProvider"]
SERVICE_PROVIDERS_REL_DIR = "META-INF/services"
}

afterEvaluate {
// Hack to get assets to show up in robolectric tests; try to eventually remove this
preCommcareDebugUnitTestBuild.dependsOn mergeCommcareDebugAssets
processStandaloneDebugGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile
processStandaloneReleaseGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile
processLtsDebugGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile
processLtsReleaseGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile
processCommcareDebugGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile
processCommcareReleaseGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile
preCommcareDebugUnitTestBuild.dependsOn mergeCommcareDebugAssets, registerServiceProviders
processStandaloneDebugGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile, registerServiceProviders
processStandaloneReleaseGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile, registerServiceProviders
processLtsDebugGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile, registerServiceProviders
processLtsReleaseGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile, registerServiceProviders
processCommcareDebugGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile, registerServiceProviders
processCommcareReleaseGoogleServices.dependsOn injectPropertiesIntoFirebaseConfigFile, registerServiceProviders
}

/**
Expand Down Expand Up @@ -632,3 +636,17 @@ downloadLicenses {
includeProjectDependencies = true
dependencyConfiguration = 'compile'
}

task registerServiceProviders {
doLast {
def servProvAbsPath = android.sourceSets.main.java.srcDirs[0].path + File.separator + project.ext.SERVICE_PROVIDERS_REL_DIR
project.ext.SERVICE_PROVIDERS.each { servProv ->
println(servProvAbsPath + File.separator + "$servProv.key")
def file = new File(servProvAbsPath + File.separator + "$servProv.key")
if(!file.getParentFile().exists()) {
file.getParentFile().mkdirs()
}
file.write("$entry.value")
}
}
}

This file was deleted.

0 comments on commit 58e9550

Please sign in to comment.