File: changelog.txt

package info (click to toggle)
android-platform-tools-base 2.2.2-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 113,928 kB
  • sloc: java: 696,396; xml: 45,920; cpp: 2,526; ansic: 1,432; sh: 508; lisp: 110; javascript: 108; makefile: 17
file content (681 lines) | stat: -rw-r--r-- 31,967 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
1.6

- Added support for using UN M.49 area codes in resource directories allowing locale definitions such as es-r419 alongside es-rES.
- Warnings from libpng about unrecognized sRGB profiles are now reported with info level.

1.4.0-beta1

- Instead of processing java resources during the packaging of the APK,
  moved this upfront before the obfuscation tasks. This will allow
  the obfuscation tasks to have a chance to adapt the java resources
  following packages obfuscation
- made java resources extraction from libraries incremental tasks.
- Fixed issue with using jni code in experimental library plugin.
- Allow platform version to be set separately from compileSdkVersion in experimental plugin.
- Prevent a consumer of a library removing a resource from that library, which would lead to a runtime NoSuchFieldError.
- Allow a comma-separated list of serials in ANDROID_SERIAL when installing or running tests
- Fix installation failure on L+ devices when the APK name contains a space.
- Fix various issues related to AAPT error output.
- Vector drawable support for generating PNGs at build time.
- PNGs are generated for every vector drawable found in a resource directory that does not specify an API version (or specifies a version lower than 21).
  This only happens if minSdk is below 21.
- Densities to use can be set using the new "generatedDensities" property in defaultConfig or per-flavor.
- Multiple modules (e.g. app and lib) now share the same mockable android.jar (for unit testing) which is generated only once. Delete $rootDir/build to regenerate it.

1.3.1

- fixed issue when ZipAlign task would not consume previous' task output when it the file name is customized.
- fixed packaging of Renderscript with NDK
- Keep the createDebugCoverageReport task name.
- Fix customized archiveBaseName handling : see http://b.android.com/182016
- Fix for http://b.android.com/182433

1.3.0
- By default, "LICENSE" and "LICENSE.txt" are excluded when creating an APK.
  This can be changed from the DSL:

    android {
      packagingOptions.excludes = []
    }

- New sourceSets task for inspecting the set of all available source sets.
- Unit tests recognize multi-flavor and per-variant source folders (e.g.
  testDemoDebug). Android tests recognized multi-flavor source folders.
- Unit testing improvements
  * Run javac on main and test sources, even if useJack is true.
  * Correctly recognize per-build-type dependencies.
- It's now possible to specify instrumentation test runner arguments in
  build.gradle (in defaultConfig or per flavor):

    android {
      defaultConfig {
        testInstrumentationRunnerArguments size: "medium"
      }

      productFlavors {
        foo {
          testInstrumentationRunnerArguments foo: "bar"
        }
      }
    }

  or from the command line:

    ./gradlew cC \
       -Pandroid.testInstrumentationRunnerArguments.size=medium \
       -Pandroid.testInstrumentationRunnerArguments.class=TestA,TestB

- Arbitrary additional AAPT parameters can be set in build.gradle:
    android {
      aaptOptions {
        additionalParameters "--custom_option", "value"
      }
    }
- Resource names are validated before they are merged.
- When building aar, do not provide automatic @{applicationId} placeholder
  in manifest merger. Use a different placeholder like @{libApplicationId}
  and provide a value for it if applicationIds should be baked in the library.
- Introduce support for incremental compilation support with Jill and Jack. Change is purely
  internal and does not require DSL change nor can it be disabled.

1.2.0
- Unit testing improvements
  * Fixed task dependencies for library projects, so test classes should now
    be up-to-date when running tests.
  * Java-style resources are now put on the class path when running unit tests
    through Gradle.
  * Unit test configurations (e.g. testCompile) can now depend on AAR
    artifacts.
  * Fixes to mockable-android.jar: correct handling of enums, stripping the
    final modifier of public instance fields.
  * DSL: new code block for configuring the test tasks:
    android {
      testOptions {
        unitTests.all {
          jvmArgs '-XX:MaxPermSize=256m' // Or any other gradle option.
        }
      }
    }

  * Variants API: unit-testing variants are now exposed in the API and can be
    manipulated (e.g. by calling addJavaSourceFoldersToModel).
    android {
      unitTestVariants.all { ... }
      applicationVariants.all { v -> v.unitTestVariant }
    }
