http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/build.gradle
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/build.gradle
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/build.gradle
new file mode 100644
index 0000000..ef22971
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/build.gradle
@@ -0,0 +1,311 @@
+/*
+       Licensed to the Apache Software Foundation (ASF) under one
+       or more contributor license agreements.  See the NOTICE file
+       distributed with this work for additional information
+       regarding copyright ownership.  The ASF licenses this file
+       to you under the Apache License, Version 2.0 (the
+       "License"); you may not use this file except in compliance
+       with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+       Unless required by applicable law or agreed to in writing,
+       software distributed under the License is distributed on an
+       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+       KIND, either express or implied.  See the License for the
+       specific language governing permissions and limitations
+       under the License.
+*/
+
+apply plugin: 'com.android.application'
+
+buildscript {
+    repositories {
+        mavenCentral()
+        jcenter()
+    }
+
+    // Switch the Android Gradle plugin version requirement depending on the
+    // installed version of Gradle. This dependency is documented at
+    // 
http://tools.android.com/tech-docs/new-build-system/version-compatibility
+    // and https://issues.apache.org/jira/browse/CB-8143
+    dependencies {
+        classpath 'com.android.tools.build:gradle:2.2.3'
+    }
+}
+
+// Allow plugins to declare Maven dependencies via build-extras.gradle.
+allprojects {
+    repositories {
+        mavenCentral();
+        jcenter()
+    }
+}
+
+task wrapper(type: Wrapper) {
+    gradleVersion = '2.14.1'
+}
+
+// Configuration properties. Set these via environment variables, 
build-extras.gradle, or gradle.properties.
+// Refer to: 
http://www.gradle.org/docs/current/userguide/tutorial_this_and_that.html
+ext {
+    apply from: 'CordovaLib/cordova.gradle'
+    // The value for android.compileSdkVersion.
+    if (!project.hasProperty('cdvCompileSdkVersion')) {
+        cdvCompileSdkVersion = null;
+    }
+    // The value for android.buildToolsVersion.
+    if (!project.hasProperty('cdvBuildToolsVersion')) {
+        cdvBuildToolsVersion = null;
+    }
+    // Sets the versionCode to the given value.
+    if (!project.hasProperty('cdvVersionCode')) {
+        cdvVersionCode = null
+    }
+    // Sets the minSdkVersion to the given value.
+    if (!project.hasProperty('cdvMinSdkVersion')) {
+        cdvMinSdkVersion = null
+    }
+    // Whether to build architecture-specific APKs.
+    if (!project.hasProperty('cdvBuildMultipleApks')) {
+        cdvBuildMultipleApks = null
+    }
+    // .properties files to use for release signing.
+    if (!project.hasProperty('cdvReleaseSigningPropertiesFile')) {
+        cdvReleaseSigningPropertiesFile = null
+    }
+    // .properties files to use for debug signing.
+    if (!project.hasProperty('cdvDebugSigningPropertiesFile')) {
+        cdvDebugSigningPropertiesFile = null
+    }
+    // Set by build.js script.
+    if (!project.hasProperty('cdvBuildArch')) {
+        cdvBuildArch = null
+    }
+
+    // Plugin gradle extensions can append to this to have code run at the end.
+    cdvPluginPostBuildExtras = []
+}
+
+// PLUGIN GRADLE EXTENSIONS START
+// PLUGIN GRADLE EXTENSIONS END
+
+def hasBuildExtras = file('build-extras.gradle').exists()
+if (hasBuildExtras) {
+    apply from: 'build-extras.gradle'
+}
+
+// Set property defaults after extension .gradle files.
+if (ext.cdvCompileSdkVersion == null) {
+    ext.cdvCompileSdkVersion = privateHelpers.getProjectTarget()
+}
+if (ext.cdvBuildToolsVersion == null) {
+    ext.cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools()
+}
+if (ext.cdvDebugSigningPropertiesFile == null && 
file('debug-signing.properties').exists()) {
+    ext.cdvDebugSigningPropertiesFile = 'debug-signing.properties'
+}
+if (ext.cdvReleaseSigningPropertiesFile == null && 
file('release-signing.properties').exists()) {
+    ext.cdvReleaseSigningPropertiesFile = 'release-signing.properties'
+}
+
+// Cast to appropriate types.
+ext.cdvBuildMultipleApks = cdvBuildMultipleApks == null ? false : 
cdvBuildMultipleApks.toBoolean();
+ext.cdvMinSdkVersion = cdvMinSdkVersion == null ? null : Integer.parseInt('' + 
cdvMinSdkVersion)
+ext.cdvVersionCode = cdvVersionCode == null ? null : Integer.parseInt('' + 
cdvVersionCode)
+
+def computeBuildTargetName(debugBuild) {
+    def ret = 'assemble'
+    if (cdvBuildMultipleApks && cdvBuildArch) {
+        def arch = cdvBuildArch == 'arm' ? 'armv7' : cdvBuildArch
+        ret += '' + arch.toUpperCase().charAt(0) + arch.substring(1);
+    }
+    return ret + (debugBuild ? 'Debug' : 'Release')
+}
+
+// Make cdvBuild a task that depends on the debug/arch-sepecific task.
+task cdvBuildDebug
+cdvBuildDebug.dependsOn {
+    return computeBuildTargetName(true)
+}
+
+task cdvBuildRelease
+cdvBuildRelease.dependsOn {
+    return computeBuildTargetName(false)
+}
+
+task cdvPrintProps << {
+    println('cdvCompileSdkVersion=' + cdvCompileSdkVersion)
+    println('cdvBuildToolsVersion=' + cdvBuildToolsVersion)
+    println('cdvVersionCode=' + cdvVersionCode)
+    println('cdvMinSdkVersion=' + cdvMinSdkVersion)
+    println('cdvBuildMultipleApks=' + cdvBuildMultipleApks)
+    println('cdvReleaseSigningPropertiesFile=' + 
cdvReleaseSigningPropertiesFile)
+    println('cdvDebugSigningPropertiesFile=' + cdvDebugSigningPropertiesFile)
+    println('cdvBuildArch=' + cdvBuildArch)
+    println('computedVersionCode=' + android.defaultConfig.versionCode)
+    android.productFlavors.each { flavor ->
+        println('computed' + flavor.name.capitalize() + 'VersionCode=' + 
flavor.versionCode)
+    }
+}
+
+android {
+    sourceSets {
+        main {
+            manifest.srcFile 'AndroidManifest.xml'
+            java.srcDirs = ['src']
+            resources.srcDirs = ['src']
+            aidl.srcDirs = ['src']
+            renderscript.srcDirs = ['src']
+            res.srcDirs = ['res']
+            assets.srcDirs = ['assets']
+            jniLibs.srcDirs = ['libs']
+        }
+    }
+
+    defaultConfig {
+        versionCode cdvVersionCode ?: new BigInteger("" + 
privateHelpers.extractIntFromManifest("versionCode"))
+        applicationId privateHelpers.extractStringFromManifest("package")
+
+        if (cdvMinSdkVersion != null) {
+            minSdkVersion cdvMinSdkVersion
+        }
+    }
+
+    lintOptions {
+      abortOnError false;
+    }
+
+    compileSdkVersion cdvCompileSdkVersion
+    buildToolsVersion cdvBuildToolsVersion
+
+    if (Boolean.valueOf(cdvBuildMultipleApks)) {
+        productFlavors {
+            armv7 {
+                versionCode defaultConfig.versionCode*10 + 2
+                ndk {
+                    abiFilters "armeabi-v7a", ""
+                }
+            }
+            x86 {
+                versionCode defaultConfig.versionCode*10 + 4
+                ndk {
+                    abiFilters "x86", ""
+                }
+            }
+            all {
+                ndk {
+                    abiFilters "all", ""
+                }
+            }
+        }
+    }
+    /*
+
+    ELSE NOTHING! DON'T MESS WITH THE VERSION CODE IF YOU DON'T HAVE TO!
+
+    else if (!cdvVersionCode) {
+      def minSdkVersion = cdvMinSdkVersion ?: 
privateHelpers.extractIntFromManifest("minSdkVersion")
+      // Vary versionCode by the two most common API levels:
+      // 14 is ICS, which is the lowest API level for many apps.
+      // 20 is Lollipop, which is the lowest API level for the updatable 
system webview.
+      if (minSdkVersion >= 20) {
+        defaultConfig.versionCode += 9
+      } else if (minSdkVersion >= 14) {
+        defaultConfig.versionCode += 8
+      }
+    }
+    */
+
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_6
+        targetCompatibility JavaVersion.VERSION_1_6
+    }
+
+    if (cdvReleaseSigningPropertiesFile) {
+        signingConfigs {
+            release {
+                // These must be set or Gradle will complain (even if they are 
overridden).
+                keyAlias = ""
+                keyPassword = "__unset" // And these must be set to non-empty 
in order to have the signing step added to the task graph.
+                storeFile = null
+                storePassword = "__unset"
+            }
+        }
+        buildTypes {
+            release {
+                signingConfig signingConfigs.release
+            }
+        }
+        addSigningProps(cdvReleaseSigningPropertiesFile, 
signingConfigs.release)
+    }
+    if (cdvDebugSigningPropertiesFile) {
+        addSigningProps(cdvDebugSigningPropertiesFile, signingConfigs.debug)
+    }
+}
+
+dependencies {
+    compile fileTree(dir: 'libs', include: '*.jar')
+    // SUB-PROJECT DEPENDENCIES START
+    // SUB-PROJECT DEPENDENCIES END
+}
+
+def promptForReleaseKeyPassword() {
+    if (!cdvReleaseSigningPropertiesFile) {
+        return;
+    }
+    if ('__unset'.equals(android.signingConfigs.release.storePassword)) {
+        android.signingConfigs.release.storePassword = 
privateHelpers.promptForPassword('Enter key store password: ')
+    }
+    if ('__unset'.equals(android.signingConfigs.release.keyPassword)) {
+        android.signingConfigs.release.keyPassword = 
privateHelpers.promptForPassword('Enter key password: ');
+    }
+}
+
+gradle.taskGraph.whenReady { taskGraph ->
+    taskGraph.getAllTasks().each() { task ->
+        if (task.name == 'validateReleaseSigning' || task.name == 
'validateSigningRelease') {
+            promptForReleaseKeyPassword()
+        }
+    }
+}
+
+def addSigningProps(propsFilePath, signingConfig) {
+    def propsFile = file(propsFilePath)
+    def props = new Properties()
+    propsFile.withReader { reader ->
+        props.load(reader)
+    }
+
+    def storeFile = new File(props.get('key.store') ?: 
privateHelpers.ensureValueExists(propsFilePath, props, 'storeFile'))
+    if (!storeFile.isAbsolute()) {
+        storeFile = RelativePath.parse(true, 
storeFile.toString()).getFile(propsFile.getParentFile())
+    }
+    if (!storeFile.exists()) {
+        throw new FileNotFoundException('Keystore file does not exist: ' + 
storeFile.getAbsolutePath())
+    }
+    signingConfig.keyAlias = props.get('key.alias') ?: 
privateHelpers.ensureValueExists(propsFilePath, props, 'keyAlias')
+    signingConfig.keyPassword = props.get('keyPassword', 
props.get('key.alias.password', signingConfig.keyPassword))
+    signingConfig.storeFile = storeFile
+    signingConfig.storePassword = props.get('storePassword', 
props.get('key.store.password', signingConfig.storePassword))
+    def storeType = props.get('storeType', props.get('key.store.type', ''))
+    if (!storeType) {
+        def filename = storeFile.getName().toLowerCase();
+        if (filename.endsWith('.p12') || filename.endsWith('.pfx')) {
+            storeType = 'pkcs12'
+        } else {
+            storeType = signingConfig.storeType // "jks"
+        }
+    }
+    signingConfig.storeType = storeType
+}
+
+for (def func : cdvPluginPostBuildExtras) {
+    func()
+}
+
+// This can be defined within build-extras.gradle as:
+//     ext.postBuildExtras = { ... code here ... }
+if (hasProperty('postBuildExtras')) {
+    postBuildExtras()
+}

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/gitignore
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/gitignore
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/gitignore
new file mode 100644
index 0000000..6e52445
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/gitignore
@@ -0,0 +1,14 @@
+# Non-project-specific build files:
+build.xml
+local.properties
+/gradlew
+/gradlew.bat
+/gradle
+# Ant builds
+ant-build
+ant-gen
+# Eclipse builds
+gen
+out
+# Gradle builds
+/build

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/project.properties
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/project.properties
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/project.properties
new file mode 100644
index 0000000..ddd3a06
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/project.properties
@@ -0,0 +1,15 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system edit
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+#
+# To enable ProGuard to shrink and obfuscate your code, uncomment this 
(available properties: sdk.dir, user.home):
+#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
+
+android.library.reference.1=CordovaLib
+# Project target.
+target=This_gets_replaced

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-hdpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-hdpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-hdpi/screen.png
new file mode 100644
index 0000000..a61e2b1
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-hdpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-ldpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-ldpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-ldpi/screen.png
new file mode 100644
index 0000000..f3934cd
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-ldpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-mdpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-mdpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-mdpi/screen.png
new file mode 100644
index 0000000..a1b697c
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-mdpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xhdpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xhdpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xhdpi/screen.png
new file mode 100644
index 0000000..79f2f09
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xhdpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xxhdpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xxhdpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xxhdpi/screen.png
new file mode 100644
index 0000000..2f56838
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xxhdpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xxxhdpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xxxhdpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xxxhdpi/screen.png
new file mode 100644
index 0000000..ff6c13c
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-land-xxxhdpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-hdpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-hdpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-hdpi/screen.png
new file mode 100644
index 0000000..5d6a28a
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-hdpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-ldpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-ldpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-ldpi/screen.png
new file mode 100644
index 0000000..65ad163
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-ldpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-mdpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-mdpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-mdpi/screen.png
new file mode 100644
index 0000000..ea15693
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-mdpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xhdpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xhdpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xhdpi/screen.png
new file mode 100644
index 0000000..c2e8042
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xhdpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xxhdpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xxhdpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xxhdpi/screen.png
new file mode 100644
index 0000000..9c7df08
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xxhdpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xxxhdpi/screen.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xxxhdpi/screen.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xxxhdpi/screen.png
new file mode 100644
index 0000000..68c7998
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/drawable-port-xxxhdpi/screen.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-hdpi/icon.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-hdpi/icon.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-hdpi/icon.png
new file mode 100644
index 0000000..4d27634
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-hdpi/icon.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-ldpi/icon.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-ldpi/icon.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-ldpi/icon.png
new file mode 100644
index 0000000..cd5032a
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-ldpi/icon.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-mdpi/icon.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-mdpi/icon.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-mdpi/icon.png
new file mode 100644
index 0000000..e79c606
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-mdpi/icon.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xhdpi/icon.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xhdpi/icon.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xhdpi/icon.png
new file mode 100644
index 0000000..ec7ffbf
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xhdpi/icon.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xxhdpi/icon.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xxhdpi/icon.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xxhdpi/icon.png
new file mode 100644
index 0000000..38c2bf5
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xxhdpi/icon.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xxxhdpi/icon.png
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xxxhdpi/icon.png
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xxxhdpi/icon.png
new file mode 100644
index 0000000..53e5753
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/mipmap-xxxhdpi/icon.png
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/values/strings.xml
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/values/strings.xml
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/values/strings.xml
new file mode 100644
index 0000000..bb049db
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/values/strings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- App label shown within list of installed apps, battery & network 
usage screens. -->
+    <string name="app_name">__NAME__</string>
+    <!-- App label shown on the launcher. -->
+    <string name="launcher_name">@string/app_name</string>
+    <!-- App label shown on the task switcher. -->
+    <string name="activity_name">@string/launcher_name</string>
+</resources>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/xml/config.xml
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/xml/config.xml
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/xml/config.xml
new file mode 100644
index 0000000..ae06783
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/res/xml/config.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<widget xmlns     = "http://www.w3.org/ns/widgets";
+        id        = "io.cordova.helloCordova"
+        version   = "2.0.0">
+    <name>Hello Cordova</name>
+
+    <description>
+        A sample Apache Cordova application that responds to the deviceready 
event.
+    </description>
+
+    <author href="http://cordova.io"; email="[email protected]">
+        Apache Cordova Team
+    </author>
+
+    <!-- <content src="http://mysite.com/myapp.html"; /> for external pages -->
+    <content src="index.html" />
+
+    <!-- Whitelist docs: https://github.com/apache/cordova-plugin-whitelist -->
+    <access origin="*" />
+    <!-- Grant certain URLs the ability to launch external applications. This
+         behaviour is set to match that of Cordova versions before 3.6.0, and
+         should be reviewed before launching an application in production. It
+         may be changed in the future. -->
+    <allow-intent href="http://*/*"; />
+    <allow-intent href="https://*/*"; />
+    <allow-intent href="tel:*" />
+    <allow-intent href="sms:*" />
+    <allow-intent href="mailto:*"; />
+    <allow-intent href="geo:*" />
+    <allow-intent href="market:*" />
+
+    <preference name="loglevel" value="DEBUG" />
+    <!--
+      <preference name="splashscreen" value="splash" />
+      <preference name="backgroundColor" value="0xFFF" />
+      <preference name="loadUrlTimeoutValue" value="20000" />
+      <preference name="InAppBrowserStorageEnabled" value="true" />
+      <preference name="disallowOverscroll" value="true" />
+    -->
+</widget>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/wrapper.gradle
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/wrapper.gradle
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/wrapper.gradle
new file mode 100644
index 0000000..d7ebabd
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/templates/project/wrapper.gradle
@@ -0,0 +1 @@
+//This file is intentionally just a comment

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/update
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/update 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/update
new file mode 100755
index 0000000..c51b7ff
--- /dev/null
+++ b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/update
@@ -0,0 +1,37 @@
+#!/usr/bin/env node
+
+/*
+       Licensed to the Apache Software Foundation (ASF) under one
+       or more contributor license agreements.  See the NOTICE file
+       distributed with this work for additional information
+       regarding copyright ownership.  The ASF licenses this file
+       to you under the Apache License, Version 2.0 (the
+       "License"); you may not use this file except in compliance
+       with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+       Unless required by applicable law or agreed to in writing,
+       software distributed under the License is distributed on an
+       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+       KIND, either express or implied.  See the License for the
+       specific language governing permissions and limitations
+       under the License.
+*/
+var path   = require('path');
+var Api = require('./templates/cordova/Api');
+var args  = require('nopt')({
+    'link': Boolean,
+    'shared': Boolean,
+    'help': Boolean
+}, { 'd' : '--verbose' });
+
+if (args.help || args.argv.remain.length === 0) {
+    console.log('Usage: ' + path.relative(process.cwd(), path.join(__dirname, 
'update')) + ' <path_to_project> [--link]');
+    console.log('    --link will use the CordovaLib project directly instead 
of making a copy.');
+    process.exit(1);
+}
+
+require('./templates/cordova/loggingHelper').adjustLoggerLevel(args);
+
+Api.updatePlatform(args.argv.remain[0], {link: (args.link || 
args.shared)}).done();

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/update.bat
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/update.bat 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/update.bat
new file mode 100644
index 0000000..d0aa7a0
--- /dev/null
+++ b/cordova-lib/spec-cordova/fixtures/platforms/atari/bin/update.bat
@@ -0,0 +1,26 @@
+:: Licensed to the Apache Software Foundation (ASF) under one
+:: or more contributor license agreements.  See the NOTICE file
+:: distributed with this work for additional information
+:: regarding copyright ownership.  The ASF licenses this file
+:: to you under the Apache License, Version 2.0 (the
+:: "License"); you may not use this file except in compliance
+:: with the License.  You may obtain a copy of the License at
+:: 
+:: http://www.apache.org/licenses/LICENSE-2.0
+:: 
+:: Unless required by applicable law or agreed to in writing,
+:: software distributed under the License is distributed on an
+:: "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+:: KIND, either express or implied.  See the License for the
+:: specific language governing permissions and limitations
+:: under the License.
+
+@ECHO OFF
+SET script_path="%~dp0update"
+IF EXIST %script_path% (
+    node %script_path% %*
+) ELSE (
+    ECHO.
+    ECHO ERROR: Could not find 'update' script in 'bin' folder, aborting...>&2
+    EXIT /B 1
+)

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/android/nativeapiprovider.js
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/android/nativeapiprovider.js
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/android/nativeapiprovider.js
new file mode 100644
index 0000000..2e9aa67
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/android/nativeapiprovider.js
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+
+/**
+ * Exports the ExposedJsApi.java object if available, otherwise exports the 
PromptBasedNativeApi.
+ */
+
+var nativeApi = this._cordovaNative || 
require('cordova/android/promptbasednativeapi');
+var currentApi = nativeApi;
+
+module.exports = {
+    get: function() { return currentApi; },
+    setPreferPrompt: function(value) {
+        currentApi = value ? require('cordova/android/promptbasednativeapi') : 
nativeApi;
+    },
+    // Used only by tests.
+    set: function(value) {
+        currentApi = value;
+    }
+};

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/android/promptbasednativeapi.js
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/android/promptbasednativeapi.js
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/android/promptbasednativeapi.js
new file mode 100644
index 0000000..f7fb6bc
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/android/promptbasednativeapi.js
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+
+/**
+ * Implements the API of ExposedJsApi.java, but uses prompt() to communicate.
+ * This is used pre-JellyBean, where addJavascriptInterface() is disabled.
+ */
+
+module.exports = {
+    exec: function(bridgeSecret, service, action, callbackId, argsJson) {
+        return prompt(argsJson, 'gap:'+JSON.stringify([bridgeSecret, service, 
action, callbackId]));
+    },
+    setNativeToJsBridgeMode: function(bridgeSecret, value) {
+        prompt(value, 'gap_bridge_mode:' + bridgeSecret);
+    },
+    retrieveJsMessages: function(bridgeSecret, fromOnlineEvent) {
+        return prompt(+fromOnlineEvent, 'gap_poll:' + bridgeSecret);
+    }
+};

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/exec.js
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/exec.js 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/exec.js
new file mode 100644
index 0000000..f73d87a
--- /dev/null
+++ b/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/exec.js
@@ -0,0 +1,297 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+/**
+ * Execute a cordova command.  It is up to the native side whether this action
+ * is synchronous or asynchronous.  The native side can return:
+ *      Synchronous: PluginResult object as a JSON string
+ *      Asynchronous: Empty string ""
+ * If async, the native side will cordova.callbackSuccess or 
cordova.callbackError,
+ * depending upon the result of the action.
+ *
+ * @param {Function} success    The success callback
+ * @param {Function} fail       The fail callback
+ * @param {String} service      The name of the service to use
+ * @param {String} action       Action to be run in cordova
+ * @param {String[]} [args]     Zero or more arguments to pass to the method
+ */
+var cordova = require('cordova'),
+    nativeApiProvider = require('cordova/android/nativeapiprovider'),
+    utils = require('cordova/utils'),
+    base64 = require('cordova/base64'),
+    channel = require('cordova/channel'),
+    jsToNativeModes = {
+        PROMPT: 0,
+        JS_OBJECT: 1
+    },
+    nativeToJsModes = {
+        // Polls for messages using the JS->Native bridge.
+        POLLING: 0,
+        // For LOAD_URL to be viable, it would need to have a work-around for
+        // the bug where the soft-keyboard gets dismissed when a message is 
sent.
+        LOAD_URL: 1,
+        // For the ONLINE_EVENT to be viable, it would need to intercept all 
event
+        // listeners (both through addEventListener and window.ononline) as 
well
+        // as set the navigator property itself.
+        ONLINE_EVENT: 2,
+        EVAL_BRIDGE: 3
+    },
+    jsToNativeBridgeMode,  // Set lazily.
+    nativeToJsBridgeMode = nativeToJsModes.EVAL_BRIDGE,
+    pollEnabled = false,
+    bridgeSecret = -1;
+
+var messagesFromNative = [];
+var isProcessing = false;
+var resolvedPromise = typeof Promise == 'undefined' ? null : Promise.resolve();
+var nextTick = resolvedPromise ? function(fn) { resolvedPromise.then(fn); } : 
function(fn) { setTimeout(fn); };
+
+function androidExec(success, fail, service, action, args) {
+    if (bridgeSecret < 0) {
+        // If we ever catch this firing, we'll need to queue up exec()s
+        // and fire them once we get a secret. For now, I don't think
+        // it's possible for exec() to be called since plugins are parsed but
+        // not run until until after onNativeReady.
+        throw new Error('exec() called without bridgeSecret');
+    }
+    // Set default bridge modes if they have not already been set.
+    // By default, we use the failsafe, since addJavascriptInterface breaks 
too often
+    if (jsToNativeBridgeMode === undefined) {
+        androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT);
+    }
+
+    // If args is not provided, default to an empty array
+    args = args || [];
+
+    // Process any ArrayBuffers in the args into a string.
+    for (var i = 0; i < args.length; i++) {
+        if (utils.typeName(args[i]) == 'ArrayBuffer') {
+            args[i] = base64.fromArrayBuffer(args[i]);
+        }
+    }
+
+    var callbackId = service + cordova.callbackId++,
+        argsJson = JSON.stringify(args);
+    if (success || fail) {
+        cordova.callbacks[callbackId] = {success:success, fail:fail};
+    }
+
+    var msgs = nativeApiProvider.get().exec(bridgeSecret, service, action, 
callbackId, argsJson);
+    // If argsJson was received by Java as null, try again with the PROMPT 
bridge mode.
+    // This happens in rare circumstances, such as when certain Unicode 
characters are passed over the bridge on a Galaxy S2.  See CB-2666.
+    if (jsToNativeBridgeMode == jsToNativeModes.JS_OBJECT && msgs === "@Null 
arguments.") {
+        androidExec.setJsToNativeBridgeMode(jsToNativeModes.PROMPT);
+        androidExec(success, fail, service, action, args);
+        androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT);
+    } else if (msgs) {
+        messagesFromNative.push(msgs);
+        // Always process async to avoid exceptions messing up stack.
+        nextTick(processMessages);
+    }
+}
+
+androidExec.init = function() {
+    //CB-11828
+    //This failsafe checks the version of Android and if it's Jellybean, it 
switches it to
+    //using the Online Event bridge for communicating from Native to JS
+    //
+    //It's ugly, but it's necessary.
+    var check = 
navigator.userAgent.toLowerCase().match(/android\s[0-9].[0-9]/);
+    var version_code = check && check[0].match(/4.[0-3].*/);
+    if (version_code != null && nativeToJsBridgeMode == 
nativeToJsModes.EVAL_BRIDGE) {
+      nativeToJsBridgeMode = nativeToJsModes.ONLINE_EVENT;
+    }
+
+    bridgeSecret = +prompt('', 'gap_init:' + nativeToJsBridgeMode);
+    channel.onNativeReady.fire();
+};
+
+function pollOnceFromOnlineEvent() {
+    pollOnce(true);
+}
+
+function pollOnce(opt_fromOnlineEvent) {
+    if (bridgeSecret < 0) {
+        // This can happen when the NativeToJsMessageQueue resets the online 
state on page transitions.
+        // We know there's nothing to retrieve, so no need to poll.
+        return;
+    }
+    var msgs = nativeApiProvider.get().retrieveJsMessages(bridgeSecret, 
!!opt_fromOnlineEvent);
+    if (msgs) {
+        messagesFromNative.push(msgs);
+        // Process sync since we know we're already top-of-stack.
+        processMessages();
+    }
+}
+
+function pollingTimerFunc() {
+    if (pollEnabled) {
+        pollOnce();
+        setTimeout(pollingTimerFunc, 50);
+    }
+}
+
+function hookOnlineApis() {
+    function proxyEvent(e) {
+        cordova.fireWindowEvent(e.type);
+    }
+    // The network module takes care of firing online and offline events.
+    // It currently fires them only on document though, so we bridge them
+    // to window here (while first listening for exec()-releated online/offline
+    // events).
+    window.addEventListener('online', pollOnceFromOnlineEvent, false);
+    window.addEventListener('offline', pollOnceFromOnlineEvent, false);
+    cordova.addWindowEventHandler('online');
+    cordova.addWindowEventHandler('offline');
+    document.addEventListener('online', proxyEvent, false);
+    document.addEventListener('offline', proxyEvent, false);
+}
+
+hookOnlineApis();
+
+androidExec.jsToNativeModes = jsToNativeModes;
+androidExec.nativeToJsModes = nativeToJsModes;
+
+androidExec.setJsToNativeBridgeMode = function(mode) {
+    if (mode == jsToNativeModes.JS_OBJECT && !window._cordovaNative) {
+        mode = jsToNativeModes.PROMPT;
+    }
+    nativeApiProvider.setPreferPrompt(mode == jsToNativeModes.PROMPT);
+    jsToNativeBridgeMode = mode;
+};
+
+androidExec.setNativeToJsBridgeMode = function(mode) {
+    if (mode == nativeToJsBridgeMode) {
+        return;
+    }
+    if (nativeToJsBridgeMode == nativeToJsModes.POLLING) {
+        pollEnabled = false;
+    }
+
+    nativeToJsBridgeMode = mode;
+    // Tell the native side to switch modes.
+    // Otherwise, it will be set by androidExec.init()
+    if (bridgeSecret >= 0) {
+        nativeApiProvider.get().setNativeToJsBridgeMode(bridgeSecret, mode);
+    }
+
+    if (mode == nativeToJsModes.POLLING) {
+        pollEnabled = true;
+        setTimeout(pollingTimerFunc, 1);
+    }
+};
+
+function buildPayload(payload, message) {
+    var payloadKind = message.charAt(0);
+    if (payloadKind == 's') {
+        payload.push(message.slice(1));
+    } else if (payloadKind == 't') {
+        payload.push(true);
+    } else if (payloadKind == 'f') {
+        payload.push(false);
+    } else if (payloadKind == 'N') {
+        payload.push(null);
+    } else if (payloadKind == 'n') {
+        payload.push(+message.slice(1));
+    } else if (payloadKind == 'A') {
+        var data = message.slice(1);
+        payload.push(base64.toArrayBuffer(data));
+    } else if (payloadKind == 'S') {
+        payload.push(window.atob(message.slice(1)));
+    } else if (payloadKind == 'M') {
+        var multipartMessages = message.slice(1);
+        while (multipartMessages !== "") {
+            var spaceIdx = multipartMessages.indexOf(' ');
+            var msgLen = +multipartMessages.slice(0, spaceIdx);
+            var multipartMessage = multipartMessages.substr(spaceIdx + 1, 
msgLen);
+            multipartMessages = multipartMessages.slice(spaceIdx + msgLen + 1);
+            buildPayload(payload, multipartMessage);
+        }
+    } else {
+        payload.push(JSON.parse(message));
+    }
+}
+
+// Processes a single message, as encoded by NativeToJsMessageQueue.java.
+function processMessage(message) {
+    var firstChar = message.charAt(0);
+    if (firstChar == 'J') {
+        // This is deprecated on the .java side. It doesn't work with CSP 
enabled.
+        eval(message.slice(1));
+    } else if (firstChar == 'S' || firstChar == 'F') {
+        var success = firstChar == 'S';
+        var keepCallback = message.charAt(1) == '1';
+        var spaceIdx = message.indexOf(' ', 2);
+        var status = +message.slice(2, spaceIdx);
+        var nextSpaceIdx = message.indexOf(' ', spaceIdx + 1);
+        var callbackId = message.slice(spaceIdx + 1, nextSpaceIdx);
+        var payloadMessage = message.slice(nextSpaceIdx + 1);
+        var payload = [];
+        buildPayload(payload, payloadMessage);
+        cordova.callbackFromNative(callbackId, success, status, payload, 
keepCallback);
+    } else {
+        console.log("processMessage failed: invalid message: " + 
JSON.stringify(message));
+    }
+}
+
+function processMessages() {
+    // Check for the reentrant case.
+    if (isProcessing) {
+        return;
+    }
+    if (messagesFromNative.length === 0) {
+        return;
+    }
+    isProcessing = true;
+    try {
+        var msg = popMessageFromQueue();
+        // The Java side can send a * message to indicate that it
+        // still has messages waiting to be retrieved.
+        if (msg == '*' && messagesFromNative.length === 0) {
+            nextTick(pollOnce);
+            return;
+        }
+        processMessage(msg);
+    } finally {
+        isProcessing = false;
+        if (messagesFromNative.length > 0) {
+            nextTick(processMessages);
+        }
+    }
+}
+
+function popMessageFromQueue() {
+    var messageBatch = messagesFromNative.shift();
+    if (messageBatch == '*') {
+        return '*';
+    }
+
+    var spaceIdx = messageBatch.indexOf(' ');
+    var msgLen = +messageBatch.slice(0, spaceIdx);
+    var message = messageBatch.substr(spaceIdx + 1, msgLen);
+    messageBatch = messageBatch.slice(spaceIdx + msgLen + 1);
+    if (messageBatch) {
+        messagesFromNative.unshift(messageBatch);
+    }
+    return message;
+}
+
+module.exports = androidExec;

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/platform.js
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/platform.js 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/platform.js
new file mode 100644
index 0000000..2bfd024
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/platform.js
@@ -0,0 +1,125 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+// The last resume event that was received that had the result of a plugin 
call.
+var lastResumeEvent = null;
+
+module.exports = {
+    id: 'android',
+    bootstrap: function() {
+        var channel = require('cordova/channel'),
+            cordova = require('cordova'),
+            exec = require('cordova/exec'),
+            modulemapper = require('cordova/modulemapper');
+
+        // Get the shared secret needed to use the bridge.
+        exec.init();
+
+        // TODO: Extract this as a proper plugin.
+        modulemapper.clobbers('cordova/plugin/android/app', 'navigator.app');
+
+        var APP_PLUGIN_NAME = Number(cordova.platformVersion.split('.')[0]) >= 
4 ? 'CoreAndroid' : 'App';
+
+        // Inject a listener for the backbutton on the document.
+        var backButtonChannel = cordova.addDocumentEventHandler('backbutton');
+        backButtonChannel.onHasSubscribersChange = function() {
+            // If we just attached the first handler or detached the last 
handler,
+            // let native know we need to override the back button.
+            exec(null, null, APP_PLUGIN_NAME, "overrideBackbutton", 
[this.numHandlers == 1]);
+        };
+
+        // Add hardware MENU and SEARCH button handlers
+        cordova.addDocumentEventHandler('menubutton');
+        cordova.addDocumentEventHandler('searchbutton');
+
+        function bindButtonChannel(buttonName) {
+            // generic button bind used for volumeup/volumedown buttons
+            var volumeButtonChannel = 
cordova.addDocumentEventHandler(buttonName + 'button');
+            volumeButtonChannel.onHasSubscribersChange = function() {
+                exec(null, null, APP_PLUGIN_NAME, "overrideButton", 
[buttonName, this.numHandlers == 1]);
+            };
+        }
+        // Inject a listener for the volume buttons on the document.
+        bindButtonChannel('volumeup');
+        bindButtonChannel('volumedown');
+
+        // The resume event is not "sticky", but it is possible that the event
+        // will contain the result of a plugin call. We need to ensure that the
+        // plugin result is delivered even after the event is fired (CB-10498)
+        var cordovaAddEventListener = document.addEventListener;
+
+        document.addEventListener = function(evt, handler, capture) {
+            cordovaAddEventListener(evt, handler, capture);
+
+            if (evt === 'resume' && lastResumeEvent) {
+                handler(lastResumeEvent);
+            }
+        };
+
+        // Let native code know we are all done on the JS side.
+        // Native code will then un-hide the WebView.
+        channel.onCordovaReady.subscribe(function() {
+            exec(onMessageFromNative, null, APP_PLUGIN_NAME, 'messageChannel', 
[]);
+            exec(null, null, APP_PLUGIN_NAME, "show", []);
+        });
+    }
+};
+
+function onMessageFromNative(msg) {
+    var cordova = require('cordova');
+    var action = msg.action;
+
+    switch (action)
+    {
+        // Button events
+        case 'backbutton':
+        case 'menubutton':
+        case 'searchbutton':
+        // App life cycle events
+        case 'pause':
+        // Volume events
+        case 'volumedownbutton':
+        case 'volumeupbutton':
+            cordova.fireDocumentEvent(action);
+            break;
+        case 'resume':
+            if(arguments.length > 1 && msg.pendingResult) {
+                if(arguments.length === 2) {
+                    msg.pendingResult.result = arguments[1];
+                } else {
+                    // The plugin returned a multipart message
+                    var res = [];
+                    for(var i = 1; i < arguments.length; i++) {
+                        res.push(arguments[i]);
+                    }
+                    msg.pendingResult.result = res;
+                }
+
+                // Save the plugin result so that it can be delivered to the js
+                // even if they miss the initial firing of the event
+                lastResumeEvent = msg;
+            }
+            cordova.fireDocumentEvent(action, msg);
+            break;
+        default:
+            throw new Error('Unknown event action ' + action);
+    }
+}

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/plugin/android/app.js
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/plugin/android/app.js
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/plugin/android/app.js
new file mode 100644
index 0000000..22cf96e
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/cordova-js-src/plugin/android/app.js
@@ -0,0 +1,108 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+var exec = require('cordova/exec');
+var APP_PLUGIN_NAME = Number(require('cordova').platformVersion.split('.')[0]) 
>= 4 ? 'CoreAndroid' : 'App';
+
+module.exports = {
+    /**
+    * Clear the resource cache.
+    */
+    clearCache:function() {
+        exec(null, null, APP_PLUGIN_NAME, "clearCache", []);
+    },
+
+    /**
+    * Load the url into the webview or into new browser instance.
+    *
+    * @param url           The URL to load
+    * @param props         Properties that can be passed in to the activity:
+    *      wait: int                           => wait msec before loading URL
+    *      loadingDialog: "Title,Message"      => display a native loading 
dialog
+    *      loadUrlTimeoutValue: int            => time in msec to wait before 
triggering a timeout error
+    *      clearHistory: boolean              => clear webview history 
(default=false)
+    *      openExternal: boolean              => open in a new browser 
(default=false)
+    *
+    * Example:
+    *      navigator.app.loadUrl("http://server/myapp/index.html";, {wait:2000, 
loadingDialog:"Wait,Loading App", loadUrlTimeoutValue: 60000});
+    */
+    loadUrl:function(url, props) {
+        exec(null, null, APP_PLUGIN_NAME, "loadUrl", [url, props]);
+    },
+
+    /**
+    * Cancel loadUrl that is waiting to be loaded.
+    */
+    cancelLoadUrl:function() {
+        exec(null, null, APP_PLUGIN_NAME, "cancelLoadUrl", []);
+    },
+
+    /**
+    * Clear web history in this web view.
+    * Instead of BACK button loading the previous web page, it will exit the 
app.
+    */
+    clearHistory:function() {
+        exec(null, null, APP_PLUGIN_NAME, "clearHistory", []);
+    },
+
+    /**
+    * Go to previous page displayed.
+    * This is the same as pressing the backbutton on Android device.
+    */
+    backHistory:function() {
+        exec(null, null, APP_PLUGIN_NAME, "backHistory", []);
+    },
+
+    /**
+    * Override the default behavior of the Android back button.
+    * If overridden, when the back button is pressed, the "backKeyDown" 
JavaScript event will be fired.
+    *
+    * Note: The user should not have to call this method.  Instead, when the 
user
+    *       registers for the "backbutton" event, this is automatically done.
+    *
+    * @param override        T=override, F=cancel override
+    */
+    overrideBackbutton:function(override) {
+        exec(null, null, APP_PLUGIN_NAME, "overrideBackbutton", [override]);
+    },
+
+    /**
+    * Override the default behavior of the Android volume button.
+    * If overridden, when the volume button is pressed, the 
"volume[up|down]button"
+    * JavaScript event will be fired.
+    *
+    * Note: The user should not have to call this method.  Instead, when the 
user
+    *       registers for the "volume[up|down]button" event, this is 
automatically done.
+    *
+    * @param button          volumeup, volumedown
+    * @param override        T=override, F=cancel override
+    */
+    overrideButton:function(button, override) {
+        exec(null, null, APP_PLUGIN_NAME, "overrideButton", [button, 
override]);
+    },
+
+    /**
+    * Exit and terminate the application.
+    */
+    exitApp:function() {
+        return exec(null, null, APP_PLUGIN_NAME, "exitApp", []);
+    }
+};

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.classpath
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.classpath 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.classpath
new file mode 100644
index 0000000..0461652
--- /dev/null
+++ b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry exported="true" kind="con" 
path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+       <classpathentry exported="true" kind="con" 
path="com.android.ide.eclipse.adt.LIBRARIES"/>
+       <classpathentry exported="true" kind="con" 
path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="src" path="gen"/>
+       <classpathentry kind="output" path="bin/classes"/>
+</classpath>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/cache.properties
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/cache.properties
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/cache.properties
new file mode 100644
index 0000000..4e89e67
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/cache.properties
@@ -0,0 +1 @@
+#Thu Jul 28 17:05:13 PDT 2016

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/cache.properties.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/cache.properties.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/cache.properties.lock
new file mode 100644
index 0000000..9eed96d
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/cache.properties.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/fileHashes.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/fileHashes.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/fileHashes.bin
new file mode 100644
index 0000000..038cfcf
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/fileHashes.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/fileSnapshots.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/fileSnapshots.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/fileSnapshots.bin
new file mode 100644
index 0000000..c5711e6
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/fileSnapshots.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/outputFileStates.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/outputFileStates.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/outputFileStates.bin
new file mode 100644
index 0000000..a132df0
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/outputFileStates.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/taskArtifacts.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/taskArtifacts.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/taskArtifacts.bin
new file mode 100644
index 0000000..f3dc687
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/taskArtifacts/taskArtifacts.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
new file mode 100644
index 0000000..b2c9a34
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
new file mode 100644
index 0000000..4836c97
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
new file mode 100644
index 0000000..eb29afb
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
new file mode 100644
index 0000000..aa3da23
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.10/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/cache.properties
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/cache.properties
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/cache.properties
new file mode 100644
index 0000000..4a7f396
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/cache.properties
@@ -0,0 +1 @@
+#Wed Feb 22 17:16:15 PST 2017

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/cache.properties.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/cache.properties.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/cache.properties.lock
new file mode 100644
index 0000000..26c2e6d
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/cache.properties.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileHashes.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileHashes.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileHashes.bin
new file mode 100644
index 0000000..b3c2f7b
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileHashes.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin
new file mode 100644
index 0000000..f5fdfb4
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin
new file mode 100644
index 0000000..b3a6be6
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin
new file mode 100644
index 0000000..a5930fc
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
new file mode 100644
index 0000000..4a2afda
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
new file mode 100644
index 0000000..0e29096
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
new file mode 100644
index 0000000..eb29afb
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
new file mode 100644
index 0000000..e6cef5e
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
new file mode 100644
index 0000000..4a2afda
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
new file mode 100644
index 0000000..07261a8
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
new file mode 100644
index 0000000..eb29afb
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
new file mode 100644
index 0000000..1f1a6c3
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/2.14.1/tasks/_compileReleaseJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/file-changes/last-build.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/file-changes/last-build.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/file-changes/last-build.bin
new file mode 100644
index 0000000..f76dd23
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/file-changes/last-build.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/fileContent/fileContent.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/fileContent/fileContent.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/fileContent/fileContent.lock
new file mode 100644
index 0000000..194ef94
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/fileContent/fileContent.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/classAnalysis.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/classAnalysis.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/classAnalysis.bin
new file mode 100644
index 0000000..fca4236
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/classAnalysis.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/javaCompile.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/javaCompile.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/javaCompile.lock
new file mode 100644
index 0000000..78b9d38
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/javaCompile.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/taskHistory.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/taskHistory.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/taskHistory.bin
new file mode 100644
index 0000000..cdb77e7
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/taskHistory.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/taskJars.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/taskJars.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/taskJars.bin
new file mode 100644
index 0000000..38bd496
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/javaCompile/taskJars.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/fileHashes.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/fileHashes.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/fileHashes.bin
new file mode 100644
index 0000000..402aaf8
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/fileHashes.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/fileSnapshots.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/fileSnapshots.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/fileSnapshots.bin
new file mode 100644
index 0000000..acde9df
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/fileSnapshots.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/taskHistory.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/taskHistory.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/taskHistory.bin
new file mode 100644
index 0000000..781d3cc
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/taskHistory.bin
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/taskHistory.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/taskHistory.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/taskHistory.lock
new file mode 100644
index 0000000..8969f70
Binary files /dev/null and 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/3.4/taskHistory/taskHistory.lock
 differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/built.bin
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/built.bin
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/built.bin
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/cache.properties
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/cache.properties
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/cache.properties
new file mode 100644
index 0000000..24ec1da
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/cache.properties
@@ -0,0 +1,2 @@
+#Wed Feb 22 17:01:45 PST 2017
+gradle.version=3.4

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/cache.properties.lock
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/cache.properties.lock
 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/cache.properties.lock
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.gradle/buildOutputCleanup/cache.properties.lock
@@ -0,0 +1 @@
+
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/da952e07/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.project
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.project 
b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.project
new file mode 100644
index 0000000..ed4a955
--- /dev/null
+++ b/cordova-lib/spec-cordova/fixtures/platforms/atari/framework/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+    <name>Cordova</name>
+    <comment></comment>
+    <projects>
+    </projects>
+    <buildSpec>
+        <buildCommand>
+            <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+            <arguments>
+            </arguments>
+        </buildCommand>
+        <buildCommand>
+            <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+            <arguments>
+            </arguments>
+        </buildCommand>
+        <buildCommand>
+            <name>org.eclipse.jdt.core.javabuilder</name>
+            <arguments>
+            </arguments>
+        </buildCommand>
+        <buildCommand>
+            <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+            <arguments>
+            </arguments>
+        </buildCommand>
+    </buildSpec>
+    <natures>
+        <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+        <nature>org.eclipse.jdt.core.javanature</nature>
+    </natures>
+</projectDescription>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to