1*d353a188SXin Li<#ftl> 2*d353a188SXin Li<#-- 3*d353a188SXin Li Copyright 2013 The Android Open Source Project 4*d353a188SXin Li 5*d353a188SXin Li Licensed under the Apache License, Version 2.0 (the "License"); 6*d353a188SXin Li you may not use this file except in compliance with the License. 7*d353a188SXin Li You may obtain a copy of the License at 8*d353a188SXin Li 9*d353a188SXin Li http://www.apache.org/licenses/LICENSE-2.0 10*d353a188SXin Li 11*d353a188SXin Li Unless required by applicable law or agreed to in writing, software 12*d353a188SXin Li distributed under the License is distributed on an "AS IS" BASIS, 13*d353a188SXin Li WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*d353a188SXin Li See the License for the specific language governing permissions and 15*d353a188SXin Li limitations under the License. 16*d353a188SXin Li--> 17*d353a188SXin Li<#-- Add the appropriate copyright header --> 18*d353a188SXin Li<#if meta.outputFile?ends_with("java")> 19*d353a188SXin Li <#include "c-style-copyright.ftl"> 20*d353a188SXin Li<#elseif meta.outputFile?ends_with("xml")> 21*d353a188SXin Li <#include "xml-style-copyright.ftl"> 22*d353a188SXin Li</#if> 23*d353a188SXin Li<#-- Set the compile SDK version. This is more complicated than it should be, because 24*d353a188SXin Li the version can be either a number or a string (e.g. KeyLimePie) so we need to test 25*d353a188SXin Li both to see if the variable is empty. Note that to freemarker, all values from 26*d353a188SXin Li template-params.xml are Strings, even those that are human-readable as ints. 27*d353a188SXin Li 28*d353a188SXin Li Also, there's no way to check if it's a number or not without spamming output with 29*d353a188SXin Li try/catch stacktraces, so we can't silently wrap a string in quotes and leave a number 30*d353a188SXin Li alone. 31*d353a188SXin Li--> 32*d353a188SXin Li<#if (samples.compileSdkVersion)?? && (sample.compileSdkVersion)?is_string> 33*d353a188SXin Li <#if (sample.compileSdkVersion?contains("android")) && !(sample.compileSdkVersion?starts_with("\"")) 34*d353a188SXin Li && !(sample.compileSdkVersion?ends_with("\""))> 35*d353a188SXin Li <#assign compile_sdk = "\"${sample.compileSdkVersion}\""/> 36*d353a188SXin Li <#else> 37*d353a188SXin Li <#assign compile_sdk = sample.compileSdkVersion/> 38*d353a188SXin Li </#if> 39*d353a188SXin Li<#elseif (sample.compileSdkVersion)?has_content> 40*d353a188SXin Li <#assign compile_sdk = sample.compileSdkVersion/> 41*d353a188SXin Li<#else> 42*d353a188SXin Li <#assign compile_sdk = "28"/> 43*d353a188SXin Li</#if> 44*d353a188SXin Li<#-- Set the MinSDK version. This is more complicated than it should be, because 45*d353a188SXin Li the version can be either a number or a string (e.g. KeyLimePie) so we need to test 46*d353a188SXin Li both to see if the variable is empty. Note that to freemarker, all values from 47*d353a188SXin Li template-params.xml are Strings, even those that are human-readable as ints. 48*d353a188SXin Li 49*d353a188SXin Li Also, there's no way to check if it's a number or not without spamming output with 50*d353a188SXin Li try/catch stacktraces, so we can't silently wrap a string in quotes and leave a number 51*d353a188SXin Li alone. 52*d353a188SXin Li--> 53*d353a188SXin Li<#if (samples.minSdk)?? && (sample.minSdk)?is_string> 54*d353a188SXin Li <#if (sample.minSdk?contains("android")) && !(sample.minSdk?starts_with("\"")) 55*d353a188SXin Li && !(sample.minSdk?ends_with("\""))> 56*d353a188SXin Li <#assign min_sdk = "\"${sample.minSdk}\""/> 57*d353a188SXin Li <#else> 58*d353a188SXin Li <#assign min_sdk = sample.minSdk/> 59*d353a188SXin Li </#if> 60*d353a188SXin Li<#elseif (sample.minSdk)?has_content> 61*d353a188SXin Li <#assign min_sdk = sample.minSdk/> 62*d353a188SXin Li<#else> 63*d353a188SXin Li <#assign min_sdk = "24"/> 64*d353a188SXin Li</#if> 65*d353a188SXin Li 66*d353a188SXin Li<#-- Global macros --> 67*d353a188SXin Li 68*d353a188SXin Li<#-- Check if dependency is a play services dependency and if it doesn't 69*d353a188SXin Li have a version number attached use the global value 70*d353a188SXin Li play_services_version --> 71*d353a188SXin Li<#macro update_play_services_dependency dep> 72*d353a188SXin Li <#if "${dep}"?starts_with("com.google.android.gms:play-services") 73*d353a188SXin Li && "${dep}"?index_of(":") == "${dep}"?last_index_of(":")> 74*d353a188SXin Li implementation '${dep}:${play_services_version}' 75*d353a188SXin Li <#else> 76*d353a188SXin Li implementation '${dep}' 77*d353a188SXin Li </#if> 78*d353a188SXin Li</#macro> 79*d353a188SXin Li 80*d353a188SXin Li<#-- Set the global build tools version --> 81*d353a188SXin Li<#assign build_tools_version='"28.0.3"'/> 82*d353a188SXin Li 83*d353a188SXin Li<#assign play_services_version="15.0.1"/> 84*d353a188SXin Li<#assign play_services_version_wear="16.0.1"/> 85*d353a188SXin Li 86*d353a188SXin Li<#assign play_services_wearable_dependency="'com.google.android.gms:play-services-wearable:${play_services_version_wear}'"/> 87*d353a188SXin Li 88*d353a188SXin Li<#assign android_support_v13_dependency="'com.android.support:support-v13:28.0.0'"/> 89*d353a188SXin Li 90*d353a188SXin Li<#assign wearable_support_dependency="'com.google.android.support:wearable:2.4.0'"/> 91*d353a188SXin Li 92*d353a188SXin Li<#assign wearable_support_provided_dependency="'com.google.android.wearable:wearable:2.4.0'"/> 93