- Test-only ProGuard files. When running instrumentation tests (i.e. connectedCheck) against
  a minified variant, the test APK needs to be processed by ProGuard to rename references to code
  in the main APK. Flags for this ProGuard run (mostly for silencing warnings) can now be specified
  like this:
    android {
        testBuildType = "minified"
        buildTypes {
            minified.initWith(buildTypes.debug)
            minified {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard-rules.pro"
                testProguardFile "test-proguard-rules.pro"
            }
        }
    }

1.1.0
- Unit testing support. Unit testing code is run on the local JVM, against a
  special version of android.jar that is compatible with popular mocking
  frameworks (e.g. Mockito).
  * New tasks: test, testDebug/testRelease, testMyFlavorDebug (when using flavors).
  * New source folders recognized as unit tests:
      src/test/java, src/testDebug/java, src/testMyFlavor/java etc.
  * New configurations for adding test-only dependencies, e.g.
      testCompile 'junit:junit:4.11'
      testMyFlavorCompile 'some:library:1.0'
  * New option, android.testOptions.unitTests.returnDefaultValues to control
    the behaviour of the "mockable" android.jar.
- Task names that used to contain 'Test', e.g. 'assembleDebugTest' now use
  'AndroidTest', e.g. 'assembleDebugAndroidTest'. This is to distinguish them
  from the unit test tasks, e.g. 'assembleDebugUnitTest'.
- ProGuard configuration files are no longer applied to the test APK. If
  minification is enabled, the test APK will be processed by ProGuard only to apply
  the mapping file generated when minifying the main APK.
- Fixes and changes to the dependency management:
  * Properly handle 'provided' and 'package' scopes to do what they should be doing.
  * 'provided' and 'package' cannot be used with Android Libraries, and will generate an error
  * sync tested and test dependency trees:
     - if the same version of an artifact is present in both, it'll get skipped in the test app.
     - if the version is different it'll generate a build error. Gradle provides mechanism to resolve this.
- Made queue based cruncher the default png cruncher which should bring significant performance
  improvement when crunching multiple png files.
  To turn it off :
    android {
        aaptOptions {
            useNewCruncher false
        }
    }
- Improved DSL reference. See http://developer.android.com/tools/building/plugin-for-gradle.html

1.0.0
- Final 1.0.0 version

1.0.0-rc2
- Enhanced manifest merger logging by specifying library coordinates.
- Allow manifest placeholder to be of any type as long as toString() is implemented.
- Fixed issue where a library with a low targetSdk would add permissions due to a declared permission in a different manifest.
- Better fix for issue where embedding a micro app could add new permissions to the main app manifest.
- Added check for conflict between density splits and resConfig property.
- test applications are now not using multi-dexing, unless they test a library project.
- Fixed lint issues 80872, 80834, 60416, 80837

1.0.0-rc1
- Fixed issue in resources shrinking
- Fixed issue in publishNonDefault
- Install task on 21+ devices now does a reinstall again.
- Density split using aapt 21+ now use --preferred-density allowing for missing density version of some bitmaps.
- hasProperty() will now work again on read-only wrapper returned by the variant API.
- Setting applicationId(Suffix) in a Library project will now properly fail.
- Fixed issue where embedding a micro app could add new permissions to the main app manifest.

0.14.3
- Variant Specific BuildConfigField/resValue
    applicationVariants.all { variant ->
        variant.buildConfigField "int", "VALUE", "1"
        variant.resValue "string", "name", "value"
    }
- Variant (and multi-flavor) specific dependency configuration
    multi-flavor is all the flavors without the build Type. Only exists for 2+ dimensions of Flavors.
    Current limitation: Requires defining the configuration manually first:
        configurations {
            fooDebugCompile
        }

        android {
            productFlavors {
                foo { ... }
            }
        }

        dependencies {
            fooDebugCompile '...'
        }

