jmartinesp / SwissKnife

A multi-purpose library containing view injection and threading for Android using annotations
Apache License 2.0
254 stars 24 forks source link

Android dsl #7

Closed mariogarcia closed 9 years ago

mariogarcia commented 9 years ago

Hi guys:

I've been building the project using gradle in the command line, and I've noticed that some files in the project have your local configuration. I think those files shouldn't be included in order to allow any dev to build the project.

I also found a bad dependency reference in android-dsl/build.gradle. That project is pointing at :androidapp:SwissKnife instead of just :SwissKnife . I've changed it and now dependency is resolved as expected.


 - compile project(':androidapp:SwissKnife')
 + compile project(':SwissKnife')

Next I removed the .gradle/ dir. Unless you tell me otherwise I think it makes no sense to keep that directory.

Last I would like to ask you something. Have you ever come across a classnotfoundexception during gradle build because it didn't find the class android/support/v4/widget/DrawerLayoutImpl

After all changes I had an error. It has to do with the fact that when executing gradle build after removing all build/ directories. Once I had that error next time I built the project I never had that problem again.

In case you face same error (maybe when deploying on Travis) the following command line worked for me:

gradle generateDebugSources && gradle build

Anyway I've raised an issue in the groovy-gradle plugin in case Cedric Champeau can give me a tip about this problem (https://github.com/melix/groovy-android-gradle-plugin/issues/31).

I keep looking the new features, and are really great, domain classes 'ala' Grails, form handling/validation to say a few, I really like it, good work.

jmartinesp commented 9 years ago

I think the ClassNotFoundException comes from IDEA not including the support library. Are you manually building or using IDEA? If using IDEA, how are your Run configurations, using "Make" or "gradle build"?

Anyways, thanks for the PR, I also think that those files should be generated and not on the git repo.

mariogarcia commented 9 years ago

I'm building manually. In fact when using Intellij, the problem vanishes, mainly because it executes some gradle tasks before actually building the project (generateDebugSources for instance). I think it could be a problem only when using CI like Travis/Jenkins or like me building SwissKnife + android-dsl from the console, and it that moment at least we have the workaround I mentioned.

jmartinesp commented 9 years ago

Ok. I'm merging this :+1:

mariogarcia commented 9 years ago

Great thanks!!!

eugene-kamenev commented 9 years ago

Mario,

Some errors was because of me, I am using android-dsl branch with separate project to create spring rest service along with android app, It is needed to complete my @RestableEntity idea. Sorry for that and thanks for fixing.