Thanks for the input. applicationVariants.all works great for the proguard task (with a null check ofc). I'm using afterEvaluate to bind fetchFooKeystore to validateFooSigning. I have some logic in a signing plugin to bind the tasks, fetch the keystores, and set up the signing config so I can reuse it across our apps. I assume that's a decent way to do it.
Thanks again for your help. On Tue, Apr 15, 2014 at 5:49 PM, Xavier Ducrohet <[email protected]> wrote: > Those tasks are created after the project evaluation so you can setup your > tasks dependencies in > > afterEvaluate { > } > > but it's probably better to do it for each variants: > > android.applicationVariants.all { variant -> > variant.proguard.dependsOn ... > } > > > On Tue, Apr 15, 2014 at 2:42 PM, Alex Avance <[email protected]> wrote: > >> I'm working with a gradle build for an internal app where the proguard >> and keystore files are hosted on our internal maven server and used across >> multiple apps. >> >> I'm trying to fetch the keystore and proguard files using gradle then >> reference them in the setup, but I'm having issues. See the build.gradle >> below >> >> If I run 'gradle getKeystore getProguard build' everything works, but I >> can't seem to hook them up directly. >> >> I tried using 'proguardRelease.dependsOn getProguard', but it complains >> that it can't find proguardRelease or packageRelease properties on project >> :myproject. >> >> How can I hook up those task dependencies correctly so that it fetches >> the keystore or proguard config before running the related tasks? Are there >> android plugin tasks I can hook up to? >> >> configurations { >> signing >> proguard >> } >> >> dependencies { >> ... >> >> signing 'com.internal:keystore:1.0' >> proguard 'com.internal:proguard:1.0' >> } >> >> task getKeystore(type: Copy) { >> from configurations.signing >> into "$buildDir/keystore" >> rename '.*\\.keystore', 'android.keystore' >> } >> >> task getProguard(type: Copy) { >> from configurations.proguard >> into "$buildDir/proguard" >> rename '.*\\.proguard', 'global.proguard' >> } >> >> android { >> ... >> >> signingConfigs { >> release { >> storeFile file("$buildDir/keystore/android.keystore") >> // keystore password >> } >> } >> >> buildTypes { >> release { >> signingConfig signingConfigs.release >> runProguard true >> proguardFiles 'proguard-project.cfg', >> "$buildDir/proguard/global.proguard" >> } >> } >> >> ... >> } >> >> -- >> You received this message because you are subscribed to the Google Groups >> "adt-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Xavier Ducrohet > Android SDK Tech Lead > Google Inc. > http://developer.android.com | http://tools.android.com > > Please do not send me questions directly. Thanks! > > -- > You received this message because you are subscribed to a topic in the > Google Groups "adt-dev" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/adt-dev/-QpPPu3bsWk/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Alex Avance -- You received this message because you are subscribed to the Google Groups "adt-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