- BuildType/Flavor/Variant configuration for embedding wear app (<name>WearApp)
- Upgrade to Proguard 5.1
- Almost 1.0: removed deprecated properties/methods
    * BuildConfig.PACKAGE_NAME (use new field name)
    * android.flavorGroups (use new property names)
    * ProductFlavor.packageName/flavorGroup/testPackageName/renderscriptSupportMode (use new property name)
    * BuildType.runProguard/packageNameSuffix/jniDebugBuild/renderscriptDebugBuild/zipAlign (use the new property name)
    * Variant.packageApplication/zipAlign/createZipAlignTask/outputFile/processResources/processManifest (use the variant output)

0.14.2
- Fix versionNameSuffix support
- Fix BuildType.initWith to copy shrinkResources flag
- setup default proguard rule file if none are provided (SDK/tools/proguard/proguard-android.txt)
- BuildType.pseudoLocalesEnabled flag to include fake locales in apk.


0.14.1
- Fix coverage support.
- Fix resource shrinking for style references
- Exclude embedded Wear micro-app from resource shrinking.

0.14.0
- Proguard and code coverage can now work together
- Support for pulling coverage data from Android 5.0 devices
- Env var ANDROID_SERIAL (if present) restrict installation/execution of tests to device matching the serial number
- Multi-Dex support.
  * Requires Build-Tools 21.1.0, and Support repository rev 8.
  * multiDexEnabled = true on defaultConfig, ProductFlavor, or BuildType
  * Works for minSdkVersion 21+ (native) or <21 (legacy mode, with automatic dependency on com.android.support:multidex:1.0.0)
  * See multidex samples.
- Support for automatic removal of unused resources
  * Off by default for now, enable by setting shrinkResources to true in your
    release build types. Requires minifyEnabled as well.
- DSL/API changes:
  * Renamed a few properties to make things more consistent.
     - BuildType.runProguard ->  minifyEnabled
     - BuildType.zipAlign                    -> zipAlignEnabled
     - BuildType.jniDebugBuild               -> jniDebuggable
     - BuildType.renderscriptDebug           -> renderscriptDebuggable
     - ProductFlavor.renderscriptSupportMode -> renderscriptSupportModeEnabled
     - ProductFlavor.renderscriptNdkMode     -> renderscriptNdkModeEnabled
  * BuildType/ProductFlavor/SigningConfig queried through the variant and variantFilter API are now read-only.
     - These objects have always been global and changing them would have side effects in other variants
     - Merged flavor is still per-variant and can me modified
  * Variant / VariantOutput API change
     - Getting the value of the density or ABI filter is done with
         output.getFilter(com.android.build.OutputFile.DENSITY)
         output.getFilter(com.android.build.OutputFile.ABI)
     - See densitySplit sample

0.13.3
- Added support for selectively allowing dependencies on libraries with incompatible uses-sdk
- Fixed race condition in lint's resource folder cache which could trigger a build failure

0.13.2
- Fixed issue in manifest merger that could put wrong uses-sdk node in the manifest.

0.13.1
- Added ability to merge Instrumentation element from test
- Fix uninstallAll task
- Fix issue where bad configuration could lead to no outputs on variants which would prevent evaluation of the project.
- connectedCheck will now fail if no tests are found.

0.13.0 (2014/09/18)
- Requires Gradle 2.1
- It is now possible to provide a manifest for test apps (src/androidTest/AndroidManifest.xml)
- AndroidManifest files in Library project can now include placeholders. If they cannot be resolved
  in the libraries, they'll be resolved in the consuming project.
- AndroidManifest placeholder can now be setup on Product Flavors and Build Types.
- Variant.getMappingFile() API now allow querying for the proguard mapping file.
- New Split mechanism for Density and ABI driven multi-apk.
- Bug fixes:
  * Fix issue where consumer proguard file (from aars) are ignored on first build
  * Fixed aar output names so that variants do not overwrite each other
  * Properly merge declare-styleable to contain all attrs.
  * Fix whitespace issue in resource strings during resource merge.

0.12.2 (2014/07/16)
- Fix packaging of wear application
- Fix issue with ${applicationId} placeholder when build.gradle doesn't customize it.
- Custom Java code generation steps now part of the source generation steps (fix IDE integration).
- Move unzipped aar back in each project as a temporary fix for a possible race condition.

0.12.1 (2014/07/01)
- Fix merging of the package attribute in the manifest.

