title: Change versionCode using Android Gradle
body: <p>I'm trying to auto increment versionCode in my <code>build.gradle</code>. But it doesn't work. Then I've tried to simply overwrite versionCode, e.g. <code>versionCode 20</code> and still it's not updated. Checked both original <code>AndroidManifest.xml</code> and packaged in apk. </p>
  
  <p>Full <code>build.gradle</code>:</p>
  
  <pre><code>import java.util.regex.Pattern
  
  buildscript {
      repositories {
          mavenCentral()
      }
  
      dependencies {
          classpath 'com.android.tools.build:gradle:0.5+'
      }
  }
  
  repositories {
      mavenCentral()
      mavenLocal()
      maven {
          url "http://mente.github.io/facebook-api-android-aar"
      }
  }
  
  apply plugin: 'android'
  dependencies {
      //provided by android gradle plugin
      compile 'com.android.support:support-v4:+'
      compile 'com.google.android.gms:play-services:3.+'
  
      compile 'com.facebook:facebook-android-sdk:3.0.2@aar'
      compile 'org.codehaus.jackson:jackson-mapper-asl:1.+'
      compile 'org.twitter4j:twitter4j-core:3.+'
  
      compile fileTree(dir: 'libs', include: '*.jar')
  }
  
  def getVersionCode() {
      println "Hello getVersionCode"
      def manifestFile = file("AndroidManifest.xml")
      def pattern = Pattern.compile("versionCode=\"(\\d+)\"")
      def manifestText = manifestFile.getText()
      def matcher = pattern.matcher(manifestText)
      matcher.find()
      def version = ++Integer.parseInt(matcher.group(1))
      println sprintf("Returning version %d", version)
      return version
  }
  
  android {
      defaultConfig {
          versionCode getVersionCode()
      }
      signingConfigs {
          release {
              ...
          }
      }
      sourceSets {
          main {
              manifest.srcFile 'AndroidManifest.xml'
              res.srcDirs = ['res']
              assets.srcDirs = ['assets']
          }
      }
  
      buildTypes {
          release {
              signingConfig signingConfigs.release
          }
      }
  
      buildToolsVersion "17.0"
      compileSdkVersion 17
  }
  
  task wrapper(type: Wrapper) {
    gradleVersion = '1.6'
  }
  </code></pre>
  
  <p>Also my debug lines from getVersionCode function are not printed out. Looks like <code>defaultConfig</code> section is ignored. I know there's <a href="https://stackoverflow.com/questions/17448565/how-to-autoincrement-versioncode-in-android-gradle">working example</a> here on SO. But still wondering why built-in <code>android.defaultConfig.versionCode</code> doesn't work?</p>