summaryrefslogtreecommitdiff
path: root/library/rules.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'library/rules.gradle')
-rw-r--r--library/rules.gradle81
1 files changed, 81 insertions, 0 deletions
diff --git a/library/rules.gradle b/library/rules.gradle
new file mode 100644
index 0000000..4813c27
--- /dev/null
+++ b/library/rules.gradle
@@ -0,0 +1,81 @@
+/**
+ * Base rules for building setup wizard library. This build file is not used directly but rather
+ * included in scripts like build.gradle or standalone.gradle using 'apply from'.
+ *
+ * This allows the dependencies to be configured so that for builds in the Android tree, the
+ * dependencies like support library is built directly from source, while for standalone builds they
+ * will be fetched from maven central.
+ */
+
+apply plugin: 'com.android.library'
+
+android {
+
+ publishNonDefault true
+
+ sourceSets {
+ main {
+ manifest.srcFile 'main/AndroidManifest.xml'
+ java.srcDirs = ['main/src']
+ resources.srcDirs = ['main/src']
+ res.srcDirs = ['main/res']
+ }
+
+ productFlavors {
+ // Platform version that will not include the compatibility libraries
+ platform {
+ minSdkVersion 21
+ }
+
+ // Compatibility build that provides the L layout for SDK versions ICS+
+ icsCompat {
+ minSdkVersion 14
+ dependencies {
+ // Read the dependencies from the "deps" map in the extra properties.
+ //
+ // For builds in the Android tree we want to build the dependencies from source
+ // for reproducible builds, for example in build.gradle define something like
+ // this:
+ // ext {
+ // deps = ['project-name': project(':project-path')]
+ // }
+ //
+ // For standalone project clients, since the source may not be available, we
+ // fetch the dependencies from maven. For example in standalone.gradle define
+ // something like this:
+ // ext {
+ // deps = ['project-name': 'com.example.group:project-name:1.0.0']
+ // }
+ //
+ icsCompatCompile deps['support-appcompat-v7']
+ }
+ }
+
+ // Compatibility build that provides the L layout for SDK versions Eclair MR1+
+ eclairMr1Compat {
+ minSdkVersion 7
+ dependencies {
+ eclairMr1CompatCompile deps['support-appcompat-v7']
+ }
+ }
+ }
+
+ platform {
+ res.srcDirs = ['platform/res']
+ }
+
+ icsCompat {
+ res.srcDirs = ['eclair-mr1/res']
+ }
+
+ eclairMr1Compat {
+ res.srcDirs = ['eclair-mr1/res']
+ }
+
+ androidTest {
+ manifest.srcFile 'test/AndroidManifest.xml'
+ java.srcDirs = ['test/src']
+ res.srcDirs = ['test/res']
+ }
+ }
+}