From 5316395336d8b457f9a6559c1791782a4d51fb8d Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Tue, 22 Feb 2022 09:44:16 -0300
Subject: [PATCH] Add CI and ktlint checks

---
 .gitlab-ci.yml                                | 29 +++++++++++++++++++
 gradle/ktlint.gradle                          | 11 +++++++
 lib/build.gradle                              |  5 +++-
 .../android/dontkillmelib/HuaweiUtils.kt      |  4 +--
 4 files changed, 46 insertions(+), 3 deletions(-)
 create mode 100644 .gitlab-ci.yml
 create mode 100644 gradle/ktlint.gradle

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..0fc9d64
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,29 @@
+image: briar/ci-image-android:latest
+
+stages:
+  - test
+
+workflow:
+  # when to create a CI pipeline
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+    - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
+      when: never # avoids duplicate jobs for branch and MR
+    - if: '$CI_COMMIT_BRANCH'
+    - if: '$CI_COMMIT_TAG'
+
+test:
+  stage: test
+  before_script:
+    - set -e
+    - export GRADLE_USER_HOME=$PWD/.gradle
+  script:
+    - ./gradlew --no-daemon check
+  after_script:
+    # these file change every time and should not be cached
+    - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
+    - rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+      when: always
+    - when: always
diff --git a/gradle/ktlint.gradle b/gradle/ktlint.gradle
new file mode 100644
index 0000000..fc85b5b
--- /dev/null
+++ b/gradle/ktlint.gradle
@@ -0,0 +1,11 @@
+ktlint {
+    version = "0.44.0"
+    android = true
+    enableExperimentalRules = false
+    verbose = true
+    disabledRules = [
+            "indent",
+            "import-ordering",
+            "no-blank-line-before-rbrace",
+    ]
+}
diff --git a/lib/build.gradle b/lib/build.gradle
index e970b5f..93a425f 100644
--- a/lib/build.gradle
+++ b/lib/build.gradle
@@ -1,6 +1,7 @@
 plugins {
     id 'com.android.library'
     id 'kotlin-android'
+    id 'org.jlleitschuh.gradle.ktlint' version '10.2.1'
     id 'com.vanniktech.maven.publish'
 }
 
@@ -35,4 +36,6 @@ kotlin {
 
 dependencies {
     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-}
\ No newline at end of file
+}
+
+apply from: "${rootProject.rootDir}/gradle/ktlint.gradle"
diff --git a/lib/src/main/java/org/briarproject/android/dontkillmelib/HuaweiUtils.kt b/lib/src/main/java/org/briarproject/android/dontkillmelib/HuaweiUtils.kt
index 0bca226..1f89167 100644
--- a/lib/src/main/java/org/briarproject/android/dontkillmelib/HuaweiUtils.kt
+++ b/lib/src/main/java/org/briarproject/android/dontkillmelib/HuaweiUtils.kt
@@ -9,9 +9,9 @@ public object HuaweiUtils {
 
     private const val PACKAGE_NAME_HUAWEI = "com.huawei.systemmanager"
     private const val CLASS_NAME_POWER_MANAGER =
-        "${PACKAGE_NAME_HUAWEI}.power.ui.HwPowerManagerActivity"
+        "$PACKAGE_NAME_HUAWEI.power.ui.HwPowerManagerActivity"
     private const val CLASS_NAME_PROTECTED_APPS =
-        "${PACKAGE_NAME_HUAWEI}.optimize.process.ProtectActivity"
+        "$PACKAGE_NAME_HUAWEI.optimize.process.ProtectActivity"
 
     /**
      * Determine whether a Huawei "Protected apps" feature is available on the
-- 
GitLab