mirror of
https://github.com/lubosz/overte.git
synced 2025-04-06 17:42:32 +02:00
155 lines
6.6 KiB
Groovy
155 lines
6.6 KiB
Groovy
import org.apache.tools.ant.taskdefs.condition.Os
|
|
|
|
apply plugin: 'com.android.application'
|
|
|
|
android {
|
|
compileSdkVersion 26
|
|
//buildToolsVersion '27.0.3'
|
|
|
|
def appVersionCode = Integer.valueOf(VERSION_CODE ?: 1)
|
|
def appVersionName = RELEASE_NUMBER ?: "1.0"
|
|
|
|
defaultConfig {
|
|
applicationId "io.highfidelity.hifiinterface"
|
|
minSdkVersion 24
|
|
targetSdkVersion 26
|
|
versionCode appVersionCode
|
|
versionName appVersionName
|
|
ndk { abiFilters 'arm64-v8a' }
|
|
externalNativeBuild {
|
|
cmake {
|
|
arguments '-DHIFI_ANDROID=1',
|
|
'-DANDROID_PLATFORM=android-24',
|
|
'-DANDROID_TOOLCHAIN=clang',
|
|
'-DANDROID_STL=c++_shared',
|
|
'-DQT_CMAKE_PREFIX_PATH=' + HIFI_ANDROID_PRECOMPILED + '/qt/lib/cmake',
|
|
'-DHIFI_ANDROID_PRECOMPILED=' + HIFI_ANDROID_PRECOMPILED,
|
|
'-DRELEASE_NUMBER=' + RELEASE_NUMBER,
|
|
'-DRELEASE_TYPE=' + RELEASE_TYPE,
|
|
'-DSTABLE_BUILD=' + STABLE_BUILD,
|
|
'-DDISABLE_QML=OFF',
|
|
'-DDISABLE_KTX_CACHE=OFF',
|
|
'-DUSE_BREAKPAD=' + (System.getenv("CMAKE_BACKTRACE_URL") && System.getenv("CMAKE_BACKTRACE_TOKEN") ? 'ON' : 'OFF');
|
|
}
|
|
}
|
|
signingConfigs {
|
|
release {
|
|
storeFile project.hasProperty("HIFI_ANDROID_KEYSTORE") ? file(HIFI_ANDROID_KEYSTORE) : null
|
|
storePassword project.hasProperty("HIFI_ANDROID_KEYSTORE_PASSWORD") ? HIFI_ANDROID_KEYSTORE_PASSWORD : ''
|
|
keyAlias project.hasProperty("HIFI_ANDROID_KEY_ALIAS") ? HIFI_ANDROID_KEY_ALIAS : ''
|
|
keyPassword project.hasProperty("HIFI_ANDROID_KEY_PASSWORD") ? HIFI_ANDROID_KEY_PASSWORD : ''
|
|
}
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
buildConfigField "String", "BACKTRACE_URL", "\"" + (System.getenv("CMAKE_BACKTRACE_URL") ? System.getenv("CMAKE_BACKTRACE_URL") : '') + "\""
|
|
buildConfigField "String", "BACKTRACE_TOKEN", "\"" + (System.getenv("CMAKE_BACKTRACE_TOKEN") ? System.getenv("CMAKE_BACKTRACE_TOKEN") : '') + "\""
|
|
}
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
signingConfig project.hasProperty("HIFI_ANDROID_KEYSTORE") &&
|
|
project.hasProperty("HIFI_ANDROID_KEYSTORE_PASSWORD") &&
|
|
project.hasProperty("HIFI_ANDROID_KEY_ALIAS") &&
|
|
project.hasProperty("HIFI_ANDROID_KEY_PASSWORD")? signingConfigs.release : null
|
|
buildConfigField "String", "BACKTRACE_URL", "\"" + (System.getenv("CMAKE_BACKTRACE_URL") ? System.getenv("CMAKE_BACKTRACE_URL") : '') + "\""
|
|
buildConfigField "String", "BACKTRACE_TOKEN", "\"" + (System.getenv("CMAKE_BACKTRACE_TOKEN") ? System.getenv("CMAKE_BACKTRACE_TOKEN") : '') + "\""
|
|
}
|
|
}
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
path '../../CMakeLists.txt'
|
|
}
|
|
}
|
|
|
|
applicationVariants.all { variant ->
|
|
// Our asset contents depend on items produced in the CMake build
|
|
// so our merge has to depend on the external native build
|
|
variant.externalNativeBuildTasks.each { task ->
|
|
variant.mergeResources.dependsOn(task)
|
|
if (Os.isFamily(Os.FAMILY_UNIX)) {
|
|
def uploadDumpSymsTask = rootProject.getTasksByName("uploadBreakpadDumpSyms${variant.name.capitalize()}", false).first()
|
|
def runDumpSymsTask = rootProject.getTasksByName("runBreakpadDumpSyms${variant.name.capitalize()}", false).first()
|
|
def renameHifiACTask = rootProject.getTasksByName("renameHifiACTask${variant.name.capitalize()}", false).first()
|
|
runDumpSymsTask.dependsOn(task)
|
|
variant.assemble.dependsOn(uploadDumpSymsTask)
|
|
variant.mergeResources.dependsOn(renameHifiACTask)
|
|
}
|
|
}
|
|
|
|
variant.mergeAssets.doLast {
|
|
def assetList = new LinkedList<String>()
|
|
def youngestLastModified = 0
|
|
|
|
// Copy the compiled resources generated by the external native build
|
|
copy {
|
|
from new File(projectDir, "../../interface/compiledResources")
|
|
into outputDir
|
|
duplicatesStrategy DuplicatesStrategy.INCLUDE
|
|
eachFile { details ->
|
|
youngestLastModified = Math.max(youngestLastModified, details.lastModified)
|
|
assetList.add(details.path)
|
|
}
|
|
}
|
|
|
|
// Copy the scripts directory
|
|
copy {
|
|
from new File(projectDir, "../../scripts")
|
|
into new File(outputDir, "scripts")
|
|
duplicatesStrategy DuplicatesStrategy.INCLUDE
|
|
eachFile { details->
|
|
youngestLastModified = Math.max(youngestLastModified, details.lastModified)
|
|
assetList.add("scripts/" + details.path)
|
|
}
|
|
}
|
|
|
|
// Write a list of files to be unpacked to the cache folder
|
|
new File(outputDir, 'cache_assets.txt').withWriter { out ->
|
|
out.println(Long.toString(youngestLastModified))
|
|
assetList.each { file -> out.println(file) }
|
|
}
|
|
}
|
|
|
|
variant.outputs.all {
|
|
if (RELEASE_NUMBER != '0') {
|
|
outputFileName = "app_" + RELEASE_NUMBER + "_" + RELEASE_TYPE + ".apk"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'com.google.vr:sdk-audio:1.80.0'
|
|
implementation 'com.google.vr:sdk-base:1.80.0'
|
|
|
|
|
|
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
|
|
implementation 'com.android.support:design:26.1.0'
|
|
compile 'com.android.support:support-v4:26.1.0'
|
|
compile 'com.android.support:appcompat-v7:26.1.0'
|
|
compile 'com.android.support:support-vector-drawable:26.1.0'
|
|
|
|
implementation 'com.android.support:appcompat-v7:26.1.0'
|
|
compile 'com.android.support:recyclerview-v7:26.1.0'
|
|
compile 'com.android.support:cardview-v7:26.1.0'
|
|
|
|
compile 'com.squareup.retrofit2:retrofit:2.4.0'
|
|
compile 'com.squareup.retrofit2:converter-gson:2.4.0'
|
|
implementation 'com.squareup.picasso:picasso:2.71828'
|
|
|
|
compile 'com.squareup.retrofit2:retrofit:2.4.0'
|
|
compile 'com.squareup.retrofit2:converter-gson:2.4.0'
|
|
implementation 'com.squareup.picasso:picasso:2.71828'
|
|
|
|
compile 'com.sothree.slidinguppanel:library:3.4.0'
|
|
|
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
|
}
|