0.12.0 (2014/06/25)
- New IDE Model, requires Studio Beta 0.8
- Fixes in the manifest mergers.

0.11.1:
- Fix issue with artifact depending on android.jar artifact on MavenCentral.
- Fix issue with missing custom namespace declaration in generated manifest.
- Fix issue with validation of permission group in manifest merger.

0.11.0:
- Updated IDE model, requires Studio 0.6
- New Manifest merger is now the default merger.
   - lots of fixes
   - added ability to add custom placeholders for merger.

- Replaced the various DSL properties used to define the "package
  name" with an "application ID", to decouple the persistent ID of the
  application from the implementation package used to contain for
  example the R and BuildConfig classes.
  packageName => applicationId
  packageNameSuffix => applicationIdSuffix
  testPackageName => testApplicationId
  testedPackageName => testedApplicationId
- min/targetSdkVersion on ProductFlavor is now a ApiVersion which contains both an integer and a string.
- DSL impact: cannot use setter: flavor {minSdkVersion = 9}, must use method: flavor { minSdkVersion 9}, due to a groovy limitation preventing overloaded setters.

- Moved files and folders around in the buildDir for better IDE integration.
- Generated APK can now be published. Same configuration as libraries with defaultPublishConfig and publishNonDefault flags.


0.10.2:

- More fixes on the Manifest merger, including better handling of minSdkVersion.
- More lint fixes.
- Fixed incremental dex support (still needs to be enabled)

0.10.1:

- fixed some issues with the new manifest merger. Please keep sending us feedback.
- fixed issue with uninstall task.
- lots of lint fixes and new checks. For instance you can use lint to enforce resource prefix in your library.

0.10.0:
- New manifest merger
- test code coverage support with Jacoco
- Pre-dex cache (in rootProject/build). Shared across modules and variants
- Exploded aar are extracted in a single location (under rootProject/build) to share across all modules using it.
- Upgraded to Proguard 4.11. Fixed incremental issues.
- Fixed incremental issues with aidl files.

0.9.2:
- Aapt-based PNG processor is now default again while we investigate some issues with the old one.
- flavorGroups have been renamed flavorDimensions and the DSL has been updated. The old DSL is still available until 1.0 at which time it'll be removed.

0.9.1:
- It's now possible to include a file when there's a conflict during packaging:
      android.packagingOptions {
          pickFirst 'META-INF/foo.txt'
      }
- New PNG processor.
   * Should be much faster when processing many files
   * Fix issue where crunched png are bigger than original file
   * To revert to the old cruncher: android.aaptOptions.useAaptPngCruncher = true
- The plugin now enforces that all library dependencies have a unique package name.
  To disable this you can use android.enforceUniquePackageName = false
  WARNING: The ability to disable enforcement will disappear in 1.0
- Fixes:
   * Generated POM files now have the proper dependencies even if the pom object is manipulated in build.gradle
   * libraryVariant API now gives access to the list of flavors.
   * fixed issue where changes to the manifests of libraries didn't trigger a new manifest merge.
   * BuildConfig.VERSION_NAME is always generated even if the value is not set in the current variant.
   * BuildConfig is now package in the library. This requires that all your libraries have a unique package name.
     If you are disabling enforcement of package name, then you should disable packaging of BuildConfig with:
     android.packageBuildConfig = false
     WARNING: the ability to disable packaging will disappear in 1.0

0.9.0:
- Compatible with Gradle 1.10 and 1.11
- BREAKING CHANGES:
   * DSL for Library Projects is now the same as for app projects, meaning you can create more Build Types, as well as ProductFlavors.
   * instrumentTest (both default folders and DSL objects) renamed androidTest

- In preparation for a final variant publishing mechanism, flavors in Libraries can be published alongside the default configuration.
  The default publishing configuration is configured with
    android.defaultPublishConfig
  Default Value is "release", but can be changed to be the name of any variant.
  To enable publication all the variants, use:
    android.publishNonDefault = true
  To use from another project:
    compile project(path: ':project', configuration: 'flavor1Debug')
  See 'FlavoredLib' sample.
  Note that this does not really solve the issue with library being published with 'release' mode always. This is because you would have to manually
  specify which variant you want to reference in each of the configuration of the app project. A better mechanism will come later.
