diff --git a/fastlane/Fastfile b/fastlane/Fastfile
index a757c90c..508e8c76 100644
--- a/fastlane/Fastfile
+++ b/fastlane/Fastfile
@@ -2,6 +2,7 @@ fastlane_require 'dotenv'
fastlane_require 'jwt'
fastlane_require 'base64'
fastlane_require 'net/sftp'
+fastlane_require 'json'
default_platform(:android)
@@ -213,35 +214,37 @@ platform :android do |options|
end
desc "Check if tracking added in some dependency"
- private lane :checkTrackingAddedInDependency do |options|
+ lane :checkTrackingAddedInDependency do |options|
puts "Check if script file is latest"
- sh("wget -O current_iod-scan-apk.php https://gitlab.com/fdroid/issuebot/-/raw/master/modules/iod-scan-apk.php")
+ sh("wget -O current_iod-scan-apk.php https://gitlab.com/fdroid/issuebot/-/raw/master/modules/iod-scan-apk.php")
- same_script = FileUtils.compare_file("iod-scan-apk.php", "current_iod-scan-apk.php")
- if same_script
- puts "Script file unchanged"
- FileUtils.rm("current_iod-scan-apk.php")
- else
- UI.error("Script updated, check diff, download and save to iod-scan-apk.php")
- fail
- end
+ same_script = FileUtils.compare_file("iod-scan-apk.php", "current_iod-scan-apk.php")
+ if same_script
+ puts "Script file unchanged"
+ FileUtils.rm("current_iod-scan-apk.php")
+ else
+ UI.error("Script updated, check diff, download and save to iod-scan-apk.php")
+ fail
+ end
FileUtils.mkdir("unsigned")
- FileUtils.cp(lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH], "unsigned/org.cryptomator_#{version}.apk")
+ FileUtils.cp(lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH], "unsigned/org.cryptomator_#{version}.apk")
sh("ISSUEBOT_CURRENT_APPLICATION_ID=org.cryptomator ISSUEBOT_CURRENT_REPLY_FILE=current_result.json php iod-scan-apk.php")
- # clean up
- FileUtils.rm("libinfo.txt")
- FileUtils.rm("libsmali.txt")
- FileUtils.rm_r("unsigned")
- FileUtils.rm_r("org.cryptomator_#{version}")
+ # clean up
+ FileUtils.rm("libinfo.txt")
+ FileUtils.rm("libsmali.txt")
+ FileUtils.rm_r("unsigned")
+ FileUtils.rm_r("org.cryptomator_#{version}")
- puts "Check if something changed in the APK regarding the dependencies"
- same_files = FileUtils.compare_file("result.json", "current_result.json")
+ puts "Check if something changed in the APK regarding the dependencies"
- if same_files
+ report = JSON.parse(File.read("result.json"))["report"]
+ current_report = JSON.parse(File.read("current_result.json"))["report"]
+
+ if report.eql?(current_report)
puts "Dependencies unchanged"
FileUtils.rm("current_result.json")
else
diff --git a/fastlane/README.md b/fastlane/README.md
index 76c52803..bca77c73 100644
--- a/fastlane/README.md
+++ b/fastlane/README.md
@@ -41,6 +41,11 @@ Deploy new version to server
fastlane android deployToFDroid
```
Deploy new version to F-Droid
+### android checkTrackingAddedInDependency
+```
+fastlane android checkTrackingAddedInDependency
+```
+Check if tracking added in some dependency
### android createGitHubDraftRelease
```
fastlane android createGitHubDraftRelease
diff --git a/fastlane/result.json b/fastlane/result.json
index 6666c8bd..a29d38fb 100644
--- a/fastlane/result.json
+++ b/fastlane/result.json
@@ -1 +1 @@
-{"applicationId":"org.cryptomator","emoji":[],"labels":[],"report":"
APK library scanner
\nunsigned/org.cryptomator_1.6.1-SNAPSHOT.apk
\nApktool failed (rc: 1), analysis skipped.\n \n","reportData":{"log":["Fetching library definitions from https://gitlab.com/IzzyOnDroid/repo/-/raw/master/lib","Loaded 2500 library definitions","Analyzing 'unsigned/org.cryptomator_1.6.1-SNAPSHOT.apk'...","Apktool returned: 1","Apktool failed, skipping analysis."],"self_url":null}}
\ No newline at end of file
+{"applicationId":"org.cryptomator","emoji":[],"labels":["scanner-warning"],"report":"APK library scanner
\nunsigned/org.cryptomator_1.6.1-SNAPSHOT.apk
\nOffending libs:
\n\n - Dropbox Core SDK for Java (/com/dropbox/core): NonFreeNet
\n - MSA Auth for Android (/com/microsoft/services/msa): NonFreeNet
\n - pCloud Java SDK (/com/pcloud/sdk): NonFreeNet
\n
\n3 offender(s). Full report available here. \n","reportData":{"unsigned/org.cryptomator_1.6.1-SNAPSHOT.apk":[{"id":"/android/support/v4","name":"Android Support v4","typ":"Development Framework","anti":""},{"id":"/androidx/arch","name":"Arch","typ":"Utility","anti":""},{"id":"/androidx/appcompat","name":"AppCompat","typ":"Utility","anti":""},{"id":"/androidx/biometric","name":"Biometric","typ":"Utility","anti":""},{"id":"/androidx/constraintlayout","name":"Constraint Layout Library","typ":"Utility","anti":""},{"id":"/androidx/core","name":"Androidx Core","typ":"Utility","anti":""},{"id":"/androidx/documentfile","name":"Documentfile","typ":"UI Component","anti":""},{"id":"/androidx/exifinterface","name":"Exifinterface","typ":"Utility","anti":""},{"id":"/androidx/legacy","name":"androidx.legacy","typ":"Utility","anti":""},{"id":"/androidx/lifecycle","name":"Lifecycle","typ":"Utility","anti":""},{"id":"/androidx/loader","name":"Loader","typ":"Utility","anti":""},{"id":"/androidx/preference","name":"Preference","typ":"Utility","anti":""},{"id":"/androidx/print","name":"Print","typ":"Utility","anti":""},{"id":"/androidx/transition","name":"Transition","typ":"UI Component","anti":""},{"id":"/androidx/vectordrawable","name":"Vectordrawable","typ":"UI Component","anti":""},{"id":"/com/burgstaller/okhttp","name":"okhttp-digest","typ":"Utility","anti":""},{"id":"/com/davemorrissey/labs/subscaleview","name":"Subsampling Scale Image View","typ":"UI Component","anti":""},{"id":"/com/dropbox/core","name":"Dropbox Core SDK for Java","typ":"Utility","anti":"NonFreeNet"},{"id":"/com/fasterxml","name":"Fasterxml","typ":"Utility","anti":""},{"id":"/com/google/android/material","name":"Google Material Design","typ":"Utility","anti":""},{"id":"/com/google/common","name":"Google Core Libraries for Java 6+","typ":"Utility","anti":""},{"id":"/com/google/errorprone","name":"Error Prone","typ":"Utility","anti":""},{"id":"/com/google/gson","name":"Google Gson","typ":"Utility","anti":""},{"id":"/com/google/j2objc","name":"J2ObjC","typ":"Utility","anti":""},{"id":"/com/jakewharton/rxbinding","name":"RxBinding","typ":"Utility","anti":""},{"id":"/com/microsoft/graph","name":"Microsoft Graph-SDK","typ":"Development Framework","anti":""},{"id":"/com/microsoft/services/msa","name":"MSA Auth for Android","typ":"Utility","anti":"NonFreeNet"},{"id":"/com/nulabinc/zxcvbn","name":"zxcvbn4j","typ":"Utility","anti":""},{"id":"/com/pcloud/sdk","name":"pCloud Java SDK","typ":"Utility","anti":"NonFreeNet"},{"id":"/com/simplecityapps/recyclerview_fastscroll","name":"RecyclerView-FastScroll","typ":"UI Component","anti":""},{"id":"/com/squareup/okhttp","name":"OkHttp","typ":"Utility","anti":""},{"id":"/com/tomclaw/cache","name":"Disk LRU Cache","typ":"Utility","anti":""},{"id":"/dagger","name":"Dagger","typ":"Utility","anti":""},{"id":"/io/jsonwebtoken","name":"Java JWT","typ":"Utility","anti":""},{"id":"/io/reactivex","name":"RxJava","typ":"Utility","anti":""},{"id":"/javax/annotation","name":"JavaX Annotation API","typ":"Utility","anti":""},{"id":"/javax/inject","name":"JavaX Dependency Injection","typ":"Utility","anti":""},{"id":"/kotlin","name":"Kotlin","typ":"Utility","anti":""},{"id":"/kotlinx/coroutines","name":"kotlinx.coroutines","typ":"Utility","anti":""},{"id":"/okio","name":"OkHttp okio Framework","typ":"Utility","anti":""},{"id":"/org/apache/commons","name":"Apache Commons","typ":"Development Framework","anti":""},{"id":"/org/apache/http","name":"Apache Http","typ":"Utility","anti":""},{"id":"/org/checkerframework","name":"Checker Framework","typ":"Utility","anti":""},{"id":"/org/greenrobot/greendao","name":"greenDAO","typ":"Utility","anti":""},{"id":"/org/intellij","name":"IntelliJ IDEA","typ":"Utility","anti":""},{"id":"/org/reactivestreams","name":"Reactive Streams","typ":"Utility","anti":""},{"id":"/org/simpleframework","name":"Simple","typ":"Utility","anti":""},{"id":"/org/slf4j","name":"Simple Logging Facade for Java","typ":"Utility","anti":""},{"id":"/timber/log","name":"Timber","typ":"Utility","anti":""}],"log":["Fetching library definitions from https://gitlab.com/IzzyOnDroid/repo/-/raw/master/lib","Loaded 2500 library definitions","Analyzing 'unsigned/org.cryptomator_1.6.1-SNAPSHOT.apk'...","Apktool returned: 0","Read 23715 bytes of smali path names from 'org.cryptomator_1.6.1-SNAPSHOT.dirlist'","Identified 49 libraries, 3 offenders.","Done analyzing 'unsigned/org.cryptomator_1.6.1-SNAPSHOT.apk'"],"self_url":"/artifacts/public/issuebot///iod-scan-apk.php.json"}}
\ No newline at end of file