There isn't a better way but we're doing a lot of work in dependency
management so we should improve this soon.

On Tue, Dec 30, 2014 at 1:17 PM, <jared.blunt...@usaa.com> wrote:

> I think I would prefer a strategy that uses the same-named build type, if
> it exists, else use the library's defaultPublishConfig...  As is, we
> followed the mapping route (if I understand your post correctly), with
> type-specific dependencies in our app build.gradle.  With our custom build
> type of preview, this is what we ended up with:
>
> dependencies {
>     debugCompile project(path: ':myLib', configuration: 'debug')
>     previewCompile project(path: ':myLib', configuration: 'preview')
>     releaseCompile project(path: ':myLib', configuration: 'release')
>
>     compile (
>        'com.foo:extLib1:1.0'
>        'com.bar:extLib2:1.0'
>     )
>
> }
>
> Even with this, we had to set 'publishNonDefault true' in our library's
> build.gradle to make Studio happy, which causes any build of any type of
> our app to check on all build types of our library; most of the time,
> everything's up to date, but it seems unnecessary.  Is there a better way?
>
>
>
> On Saturday, May 4, 2013 12:27:40 PM UTC-5, Xavier Ducrohet wrote:
>>
>> The library thing is normal. For now.
>>
>> For library project, "debug" and "release" are misnomer really (as I was
>> preparing my I/O talk, I really wanted to rename them for 0.4, but so far I
>> haven't)
>>
>> "debug" is used only for testing the library itself (so the test apk
>> inside the library project uses this), and "release" is used to package the
>> library for use by other projects (in a multi-project setup) or for upload
>> to a repository.
>>
>> I think once we add NDK support we're going to want to change this and
>> have possibly more than 2 built-in Build Types in Library Projects, but we
>> have to figure out exactly what it's going to look like.
>>
>> For instance, do we enforce that Library Projects have exactly matching
>> Build Types (in name) as the App Projects using them? This could become
>> overly complex every time you add a new build type to your app, as you'd
>> need to update all the Library Projects.
>>
>> Or we could have some mapping in the App project indicating (for each
>> Build Type of the app!) which Build Type to use (for each library!). This
>> could become unwieldy if you have many libraries (some developers have told
>> me they were using 10, 20 library projects!).
>>
>> Ideas welcome.
>>
>> I'll check the assemble->bundleRelease extra dependency on Monday.
>>
>> thanks
>> Xav
>>
>>
>> On Sat, May 4, 2013 at 9:22 AM, Szabolcs Berecz <szabolc...@gmail.com>
>> wrote:
>>
>>> Hi!
>>>
>>> I just noticed that assembleDebug creates an apk which contains the
>>> release version of android-library projects, not the debug version. The
>>> debug versions are also compiled for these library projects but only after
>>> creating the apk, so there is no way to include the debug version of the
>>> libraries in the apk.
>>>
>>> Is this intentional? Or maybe my build scripts are broken?
>>>
>>> I created a graph of the dependencies between all the tasks in my build
>>> and this is what I see:
>>> - in an 'android' project, the prepareReleaseDependencies and the
>>> prepareDebugDependencies tasks depend on the same prepare*Library tasks
>>> which in turn depend on bundleRelease tasks
>>> - bundleDebug tasks are only depended on by assembleDebug which are only
>>> depended on by assemble. So, nothing uses the results of a debug build of
>>> an android-library project. Or if something uses it, it does not show in
>>> the task dependencies.
>>>
>>> I also noticed that there is an unnecessary dependency between assemble
>>> and bundleRelease. Assemble also depends on assembleRelease which depends
>>> on bundleRelease, therefore the assemble->bundleRelease dependency is
>>> unnecessary.
>>>
>>> I can minimize my build if that helps. Let me know if you need it.
>>>
>>> Thanks,
>>> Szabolcs
>>>
>>> --
>>> 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 adt-dev+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>>
>>>
>>
>>
>>
>> --
>> 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 adt-dev+unsubscr...@googlegroups.com.
> 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 the Google Groups 
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adt-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to