- Ability to skip some variants. Create a closure to control which variants should be created.
     android.variantFilter { variant ->
        ...
     }

  The object passed to the closure implements the following methods:
        public void setIgnore(boolean ignore);
        @NonNull
        public ProductFlavor getDefaultConfig();
        @NonNull
        public BuildType getBuildType();
        @NonNull
        public List<ProductFlavor> getFlavors();
  To skip a variant, call setIgnore(false)
- Library dependency scopes are now 'provided', 'compile', 'publish'.
  The 'publish' and 'apk' configurations don't extend 'compile' anymore but the composite configurations are still properly setup.
- Fix issue where variant specific source folders where not used for java compilation.
- Fix for some Renderscript support mode compatibility issues. Requires Build Tools 19.0.3
- Lots of misc fixes.

0.8.3:

- Fix Studio integration regression.

0.8.2:
- Fix incremental issue with build config fields and generated res values.

0.8.1:
- Added the ability to create resource values through the DSL.
  You can now use 'resValue <type>,<name>,<value>' on build types and product flavors
  the same way you can use buildConfigField.
- Fixed package renaming in activity-alias:targetActivity
- Variant API improvements:
   * packageName returns the variant's package name
   * versionCode returns the (app/test) variant's versionCode
   * versionName returns the (app/test/) variant's versionName. Can return null.

0.8.0

- Support for Gradle 1.10
- Requires Build-Tools 19.0.0+
- Fixed issue 64302: Add renderscript support mode jar to the dependencies in the IDE model.
- Fixed issue 64094: buildConfigField can now replace previous values inside the same type/flavors.
- Add support for NDK prebuilts in library projects.
- Parallelize pre-dexing to speed up clean builds.
- Incremental dexing re-enabled (though it'll be automatically disabled in some builds for some cases that dx doesn't support yet.)
- Added 'provided' dependency scope for compile only (not packaged) dependencies.
  Additional scope per buildtype and flavors are also available (debugProvided, myFlavorProvided,etc...)
- Fix NDK on windows.
- Variant API improvements:
   * getPreBuild() returns the prebuild task for the variant
   * getSourceSets() returns the sorted sourcesets for the task, from lower to higher priority
   * createZipAlignTask(String taskName, File inputFile, File outputFile)
     This creates and return a new zipalign task. Useful if you have a custom plugin providing custom signing of APKs.
     This also makes the assemble task depend on the new zipalign task, and wires variant.getOutputFile() to return the result of the zipalign task.
   * project.android.registerJavaArtifact() now receives a Configuration object to pass the dependencies to the IDE. See artifactApi sample.
- New "lintVital" task, run automatically as part of assembling release variants, which checks only fatal-severity issues
- Replace Java parser in lint with ECJ; much faster and fixes bug where lint could hang on certain source constructs
- Lint HTML report now writes links to source files and images as URLs relative to the report location

0.7.3

- Rebuild 0.7.2 to work with Java6

0.7.2

- Fix issue with Proguard.
- Add packagingOptions support in Library projects.
- Solve issue with local jar when testing library projects.
- Fix bug with variant.addJavaSourceFoldersToModel
- Add jniLibs folder to source sets for prebuilt .so files.
- Lint fixes:
   * fix RTL detector
   * fix HTML report to have valid HTML

0.7.1

- DSL to exclude some files coming from jar dependencies
    android {
      packagingOptions {
        exclude 'META-INF/LICENSE.txt'
      }
    }


0.7.0
- Requires Gradle 1.9
- You can now have a variant specific source folder if you have flavors.
  Only for app (not library or test). Name is src/flavorDebug/... or src/flavor1Flavor2Debug/
  (note the camelcase naming, with lower case for first letter).
  Its components (res, manifest, etc...) have higher priority than components from build type
  or flavors.
  There is also a "flavor combination" source folder available when more than one
  flavor dimension is used.
  For instance src/flavor1Flavor2/
  Note that this is for all combinations of *all* dimensions.
