Initial problem: https://groups.google.com/forum/#!topic/adt-dev/kUwRYjW0MO8

Every developer who tried to setup build of Android project on the CI or on 
a new developer machine knows that managing Android SDK dependencies is a 
complicated and sad process, especially on the CI.

"android" app that you can launch from the CLI with "--no-ui" has 
complicated set of arguments and each time you have to google how to make 
it download what you want to download.

Previously we used shared system environment on the CI and all projects 
used same Android SDK installation so we had to update it once for all 
projects.
But last few years container technologies like LXC (Docker) proved that 
isolated system environment is a great solution for CI and other tasks.
A lot of CI services like Travis CI, CircleCi and others require us to 
download Android SDK dependencies for each build.
And the problem is that each service has its own wrapper over Android SDK 
Manager to figure out how to download required versions of dependencies for 
the project, potentially, each change in build.gradle can break the build 
because you may need to download something from Android SDK Manager. 

*Can you please resolve Android SDK dependencies required for the project 
via Android Gradle Plugin?*

It'll save tons of developers' time on setting up CI environment in 
thousands of projects all over the world. Also, when somebody in team 
changes build-tools/etc in the project other members has to update their 
dependencies when they see that build is no more buildable, that's 
frustrating (though AS now tries to automate it).

Yes, there is a licence that you have to agree with each time, but, you can 
require manual { agreeWithLicence true} or something like this because 
basically it's the same kind of checkbox in the UI. 
And of course, nobody does it manually on the CI. Even if Android Gradle 
Plugin will prompt to answer "yes" in the CLI/Android Studio when some 
dependency needs to be updated but will manage downloading dependencies 
itself it would be fantastic (will just add a workaround to automate "yes" 
for the CI).

// There is sdk-manager-plugin 
<https://github.com/JakeWharton/sdk-manager-plugin> from Jake, but it's not 
maintained for a long time and it can not download some of the dependencies 
for different reasons.

-- 
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.

Reply via email to