mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-04-19 06:24:34 +02:00
Setup fastlane
This is great for automatically uploading (localized) screenshots and app metadata to Google Play. You can even upload the signed APK releases as well. For now, this is only useful for running the screenshot Espresso tests and grabbing the screenshots from the device.
This commit is contained in:
+8
-1
@@ -23,5 +23,12 @@ local.properties
|
||||
!.idea/codeStyles
|
||||
.gradle
|
||||
build/
|
||||
captures
|
||||
*.iml
|
||||
projectFilesBackup/
|
||||
projectFilesBackup/
|
||||
|
||||
# Fastlane Non-Google Play Screenshots
|
||||
briar-android/fastlane/metadata/android/screenshots.html
|
||||
briar-android/fastlane/metadata/android/*/images/phoneScreenshots/manual_*.png
|
||||
briar-android/fastlane/report.xml
|
||||
briar-android/fastlane/README.md
|
||||
@@ -0,0 +1,2 @@
|
||||
json_key_file("") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
|
||||
package_name("org.briarproject.briar.android")
|
||||
@@ -0,0 +1,28 @@
|
||||
# This file contains the fastlane.tools configuration
|
||||
# You can find the documentation at https://docs.fastlane.tools
|
||||
#
|
||||
# For a list of all available actions, check out
|
||||
#
|
||||
# https://docs.fastlane.tools/actions
|
||||
#
|
||||
# For a list of all available plugins, check out
|
||||
#
|
||||
# https://docs.fastlane.tools/plugins/available-plugins
|
||||
#
|
||||
|
||||
# Uncomment the line if you want fastlane to automatically update itself
|
||||
# update_fastlane
|
||||
|
||||
default_platform(:android)
|
||||
|
||||
platform :android do
|
||||
desc "Takes screenshots for manual and Google Play"
|
||||
lane :screenshots do
|
||||
gradle(project_dir: "..", task: "assembleScreenshot assembleAndroidTest")
|
||||
capture_android_screenshots
|
||||
system './rename_screenshots.py'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# vi:syntax=ruby
|
||||
Executable
+43
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Author: Torsten Grote
|
||||
# License: GPLv3 or later
|
||||
|
||||
import os
|
||||
import re
|
||||
import glob
|
||||
|
||||
METADATA_PATH = 'metadata/android'
|
||||
GLOB = '/*/images/phoneScreenshots/*.png'
|
||||
|
||||
REGEX = re.compile(r'(^\w+)_\d{13}\.png$')
|
||||
REGEX_IN_FILE = re.compile(r'(\w+)_\d{13}\.png', re.MULTILINE)
|
||||
PATH = os.path.dirname(os.path.realpath(__file__))
|
||||
|
||||
|
||||
def main():
|
||||
for path in glob.glob("%s%s" % (os.path.join(PATH, METADATA_PATH), GLOB)):
|
||||
filename = os.path.basename(path)
|
||||
match = REGEX.match(filename)
|
||||
if match:
|
||||
directory = os.path.dirname(path)
|
||||
new_filename = "%s.png" % match.group(1)
|
||||
new_path = os.path.join(directory, new_filename)
|
||||
os.rename(path, new_path)
|
||||
print("Renaming\n %s\nto\n %s\n" % (path, new_path))
|
||||
else:
|
||||
print("Warning: Path did not match %s" % path)
|
||||
|
||||
# rename fields also in screenshot overview file
|
||||
overview = os.path.join(PATH, METADATA_PATH, 'screenshots.html')
|
||||
with open(overview, 'r') as f:
|
||||
file_data = f.read()
|
||||
|
||||
file_data = REGEX_IN_FILE.sub(r'\1.png', file_data)
|
||||
|
||||
with open(overview, 'w') as f:
|
||||
f.write(file_data)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
+2
-2
@@ -56,7 +56,7 @@ public class DarkThemeTest extends ScreenshotTest {
|
||||
.check(matches(isDisplayed()))
|
||||
.perform(click());
|
||||
|
||||
screenshot("dark_theme_settings");
|
||||
screenshot("manual_dark_theme_settings");
|
||||
|
||||
onView(withText(R.string.pref_theme_title))
|
||||
.check(matches(isDisplayed()))
|
||||
@@ -83,7 +83,7 @@ public class DarkThemeTest extends ScreenshotTest {
|
||||
.check(matches(isClosed(Gravity.LEFT)))
|
||||
.perform(DrawerActions.open());
|
||||
|
||||
screenshot("dark_theme_nav_drawer");
|
||||
screenshot("manual_dark_theme_nav_drawer");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user