Refactor basebuild / allow apps without Application module

 Refactor basebuild template into "base-build" and "base-application",
 so that base-build does not force creation of a _MODULE_/Application
 directory:

- Rename templates/basebuild to templates/base-build
- Create templates/base-application
- Move templates/base-build/_MODULE_ to
  templates/base-application/_MODULE_
- Update <template> directives in dependent samples

Update Wear template so that it doesn't force creation of a
_MODULE_/Application directory:

 - Remove templates/Wear/_MODULE_
 - Remove ":Application" dependency from templates/Wear/settings.gradle

Bug: 18353265
Change-Id: Ic615fa9a3d92c1cd98548b49735ba9b47190b31c
diff --git a/templates/Wear/_MODULE_/build.gradle.ftl b/templates/Wear/_MODULE_/build.gradle.ftl
deleted file mode 100644
index 3f67924..0000000
--- a/templates/Wear/_MODULE_/build.gradle.ftl
+++ /dev/null
@@ -1,107 +0,0 @@
-<#--
- Copyright 2014 The Android Open Source Project
-
- Licensed 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.
--->
-buildscript {
-    repositories {
-        mavenCentral()
-    }
-
-    dependencies {
-        classpath 'com.android.tools.build:gradle:1.0.0'
-    }
-}
-
-apply plugin: 'com.android.application'
-
-<#if sample.repository?has_content>
-repositories {
-<#list sample.repository as rep>
-    ${rep}
-</#list>
-}
-</#if>
-
-dependencies {
-
-<#list sample.dependency as dep>
-    compile "${dep}"
-</#list>
-<#list sample.dependency_external as dep>
-    compile files(${dep})
-</#list>
-
-    compile ${play_services_wearable_dependency}
-    compile ${android_support_v13_dependency}
-    wearApp project(':Wearable')
-}
-
-// The sample build uses multiple directories to
-// keep boilerplate and common code separate from
-// the main sample code.
-List<String> dirs = [
-    'main',     // main sample code; look here for the interesting stuff.
-    'common',   // components that are reused by multiple samples
-    'template'] // boilerplate code that is generated by the sample template process
-
-android {
-    compileSdkVersion ${compile_sdk}
-
-    buildToolsVersion ${build_tools_version}
-
-    defaultConfig {
-        minSdkVersion ${min_sdk}
-        targetSdkVersion ${compile_sdk}
-        versionCode 1
-        versionName "1.0"
-    }
-
-    sourceSets {
-        main {
-            dirs.each { dir ->
-<#noparse>
-                java.srcDirs "src/${dir}/java"
-                res.srcDirs "src/${dir}/res"
-</#noparse>
-            }
-        }
-        androidTest.setRoot('tests')
-        androidTest.java.srcDirs = ['tests/src']
-
-<#if sample.defaultConfig?has_content>
-        defaultConfig {
-        ${sample.defaultConfig}
-        }
-<#else>
-</#if>
-    }
-
-}
-// BEGIN_EXCLUDE
-// Tasks below this line will be hidden from release output
-
-task preflight (dependsOn: parent.preflight) {
-    project.afterEvaluate {
-        // Inject a preflight task into each variant so we have a place to hook tasks
-        // that need to run before any of the android build tasks.
-        //
-        android.applicationVariants.each { variant ->
-        <#noparse>
-            tasks.getByPath("prepare${variant.name.capitalize()}Dependencies").dependsOn preflight
-        </#noparse>
-        }
-    }
-}
-
-// END_EXCLUDE
diff --git a/templates/Wear/settings.gradle.ftl b/templates/Wear/settings.gradle.ftl
index 20220d2..1c15c24 100644
--- a/templates/Wear/settings.gradle.ftl
+++ b/templates/Wear/settings.gradle.ftl
@@ -14,4 +14,7 @@
         See the License for the specific language governing permissions and
         limitations under the License.
 -->
-include ':${meta.module}', ':Wearable'
+<#if sample.wearable.has_handheld_app?has_content>
+include ':${meta.module}'
+</#if>
+include ':Wearable'
diff --git a/templates/basebuild/_MODULE_/build.gradle.ftl b/templates/base-application/_MODULE_/build.gradle.ftl
similarity index 100%
rename from templates/basebuild/_MODULE_/build.gradle.ftl
rename to templates/base-application/_MODULE_/build.gradle.ftl
diff --git a/templates/basebuild/.google/packaging.yaml.ftl b/templates/base-build/.google/packaging.yaml.ftl
similarity index 100%
rename from templates/basebuild/.google/packaging.yaml.ftl
rename to templates/base-build/.google/packaging.yaml.ftl
diff --git a/templates/basebuild/CONTRIBUTING.md b/templates/base-build/CONTRIBUTING.md
similarity index 100%
rename from templates/basebuild/CONTRIBUTING.md
rename to templates/base-build/CONTRIBUTING.md
diff --git a/templates/basebuild/LICENSE b/templates/base-build/LICENSE
similarity index 100%
rename from templates/basebuild/LICENSE
rename to templates/base-build/LICENSE
diff --git a/templates/basebuild/NOTICE.ftl b/templates/base-build/NOTICE.ftl
similarity index 100%
rename from templates/basebuild/NOTICE.ftl
rename to templates/base-build/NOTICE.ftl
diff --git a/templates/basebuild/README.md.ftl b/templates/base-build/README.md.ftl
similarity index 100%
rename from templates/basebuild/README.md.ftl
rename to templates/base-build/README.md.ftl
diff --git a/templates/basebuild/_index.jd.ftl b/templates/base-build/_index.jd.ftl
similarity index 100%
rename from templates/basebuild/_index.jd.ftl
rename to templates/base-build/_index.jd.ftl