aboutsummaryrefslogtreecommitdiffstats
path: root/templates/projects
diff options
context:
space:
mode:
Diffstat (limited to 'templates/projects')
-rw-r--r--templates/projects/NewAndroidApplication/globals.xml.ftl6
-rw-r--r--templates/projects/NewAndroidApplication/recipe.xml.ftl28
-rw-r--r--templates/projects/NewAndroidApplication/root/build.gradle.ftl24
-rw-r--r--templates/projects/NewAndroidApplication/root/settings.gradle.ftl1
-rw-r--r--templates/projects/NewAndroidLibrary/globals.xml.ftl10
-rw-r--r--templates/projects/NewAndroidLibrary/recipe.xml.ftl33
-rw-r--r--templates/projects/NewAndroidLibrary/root/AndroidManifest.xml.ftl15
-rw-r--r--templates/projects/NewAndroidLibrary/root/build.gradle.ftl24
-rwxr-xr-xtemplates/projects/NewAndroidLibrary/root/res/drawable-hdpi/ic_launcher.pngbin0 -> 9397 bytes
-rwxr-xr-xtemplates/projects/NewAndroidLibrary/root/res/drawable-mdpi/ic_launcher.pngbin0 -> 5237 bytes
-rwxr-xr-xtemplates/projects/NewAndroidLibrary/root/res/drawable-xhdpi/ic_launcher.pngbin0 -> 14383 bytes
-rw-r--r--templates/projects/NewAndroidLibrary/root/res/values-v11/styles_hc.xml.ftl11
-rw-r--r--templates/projects/NewAndroidLibrary/root/res/values-v14/styles_ics.xml12
-rw-r--r--templates/projects/NewAndroidLibrary/root/res/values/strings.xml.ftl3
-rw-r--r--templates/projects/NewAndroidLibrary/root/res/values/styles.xml.ftl20
-rw-r--r--templates/projects/NewAndroidLibrary/root/settings.gradle.ftl1
-rw-r--r--templates/projects/NewAndroidLibrary/template.xml82
-rw-r--r--templates/projects/NewAndroidLibrary/template_new_project.pngbin0 -> 12408 bytes
-rw-r--r--templates/projects/NewJavaLibrary/globals.xml.ftl7
-rw-r--r--templates/projects/NewJavaLibrary/recipe.xml.ftl11
-rw-r--r--templates/projects/NewJavaLibrary/root/build.gradle.ftl1
-rw-r--r--templates/projects/NewJavaLibrary/root/settings.gradle.ftl1
-rw-r--r--templates/projects/NewJavaLibrary/root/src/library_package/Placeholder.java4
-rw-r--r--templates/projects/NewJavaLibrary/template.xml24
-rw-r--r--templates/projects/NewJavaLibrary/template_new_project.pngbin0 -> 12408 bytes
25 files changed, 310 insertions, 8 deletions
diff --git a/templates/projects/NewAndroidApplication/globals.xml.ftl b/templates/projects/NewAndroidApplication/globals.xml.ftl
index bfc27eb..2565dcd 100644
--- a/templates/projects/NewAndroidApplication/globals.xml.ftl
+++ b/templates/projects/NewAndroidApplication/globals.xml.ftl
@@ -1,4 +1,10 @@
<?xml version="1.0"?>
<globals>
+ <global id="isGradle" value="false" />
+ <global id="topOut" value="." />
+ <global id="projectOut" value="." />
+ <global id="manifestOut" value="." />
<global id="srcOut" value="src/${slashedPackageName(packageName)}" />
+ <global id="resOut" value="res" />
+ <global id="mavenUrl" value="" />
</globals>
diff --git a/templates/projects/NewAndroidApplication/recipe.xml.ftl b/templates/projects/NewAndroidApplication/recipe.xml.ftl
index bc8f02e..79210a9 100644
--- a/templates/projects/NewAndroidApplication/recipe.xml.ftl
+++ b/templates/projects/NewAndroidApplication/recipe.xml.ftl
@@ -1,21 +1,33 @@
<?xml version="1.0"?>
<recipe>
- <instantiate from="AndroidManifest.xml.ftl" />
+<#if isGradle == "true">
+ <merge from="settings.gradle.ftl"
+ to="${topOut}/settings.gradle" />
+ <instantiate from="build.gradle.ftl"
+ to="${projectOut}/build.gradle" />
+</#if>
+ <instantiate from="AndroidManifest.xml.ftl"
+ to="${manifestOut}/AndroidManifest.xml" />
<#if copyIcons>
- <copy from="res/drawable-hdpi" />
- <copy from="res/drawable-mdpi" />
- <copy from="res/drawable-xhdpi" />
+ <copy from="res/drawable-hdpi"
+ to="${resOut}/drawable-hdpi" />
+ <copy from="res/drawable-mdpi"
+ to="${resOut}/drawable-mdpi" />
+ <copy from="res/drawable-xhdpi"
+ to="${resOut}/drawable-xhdpi" />
</#if>
- <instantiate from="res/values/styles.xml.ftl" />
+ <instantiate from="res/values/styles.xml.ftl"
+ to="${resOut}/values/styles.xml" />
<#if buildApi gte 11 && baseTheme != "none">
<instantiate from="res/values-v11/styles_hc.xml.ftl"
- to="res/values-v11/styles.xml" />
+ to="${resOut}/values-v11/styles.xml" />
</#if>
<#if buildApi gte 14 && baseTheme?contains("darkactionbar")>
<copy from="res/values-v14/styles_ics.xml"
- to="res/values-v14/styles.xml" />
+ to="${resOut}/values-v14/styles.xml" />
</#if>
- <instantiate from="res/values/strings.xml.ftl" />
+ <instantiate from="res/values/strings.xml.ftl"
+ to="${resOut}/values/strings.xml" />
</recipe>
diff --git a/templates/projects/NewAndroidApplication/root/build.gradle.ftl b/templates/projects/NewAndroidApplication/root/build.gradle.ftl
new file mode 100644
index 0000000..0232c7e
--- /dev/null
+++ b/templates/projects/NewAndroidApplication/root/build.gradle.ftl
@@ -0,0 +1,24 @@
+buildscript {
+ repositories {
+ maven { url '${mavenUrl}/prebuilts-repo' }
+ maven { url '${mavenUrl}/tools-repo' }
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
+ }
+}
+apply plugin: 'android'
+
+dependencies {
+ compile files('libs/android-support-v4.jar')
+}
+
+android {
+ compileSdkVersion ${buildApi}
+ buildToolsVersion "${buildApi}"
+
+ defaultConfig {
+ minSdkVersion ${minApi}
+ targetSdkVersion ${targetApi}
+ }
+}
diff --git a/templates/projects/NewAndroidApplication/root/settings.gradle.ftl b/templates/projects/NewAndroidApplication/root/settings.gradle.ftl
new file mode 100644
index 0000000..b12004b
--- /dev/null
+++ b/templates/projects/NewAndroidApplication/root/settings.gradle.ftl
@@ -0,0 +1 @@
+include ':${projectName}'
diff --git a/templates/projects/NewAndroidLibrary/globals.xml.ftl b/templates/projects/NewAndroidLibrary/globals.xml.ftl
new file mode 100644
index 0000000..2565dcd
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/globals.xml.ftl
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<globals>
+ <global id="isGradle" value="false" />
+ <global id="topOut" value="." />
+ <global id="projectOut" value="." />
+ <global id="manifestOut" value="." />
+ <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
+ <global id="resOut" value="res" />
+ <global id="mavenUrl" value="" />
+</globals>
diff --git a/templates/projects/NewAndroidLibrary/recipe.xml.ftl b/templates/projects/NewAndroidLibrary/recipe.xml.ftl
new file mode 100644
index 0000000..9999701
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/recipe.xml.ftl
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<recipe>
+<#if isGradle == "true">
+ <merge from="settings.gradle.ftl"
+ to="${topOut}/settings.gradle" />
+ <instantiate from="build.gradle.ftl"
+ to="${projectOut}/build.gradle" />
+</#if>
+ <instantiate from="MODULE_NAME/src/main/AndroidManifest.xml.ftl"
+ to="${manifestOut}/AndroidManifest.xml" />
+
+<#if copyIcons>
+ <copy from="res/drawable-hdpi"
+ to="${resOut}/drawable-hdpi" />
+ <copy from="res/drawable-mdpi"
+ to="${resOut}/drawable-mdpi" />
+ <copy from="res/drawable-xhdpi"
+ to="${resOut}/drawable-xhdpi" />
+</#if>
+ <instantiate from="res/values/styles.xml.ftl"
+ to="${resOut}/values/styles.xml" />
+<#if buildApi gte 11 && baseTheme != "none">
+ <instantiate from="res/values-v11/styles_hc.xml.ftl"
+ to="${resOut}/values-v11/styles.xml" />
+</#if>
+<#if buildApi gte 14 && baseTheme?contains("darkactionbar")>
+ <copy from="res/values-v14/styles_ics.xml"
+ to="${resOut}/values-v14/styles.xml" />
+</#if>
+
+ <instantiate from="res/values/strings.xml.ftl"
+ to="${resOut}/values/strings.xml" />
+</recipe>
diff --git a/templates/projects/NewAndroidLibrary/root/AndroidManifest.xml.ftl b/templates/projects/NewAndroidLibrary/root/AndroidManifest.xml.ftl
new file mode 100644
index 0000000..390a9da
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/root/AndroidManifest.xml.ftl
@@ -0,0 +1,15 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="${packageName}"
+ android:versionCode="1"
+ android:versionName="1.0">
+
+ <uses-sdk android:minSdkVersion="${minApi}" <#if buildApi gte 4>android:targetSdkVersion="${targetApi}" </#if>/>
+
+ <application <#if minApiLevel gte 4 && buildApi gte 4>android:allowBackup="true"</#if>
+ android:label="@string/app_name"
+ android:icon="@drawable/ic_launcher"<#if baseTheme != "none">
+ android:theme="@style/AppTheme"</#if>>
+
+ </application>
+
+</manifest>
diff --git a/templates/projects/NewAndroidLibrary/root/build.gradle.ftl b/templates/projects/NewAndroidLibrary/root/build.gradle.ftl
new file mode 100644
index 0000000..12733c7
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/root/build.gradle.ftl
@@ -0,0 +1,24 @@
+buildscript {
+ repositories {
+ maven { url '${mavenUrl}/prebuilts-repo' }
+ maven { url '${mavenUrl}/tools-repo' }
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
+ }
+}
+apply plugin: 'android-library'
+
+dependencies {
+ compile files('libs/android-support-v4.jar')
+}
+
+android {
+ compileSdkVersion ${buildApi}
+ buildToolsVersion "${buildApi}"
+
+ defaultConfig {
+ minSdkVersion ${minApi}
+ targetSdkVersion ${targetApi}
+ }
+}
diff --git a/templates/projects/NewAndroidLibrary/root/res/drawable-hdpi/ic_launcher.png b/templates/projects/NewAndroidLibrary/root/res/drawable-hdpi/ic_launcher.png
new file mode 100755
index 0000000..96a442e
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/root/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/templates/projects/NewAndroidLibrary/root/res/drawable-mdpi/ic_launcher.png b/templates/projects/NewAndroidLibrary/root/res/drawable-mdpi/ic_launcher.png
new file mode 100755
index 0000000..359047d
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/root/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/templates/projects/NewAndroidLibrary/root/res/drawable-xhdpi/ic_launcher.png b/templates/projects/NewAndroidLibrary/root/res/drawable-xhdpi/ic_launcher.png
new file mode 100755
index 0000000..71c6d76
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/root/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/templates/projects/NewAndroidLibrary/root/res/values-v11/styles_hc.xml.ftl b/templates/projects/NewAndroidLibrary/root/res/values-v11/styles_hc.xml.ftl
new file mode 100644
index 0000000..f8993c3
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/root/res/values-v11/styles_hc.xml.ftl
@@ -0,0 +1,11 @@
+<resources>
+
+ <!--
+ Base application theme for API 11+. This theme completely replaces
+ AppBaseTheme from res/values/styles.xml on API 11+ devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme.Holo<#if baseTheme?contains("light")>.Light</#if>">
+ <!-- API 11 theme customizations can go here. -->
+ </style>
+
+</resources>
diff --git a/templates/projects/NewAndroidLibrary/root/res/values-v14/styles_ics.xml b/templates/projects/NewAndroidLibrary/root/res/values-v14/styles_ics.xml
new file mode 100644
index 0000000..a91fd03
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/root/res/values-v14/styles_ics.xml
@@ -0,0 +1,12 @@
+<resources>
+
+ <!--
+ Base application theme for API 14+. This theme completely replaces
+ AppBaseTheme from BOTH res/values/styles.xml and
+ res/values-v11/styles.xml on API 14+ devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
+ <!-- API 14 theme customizations can go here. -->
+ </style>
+
+</resources>
diff --git a/templates/projects/NewAndroidLibrary/root/res/values/strings.xml.ftl b/templates/projects/NewAndroidLibrary/root/res/values/strings.xml.ftl
new file mode 100644
index 0000000..ee03444
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/root/res/values/strings.xml.ftl
@@ -0,0 +1,3 @@
+<resources>
+ <string name="app_name">${escapeXmlString(appTitle)}</string>
+</resources>
diff --git a/templates/projects/NewAndroidLibrary/root/res/values/styles.xml.ftl b/templates/projects/NewAndroidLibrary/root/res/values/styles.xml.ftl
new file mode 100644
index 0000000..30fe5b5
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/root/res/values/styles.xml.ftl
@@ -0,0 +1,20 @@
+<resources>
+
+ <!--
+ Base application theme, dependent on API level. This theme is replaced
+ by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme<#if baseTheme?contains("light")>.Light</#if>">
+ <!--
+ Theme customizations available in newer API levels can go in
+ res/values-vXX/styles.xml, while customizations related to
+ backward-compatibility can go here.
+ -->
+ </style>
+
+ <!-- Application theme. -->
+ <style name="AppTheme" parent="AppBaseTheme">
+ <!-- All customizations that are NOT specific to a particular API-level can go here. -->
+ </style>
+
+</resources>
diff --git a/templates/projects/NewAndroidLibrary/root/settings.gradle.ftl b/templates/projects/NewAndroidLibrary/root/settings.gradle.ftl
new file mode 100644
index 0000000..b12004b
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/root/settings.gradle.ftl
@@ -0,0 +1 @@
+include ':${projectName}'
diff --git a/templates/projects/NewAndroidLibrary/template.xml b/templates/projects/NewAndroidLibrary/template.xml
new file mode 100644
index 0000000..463643d
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/template.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<template
+ format="1"
+ revision="1"
+ name="Android Library"
+ description="Creates a new Android library.">
+ <dependency name="android-support-v4" revision="8" />
+
+ <thumbs>
+ <thumb>template_new_project.png</thumb>
+ </thumbs>
+
+ <category value="Applications" />
+
+ <parameter
+ id="packageName"
+ name="Package name"
+ type="string"
+ constraints="package"
+ default="com.mycompany.myapp" />
+
+ <parameter
+ id="appTitle"
+ name="Library title"
+ type="string"
+ constraints="nonempty"
+ default="My Library"/>
+
+ <parameter
+ id="baseTheme"
+ name="Base Theme"
+ type="enum"
+ default="holo_light_darkactionbar"
+ help="The base user interface theme for the library">
+ <option id="none">None</option>
+ <option id="holo_dark" minBuildApi="11">Holo Dark</option>
+ <option id="holo_light" minBuildApi="11">Holo Light</option>
+ <option id="holo_light_darkactionbar" minBuildApi="14" default="true">Holo Light with Dark Action Bar</option>
+ </parameter>
+
+ <parameter
+ id="minApi"
+ name="Minimum API level"
+ type="string"
+ constraints="apilevel"
+ default="7" />
+
+ <!--
+ Usually the same as minApi, but when minApi is a code name this will be the corresponding
+ API level
+ -->
+ <parameter
+ id="minApiLevel"
+ name="Minimum API level"
+ type="string"
+ constraints="apilevel"
+ default="7" />
+
+ <parameter
+ id="targetApi"
+ name="Target API level"
+ type="string"
+ constraints="apilevel"
+ default="16" />
+
+ <parameter
+ id="buildApi"
+ name="Build API level"
+ type="string"
+ constraints="apilevel"
+ default="16" />
+
+ <parameter
+ id="copyIcons"
+ name="Include launcher icons"
+ type="boolean"
+ default="true" />
+
+ <globals file="globals.xml.ftl" />
+ <execute file="recipe.xml.ftl" />
+
+</template>
diff --git a/templates/projects/NewAndroidLibrary/template_new_project.png b/templates/projects/NewAndroidLibrary/template_new_project.png
new file mode 100644
index 0000000..92e8556
--- /dev/null
+++ b/templates/projects/NewAndroidLibrary/template_new_project.png
Binary files differ
diff --git a/templates/projects/NewJavaLibrary/globals.xml.ftl b/templates/projects/NewJavaLibrary/globals.xml.ftl
new file mode 100644
index 0000000..5b9b620
--- /dev/null
+++ b/templates/projects/NewJavaLibrary/globals.xml.ftl
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<globals>
+ <global id="isGradle" value="false" />
+ <global id="topOut" value="." />
+ <global id="projectOut" value="." />
+ <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
+</globals>
diff --git a/templates/projects/NewJavaLibrary/recipe.xml.ftl b/templates/projects/NewJavaLibrary/recipe.xml.ftl
new file mode 100644
index 0000000..e2d943a
--- /dev/null
+++ b/templates/projects/NewJavaLibrary/recipe.xml.ftl
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<recipe>
+<#if isGradle == "true">
+ <merge from="settings.gradle.ftl"
+ to="${topOut}/settings.gradle" />
+ <instantiate from="build.gradle.ftl"
+ to="${projectOut}/build.gradle" />
+</#if>
+ <instantiate from="/src/library_package/Placeholder.java"
+ to="${srcOut}/Placeholder.java" />
+</recipe>
diff --git a/templates/projects/NewJavaLibrary/root/build.gradle.ftl b/templates/projects/NewJavaLibrary/root/build.gradle.ftl
new file mode 100644
index 0000000..bbfeb03
--- /dev/null
+++ b/templates/projects/NewJavaLibrary/root/build.gradle.ftl
@@ -0,0 +1 @@
+apply plugin: 'java'
diff --git a/templates/projects/NewJavaLibrary/root/settings.gradle.ftl b/templates/projects/NewJavaLibrary/root/settings.gradle.ftl
new file mode 100644
index 0000000..b12004b
--- /dev/null
+++ b/templates/projects/NewJavaLibrary/root/settings.gradle.ftl
@@ -0,0 +1 @@
+include ':${projectName}'
diff --git a/templates/projects/NewJavaLibrary/root/src/library_package/Placeholder.java b/templates/projects/NewJavaLibrary/root/src/library_package/Placeholder.java
new file mode 100644
index 0000000..016aacb
--- /dev/null
+++ b/templates/projects/NewJavaLibrary/root/src/library_package/Placeholder.java
@@ -0,0 +1,4 @@
+package com.example;
+
+public class Placeholder {
+}
diff --git a/templates/projects/NewJavaLibrary/template.xml b/templates/projects/NewJavaLibrary/template.xml
new file mode 100644
index 0000000..4a3ed90
--- /dev/null
+++ b/templates/projects/NewJavaLibrary/template.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<template
+ format="1"
+ revision="1"
+ name="Java Library"
+ description="Creates a new Java library.">
+
+ <thumbs>
+ <thumb>template_new_project.png</thumb>
+ </thumbs>
+
+ <category value="Applications" />
+
+ <parameter
+ id="projectName"
+ name="Library name"
+ type="string"
+ constraints="nonempty"
+ default="MyLibrary"/>
+
+ <globals file="globals.xml.ftl" />
+ <execute file="recipe.xml.ftl" />
+
+</template>
diff --git a/templates/projects/NewJavaLibrary/template_new_project.png b/templates/projects/NewJavaLibrary/template_new_project.png
new file mode 100644
index 0000000..92e8556
--- /dev/null
+++ b/templates/projects/NewJavaLibrary/template_new_project.png
Binary files differ