Using the internal class directly works for now. I'll just follow the issue for an official solution.
Thanks for the guidance. On Fri, May 16, 2014 at 2:53 PM, Jake Wharton <[email protected]> wrote: > Same problem: > > Cannot cast object 'DefaultSigningConfig{...}' with class > 'com.android.builder.signing.DefaultSigningConfig' to class > 'com.android.build.gradle.internal.dsl.SigningConfigDsl' > > I couldn’t get the fancy initialization to work so I resorted to: > > def signingDebug = new DefaultSigningConfig('debug') > signingDebug.storeFile = file('common/debug.keystore') > signingDebug.storePassword = 'password' > signingDebug.storeType = 'PKCS12' > signingDebug.keyAlias = 'debug' > signingDebug.keyPassword = 'password' > > def signingDogfood = new DefaultSigningConfig('dogfood') > signingDogfood.storeFile = file('common/dogfood.keystore') > signingDogfood.storePassword = 'password' > signingDogfood.keyAlias = 'dogfood' > signingDogfood.keyPassword = 'password' > > ext { > androidPlugin = 'com.android.tools.build:gradle:0.10.+' > compileSdkVersion = 19 > buildToolsVersion = '19.1.0' > > signing = [ > debug: signingDebug, > dogfood: signingDogfood > ] > } > > > > On Fri, May 16, 2014 at 11:11 AM, Xavier Ducrohet <[email protected]> wrote: > >> https://code.google.com/p/android/issues/detail?id=69734 >> >> >> On Fri, May 16, 2014 at 11:09 AM, Xavier Ducrohet <[email protected]>wrote: >> >>> I think you'd have to do: >>> >>> import com.android.builder.signing.DefaultSigningConfig >>> >>> ext { >>> debugSigning = new DefaultSigningConfig('debug') { >>> storeFile = file('common/debug.keystore') >>> storePassword = "password" >>> storeType = "PKCS12" >>> keyAlias = "debug" >>> keyPassword = "password", >>> } >>> //... same for release. >>> } >>> >>> then in your projects you can do >>> >>> android { >>> buildTypes { >>> debug { >>> signingConfig rootProject.ext.debugSigning >>> } >>> } >>> } >>> >>> This may or no be applicable to buildTypes/Flavors. I'd have to see how >>> we can better support this use-case which seem very useful when you have a >>> lot of modules. >>> >>> >>> >>> >>> On Fri, May 16, 2014 at 9:51 AM, Jake Wharton <[email protected]>wrote: >>> >>>> I’m trying to share parts of the configuration across multiple child >>>> projects using the ‘ext’ map. For simple types it works, but I can seem to >>>> share complex objects. >>>> >>>> For example, the signing configuration is something that I don’t want >>>> to have to specify in every project. I’ve tried all combinations of object >>>> configuration but none seem to work: >>>> >>>> ext { >>>> androidPlugin = 'com.android.tools.build:gradle:0.10.+' >>>> compileSdkVersion = 19 >>>> buildToolsVersion = '19.1.0' >>>> >>>> signing = [ >>>> debug: [ >>>> storeFile: file('common/debug.keystore'), >>>> storePassword: "password", >>>> storeType: "PKCS12", >>>> keyAlias: "debug", >>>> keyPassword: "password", >>>> ] as com.android.builder.model.SigningConfig, >>>> >>>> dogfood: [ >>>> storeFile: file('common/dogfood.keystore'), >>>> storePassword: "password", >>>> keyAlias: "dogfood", >>>> keyPassword: "password", >>>> ] as com.android.builder.model.SigningConfig, >>>> ] >>>> } >>>> >>>> This particular one complains upon use with: >>>> >>>> Cannot cast object '{...}' with class 'com.sun.proxy.$Proxy29' to class >>>> 'com.android.build.gradle.internal.dsl.SigningConfigDsl' >>>> >>>> I tried using the internal DSL type directly just for kicks but it also >>>> ends up failing. >>>> >>>> Is there a good way to share things like signing configs, build types, >>>> etc. in the root for reference by child projects? >>>> >>>> -- >>>> 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! >>> >> >> >> >> -- >> 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 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. >> > > -- 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.
