Merging gst-examples
[platform/upstream/gstreamer.git] / vulkan / android / build.gradle
1 apply plugin: 'com.android.application'
2
3 android {
4     compileSdkVersion 24
5     buildToolsVersion '28.0.3'
6
7     defaultConfig {
8         applicationId "org.freedesktop.gstreamer.vulkan.vulkan_1"
9         minSdkVersion 24
10         targetSdkVersion 24
11         versionCode 1
12         versionName "1.0"
13         archivesBaseName = "$applicationId-v$versionCode"
14
15         externalNativeBuild {
16             ndkBuild {
17                 def gstRoot
18
19                 if (project.hasProperty('gstAndroidRoot'))
20                     gstRoot = project.gstAndroidRoot
21                 else
22                     gstRoot = System.env.GSTREAMER_ROOT_ANDROID
23
24                 if (gstRoot == null)
25                     throw new GradleException('GSTREAMER_ROOT_ANDROID must be set, or "gstAndroidRoot" must be defined in your gradle.properties in the top level directory of the unpacked universal GStreamer Android binaries')
26
27                 arguments "NDK_APPLICATION_MK=jni/Application.mk", "GSTREAMER_JAVA_SRC_DIR=src", "GSTREAMER_ROOT_ANDROID=$gstRoot", "GSTREAMER_ASSETS_DIR=src/assets"
28
29                 targets "vulkan-1"
30
31                 // All archs except MIPS and MIPS64 are supported
32                 abiFilters  'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
33             }
34         }
35     }
36
37     buildTypes {
38         release {
39             minifyEnabled false
40             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
41             sourceSets {
42                 main {
43                     manifest.srcFile 'AndroidManifest.xml'
44                     java.srcDirs = ['src']
45                     resources.srcDirs = ['src']
46                     aidl.srcDirs = ['src']
47                     renderscript.srcDirs = ['src']
48                     res.srcDirs = ['res']
49                     assets.srcDirs = ['assets']
50                 }
51             }
52         }
53     }
54
55     externalNativeBuild {
56         ndkBuild {
57             path 'jni/Android.mk'
58         }
59     }
60 }
61
62 afterEvaluate {
63     if (project.hasProperty('compileDebugJavaWithJavac'))
64         project.compileDebugJavaWithJavac.dependsOn 'externalNativeBuildDebug'
65     if (project.hasProperty('compileReleaseJavaWithJavac'))
66         project.compileReleaseJavaWithJavac.dependsOn 'externalNativeBuildRelease'
67 }
68
69 dependencies {
70     implementation fileTree(dir: 'libs', include: ['*.jar'])
71     testImplementation 'junit:junit:4.12'
72     implementation 'com.android.support:appcompat-v7:23.1.1'
73 }
74
75 buildscript {
76     repositories {
77         jcenter()
78         google()
79     }
80
81     dependencies {
82         classpath 'com.android.tools.build:gradle:3.5.0'
83     }
84 }
85
86 repositories {
87     jcenter()
88     google()
89 }