- Build config improvements and DSL changes.
  The previous DSL proprety:
    buildConfigLine "<value>"
  has changed to
    buildConfigField "<type>", "<name>", "<value>"
  You can only add a single field at a time.
  This allows override a field (see 'basic' sample)
  Also, BuildConfig now automatically contains constants for
  PACKAGE_NAME, VERSION_CODE, VERSION_NAME, BUILD_TYPE, FLAVOR as well as FLAVOR_<group> if there are several flavor dimensions.
- Switch to ProGuard 4.10
   - Added ability to test proguarded (obfuscated) apps.
- New option on product Flavor (and defaultConfig) allow filtering of resources through the -c option of aapt
  You can pass single or multiple values through the DSL. All values from the default config and flavors get combined and passed to aapt.
  The DSL is
     resConfig "en"
  or
     resConfigs "nodpi","hdpi"

- Jar files are now pre-dexed for faster dexing.
  Incremental dexing is disabled by default as it can lead to increased dex file size.
- First pass at NDK integration. See the samples.
- API to add new generated source folders:
     variant.addJavaSourceFoldersToModel(sourceFolder1, sourceFolders2,...)
  This adds the source folder to the model (for IDE support).
  Another API:
     variant.registerJavaGeneratingTask(task, sourceFolder1, sourceFolders2,...)
  This automatically adds the dependency on the task, sets up the JavaCompile task inputs and propagates
  the folders to the model for IDE integration.
  See sample 'genFolderApi'
