126 lines
4.5 KiB
Groovy
126 lines
4.5 KiB
Groovy
|
|
/*
|
||
|
|
* SPDX-FileCopyrightText: 2013 microG Project Team
|
||
|
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
|
*/
|
||
|
|
|
||
|
|
buildscript {
|
||
|
|
ext.cronetVersion = '102.5005.125'
|
||
|
|
ext.wearableVersion = '0.1.1'
|
||
|
|
|
||
|
|
ext.kotlinVersion = '1.9.22'
|
||
|
|
ext.coroutineVersion = '1.7.3'
|
||
|
|
|
||
|
|
ext.annotationVersion = '1.7.1'
|
||
|
|
ext.appcompatVersion = '1.6.1'
|
||
|
|
ext.biometricVersion = '1.1.0'
|
||
|
|
ext.coreVersion = '1.12.0'
|
||
|
|
ext.fragmentVersion = '1.6.2'
|
||
|
|
ext.lifecycleVersion = '2.7.0'
|
||
|
|
ext.loaderVersion = '1.1.0'
|
||
|
|
ext.materialVersion = '1.11.0'
|
||
|
|
ext.mediarouterVersion = '1.6.0'
|
||
|
|
ext.multidexVersion = '2.0.1'
|
||
|
|
ext.navigationVersion = '2.7.7'
|
||
|
|
ext.preferenceVersion = '1.2.0'
|
||
|
|
ext.recyclerviewVersion = '1.3.2'
|
||
|
|
ext.webkitVersion = '1.10.0'
|
||
|
|
|
||
|
|
ext.slf4jVersion = '1.7.36'
|
||
|
|
ext.volleyVersion = '1.2.1'
|
||
|
|
ext.okHttpVersion = '4.12.0'
|
||
|
|
ext.ktorVersion = '2.3.12'
|
||
|
|
ext.wireVersion = '4.9.9'
|
||
|
|
ext.tinkVersion = '1.13.0'
|
||
|
|
|
||
|
|
ext.androidBuildGradleVersion = '8.2.2'
|
||
|
|
|
||
|
|
ext.androidBuildVersionTools = '34.0.0'
|
||
|
|
|
||
|
|
ext.androidMinSdk = 19
|
||
|
|
ext.androidTargetSdk = 29
|
||
|
|
ext.androidCompileSdk = 35
|
||
|
|
|
||
|
|
ext.localProperties = new Properties()
|
||
|
|
|
||
|
|
try {
|
||
|
|
var stream = rootProject.file('local.properties').newDataInputStream()
|
||
|
|
ext.localProperties.load(stream)
|
||
|
|
stream.close()
|
||
|
|
} catch (ignored) {
|
||
|
|
// Ignore
|
||
|
|
}
|
||
|
|
|
||
|
|
ext.hasModule = (String name, boolean enabledByDefault) -> {
|
||
|
|
return ext.localProperties.getProperty("modules." + name, enabledByDefault.toString()).toBoolean()
|
||
|
|
}
|
||
|
|
|
||
|
|
repositories {
|
||
|
|
mavenCentral()
|
||
|
|
google()
|
||
|
|
}
|
||
|
|
|
||
|
|
dependencies {
|
||
|
|
classpath "com.android.tools.build:gradle:$androidBuildGradleVersion"
|
||
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
|
||
|
|
classpath "com.squareup.wire:wire-gradle-plugin:$wireVersion"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
def execResult(... args) {
|
||
|
|
providers.exec { commandLine args }.standardOutput.asText.get()
|
||
|
|
}
|
||
|
|
|
||
|
|
def ignoreGit = providers.environmentVariable('GRADLE_MICROG_VERSION_WITHOUT_GIT').getOrElse('0') == '1'
|
||
|
|
def gmsVersion = "25.09.32"
|
||
|
|
def gmsVersionCode = Integer.parseInt(gmsVersion.replaceAll('\\.', ''))
|
||
|
|
def vendingVersion = "40.2.26"
|
||
|
|
def vendingVersionCode = Integer.parseInt(vendingVersion.replaceAll('\\.', ''))
|
||
|
|
def gitVersionBase = !ignoreGit ? execResult('git', 'describe', '--tags', '--abbrev=0', '--match=v[0-9]*').trim().substring(1) : "v0.0.0.$gmsVersionCode"
|
||
|
|
def gitCommitCount = !ignoreGit ? Integer.parseInt(execResult('git', 'rev-list', '--count', "v$gitVersionBase..HEAD").trim()) : 0
|
||
|
|
def gitCommitId = !ignoreGit ? execResult('git', 'show-ref', '--abbrev=7', '--head', 'HEAD').trim().split(' ')[0] : '0000000'
|
||
|
|
def gitDirty = false
|
||
|
|
if (!ignoreGit) {
|
||
|
|
execResult('git', 'status', '--porcelain').lines().each { stat ->
|
||
|
|
def status = stat.substring(0,2)
|
||
|
|
def file = stat.substring(3)
|
||
|
|
if (status == '??') {
|
||
|
|
if (subprojects.any { p -> file.startsWith(p.name + '/') }) {
|
||
|
|
logger.lifecycle('Dirty file: {} (untracked)', file)
|
||
|
|
gitDirty = true
|
||
|
|
} else {
|
||
|
|
logger.info('New file outside module: {} (ignored for dirty check)', file)
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
logger.lifecycle('Dirty file: {} (changed)', file)
|
||
|
|
gitDirty = true
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
def ourVersionBase = gitVersionBase.substring(0, gitVersionBase.lastIndexOf('.'))
|
||
|
|
def ourVersionMinor = Integer.parseInt(ourVersionBase.substring(ourVersionBase.lastIndexOf('.') + 1))
|
||
|
|
def ourGmsVersionCode = gmsVersionCode * 1000 + ourVersionMinor * 2 + (gitCommitCount > 0 || gitDirty ? 1 : 0)
|
||
|
|
def ourGmsVersionName = "$ourVersionBase.$gmsVersionCode" + (gitCommitCount > 0 && !gitDirty ? "-$gitCommitCount" : "") + (gitDirty ? "-dirty" : "") + (gitCommitCount > 0 && !gitDirty ? " ($gitCommitId)" : "")
|
||
|
|
def ourVendingVersionCode = 80000000 + vendingVersionCode * 100 + ourVersionMinor * 2 + (gitCommitCount > 0 || gitDirty ? 1 : 0)
|
||
|
|
def ourVendingVersionName = "$ourVersionBase.$vendingVersionCode" + (gitCommitCount > 0 && !gitDirty ? "-$gitCommitCount" : "") + (gitDirty ? "-dirty" : "") + (gitCommitCount > 0 && !gitDirty ? " ($gitCommitId)" : "")
|
||
|
|
logger.lifecycle('Starting build for GMS version {} ({})...', ourGmsVersionName, ourGmsVersionCode)
|
||
|
|
|
||
|
|
allprojects {
|
||
|
|
apply plugin: 'idea'
|
||
|
|
|
||
|
|
group = 'org.microg.gms'
|
||
|
|
version = ourGmsVersionName
|
||
|
|
ext.vendingAppVersionName = ourVendingVersionName
|
||
|
|
ext.vendingAppVersionCode = ourVendingVersionCode
|
||
|
|
ext.appVersionCode = ourGmsVersionCode
|
||
|
|
ext.isReleaseVersion = false
|
||
|
|
}
|
||
|
|
|
||
|
|
subprojects {
|
||
|
|
repositories {
|
||
|
|
mavenCentral()
|
||
|
|
google()
|
||
|
|
if (hasModule("hms", false)) maven {url 'https://developer.huawei.com/repo/'}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|