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