diff --git a/.gitignore b/.gitignore index eac2e0d..e1c9c29 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ .gradle local.properties build/ -signing.properties +keystore.properties *.keystore /.idea /releases diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index b7e16b0..0000000 --- a/app/build.gradle +++ /dev/null @@ -1,65 +0,0 @@ -plugins { - id "com.android.application" -} - -android { - compileSdkVersion 31 - buildToolsVersion "31.0.0" - defaultConfig { - applicationId "org.grapheneos.pdfviewer" - minSdkVersion 26 - targetSdkVersion 31 - versionCode 6 - versionName versionCode.toString() - resConfigs "en" - } - - signingConfigs { - release - } - buildTypes { - debug { - applicationIdSuffix ".debug" - } - release { - minifyEnabled true - shrinkResources true - proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" - signingConfig signingConfigs.release - } - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_11 - targetCompatibility JavaVersion.VERSION_11 - } -} - -dependencies { - implementation fileTree(include: ["*.jar"], dir: "libs") - implementation "androidx.appcompat:appcompat:1.4.0" - implementation "com.google.android.material:material:1.4.0" -} - -def props = new Properties() -def propFile = new File("signing.properties") - -if (propFile.canRead()) { - props.load(new FileInputStream(propFile)) - - if (props != null && - props.containsKey("STORE_FILE") && - props.containsKey("STORE_PASSWORD") && - props.containsKey("KEY_ALIAS") && - props.containsKey("KEY_PASSWORD")) { - android.signingConfigs.release.storeFile = rootProject.file(props["STORE_FILE"]) - android.signingConfigs.release.storePassword = props["STORE_PASSWORD"] - android.signingConfigs.release.keyAlias = props["KEY_ALIAS"] - android.signingConfigs.release.keyPassword = props["KEY_PASSWORD"] - } else { - println "signing.properties found but some entries are missing" - android.buildTypes.release.signingConfig = null - } -} else { - println "signing.properties not found" - android.buildTypes.release.signingConfig = null -} diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..83737b1 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,63 @@ +import java.util.Properties +import java.io.FileInputStream + +val keystorePropertiesFile = rootProject.file("keystore.properties") +val useKeystoreProperties = keystorePropertiesFile.canRead() +val keystoreProperties = Properties() +if (useKeystoreProperties) { + keystoreProperties.load(FileInputStream(keystorePropertiesFile)) +} + +plugins { + id("com.android.application") +} + +android { + if (useKeystoreProperties) { + signingConfigs { + create("release") { + storeFile = rootProject.file(keystoreProperties["storeFile"]!!) + storePassword = keystoreProperties["storePassword"] as String + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + } + } + } + + compileSdk = 31 + buildToolsVersion("31.0.0") + + defaultConfig { + applicationId = "org.grapheneos.pdfviewer" + minSdk = 26 + targetSdk = 31 + versionCode = 6 + versionName = versionCode.toString() + resConfigs("en") + } + + buildTypes { + getByName("debug") { + applicationIdSuffix = ".debug" + } + + getByName("release") { + isShrinkResources = true + isMinifyEnabled = true + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + if (useKeystoreProperties) { + signingConfig = signingConfigs.getByName("release") + } + } + } + + compileOptions { + sourceCompatibility(JavaVersion.VERSION_11) + targetCompatibility(JavaVersion.VERSION_11) + } +} + +dependencies { + implementation("androidx.appcompat:appcompat:1.4.0") + implementation("com.google.android.material:material:1.4.0") +} diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 1553f1f..0000000 --- a/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - repositories { - google() - mavenCentral() - } - dependencies { - classpath "com.android.tools.build:gradle:7.0.3" - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} - -allprojects { - repositories { - google() - mavenCentral() - } - - gradle.projectsEvaluated { - tasks.withType(JavaCompile) { - options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" - } - } -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..1e4af27 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,22 @@ +buildscript { + repositories { + google() + mavenCentral() + } + dependencies { + classpath("com.android.tools.build:gradle:7.0.3") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0") + } +} + +allprojects { + tasks.withType { + val compilerArgs = options.compilerArgs + compilerArgs.add("-Xlint:unchecked") + compilerArgs.add("-Xlint:deprecation") + } +} + +tasks.register("clean", Delete::class) { + delete(rootProject.buildDir) +} diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index e7b4def..0000000 --- a/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -include ':app' diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..cf78a48 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,9 @@ +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} +rootProject.name = "PdfViewer" +include(":app")