OLD | NEW |
1 // Top-level build file where you can add configuration options common to all su
b-projects/modules. | 1 // Top-level build file where you can add configuration options common to all su
b-projects/modules. |
2 | 2 |
3 | 3 |
4 buildscript { | 4 buildscript { |
5 repositories { | 5 repositories { |
6 jcenter() | 6 jcenter() |
7 } | 7 } |
8 dependencies { | 8 dependencies { |
9 classpath 'com.android.tools.build:gradle:2.1.0' | 9 classpath 'com.android.tools.build:gradle:2.1.0' |
10 | 10 |
11 // NOTE: Do not place your application dependencies here; they belong | 11 // NOTE: Do not place your application dependencies here; they belong |
12 // in the individual module build.gradle files | 12 // in the individual module build.gradle files |
13 } | 13 } |
14 } | 14 } |
15 | 15 |
16 allprojects { | 16 allprojects { |
17 repositories { | 17 repositories { |
18 jcenter() | 18 jcenter() |
19 } | 19 } |
20 } | 20 } |
21 | 21 |
22 def setupSkiaLibraryBuild(project, appVariants, buildCmd) { | 22 def setupSkiaLibraryBuild(project, appVariants, buildCmd, requireCMake = false)
{ |
23 appVariants.all{ variant -> | 23 appVariants.all{ variant -> |
24 def buildNativeLib = project.task("${variant.name}_SkiaNativeLib", type:
Exec) { | 24 def buildNativeLib = project.task("${variant.name}_SkiaNativeLib", type:
Exec) { |
25 workingDir '../../../..' // top-level skia directory | 25 workingDir '../../../..' // top-level skia directory |
26 commandLine constructBuildCommand(variant, buildCmd).split() | 26 commandLine constructBuildCommand(variant, buildCmd).split() |
27 environment PATH: getPathWithDepotTools() | 27 environment PATH: getPathWithDeps(requireCMake) |
28 environment ANDROID_SDK_ROOT: getSDKPath() | 28 environment ANDROID_SDK_ROOT: getSDKPath() |
29 } | 29 } |
30 buildNativeLib.onlyIf { !project.hasProperty("suppressNativeBuild") } | 30 buildNativeLib.onlyIf { !project.hasProperty("suppressNativeBuild") } |
31 TaskCollection<Task> compileTask = project.tasks.matching { | 31 TaskCollection<Task> compileTask = project.tasks.matching { |
32 // println(it.name) | 32 // println(it.name) |
33 it.name.toLowerCase().contains("compile" + variant.name.toLowerCase(
)) && | 33 it.name.toLowerCase().contains("compile" + variant.name.toLowerCase(
)) && |
34 it.name.toLowerCase().endsWith("ndk") | 34 it.name.toLowerCase().endsWith("ndk") |
35 } | 35 } |
36 compileTask.getAt(0).dependsOn buildNativeLib | 36 compileTask.getAt(0).dependsOn buildNativeLib |
37 } | 37 } |
(...skipping 18 matching lines...) Expand all Loading... |
56 path = getLocalProperties().getProperty('sdk.dir', null) | 56 path = getLocalProperties().getProperty('sdk.dir', null) |
57 } | 57 } |
58 | 58 |
59 if (path == null) { | 59 if (path == null) { |
60 throw new GradleScriptException("Android SDK not found! Please set ANDRO
ID_SDK_ROOT to" + | 60 throw new GradleScriptException("Android SDK not found! Please set ANDRO
ID_SDK_ROOT to" + |
61 " your path or define sdk.dir in gradle.
properties") | 61 " your path or define sdk.dir in gradle.
properties") |
62 } | 62 } |
63 return path | 63 return path |
64 } | 64 } |
65 | 65 |
66 def getPathWithDepotTools() { | 66 def getPathWithDeps(requireCMake = false) { |
67 System.getenv("PATH") + ":" + getLocalProperties().getProperty('depot_tools.
dir', null) | |
68 String path = System.getenv("PATH") | 67 String path = System.getenv("PATH") |
69 if (!path.contains("depot_tools")) { | 68 if (!path.contains("depot_tools")) { |
70 path += ":" + getLocalProperties().getProperty('depot_tools.dir', null) | 69 path += ":" + getLocalProperties().getProperty('depot_tools.dir', null) |
71 } | 70 } |
72 | 71 |
73 if (!path.contains("depot_tools")) { | 72 if (!path.contains("depot_tools")) { |
74 throw GradleScriptException("Depot Tools not found! Please update your p
ath to include" + | 73 throw GradleScriptException("Depot Tools not found! Please update your p
ath to include" + |
75 " depot_tools or define depot_tools.dir in g
radle.properties") | 74 " depot_tools or define depot_tools.dir in g
radle.properties") |
76 } | 75 } |
| 76 |
| 77 if (requireCMake) { |
| 78 String cmakePath = getSDKPath() + "/cmake/bin" |
| 79 if (!file(cmakePath).exists()) { |
| 80 throw new GradleScriptException("cmake not found! Please install the
android SDK version" + |
| 81 " of cmake.", null); |
| 82 } |
| 83 if (!path.contains(cmakePath)) { |
| 84 path = cmakePath + ":" + path |
| 85 } |
| 86 } |
| 87 |
77 return path | 88 return path |
78 } | 89 } |
79 | 90 |
80 def constructBuildCommand(variant, buildTarget) { | 91 def constructBuildCommand(variant, buildTarget) { |
81 String cmdLine = "./platform_tools/android/bin/android_ninja $buildTarget" | 92 String cmdLine = "./platform_tools/android/bin/android_ninja $buildTarget" |
82 String deviceType = null | 93 String deviceType = null |
83 if (variant.name.startsWith("arm64")) { | 94 if (variant.name.startsWith("arm64")) { |
84 deviceType = "arm64" | 95 deviceType = "arm64" |
85 } else if (variant.name.startsWith("arm")) { | 96 } else if (variant.name.startsWith("arm")) { |
86 deviceType = "arm_v7_neon" | 97 deviceType = "arm_v7_neon" |
87 } else if (variant.name.startsWith("x86_64")) { | 98 } else if (variant.name.startsWith("x86_64")) { |
88 deviceType = "x86_64" | 99 deviceType = "x86_64" |
89 } else if (variant.name.startsWith("x86")) { | 100 } else if (variant.name.startsWith("x86")) { |
90 deviceType = "x86" | 101 deviceType = "x86" |
91 } else if (variant.name.startsWith("mips")) { | 102 } else if (variant.name.startsWith("mips")) { |
92 deviceType = "mips" | 103 deviceType = "mips" |
93 } else if (variant.name.startsWith("mips64")) { | 104 } else if (variant.name.startsWith("mips64")) { |
94 deviceType = "mips64" | 105 deviceType = "mips64" |
95 } | 106 } |
96 | 107 |
97 if (deviceType != null) { | 108 if (deviceType != null) { |
98 cmdLine += " -d " + deviceType | 109 cmdLine += " -d " + deviceType |
99 } | 110 } |
100 | 111 |
101 if (variant.name.endsWith("Release")) { | 112 if (variant.name.endsWith("Release")) { |
102 cmdLine += " --release" | 113 cmdLine += " --release" |
103 } | 114 } |
104 return cmdLine | 115 return cmdLine |
105 } | 116 } |
OLD | NEW |