A cheap attempt at a native Bluesky client for Android

*: try building with fastlane

Changed files
+318 -8
.tangled
workflows
app
fastlane
+4 -4
.tangled/workflows/build.yaml
··· 6 6 7 7 dependencies: 8 8 nixpkgs: 9 - - hello 9 + - fastlane 10 + - jdk24 10 11 11 12 steps: 12 - - name: hello-world 13 - command: | 14 - hello 13 + - name: build-release 14 + command: fastlane release_bin
+3
Gemfile
··· 1 + source "https://rubygems.org" 2 + 3 + gem "fastlane"
+229
Gemfile.lock
··· 1 + GEM 2 + remote: https://rubygems.org/ 3 + specs: 4 + CFPropertyList (3.0.7) 5 + base64 6 + nkf 7 + rexml 8 + addressable (2.8.7) 9 + public_suffix (>= 2.0.2, < 7.0) 10 + artifactory (3.0.17) 11 + atomos (0.1.3) 12 + aws-eventstream (1.4.0) 13 + aws-partitions (1.1168.0) 14 + aws-sdk-core (3.233.0) 15 + aws-eventstream (~> 1, >= 1.3.0) 16 + aws-partitions (~> 1, >= 1.992.0) 17 + aws-sigv4 (~> 1.9) 18 + base64 19 + bigdecimal 20 + jmespath (~> 1, >= 1.6.1) 21 + logger 22 + aws-sdk-kms (1.113.0) 23 + aws-sdk-core (~> 3, >= 3.231.0) 24 + aws-sigv4 (~> 1.5) 25 + aws-sdk-s3 (1.199.1) 26 + aws-sdk-core (~> 3, >= 3.231.0) 27 + aws-sdk-kms (~> 1) 28 + aws-sigv4 (~> 1.5) 29 + aws-sigv4 (1.12.1) 30 + aws-eventstream (~> 1, >= 1.0.2) 31 + babosa (1.0.4) 32 + base64 (0.3.0) 33 + bigdecimal (3.2.3) 34 + claide (1.1.0) 35 + colored (1.2) 36 + colored2 (3.1.2) 37 + commander (4.6.0) 38 + highline (~> 2.0.0) 39 + declarative (0.0.20) 40 + digest-crc (0.7.0) 41 + rake (>= 12.0.0, < 14.0.0) 42 + domain_name (0.6.20240107) 43 + dotenv (2.8.1) 44 + emoji_regex (3.2.3) 45 + excon (0.112.0) 46 + faraday (1.10.4) 47 + faraday-em_http (~> 1.0) 48 + faraday-em_synchrony (~> 1.0) 49 + faraday-excon (~> 1.1) 50 + faraday-httpclient (~> 1.0) 51 + faraday-multipart (~> 1.0) 52 + faraday-net_http (~> 1.0) 53 + faraday-net_http_persistent (~> 1.0) 54 + faraday-patron (~> 1.0) 55 + faraday-rack (~> 1.0) 56 + faraday-retry (~> 1.0) 57 + ruby2_keywords (>= 0.0.4) 58 + faraday-cookie_jar (0.0.7) 59 + faraday (>= 0.8.0) 60 + http-cookie (~> 1.0.0) 61 + faraday-em_http (1.0.0) 62 + faraday-em_synchrony (1.0.1) 63 + faraday-excon (1.1.0) 64 + faraday-httpclient (1.0.1) 65 + faraday-multipart (1.1.1) 66 + multipart-post (~> 2.0) 67 + faraday-net_http (1.0.2) 68 + faraday-net_http_persistent (1.2.0) 69 + faraday-patron (1.0.0) 70 + faraday-rack (1.0.0) 71 + faraday-retry (1.0.3) 72 + faraday_middleware (1.2.1) 73 + faraday (~> 1.0) 74 + fastimage (2.4.0) 75 + fastlane (2.228.0) 76 + CFPropertyList (>= 2.3, < 4.0.0) 77 + addressable (>= 2.8, < 3.0.0) 78 + artifactory (~> 3.0) 79 + aws-sdk-s3 (~> 1.0) 80 + babosa (>= 1.0.3, < 2.0.0) 81 + bundler (>= 1.12.0, < 3.0.0) 82 + colored (~> 1.2) 83 + commander (~> 4.6) 84 + dotenv (>= 2.1.1, < 3.0.0) 85 + emoji_regex (>= 0.1, < 4.0) 86 + excon (>= 0.71.0, < 1.0.0) 87 + faraday (~> 1.0) 88 + faraday-cookie_jar (~> 0.0.6) 89 + faraday_middleware (~> 1.0) 90 + fastimage (>= 2.1.0, < 3.0.0) 91 + fastlane-sirp (>= 1.0.0) 92 + gh_inspector (>= 1.1.2, < 2.0.0) 93 + google-apis-androidpublisher_v3 (~> 0.3) 94 + google-apis-playcustomapp_v1 (~> 0.1) 95 + google-cloud-env (>= 1.6.0, < 2.0.0) 96 + google-cloud-storage (~> 1.31) 97 + highline (~> 2.0) 98 + http-cookie (~> 1.0.5) 99 + json (< 3.0.0) 100 + jwt (>= 2.1.0, < 3) 101 + mini_magick (>= 4.9.4, < 5.0.0) 102 + multipart-post (>= 2.0.0, < 3.0.0) 103 + naturally (~> 2.2) 104 + optparse (>= 0.1.1, < 1.0.0) 105 + plist (>= 3.1.0, < 4.0.0) 106 + rubyzip (>= 2.0.0, < 3.0.0) 107 + security (= 0.1.5) 108 + simctl (~> 1.6.3) 109 + terminal-notifier (>= 2.0.0, < 3.0.0) 110 + terminal-table (~> 3) 111 + tty-screen (>= 0.6.3, < 1.0.0) 112 + tty-spinner (>= 0.8.0, < 1.0.0) 113 + word_wrap (~> 1.0.0) 114 + xcodeproj (>= 1.13.0, < 2.0.0) 115 + xcpretty (~> 0.4.1) 116 + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) 117 + fastlane-sirp (1.0.0) 118 + sysrandom (~> 1.0) 119 + gh_inspector (1.1.3) 120 + google-apis-androidpublisher_v3 (0.54.0) 121 + google-apis-core (>= 0.11.0, < 2.a) 122 + google-apis-core (0.11.3) 123 + addressable (~> 2.5, >= 2.5.1) 124 + googleauth (>= 0.16.2, < 2.a) 125 + httpclient (>= 2.8.1, < 3.a) 126 + mini_mime (~> 1.0) 127 + representable (~> 3.0) 128 + retriable (>= 2.0, < 4.a) 129 + rexml 130 + google-apis-iamcredentials_v1 (0.17.0) 131 + google-apis-core (>= 0.11.0, < 2.a) 132 + google-apis-playcustomapp_v1 (0.13.0) 133 + google-apis-core (>= 0.11.0, < 2.a) 134 + google-apis-storage_v1 (0.31.0) 135 + google-apis-core (>= 0.11.0, < 2.a) 136 + google-cloud-core (1.8.0) 137 + google-cloud-env (>= 1.0, < 3.a) 138 + google-cloud-errors (~> 1.0) 139 + google-cloud-env (1.6.0) 140 + faraday (>= 0.17.3, < 3.0) 141 + google-cloud-errors (1.5.0) 142 + google-cloud-storage (1.47.0) 143 + addressable (~> 2.8) 144 + digest-crc (~> 0.4) 145 + google-apis-iamcredentials_v1 (~> 0.1) 146 + google-apis-storage_v1 (~> 0.31.0) 147 + google-cloud-core (~> 1.6) 148 + googleauth (>= 0.16.2, < 2.a) 149 + mini_mime (~> 1.0) 150 + googleauth (1.8.1) 151 + faraday (>= 0.17.3, < 3.a) 152 + jwt (>= 1.4, < 3.0) 153 + multi_json (~> 1.11) 154 + os (>= 0.9, < 2.0) 155 + signet (>= 0.16, < 2.a) 156 + highline (2.0.3) 157 + http-cookie (1.0.8) 158 + domain_name (~> 0.5) 159 + httpclient (2.9.0) 160 + mutex_m 161 + jmespath (1.6.2) 162 + json (2.15.0) 163 + jwt (2.10.2) 164 + base64 165 + logger (1.7.0) 166 + mini_magick (4.13.2) 167 + mini_mime (1.1.5) 168 + multi_json (1.17.0) 169 + multipart-post (2.4.1) 170 + mutex_m (0.3.0) 171 + nanaimo (0.4.0) 172 + naturally (2.3.0) 173 + nkf (0.2.0) 174 + optparse (0.6.0) 175 + os (1.1.4) 176 + plist (3.7.2) 177 + public_suffix (6.0.2) 178 + rake (13.3.0) 179 + representable (3.2.0) 180 + declarative (< 0.1.0) 181 + trailblazer-option (>= 0.1.1, < 0.2.0) 182 + uber (< 0.2.0) 183 + retriable (3.1.2) 184 + rexml (3.4.4) 185 + rouge (3.28.0) 186 + ruby2_keywords (0.0.5) 187 + rubyzip (2.4.1) 188 + security (0.1.5) 189 + signet (0.21.0) 190 + addressable (~> 2.8) 191 + faraday (>= 0.17.5, < 3.a) 192 + jwt (>= 1.5, < 4.0) 193 + multi_json (~> 1.10) 194 + simctl (1.6.10) 195 + CFPropertyList 196 + naturally 197 + sysrandom (1.0.5) 198 + terminal-notifier (2.0.0) 199 + terminal-table (3.0.2) 200 + unicode-display_width (>= 1.1.1, < 3) 201 + trailblazer-option (0.1.2) 202 + tty-cursor (0.7.1) 203 + tty-screen (0.8.2) 204 + tty-spinner (0.9.3) 205 + tty-cursor (~> 0.7) 206 + uber (0.1.0) 207 + unicode-display_width (2.6.0) 208 + word_wrap (1.0.0) 209 + xcodeproj (1.27.0) 210 + CFPropertyList (>= 2.3.3, < 4.0) 211 + atomos (~> 0.1.3) 212 + claide (>= 1.0.2, < 2.0) 213 + colored2 (~> 3.1) 214 + nanaimo (~> 0.4.0) 215 + rexml (>= 3.3.6, < 4.0) 216 + xcpretty (0.4.1) 217 + rouge (~> 3.28.0) 218 + xcpretty-travis-formatter (1.0.1) 219 + xcpretty (~> 0.2, >= 0.0.7) 220 + 221 + PLATFORMS 222 + arm64-darwin-24 223 + ruby 224 + 225 + DEPENDENCIES 226 + fastlane 227 + 228 + BUNDLED WITH 229 + 2.7.2
+4 -4
app/build.gradle.kts
··· 32 32 } 33 33 } 34 34 compileOptions { 35 - sourceCompatibility = JavaVersion.VERSION_21 36 - targetCompatibility = JavaVersion.VERSION_21 35 + sourceCompatibility = JavaVersion.VERSION_24 36 + targetCompatibility = JavaVersion.VERSION_24 37 37 } 38 38 compileOptions { 39 - version = JavaVersion.VERSION_21.toString() 39 + version = JavaVersion.VERSION_24.toString() 40 40 } 41 41 buildFeatures { 42 42 compose = true ··· 95 95 androidTestImplementation(libs.androidx.compose.ui.test.junit4) 96 96 debugImplementation(libs.androidx.compose.ui.tooling) 97 97 debugImplementation(libs.androidx.compose.ui.test.manifest) 98 - } 98 + }
+2
fastlane/Appfile
··· 1 + json_key_file("") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one 2 + package_name("industries.geesawra.monarch") # e.g. com.krausefx.app
+26
fastlane/Fastfile
··· 1 + # This file contains the fastlane.tools configuration 2 + # You can find the documentation at https://docs.fastlane.tools 3 + # 4 + # For a list of all available actions, check out 5 + # 6 + # https://docs.fastlane.tools/actions 7 + # 8 + # For a list of all available plugins, check out 9 + # 10 + # https://docs.fastlane.tools/plugins/available-plugins 11 + # 12 + 13 + # Uncomment the line if you want fastlane to automatically update itself 14 + # update_fastlane 15 + 16 + default_platform(:android) 17 + 18 + platform :android do 19 + lane :release_bin do 20 + desc "Build a release binary" 21 + gradle( 22 + task: "assemble", 23 + build_type: "release" 24 + ) 25 + end 26 + end
+32
fastlane/README.md
··· 1 + fastlane documentation 2 + ---- 3 + 4 + # Installation 5 + 6 + Make sure you have the latest version of the Xcode command line tools installed: 7 + 8 + ```sh 9 + xcode-select --install 10 + ``` 11 + 12 + For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) 13 + 14 + # Available Actions 15 + 16 + ## Android 17 + 18 + ### android release_bin 19 + 20 + ```sh 21 + [bundle exec] fastlane android release_bin 22 + ``` 23 + 24 + 25 + 26 + ---- 27 + 28 + This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. 29 + 30 + More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). 31 + 32 + The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
+18
fastlane/report.xml
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <testsuites> 3 + <testsuite name="fastlane.lanes"> 4 + 5 + 6 + 7 + 8 + <testcase classname="fastlane.lanes" name="0: default_platform" time="0.000172"> 9 + 10 + </testcase> 11 + 12 + 13 + <testcase classname="fastlane.lanes" name="1: assemblerelease" time="32.453597"> 14 + 15 + </testcase> 16 + 17 + </testsuite> 18 + </testsuites>