// Copyright 2020-2023, Collabora, Ltd. // SPDX-License-Identifier: BSL-1.0 buildscript { ext { kotlinVersion = '2.0.0' latestAboutLibsRelease = '11.2.2' androidxCoreVersion = '1.13.1' androidxAnnotationVersion = '1.8.0' androidxAppCompatVersion = '1.7.0' androidxLifecycleVersion = '2.8.2' androidxConstraintLayoutVersion = '2.1.4' androidxCardViewVersion = '1.0.0' androidxRecyclerViewVersion = '1.3.2' hiltVersion = '2.51.1' materialVersion = '1.12.0' // This is the version to download if we can't find it locally. eigenFetchVersion = '3.4.0' // If you update this, must also update .gitlab-ci/config.yml buildToolsVersion = '34.0.0' } repositories { google() mavenCentral() } dependencies { classpath "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:${latestAboutLibsRelease}" classpath "com.google.dagger:hilt-android-gradle-plugin:$hiltVersion" } } plugins { // Android Gradle Plugin id 'com.android.application' version '8.5.0' apply false id 'com.android.library' version '8.5.0' apply false id 'org.jetbrains.kotlin.android' version "$kotlinVersion" apply false // Used for getting the eigen dir, explicit python binary, etc. from local.properties id 'com.github.b3er.local.properties' version '1.1' // For getting git describe data and formatting it how Android wants. id "com.gladed.androidgitversion" version "0.4.14" // For downloading e.g. the CDDL (for transitive dependencies of hilt) id "de.undercouch.download" version "4.1.2" // So we don't have to check in generated files: we start with SVGs for vector art. id "com.quittle.svg-2-android-vector" version "0.1.0" apply false // Spotless for Java and Kotlin's code formatting id 'com.diffplug.spotless' version "6.22.0" } spotless { format 'misc', { // define the files to apply `misc` to target '*.gradle', '*.md', '.gitignore' // define the steps to apply to those files trimTrailingWhitespace() indentWithSpaces(4) endWithNewline() } } ext { cmake_version = '3.22.1' ndk_version = '26.3.11579264' // If you update this, must also update .gitlab-ci/config.yml sharedCompileSdk = 34 sharedTargetSdk = 31 sharedMinSdk = 26 // If you are building on Windows, you will need to explicitly set eigenIncludeDir in your // local.properties file since the default value provided below only makes sense on *nix eigenIncludeDir = project.findProperty('eigenIncludeDir') ?: '/usr/include/eigen3' // If you're having trouble with a "can't find python" CMake error, you can specify the path to // Python 3 explicitly in local.properties with a property named "pythonBinary" pythonBinary = project.findProperty('pythonBinary') }