Thanks for your input!

On Friday, January 23, 2015 at 7:39:51 PM UTC-8, Grunthos wrote:
>
>
>>    - I keep app projects in separate repositories and *I import my 
>>    custom library modules*
>>       - 
>> *Importing a module creates a copy of the original *
>>       - This means *redundancy* and *code synchronization issues*. I may 
>>       forget to merge back changes I've done to one of the library modules
>>       - Unfortunately this is the "official" solution provided by the 
>>       IntelliJ IDEA documentation 
>>       
>> <https://www.jetbrains.com/idea/help/sharing-android-source-code-and-resources-using-library-projects.html#d806616e254>
>>    
>>
> Is this really so bad, or am I missing something? 
>
> In eclipse I import library projects in their own tree and make changes 
> relating to different projects in different trees. When I view one set of 
> changes is valid/correct/complete, I comit them and import them into my 
> other projects and fix/check/pray as appropriate. I view it as much the 
> same process as incorporating patches from other people. I *assume* this 
> what the IntelliJ approach is...please correct me if I am wrong!
>  
>

That's actually a very good point. I would deliberately allow redundancy to 
guarantee that a library works within an app project. As soon as the 
library is ready for prime time I can merge the changes back to the 
original repository and decide later if I need those changes in other app 
projects. It just makes the OCD part in me cringe a bit :-D 

>
>>    - I set up a *Maven repository for my library modules* and add the 
>>    needed modules as dependencies to my app project
>>       - Very elegant, but...
>>       - Every single tiny change in my library code requires rebuilding 
>>       and deploying the module.
>>       - I also fear that I need to increase the version code / build 
>>       number every single time so the local Maven cache gets updated? I have 
>> no 
>>       experience with this. :-/
>>       
>> Dunno. Don't know Maven, sadly.
>

I'm not sure but I believe this could probably be the ideal solution to 
satisfy my "OCD needs". I would have a central development repository for 
my library modules and add specific versions of them to my app projects. 
With Gradle it's just a matter of adding a dependency statement. That way I 
could also guarantee that my apps do not break when I make changes to my 
libraries without having to duplicate library code. It's just super 
cumbersome when I want to develop locally for a while. So I guess I'd start 
out the way you describe and have library modules as part of the app 
project. When the library is stable I could merge it back to the 
originating repository and create a release build for Maven and add that 
build version as a dependency to the app project.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to