- API to add extra artifacts on variants. This will allow to register Java or Android artifacts, for instance
  for alternative test artifacts.
  See sample 'artifactApi' for the API (sample is not meant to be used, it's for testing).
- Revamped lint integration. Lint is now run as part of the check task, and will analyze all variants and then
  merge the results and create a report which lists which variants each error applies to (unless an error
  applies to all variants). You can also run lint on a specific variant, e.g. lintDebug or lintFreeRelease.
  Lint will no longer report errors in AAR libraries. This version of the plugin also picks up some new lint
  checks.
  A new DSL allows configuration of lint from build.gradle. This is read and used in Studio
- Fixed issue with parentActivityName when handling different package name in the manifest merger.
- Allow files inside META-INF/ from jars to be packaged in the APK.
- Disabled incremental dx mode as it can lead to broken dex files.

0.6.3
- Fixed ClassNotFoundException:MergingException introduced in 0.6.2

0.6.2
- Lint now picks up the SDK home from sdk.dir in local.properties
- Error message shown when using an unsupported version of Gradle now explains how to update the Gradle wrapper
- Merged resource files no longer place their source markers into the R file as comments
- Project path can contain '--' (two dashes)
- Internal changes to improve integration with Android Studio

0.6.1

- Fixed issues with lint task found in 0.6.0

0.6.0

- Enabled support for Gradle 1.8
- Gradle 1.8 is now the minimum supported version
- Default encoding for compiling Java code is UTF-8
- Users can now specify the encoding to use to compile Java code
- Fixed Gradle 1.8-specific bugs
  - Importing projects with missing dependencies was broken
  - Compiling projects with AIDL files was broken

0.5.7

- Proguard support for libraries.
  Note the current DSL property 'proguardFiles' for library now sets the proguard rule file used when proguarding the library code.
  The new property 'consumerProguardFiles' is used to package a rule file inside an aar.
- Improved IDE support, including loading project with broken dependencies and anchor task to generate Java code
- New hook tasks: preBuild and prebuild<VariantName>
- First lint integration. This is a work in progress and therefore the lint task is not added to the check task.
- Enable compatibility with 1.8

0.5.6

- Enabled support for 1.7

0.5.5

- Fix issue preventing to use Build Tools 18.0.1
- access to the variants container don't force creating the task.
  This means android.[application|Library|Test]Variants will be empty
  during the evaluation phase. To use it, use .all instead of .each
- Only package a library's own resources in its aar.
- Fix incremental issues in the resource merger.
- Misc bug fixes.

0.5.4

- Fixed incremental compilation issue with declare-styleable

0.5.3

- Fixed a crashing bug in PrepareDependenciesTask

0.5.2

- Better error reporting for cmd line tools, especially
  if run in parallel in spawned threads
- Fixed an issue due to windows path in merged resource files.

0.5.1

- Fixed issue in the dependency checker.

0.5.0:

- IDE Model is changed and is not compatible with earlier version! A new IDE
  will required.
- Fixed IDE model to contain the output file even if it's customized
  through the DSL. Also fixed the DSL to get/set the output file on the
  variant object so that it's not necessary to use variant.packageApplication
  or variant.zipAlign
- Fixed dependency resolution so that we resolved the combination of (default config,
  build types, flavor(s)) together instead of separately.
- Fixed dependency for tests of library project to properly include all the dependencies
  of the library itself.
- Fixed case where two dependencies have the same leaf name.
- Fixed issue where proguard rules file cannot be applied on flavors.

0.4.3:

- Enabled crunching for all png files, not just .9.png
- Fixed dealing with non resource files in res/ and assets/
- Fixed crash when doing incremental aidl compilation due to broken method name (ah the joy of Groovy...)
- Cleaned older R classes when the app package name has changed.

0.4.2

* Fixed incremental support for resource merging.
* Fixed issue where all pngs would be processed in parallel with no limit
  on the number of thread used, leading to failure to run aapt.
* Fixed ignoreAsset support in aaptOptions
* Added more logging on failure to merge manifests.
* Added flavor names to the TestServer API.

0.4.1:

* Renamed 'package' scope to 'apk'
    - variants are 'debugApk', 'releaseApk', 'flavor1Apk', etc...
    - Now properly supported at build to allow package-only dependencies.
* Only Jar dependencies can be package-only. Library projects must be added to the compile scope.
* Fixed [application|library|test]Variants API (always returned empty on 0.4)
* Fixed issue in Proguard where it would complain about duplicate Manifests.

0.4

* System requirements:
   - Gradle 1.6+
   - Android Build Tools 16.0.2+
* Rename deviceCheck into connectedDevice
* API for 3rd party Device Providers and Test Servers to run and deploy tests. API is @Beta
* Support for ProGuard 4.9
   - enable with BuildType.runProguard
   - add proguard config files with BuiltType.proguardFile or ProductFlavor.proguardFile
   - default proguard files accessible through android.getDefaultProguardFile(name) with name
     being 'proguard-android.txt' or 'proguard-android-optimize.txt'
* Implements Gradle 1.6 custom model for IDE Tooling support
* Fixes:
   - Fix support for subfolders in assets/
   - Fix cases where Android Libraries have local Jars dependencies
   - Fix renaming of package through DSL to ensure resources are compiled in the new namespace
   - Fix DSL to add getSourceSets on the "android" extension.
   - DSL to query variants has changed to applicationVariants and libraryVariants (depending on the plugin)
     Also both plugin have testVariants (tests are not included in the default collection).

0.3

* System requirements:
   - Gradle 1.3+ (tested on 1.3/1.4)
   - Android Platform Tools 16.0.2+
* New Features:
   - Renderscript support.
   - Support for multi resource folders. See 'multires' sample.
      * PNG crunch is now done incrementally and in parallel.
   - Support for multi asset folders.
   - Support for asset folders in Library Projects.
   - Support for versionName suffix provided by the BuildType.
   - Testing
      * Default sourceset for tests now src/instrumentTest (instrumentTest<Name> for flavors)
      * Instrumentation tests now:
          - started from "deviceCheck" instead of "check"
          - run on all connected devices in parallel.
          - break the build if any test fails.
          - generate an HTML report for each flavor/project, but also aggregated.
      * New plugin 'android-reporting' to aggregate android test results across projects. See 'flavorlib' sample.
   - Improved DSL:
      * replaced android.target with android.compileSdkVersion to make it less confusing with targetSdkVersion
      * signing information now a SigningConfig object reusable across BuildType and ProductFlavor
      * ability to relocate a full sourceSet. See 'migrated' sample.
      * API to manipulate Build Variants.
* Fixes:
   - Default Java compile target set to 1.6.
   - Fix generation of R classes in case libraries share same package name as the app project.

0.2

* Fixed support for windows.
* Added support for customized sourceset. (http://tools.android.com/tech-docs/new-build-system/using-the-new-build-system#TOC-Working-with-and-Customizing-SourceSets)
* Added support for dependency per configuration.
* Fixed support for dependency on local jar files.
* New samples "migrated" and "flavorlib"

0.1: initial release