├── .gitignore ├── .github ├── workflows │ ├── .java-version │ └── build.yaml ├── requirements.txt ├── renovate.json5 ├── helper.py └── projects.svg ├── settings.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── README.md ├── .editorconfig ├── libs.versions.toml ├── gradlew └── projects.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | -------------------------------------------------------------------------------- /.github/workflows/.java-version: -------------------------------------------------------------------------------- 1 | 25 2 | -------------------------------------------------------------------------------- /.github/requirements.txt: -------------------------------------------------------------------------------- 1 | pyyaml==6.0.3 2 | tomlkit==0.13.3 3 | semver==3.0.4 4 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | dependencyResolutionManagement { 2 | repositories { 3 | mavenCentral() 4 | google() 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JakeWharton/prerelease-testing/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Prerelease Testing 2 | 3 | Automatically test projects against the latest versions of Kotlin, Gradle, and each other. 4 | 5 | Included projects: 6 | 7 | ![](.github/projects.svg) 8 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.yaml] 12 | indent_style = space 13 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionSha256Sum=2c2402e0741735bf96742d834ccc236d1b6ebef8f3b249df059a0f19cce07efc 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-milestone-3-bin.zip 5 | networkTimeout=10000 6 | validateDistributionUrl=true 7 | zipStoreBase=GRADLE_USER_HOME 8 | zipStorePath=wrapper/dists 9 | -------------------------------------------------------------------------------- /.github/renovate.json5: -------------------------------------------------------------------------------- 1 | { 2 | $schema: 'https://docs.renovatebot.com/renovate-schema.json', 3 | extends: [ 4 | 'config:recommended', 5 | ], 6 | rebaseWhen: 'behind-base-branch', 7 | ignoreUnstable: false, 8 | respectLatest: false, 9 | separateMinorPatch: true, 10 | separateMultipleMajor: true, 11 | separateMultipleMinor: true, 12 | prConcurrentLimit: 0, 13 | prHourlyLimit: 0, 14 | ignorePresets: [ 15 | // Ensure we get the latest version and are not pinned to old versions. 16 | 'workarounds:javaLTSVersions', 17 | ], 18 | customManagers: [ 19 | // Update .java-version file with the latest JDK version. 20 | { 21 | customType: 'regex', 22 | managerFilePatterns: [ 23 | '/\\.java-version$/', 24 | ], 25 | matchStrings: [ 26 | '(?.*)\\n', 27 | ], 28 | datasourceTemplate: 'java-version', 29 | depNameTemplate: 'java', 30 | // Only write the major version. 31 | extractVersionTemplate: '^(?\\d+)', 32 | }, 33 | ], 34 | } 35 | -------------------------------------------------------------------------------- /libs.versions.toml: -------------------------------------------------------------------------------- 1 | [versions] 2 | agp = "9.0.0-alpha02" 3 | androidx-compose-runtime = "1.11.0-alpha02" 4 | dokka = "2.1.0" 5 | jbCompose = "1.11.0-alpha01" 6 | kotlin = "2.2.21" 7 | ksp = "2.3.4" 8 | mavenPublish = "0.34.0" 9 | 10 | # These coordinates are othewise unused, but allow Renovate to understand the associated versions. 11 | [libraries] 12 | agp = { module = "com.android.tools.build:gradle", version.ref = "agp" } 13 | androidx-compose-runtime = { module = "androidx.compose.runtime:runtime", version.ref = "androidx-compose-runtime" } 14 | dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } 15 | jetbrains-compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "jbCompose" } 16 | kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } 17 | ksp = { module = "com.google.devtools.ksp:symbol-processing-gradle-plugin", version.ref = "ksp" } 18 | mavenPublish = { module = "com.vanniktech:gradle-maven-publish-plugin", version.ref = "gmpp" } 19 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Copyright © 2015 the original authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | # SPDX-License-Identifier: Apache-2.0 19 | # 20 | 21 | ############################################################################## 22 | # 23 | # Gradle start up script for POSIX generated by Gradle. 24 | # 25 | # Important for running: 26 | # 27 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is 28 | # noncompliant, but you have some other compliant shell such as ksh or 29 | # bash, then to run this script, type that shell name before the whole 30 | # command line, like: 31 | # 32 | # ksh Gradle 33 | # 34 | # Busybox and similar reduced shells will NOT work, because this script 35 | # requires all of these POSIX shell features: 36 | # * functions; 37 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}», 38 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»; 39 | # * compound commands having a testable exit status, especially «case»; 40 | # * various built-in commands including «command», «set», and «ulimit». 41 | # 42 | # Important for patching: 43 | # 44 | # (2) This script targets any POSIX shell, so it avoids extensions provided 45 | # by Bash, Ksh, etc; in particular arrays are avoided. 46 | # 47 | # The "traditional" practice of packing multiple parameters into a 48 | # space-separated string is a well documented source of bugs and security 49 | # problems, so this is (mostly) avoided, by progressively accumulating 50 | # options in "$@", and eventually passing that to Java. 51 | # 52 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, 53 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; 54 | # see the in-line comments for details. 55 | # 56 | # There are tweaks for specific operating systems such as AIX, CygWin, 57 | # Darwin, MinGW, and NonStop. 58 | # 59 | # (3) This script is generated from the Groovy template 60 | # https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt 61 | # within the Gradle project. 62 | # 63 | # You can find Gradle at https://github.com/gradle/gradle/. 64 | # 65 | ############################################################################## 66 | 67 | # Attempt to set APP_HOME 68 | 69 | # Resolve links: $0 may be a link 70 | app_path=$0 71 | 72 | # Need this for daisy-chained symlinks. 73 | while 74 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path 75 | [ -h "$app_path" ] 76 | do 77 | ls=$( ls -ld "$app_path" ) 78 | link=${ls#*' -> '} 79 | case $link in #( 80 | /*) app_path=$link ;; #( 81 | *) app_path=$APP_HOME$link ;; 82 | esac 83 | done 84 | 85 | # This is normally unused 86 | # shellcheck disable=SC2034 87 | APP_BASE_NAME=${0##*/} 88 | # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) 89 | APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit 90 | 91 | # Use the maximum available, or set MAX_FD != -1 to use that value. 92 | MAX_FD=maximum 93 | 94 | warn () { 95 | echo "$*" 96 | } >&2 97 | 98 | die () { 99 | echo 100 | echo "$*" 101 | echo 102 | exit 1 103 | } >&2 104 | 105 | # OS specific support (must be 'true' or 'false'). 106 | cygwin=false 107 | msys=false 108 | darwin=false 109 | nonstop=false 110 | case "$( uname )" in #( 111 | CYGWIN* ) cygwin=true ;; #( 112 | Darwin* ) darwin=true ;; #( 113 | MSYS* | MINGW* ) msys=true ;; #( 114 | NONSTOP* ) nonstop=true ;; 115 | esac 116 | 117 | 118 | 119 | # Determine the Java command to use to start the JVM. 120 | if [ -n "$JAVA_HOME" ] ; then 121 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 122 | # IBM's JDK on AIX uses strange locations for the executables 123 | JAVACMD=$JAVA_HOME/jre/sh/java 124 | else 125 | JAVACMD=$JAVA_HOME/bin/java 126 | fi 127 | if [ ! -x "$JAVACMD" ] ; then 128 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 129 | 130 | Please set the JAVA_HOME variable in your environment to match the 131 | location of your Java installation." 132 | fi 133 | else 134 | JAVACMD=java 135 | if ! command -v java >/dev/null 2>&1 136 | then 137 | die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 138 | 139 | Please set the JAVA_HOME variable in your environment to match the 140 | location of your Java installation." 141 | fi 142 | fi 143 | 144 | # Increase the maximum file descriptors if we can. 145 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then 146 | case $MAX_FD in #( 147 | max*) 148 | # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. 149 | # shellcheck disable=SC2039,SC3045 150 | MAX_FD=$( ulimit -H -n ) || 151 | warn "Could not query maximum file descriptor limit" 152 | esac 153 | case $MAX_FD in #( 154 | '' | soft) :;; #( 155 | *) 156 | # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. 157 | # shellcheck disable=SC2039,SC3045 158 | ulimit -n "$MAX_FD" || 159 | warn "Could not set maximum file descriptor limit to $MAX_FD" 160 | esac 161 | fi 162 | 163 | # Collect all arguments for the java command, stacking in reverse order: 164 | # * args from the command line 165 | # * the main class name 166 | # * -classpath 167 | # * -D...appname settings 168 | # * --module-path (only if needed) 169 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. 170 | 171 | # For Cygwin or MSYS, switch paths to Windows format before running java 172 | if "$cygwin" || "$msys" ; then 173 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) 174 | 175 | JAVACMD=$( cygpath --unix "$JAVACMD" ) 176 | 177 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 178 | for arg do 179 | if 180 | case $arg in #( 181 | -*) false ;; # don't mess with options #( 182 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath 183 | [ -e "$t" ] ;; #( 184 | *) false ;; 185 | esac 186 | then 187 | arg=$( cygpath --path --ignore --mixed "$arg" ) 188 | fi 189 | # Roll the args list around exactly as many times as the number of 190 | # args, so each arg winds up back in the position where it started, but 191 | # possibly modified. 192 | # 193 | # NB: a `for` loop captures its iteration list before it begins, so 194 | # changing the positional parameters here affects neither the number of 195 | # iterations, nor the values presented in `arg`. 196 | shift # remove old arg 197 | set -- "$@" "$arg" # push replacement arg 198 | done 199 | fi 200 | 201 | 202 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 203 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 204 | 205 | # Collect all arguments for the java command: 206 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, 207 | # and any embedded shellness will be escaped. 208 | # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be 209 | # treated as '${Hostname}' itself on the command line. 210 | 211 | set -- \ 212 | "-Dorg.gradle.appname=$APP_BASE_NAME" \ 213 | -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ 214 | "$@" 215 | 216 | # Stop when "xargs" is not available. 217 | if ! command -v xargs >/dev/null 2>&1 218 | then 219 | die "xargs is not available" 220 | fi 221 | 222 | # Use "xargs" to parse quoted args. 223 | # 224 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed. 225 | # 226 | # In Bash we could simply go: 227 | # 228 | # readarray ARGS < <( xargs -n1 <<<"$var" ) && 229 | # set -- "${ARGS[@]}" "$@" 230 | # 231 | # but POSIX shell has neither arrays nor command substitution, so instead we 232 | # post-process each arg (as a line of input to sed) to backslash-escape any 233 | # character that might be a shell metacharacter, then use eval to reverse 234 | # that process (while maintaining the separation between arguments), and wrap 235 | # the whole thing up as a single "set" statement. 236 | # 237 | # This will of course break if any of these variables contains a newline or 238 | # an unmatched quote. 239 | # 240 | 241 | eval "set -- $( 242 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | 243 | xargs -n1 | 244 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | 245 | tr '\n' ' ' 246 | )" '"$@"' 247 | 248 | exec "$JAVACMD" "$@" 249 | -------------------------------------------------------------------------------- /.github/helper.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import subprocess 4 | import sys 5 | import tempfile 6 | import textwrap 7 | import tomlkit 8 | import yaml 9 | 10 | def main(): 11 | if len(sys.argv) <= 1: 12 | print('Argument required') 13 | exit(1) 14 | match sys.argv[1]: 15 | case 'generate': 16 | generate() 17 | case 'patch-toml': 18 | if len(sys.argv) != 6: 19 | print('Incorrect arguments for patch-toml') 20 | exit(1) 21 | patch_toml(sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5]) 22 | case _: 23 | print('Unknown command:', sys.argv[1]) 24 | exit(1) 25 | 26 | 27 | def patch_toml(project_dir: str, toml_key: str, version_type: str, version_arg: str): 28 | import semver 29 | 30 | match version_type: 31 | case 'key': 32 | this_toml_path = 'this/libs.versions.toml' 33 | with open(this_toml_path, 'r') as f: 34 | this_toml = tomlkit.parse(f.read()) 35 | version = this_toml['versions'][version_arg] 36 | case 'value': 37 | version = version_arg 38 | case _: 39 | print("Unknown version type:", version_type) 40 | exit(1) 41 | 42 | project_toml_path = project_dir + '/gradle/libs.versions.toml' 43 | with open(project_toml_path, 'r') as f: 44 | project_toml = tomlkit.parse(f.read()) 45 | 46 | if toml_key.startswith('versions.'): 47 | toml_versions_key = toml_key.removeprefix('versions.') 48 | old_version = project_toml['versions'][toml_versions_key] 49 | project_toml['versions'][toml_versions_key] = version 50 | elif toml_key.startswith('plugins.'): 51 | toml_plugins_key = toml_key.removeprefix('plugins.') 52 | old_version = project_toml['plugins'][toml_plugins_key]['version'] 53 | project_toml['plugins'][toml_plugins_key]['version'] = version 54 | elif toml_key.startswith('libraries.'): 55 | toml_libraries_key = toml_key.removeprefix('libraries.') 56 | project_toml_library = project_toml['libraries'][toml_libraries_key] 57 | if isinstance(project_toml_library, str): 58 | coordinates, _, old_version = project_toml_library.rpartition(':') 59 | new_triple = coordinates + ':' + version 60 | project_toml['libraries'][toml_libraries_key] = new_triple 61 | else: 62 | old_version = project_toml_library['version'] 63 | if isinstance(old_version, tomlkit.api.Table): 64 | print('Library key ', toml_libraries_key, " contains a 'version' table. Migrate to using version key.") 65 | exit(1) 66 | project_toml_library['version'] = version 67 | else: 68 | print('Unknown TOML key prefix:', toml_key) 69 | exit(1) 70 | 71 | if semver.compare(old_version, version) > 0: 72 | print("Refusing to downgrade", toml_key, 'from', old_version, 'to', version) 73 | else: 74 | with open(project_toml_path, 'w') as f: 75 | f.write(tomlkit.dumps(project_toml)) 76 | 77 | 78 | def safe_name(name: str) -> str: 79 | return name.replace('/', '-').replace('.', '-') 80 | 81 | 82 | def generate(): 83 | with open('projects.yaml', 'r') as y: 84 | projects = yaml.safe_load(y) 85 | 86 | with tempfile.NamedTemporaryFile(mode = 'w', delete = False) as f: 87 | f.write('direction: left\n\n') 88 | 89 | for project, config in projects.items(): 90 | f.write('"' + project + '"\n') 91 | 92 | if 'internal_dependencies' in config: 93 | for dep in config['internal_dependencies'].keys(): 94 | f.write('"' + project + '" -> "' + dep + '"\n') 95 | 96 | f.close() 97 | 98 | subprocess.run(['d2', '--layout=elk', f.name, '.github/projects.svg']) 99 | 100 | with open('.github/workflows/build.yaml', 'w') as f: 101 | f.write('''name: build 102 | 103 | on: 104 | pull_request: {} 105 | workflow_dispatch: {} 106 | push: 107 | branches: 108 | - 'trunk' 109 | schedule: 110 | # 3:33 AM EST / 4:33 AM EDT 111 | - cron: "33 8 * * *" 112 | 113 | concurrency: 114 | group: ${{ github.workflow }}-${{ github.ref }} 115 | cancel-in-progress: true 116 | 117 | env: 118 | GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.incremental=false -Dorg.gradle.daemon=false -Dorg.gradle.vfs.watch=false -Dorg.gradle.logging.stacktrace=full" 119 | 120 | jobs: 121 | workflow-up-to-date: 122 | runs-on: macos-latest 123 | steps: 124 | - uses: actions/checkout@v6 125 | - uses: actions/setup-python@v6 126 | with: 127 | python-version: '3.14' 128 | - run: brew update && brew install d2 129 | - run: pip install -r .github/requirements.txt 130 | - run: .github/helper.py generate 131 | - run: git diff --exit-code 132 | 133 | ''') 134 | 135 | for project, config in projects.items(): 136 | safe_project = safe_name(project) 137 | f.write(' ' + safe_project + ''': 138 | runs-on: macos-latest 139 | if: ${{ !cancelled() }} 140 | ''') 141 | 142 | if 'version' in config: 143 | f.write(''' outputs: 144 | version: ${{ steps.version.outputs.version }} 145 | ''') 146 | 147 | f.write(''' needs: 148 | - workflow-up-to-date 149 | ''') 150 | if 'internal_dependencies' in config: 151 | for dep in config['internal_dependencies']: 152 | safe_dep = safe_name(dep) 153 | f.write(' - ' + safe_dep + '\n') 154 | 155 | f.write(''' steps: 156 | - name: "Checkout this repository" 157 | uses: actions/checkout@v6 158 | with: 159 | path: this 160 | - name: "Checkout ''' + project + ''' repository" 161 | uses: actions/checkout@v6 162 | with: 163 | repository: ''' + project + ''' 164 | submodules: true 165 | path: ''' + safe_project + '\n') 166 | if 'ref' in config: 167 | f.write(' ref: ' + config['ref'] + '\n') 168 | f.write(''' - uses: actions/setup-java@v5 169 | with: 170 | distribution: 'zulu' 171 | java-version-file: this/.github/workflows/.java-version 172 | - uses: gradle/actions/setup-gradle@v5 173 | - uses: actions/setup-python@v6 174 | with: 175 | python-version: '3.14' 176 | - name: "Patch external dependencies" 177 | run: | 178 | pip install -r this/.github/requirements.txt 179 | ''') 180 | 181 | if 'external_dependencies' in config: 182 | for dep, key in config['external_dependencies'].items(): 183 | f.write(' this/.github/helper.py patch-toml ' + safe_project + ' ' + key + ' key ' + dep + '\n') 184 | 185 | if 'internal_dependencies' in config: 186 | for dep, key in config['internal_dependencies'].items(): 187 | safe_dep = safe_name(dep) 188 | f.write(' - name: "Download internal dependency ' + dep + '''" 189 | uses: actions/download-artifact@v7 190 | if: ${{ needs.''' + safe_dep + '''.outputs.version != '' }} 191 | with: 192 | name: ''' + safe_dep + '''-snapshot 193 | path: ~/.m2/repository 194 | - name: "Patch internal dependency ''' + dep + '''" 195 | run: this/.github/helper.py patch-toml ''' + safe_project + ' ' + key + ''' value ${{ needs.''' + safe_dep + '''.outputs.version }} 196 | if: ${{ needs.''' + safe_dep + '''.outputs.version != '' }} 197 | ''') 198 | 199 | if 'setup' in config: 200 | setup = yaml.dump(config['setup']) 201 | f.write(textwrap.indent(setup, ' ')) 202 | 203 | f.write(''' - name: "Patch maven local" 204 | working-directory: ''' + safe_project + ''' 205 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\\(\\)$/\\1mavenLocal()\\n\\1mavenCentral()/g' 206 | - name: "Show local change diff" 207 | working-directory: ''' + safe_project + ''' 208 | run: git diff --patch 209 | ''') 210 | 211 | if 'version' in config: 212 | f.write(''' - name: "Publish ''' + safe_project + '''" 213 | working-directory: ''' + safe_project + ''' 214 | run: ../this/gradlew --continue ''') 215 | if 'pre_build' in config: 216 | f.write(config['pre_build'] + ' ') 217 | f.write('''publishToMavenLocal 218 | - uses: actions/upload-artifact@v6 219 | with: 220 | name: ''' + safe_project + '''-snapshot 221 | path: ~/.m2/repository 222 | if-no-files-found: error 223 | - id: version 224 | ''') 225 | version = config['version'] 226 | if 'regex' in version: 227 | f.write(''' run: perl -ne '/''' + version['regex'].encode('unicode_escape').decode("utf-8") + '''/ and print "version=$1",$/' ''' + safe_project + '/' + version['file'] + ' | tee -a "$GITHUB_OUTPUT"\n') 228 | else: 229 | raise Exception("Unknown version strategy") 230 | 231 | if 'compile_only' not in config: 232 | f.write(''' - name: "Check ''' + safe_project + '''" 233 | working-directory: ''' + safe_project + ''' 234 | run: ../this/gradlew --continue ''') 235 | # Only run the pre_build if we didn't already run it as part of library deploy. 236 | if 'pre_build' in config and 'version' not in config: 237 | f.write(config['pre_build'] + ' ') 238 | f.write('build') 239 | if 'post_build' in config: 240 | f.write(' ' + config['post_build']) 241 | f.write('\n') 242 | 243 | f.write('\n') 244 | 245 | f.write(''' final-status: 246 | if: ${{ !cancelled() }} 247 | runs-on: ubuntu-latest 248 | needs: 249 | - workflow-up-to-date 250 | ''') 251 | for project in projects.keys(): 252 | safe_project = safe_name(project) 253 | f.write(' - ' + safe_project + '\n') 254 | f.write(''' steps: 255 | - name: Check 256 | run: | 257 | results=$(tr -d '\\n' <<< '${{ toJSON(needs.*.result) }}') 258 | if ! grep -q -v -E '(failure|cancelled)' <<< "$results"; then 259 | echo "One or more required jobs failed" 260 | exit 1 261 | fi 262 | ''') 263 | 264 | 265 | if __name__ == '__main__': 266 | main() 267 | -------------------------------------------------------------------------------- /projects.yaml: -------------------------------------------------------------------------------- 1 | "cashapp/burst": 2 | pre_build: kotlinUpgradeYarnLock 3 | external_dependencies: 4 | agp: libraries.android-gradlePlugin 5 | dokka: plugins.dokka 6 | kotlin: versions.kotlin 7 | mavenPublish: libraries.mavenPublish-gradle-plugin 8 | version: 9 | file: gradle.properties 10 | regex: "VERSION_NAME=(.*)" 11 | 12 | "cashapp/licensee": 13 | compile_only: true # Test golden files hard code versions. 14 | external_dependencies: 15 | agp: versions.agp 16 | dokka: plugins.dokka 17 | kotlin: versions.kotlin 18 | mavenPublish: plugins.publish 19 | internal_dependencies: 20 | "square/kotlinpoet": libraries.kotlinpoet 21 | version: 22 | file: gradle.properties 23 | regex: "VERSION_NAME=(.*)" 24 | 25 | "cashapp/molecule": 26 | pre_build: kotlinUpgradeYarnLock 27 | external_dependencies: 28 | agp: libraries.android-plugin 29 | androidx-compose-runtime: libraries.androidx-compose-runtime 30 | dokka: libraries.dokka-plugin 31 | kotlin: versions.kotlin 32 | mavenPublish: libraries.maven-publish-plugin 33 | internal_dependencies: 34 | "cashapp/turbine": libraries.turbine 35 | "square/okhttp": versions.squareup-okhttp 36 | "square/retrofit": versions.squareup-retrofit 37 | version: 38 | file: gradle.properties 39 | regex: "VERSION_NAME=(.*)" 40 | 41 | "cashapp/paraphrase": 42 | external_dependencies: 43 | agp: versions.agp 44 | dokka: plugins.dokka 45 | kotlin: versions.kotlin 46 | mavenPublish: plugins.mavenPublish 47 | internal_dependencies: 48 | "square/kotlinpoet": libraries.kotlinPoet 49 | version: 50 | file: gradle.properties 51 | regex: "VERSION_NAME=(.*)" 52 | 53 | "cashapp/turbine": 54 | pre_build: kotlinUpgradeYarnLock 55 | external_dependencies: 56 | dokka: plugins.dokka 57 | kotlin: plugins.kotlin 58 | mavenPublish: plugins.publish 59 | version: 60 | file: gradle.properties 61 | regex: "VERSION_NAME=(.*)" 62 | 63 | "cashapp/zipline": 64 | setup: 65 | - uses: mlugg/setup-zig@v2 66 | with: 67 | version: 0.14.0 68 | - run: zig build -p src/jvmMain/resources/jni 69 | working-directory: cashapp-zipline/zipline 70 | pre_build: kotlinUpgradeYarnLock 71 | post_build: -x spotlessCheck -x :zipline-gradle-plugin:validatePlugins 72 | external_dependencies: 73 | agp: libraries.android-gradle-plugin 74 | dokka: libraries.dokka-gradle-plugin 75 | kotlin: versions.kotlin 76 | mavenPublish: libraries.mavenPublish-gradle-plugin 77 | internal_dependencies: 78 | "cashapp/turbine": libraries.turbine 79 | "JakeWharton/test-distribution-gradle-plugin": libraries.testDistributionGradlePlugin 80 | "square/okhttp": versions.okHttp 81 | "square/okio": versions.okio 82 | "sqldelight/sqldelight": versions.sqldelight 83 | version: 84 | file: gradle.properties 85 | regex: "VERSION_NAME=(.*)" 86 | 87 | "JakeWharton/cite": 88 | pre_build: kotlinUpgradeYarnLock 89 | external_dependencies: 90 | agp: libraries.android-gradlePlugin 91 | dokka: libraries.dokkaPlugin 92 | kotlin: versions.kotlin 93 | mavenPublish: libraries.gradleMavenPublishPlugin 94 | version: 95 | file: gradle.properties 96 | regex: "VERSION_NAME=(.*)" 97 | 98 | "JakeWharton/confundus": 99 | pre_build: kotlinUpgradeYarnLock 100 | external_dependencies: 101 | dokka: libraries.dokkaPlugin 102 | kotlin: versions.kotlin 103 | mavenPublish: libraries.gradleMavenPublishPlugin 104 | version: 105 | file: gradle.properties 106 | regex: "VERSION_NAME=(.*)" 107 | 108 | "JakeWharton/crossword": 109 | pre_build: kotlinUpgradeYarnLock 110 | external_dependencies: 111 | dokka: libraries.dokkaPlugin 112 | kotlin: libraries.kotlinPlugin 113 | mavenPublish: libraries.publishPlugin 114 | version: 115 | file: gradle.properties 116 | regex: "VERSION_NAME=(.*)" 117 | 118 | "JakeWharton/dalvik-dx": 119 | external_dependencies: 120 | mavenPublish: libraries.mavenPublishPlugin 121 | version: 122 | file: gradle.properties 123 | regex: "VERSION_NAME=(.*)" 124 | 125 | "JakeWharton/dependency-tree-diff": 126 | external_dependencies: 127 | kotlin: libraries.kotlin-gradle-plugin 128 | 129 | "JakeWharton/dependency-watch": 130 | external_dependencies: 131 | kotlin: versions.kotlin 132 | internal_dependencies: 133 | "square/okhttp": versions.okhttp 134 | 135 | "JakeWharton/diffuse": 136 | external_dependencies: 137 | agp: libraries.apkSigner 138 | dokka: libraries.dokkaPlugin 139 | kotlin: libraries.kotlinPlugin 140 | mavenPublish: libraries.mavenPublishPlugin 141 | internal_dependencies: 142 | "JakeWharton/dalvik-dx": libraries.dalvikDx 143 | "square/okio": libraries.okio 144 | version: 145 | file: gradle.properties 146 | regex: "VERSION_NAME=(.*)" 147 | 148 | "JakeWharton/finalization-hook": 149 | external_dependencies: 150 | dokka: libraries.dokka-gradlePlugin 151 | kotlin: versions.kotlin 152 | mavenPublish: libraries.maven-publish-gradlePlugin 153 | version: 154 | file: gradle.properties 155 | regex: "VERSION_NAME=(.*)" 156 | 157 | "JakeWharton/flip-tables": 158 | external_dependencies: 159 | mavenPublish: libraries.mavenPublishPlugin 160 | 161 | "JakeWharton/gitout": 162 | external_dependencies: 163 | kotlin: versions.kotlin 164 | internal_dependencies: 165 | "square/okhttp": versions.okhttp 166 | 167 | "JakeWharton/hardcover-data-sync": 168 | external_dependencies: 169 | kotlin: libraries.kotlin-gradlePlugin 170 | internal_dependencies: 171 | "square/okhttp": versions.okhttp 172 | 173 | "JakeWharton/jakewharton.com": 174 | external_dependencies: 175 | kotlin: libraries.kotlinGradlePlugin 176 | internal_dependencies: 177 | "square/okhttp": libraries.okhttp 178 | 179 | "JakeWharton/kmp-missing-targets": 180 | compile_only: true # Test golden files hard code versions. 181 | external_dependencies: 182 | agp: libraries.android-gradlePlugin 183 | dokka: libraries.dokkaPlugin 184 | kotlin: versions.kotlin 185 | mavenPublish: libraries.gradleMavenPublishPlugin 186 | version: 187 | file: gradle.properties 188 | regex: "VERSION_NAME=(.*)" 189 | 190 | "JakeWharton/mosaic": 191 | external_dependencies: 192 | dokka: libraries.dokkaGradlePlugin 193 | androidx-compose-runtime: libraries.androidx-compose-runtime 194 | kotlin: versions.kotlin 195 | mavenPublish: libraries.mavenPublishGradlePlugin 196 | internal_dependencies: 197 | "cashapp/burst": libraries.burstGradlePlugin 198 | "JakeWharton/cite": libraries.citeGradlePlugin 199 | "JakeWharton/finalization-hook": libraries.finalizationHook 200 | "JakeWharton/test-distribution-gradle-plugin": libraries.testDistributionGradlePlugin 201 | version: 202 | file: gradle.properties 203 | regex: "VERSION_NAME=(.*)" 204 | 205 | "JakeWharton/picnic": 206 | pre_build: kotlinUpgradeYarnLock 207 | external_dependencies: 208 | dokka: libraries.dokkaPlugin 209 | kotlin: libraries.kotlinPlugin 210 | mavenPublish: libraries.publishPlugin 211 | internal_dependencies: 212 | "JakeWharton/crossword": libraries.crossword 213 | version: 214 | file: gradle.properties 215 | regex: "VERSION_NAME=(.*)" 216 | 217 | "JakeWharton/plex-auto-trash": 218 | external_dependencies: 219 | kotlin: versions.kotlin 220 | internal_dependencies: 221 | "square/okhttp": versions.okhttp 222 | 223 | "JakeWharton/ProcessPhoenix": 224 | external_dependencies: 225 | agp: libraries.androidPlugin 226 | mavenPublish: libraries.gradleMavenPublishPlugin 227 | 228 | "JakeWharton/radarr-folder-fixer": 229 | external_dependencies: 230 | kotlin: versions.kotlin 231 | internal_dependencies: 232 | "square/okhttp": versions.okhttp 233 | "square/retrofit": versions.retrofit 234 | 235 | "JakeWharton/RxRelay": 236 | external_dependencies: 237 | mavenPublish: libraries.mavenPublishPlugin 238 | 239 | "JakeWharton/RxReplayingShare": 240 | external_dependencies: 241 | kotlin: libraries.kotlinPlugin 242 | mavenPublish: libraries.mavenPublishPlugin 243 | 244 | "JakeWharton/RxWindowIfChanged": 245 | external_dependencies: 246 | kotlin: libraries.kotlinPlugin 247 | mavenPublish: libraries.mavenPublishPlugin 248 | 249 | "JakeWharton/shimo": 250 | external_dependencies: 251 | mavenPublish: libraries.publishPlugin 252 | internal_dependencies: 253 | "square/moshi": libraries.moshi 254 | 255 | "JakeWharton/singular-solution": 256 | external_dependencies: 257 | kotlin: libraries.kotlin-gradlePlugin 258 | 259 | "JakeWharton/test-distribution-gradle-plugin": 260 | external_dependencies: 261 | agp: libraries.android-gradlePlugin 262 | dokka: libraries.dokkaPlugin 263 | kotlin: versions.kotlin 264 | mavenPublish: libraries.gradleMavenPublishPlugin 265 | internal_dependencies: 266 | "cashapp/burst": libraries.burst-gradlePlugin 267 | version: 268 | file: gradle.properties 269 | regex: "VERSION_NAME=(.*)" 270 | 271 | "JakeWharton/timber": 272 | external_dependencies: 273 | agp: versions.agp 274 | dokka: libraries.gradlePlugin-dokka 275 | kotlin: versions.kotlin 276 | mavenPublish: libraries.gradlePlugin-mavenPublish 277 | version: 278 | file: gradle.properties 279 | regex: "VERSION_NAME=(.*)" 280 | 281 | "JakeWharton/video-swatch": 282 | setup: 283 | - run: brew install ffmpeg 284 | external_dependencies: 285 | kotlin: versions.kotlin 286 | internal_dependencies: 287 | "square/okio": libraries.okio 288 | 289 | "sqldelight/Grammar-Kit-Composer": 290 | external_dependencies: 291 | dokka: plugins.dokka 292 | kotlin: plugins.kotlinJvm 293 | mavenPublish: plugins.publish 294 | internal_dependencies: 295 | "square/kotlinpoet": libraries.kotlinPoet 296 | version: 297 | file: gradle.properties 298 | regex: "VERSION_NAME=(.*)" 299 | 300 | "sqldelight/sql-psi": 301 | external_dependencies: 302 | dokka: plugins.dokka 303 | kotlin: versions.kotlin 304 | mavenPublish: plugins.mavenPublish 305 | internal_dependencies: 306 | "sqldelight/Grammar-Kit-Composer": plugins.grammarKitComposer 307 | version: 308 | file: gradle.properties 309 | regex: "VERSION_NAME=(.*)" 310 | 311 | "sqldelight/sqldelight": 312 | pre_build: kotlinUpgradeYarnLock kotlinWasmUpgradeYarnLock 313 | post_build: -x dockerTest 314 | external_dependencies: 315 | agp: versions.agp 316 | dokka: versions.dokka 317 | kotlin: versions.kotlin 318 | mavenPublish: plugins.publish 319 | internal_dependencies: 320 | "cashapp/turbine": libraries.turbine 321 | "JakeWharton/picnic": libraries.picnic 322 | "sqldelight/Grammar-Kit-Composer": plugins.grammarKitComposer 323 | "sqldelight/sql-psi": versions.sqlPsi 324 | "square/kotlinpoet": libraries.kotlinPoet 325 | version: 326 | file: gradle.properties 327 | regex: "VERSION_NAME=(.*)" 328 | 329 | "square/kotlinpoet": 330 | pre_build: kotlinUpgradeYarnLock 331 | external_dependencies: 332 | dokka: plugins.dokka 333 | kotlin: versions.kotlin 334 | ksp: versions.ksp 335 | mavenPublish: plugins.mavenPublish 336 | version: 337 | file: gradle.properties 338 | regex: "VERSION_NAME=(.*)" 339 | 340 | "square/moshi": 341 | external_dependencies: 342 | dokka: plugins.dokka 343 | kotlin: versions.kotlin 344 | ksp: versions.ksp 345 | mavenPublish: plugins.mavenPublish 346 | internal_dependencies: 347 | "square/kotlinpoet": versions.kotlinpoet 348 | "square/okio": libraries.okio 349 | version: 350 | file: build.gradle.kts 351 | regex: 'version = "(.*)"' 352 | 353 | "square/okio": 354 | pre_build: kotlinUpgradeYarnLock 355 | external_dependencies: 356 | agp: libraries.android-gradle-plugin 357 | dokka: libraries.dokka 358 | kotlin: versions.kotlin 359 | mavenPublish: libraries.vanniktech-publish-plugin 360 | internal_dependencies: 361 | "cashapp/burst": versions.burst 362 | version: 363 | file: gradle.properties 364 | regex: "VERSION_NAME=(.*)" 365 | 366 | "square/okhttp": 367 | compile_only: true # Build is all kinds of messed up. 368 | external_dependencies: 369 | dokka: libraries.gradlePlugin-dokka 370 | kotlin: versions.org-jetbrains-kotlin 371 | ksp: versions.ksp 372 | mavenPublish: libraries.gradlePlugin-mavenPublish 373 | internal_dependencies: 374 | "square/okio": versions.com-squareup-okio 375 | "square/kotlinpoet": libraries.squareup-kotlinPoet 376 | version: 377 | file: build.gradle.kts 378 | regex: "version = (.*)" 379 | 380 | "square/retrofit": 381 | external_dependencies: 382 | agp: libraries.androidPlugin 383 | dokka: libraries.dokkaPlugin 384 | kotlin: versions.kotlin 385 | mavenPublish: libraries.gradleMavenPublishPlugin 386 | internal_dependencies: 387 | "square/okhttp": versions.okhttp 388 | "square/moshi": libraries.moshi 389 | version: 390 | file: gradle.properties 391 | regex: "VERSION_NAME=(.*)" 392 | 393 | "square/zstd-kmp": 394 | setup: 395 | - uses: mlugg/setup-zig@v2 396 | with: 397 | version: 0.14.0 398 | - run: zig build -p src/jvmMain/resources/jni 399 | working-directory: square-zstd-kmp/zstd-kmp 400 | external_dependencies: 401 | agp: libraries.android-gradle-plugin 402 | dokka: libraries.dokka-gradle-plugin 403 | kotlin: versions.kotlin 404 | mavenPublish: libraries.mavenPublish-gradle-plugin 405 | internal_dependencies: 406 | "JakeWharton/test-distribution-gradle-plugin": libraries.testDistributionGradlePlugin 407 | "square/okio": versions.okio 408 | version: 409 | file: gradle.properties 410 | regex: "VERSION_NAME=(.*)" 411 | -------------------------------------------------------------------------------- /.github/projects.svg: -------------------------------------------------------------------------------- 1 | cashapp/burstcashapp/licenseesquare/kotlinpoetcashapp/moleculecashapp/turbinesquare/okhttpsquare/retrofitcashapp/paraphrasecashapp/ziplineJakeWharton/test-distribution-gradle-pluginsquare/okiosqldelight/sqldelightJakeWharton/citeJakeWharton/confundusJakeWharton/crosswordJakeWharton/dalvik-dxJakeWharton/dependency-tree-diffJakeWharton/dependency-watchJakeWharton/diffuseJakeWharton/finalization-hookJakeWharton/flip-tablesJakeWharton/gitoutJakeWharton/hardcover-data-syncJakeWharton/jakewharton.comJakeWharton/kmp-missing-targetsJakeWharton/mosaicJakeWharton/picnicJakeWharton/plex-auto-trashJakeWharton/ProcessPhoenixJakeWharton/radarr-folder-fixerJakeWharton/RxRelayJakeWharton/RxReplayingShareJakeWharton/RxWindowIfChangedJakeWharton/shimosquare/moshiJakeWharton/singular-solutionJakeWharton/timberJakeWharton/video-swatchsqldelight/Grammar-Kit-Composersqldelight/sql-psisquare/zstd-kmp 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /.github/workflows/build.yaml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: 4 | pull_request: {} 5 | workflow_dispatch: {} 6 | push: 7 | branches: 8 | - 'trunk' 9 | schedule: 10 | # 3:33 AM EST / 4:33 AM EDT 11 | - cron: "33 8 * * *" 12 | 13 | concurrency: 14 | group: ${{ github.workflow }}-${{ github.ref }} 15 | cancel-in-progress: true 16 | 17 | env: 18 | GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.incremental=false -Dorg.gradle.daemon=false -Dorg.gradle.vfs.watch=false -Dorg.gradle.logging.stacktrace=full" 19 | 20 | jobs: 21 | workflow-up-to-date: 22 | runs-on: macos-latest 23 | steps: 24 | - uses: actions/checkout@v6 25 | - uses: actions/setup-python@v6 26 | with: 27 | python-version: '3.14' 28 | - run: brew update && brew install d2 29 | - run: pip install -r .github/requirements.txt 30 | - run: .github/helper.py generate 31 | - run: git diff --exit-code 32 | 33 | cashapp-burst: 34 | runs-on: macos-latest 35 | if: ${{ !cancelled() }} 36 | outputs: 37 | version: ${{ steps.version.outputs.version }} 38 | needs: 39 | - workflow-up-to-date 40 | steps: 41 | - name: "Checkout this repository" 42 | uses: actions/checkout@v6 43 | with: 44 | path: this 45 | - name: "Checkout cashapp/burst repository" 46 | uses: actions/checkout@v6 47 | with: 48 | repository: cashapp/burst 49 | submodules: true 50 | path: cashapp-burst 51 | - uses: actions/setup-java@v5 52 | with: 53 | distribution: 'zulu' 54 | java-version-file: this/.github/workflows/.java-version 55 | - uses: gradle/actions/setup-gradle@v5 56 | - uses: actions/setup-python@v6 57 | with: 58 | python-version: '3.14' 59 | - name: "Patch external dependencies" 60 | run: | 61 | pip install -r this/.github/requirements.txt 62 | this/.github/helper.py patch-toml cashapp-burst libraries.android-gradlePlugin key agp 63 | this/.github/helper.py patch-toml cashapp-burst plugins.dokka key dokka 64 | this/.github/helper.py patch-toml cashapp-burst versions.kotlin key kotlin 65 | this/.github/helper.py patch-toml cashapp-burst libraries.mavenPublish-gradle-plugin key mavenPublish 66 | - name: "Patch maven local" 67 | working-directory: cashapp-burst 68 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 69 | - name: "Show local change diff" 70 | working-directory: cashapp-burst 71 | run: git diff --patch 72 | - name: "Publish cashapp-burst" 73 | working-directory: cashapp-burst 74 | run: ../this/gradlew --continue kotlinUpgradeYarnLock publishToMavenLocal 75 | - uses: actions/upload-artifact@v6 76 | with: 77 | name: cashapp-burst-snapshot 78 | path: ~/.m2/repository 79 | if-no-files-found: error 80 | - id: version 81 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' cashapp-burst/gradle.properties | tee -a "$GITHUB_OUTPUT" 82 | - name: "Check cashapp-burst" 83 | working-directory: cashapp-burst 84 | run: ../this/gradlew --continue build 85 | 86 | cashapp-licensee: 87 | runs-on: macos-latest 88 | if: ${{ !cancelled() }} 89 | outputs: 90 | version: ${{ steps.version.outputs.version }} 91 | needs: 92 | - workflow-up-to-date 93 | - square-kotlinpoet 94 | steps: 95 | - name: "Checkout this repository" 96 | uses: actions/checkout@v6 97 | with: 98 | path: this 99 | - name: "Checkout cashapp/licensee repository" 100 | uses: actions/checkout@v6 101 | with: 102 | repository: cashapp/licensee 103 | submodules: true 104 | path: cashapp-licensee 105 | - uses: actions/setup-java@v5 106 | with: 107 | distribution: 'zulu' 108 | java-version-file: this/.github/workflows/.java-version 109 | - uses: gradle/actions/setup-gradle@v5 110 | - uses: actions/setup-python@v6 111 | with: 112 | python-version: '3.14' 113 | - name: "Patch external dependencies" 114 | run: | 115 | pip install -r this/.github/requirements.txt 116 | this/.github/helper.py patch-toml cashapp-licensee versions.agp key agp 117 | this/.github/helper.py patch-toml cashapp-licensee plugins.dokka key dokka 118 | this/.github/helper.py patch-toml cashapp-licensee versions.kotlin key kotlin 119 | this/.github/helper.py patch-toml cashapp-licensee plugins.publish key mavenPublish 120 | - name: "Download internal dependency square/kotlinpoet" 121 | uses: actions/download-artifact@v7 122 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 123 | with: 124 | name: square-kotlinpoet-snapshot 125 | path: ~/.m2/repository 126 | - name: "Patch internal dependency square/kotlinpoet" 127 | run: this/.github/helper.py patch-toml cashapp-licensee libraries.kotlinpoet value ${{ needs.square-kotlinpoet.outputs.version }} 128 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 129 | - name: "Patch maven local" 130 | working-directory: cashapp-licensee 131 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 132 | - name: "Show local change diff" 133 | working-directory: cashapp-licensee 134 | run: git diff --patch 135 | - name: "Publish cashapp-licensee" 136 | working-directory: cashapp-licensee 137 | run: ../this/gradlew --continue publishToMavenLocal 138 | - uses: actions/upload-artifact@v6 139 | with: 140 | name: cashapp-licensee-snapshot 141 | path: ~/.m2/repository 142 | if-no-files-found: error 143 | - id: version 144 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' cashapp-licensee/gradle.properties | tee -a "$GITHUB_OUTPUT" 145 | 146 | cashapp-molecule: 147 | runs-on: macos-latest 148 | if: ${{ !cancelled() }} 149 | outputs: 150 | version: ${{ steps.version.outputs.version }} 151 | needs: 152 | - workflow-up-to-date 153 | - cashapp-turbine 154 | - square-okhttp 155 | - square-retrofit 156 | steps: 157 | - name: "Checkout this repository" 158 | uses: actions/checkout@v6 159 | with: 160 | path: this 161 | - name: "Checkout cashapp/molecule repository" 162 | uses: actions/checkout@v6 163 | with: 164 | repository: cashapp/molecule 165 | submodules: true 166 | path: cashapp-molecule 167 | - uses: actions/setup-java@v5 168 | with: 169 | distribution: 'zulu' 170 | java-version-file: this/.github/workflows/.java-version 171 | - uses: gradle/actions/setup-gradle@v5 172 | - uses: actions/setup-python@v6 173 | with: 174 | python-version: '3.14' 175 | - name: "Patch external dependencies" 176 | run: | 177 | pip install -r this/.github/requirements.txt 178 | this/.github/helper.py patch-toml cashapp-molecule libraries.android-plugin key agp 179 | this/.github/helper.py patch-toml cashapp-molecule libraries.androidx-compose-runtime key androidx-compose-runtime 180 | this/.github/helper.py patch-toml cashapp-molecule libraries.dokka-plugin key dokka 181 | this/.github/helper.py patch-toml cashapp-molecule versions.kotlin key kotlin 182 | this/.github/helper.py patch-toml cashapp-molecule libraries.maven-publish-plugin key mavenPublish 183 | - name: "Download internal dependency cashapp/turbine" 184 | uses: actions/download-artifact@v7 185 | if: ${{ needs.cashapp-turbine.outputs.version != '' }} 186 | with: 187 | name: cashapp-turbine-snapshot 188 | path: ~/.m2/repository 189 | - name: "Patch internal dependency cashapp/turbine" 190 | run: this/.github/helper.py patch-toml cashapp-molecule libraries.turbine value ${{ needs.cashapp-turbine.outputs.version }} 191 | if: ${{ needs.cashapp-turbine.outputs.version != '' }} 192 | - name: "Download internal dependency square/okhttp" 193 | uses: actions/download-artifact@v7 194 | if: ${{ needs.square-okhttp.outputs.version != '' }} 195 | with: 196 | name: square-okhttp-snapshot 197 | path: ~/.m2/repository 198 | - name: "Patch internal dependency square/okhttp" 199 | run: this/.github/helper.py patch-toml cashapp-molecule versions.squareup-okhttp value ${{ needs.square-okhttp.outputs.version }} 200 | if: ${{ needs.square-okhttp.outputs.version != '' }} 201 | - name: "Download internal dependency square/retrofit" 202 | uses: actions/download-artifact@v7 203 | if: ${{ needs.square-retrofit.outputs.version != '' }} 204 | with: 205 | name: square-retrofit-snapshot 206 | path: ~/.m2/repository 207 | - name: "Patch internal dependency square/retrofit" 208 | run: this/.github/helper.py patch-toml cashapp-molecule versions.squareup-retrofit value ${{ needs.square-retrofit.outputs.version }} 209 | if: ${{ needs.square-retrofit.outputs.version != '' }} 210 | - name: "Patch maven local" 211 | working-directory: cashapp-molecule 212 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 213 | - name: "Show local change diff" 214 | working-directory: cashapp-molecule 215 | run: git diff --patch 216 | - name: "Publish cashapp-molecule" 217 | working-directory: cashapp-molecule 218 | run: ../this/gradlew --continue kotlinUpgradeYarnLock publishToMavenLocal 219 | - uses: actions/upload-artifact@v6 220 | with: 221 | name: cashapp-molecule-snapshot 222 | path: ~/.m2/repository 223 | if-no-files-found: error 224 | - id: version 225 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' cashapp-molecule/gradle.properties | tee -a "$GITHUB_OUTPUT" 226 | - name: "Check cashapp-molecule" 227 | working-directory: cashapp-molecule 228 | run: ../this/gradlew --continue build 229 | 230 | cashapp-paraphrase: 231 | runs-on: macos-latest 232 | if: ${{ !cancelled() }} 233 | outputs: 234 | version: ${{ steps.version.outputs.version }} 235 | needs: 236 | - workflow-up-to-date 237 | - square-kotlinpoet 238 | steps: 239 | - name: "Checkout this repository" 240 | uses: actions/checkout@v6 241 | with: 242 | path: this 243 | - name: "Checkout cashapp/paraphrase repository" 244 | uses: actions/checkout@v6 245 | with: 246 | repository: cashapp/paraphrase 247 | submodules: true 248 | path: cashapp-paraphrase 249 | - uses: actions/setup-java@v5 250 | with: 251 | distribution: 'zulu' 252 | java-version-file: this/.github/workflows/.java-version 253 | - uses: gradle/actions/setup-gradle@v5 254 | - uses: actions/setup-python@v6 255 | with: 256 | python-version: '3.14' 257 | - name: "Patch external dependencies" 258 | run: | 259 | pip install -r this/.github/requirements.txt 260 | this/.github/helper.py patch-toml cashapp-paraphrase versions.agp key agp 261 | this/.github/helper.py patch-toml cashapp-paraphrase plugins.dokka key dokka 262 | this/.github/helper.py patch-toml cashapp-paraphrase versions.kotlin key kotlin 263 | this/.github/helper.py patch-toml cashapp-paraphrase plugins.mavenPublish key mavenPublish 264 | - name: "Download internal dependency square/kotlinpoet" 265 | uses: actions/download-artifact@v7 266 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 267 | with: 268 | name: square-kotlinpoet-snapshot 269 | path: ~/.m2/repository 270 | - name: "Patch internal dependency square/kotlinpoet" 271 | run: this/.github/helper.py patch-toml cashapp-paraphrase libraries.kotlinPoet value ${{ needs.square-kotlinpoet.outputs.version }} 272 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 273 | - name: "Patch maven local" 274 | working-directory: cashapp-paraphrase 275 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 276 | - name: "Show local change diff" 277 | working-directory: cashapp-paraphrase 278 | run: git diff --patch 279 | - name: "Publish cashapp-paraphrase" 280 | working-directory: cashapp-paraphrase 281 | run: ../this/gradlew --continue publishToMavenLocal 282 | - uses: actions/upload-artifact@v6 283 | with: 284 | name: cashapp-paraphrase-snapshot 285 | path: ~/.m2/repository 286 | if-no-files-found: error 287 | - id: version 288 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' cashapp-paraphrase/gradle.properties | tee -a "$GITHUB_OUTPUT" 289 | - name: "Check cashapp-paraphrase" 290 | working-directory: cashapp-paraphrase 291 | run: ../this/gradlew --continue build 292 | 293 | cashapp-turbine: 294 | runs-on: macos-latest 295 | if: ${{ !cancelled() }} 296 | outputs: 297 | version: ${{ steps.version.outputs.version }} 298 | needs: 299 | - workflow-up-to-date 300 | steps: 301 | - name: "Checkout this repository" 302 | uses: actions/checkout@v6 303 | with: 304 | path: this 305 | - name: "Checkout cashapp/turbine repository" 306 | uses: actions/checkout@v6 307 | with: 308 | repository: cashapp/turbine 309 | submodules: true 310 | path: cashapp-turbine 311 | - uses: actions/setup-java@v5 312 | with: 313 | distribution: 'zulu' 314 | java-version-file: this/.github/workflows/.java-version 315 | - uses: gradle/actions/setup-gradle@v5 316 | - uses: actions/setup-python@v6 317 | with: 318 | python-version: '3.14' 319 | - name: "Patch external dependencies" 320 | run: | 321 | pip install -r this/.github/requirements.txt 322 | this/.github/helper.py patch-toml cashapp-turbine plugins.dokka key dokka 323 | this/.github/helper.py patch-toml cashapp-turbine plugins.kotlin key kotlin 324 | this/.github/helper.py patch-toml cashapp-turbine plugins.publish key mavenPublish 325 | - name: "Patch maven local" 326 | working-directory: cashapp-turbine 327 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 328 | - name: "Show local change diff" 329 | working-directory: cashapp-turbine 330 | run: git diff --patch 331 | - name: "Publish cashapp-turbine" 332 | working-directory: cashapp-turbine 333 | run: ../this/gradlew --continue kotlinUpgradeYarnLock publishToMavenLocal 334 | - uses: actions/upload-artifact@v6 335 | with: 336 | name: cashapp-turbine-snapshot 337 | path: ~/.m2/repository 338 | if-no-files-found: error 339 | - id: version 340 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' cashapp-turbine/gradle.properties | tee -a "$GITHUB_OUTPUT" 341 | - name: "Check cashapp-turbine" 342 | working-directory: cashapp-turbine 343 | run: ../this/gradlew --continue build 344 | 345 | cashapp-zipline: 346 | runs-on: macos-latest 347 | if: ${{ !cancelled() }} 348 | outputs: 349 | version: ${{ steps.version.outputs.version }} 350 | needs: 351 | - workflow-up-to-date 352 | - cashapp-turbine 353 | - JakeWharton-test-distribution-gradle-plugin 354 | - square-okhttp 355 | - square-okio 356 | - sqldelight-sqldelight 357 | steps: 358 | - name: "Checkout this repository" 359 | uses: actions/checkout@v6 360 | with: 361 | path: this 362 | - name: "Checkout cashapp/zipline repository" 363 | uses: actions/checkout@v6 364 | with: 365 | repository: cashapp/zipline 366 | submodules: true 367 | path: cashapp-zipline 368 | - uses: actions/setup-java@v5 369 | with: 370 | distribution: 'zulu' 371 | java-version-file: this/.github/workflows/.java-version 372 | - uses: gradle/actions/setup-gradle@v5 373 | - uses: actions/setup-python@v6 374 | with: 375 | python-version: '3.14' 376 | - name: "Patch external dependencies" 377 | run: | 378 | pip install -r this/.github/requirements.txt 379 | this/.github/helper.py patch-toml cashapp-zipline libraries.android-gradle-plugin key agp 380 | this/.github/helper.py patch-toml cashapp-zipline libraries.dokka-gradle-plugin key dokka 381 | this/.github/helper.py patch-toml cashapp-zipline versions.kotlin key kotlin 382 | this/.github/helper.py patch-toml cashapp-zipline libraries.mavenPublish-gradle-plugin key mavenPublish 383 | - name: "Download internal dependency cashapp/turbine" 384 | uses: actions/download-artifact@v7 385 | if: ${{ needs.cashapp-turbine.outputs.version != '' }} 386 | with: 387 | name: cashapp-turbine-snapshot 388 | path: ~/.m2/repository 389 | - name: "Patch internal dependency cashapp/turbine" 390 | run: this/.github/helper.py patch-toml cashapp-zipline libraries.turbine value ${{ needs.cashapp-turbine.outputs.version }} 391 | if: ${{ needs.cashapp-turbine.outputs.version != '' }} 392 | - name: "Download internal dependency JakeWharton/test-distribution-gradle-plugin" 393 | uses: actions/download-artifact@v7 394 | if: ${{ needs.JakeWharton-test-distribution-gradle-plugin.outputs.version != '' }} 395 | with: 396 | name: JakeWharton-test-distribution-gradle-plugin-snapshot 397 | path: ~/.m2/repository 398 | - name: "Patch internal dependency JakeWharton/test-distribution-gradle-plugin" 399 | run: this/.github/helper.py patch-toml cashapp-zipline libraries.testDistributionGradlePlugin value ${{ needs.JakeWharton-test-distribution-gradle-plugin.outputs.version }} 400 | if: ${{ needs.JakeWharton-test-distribution-gradle-plugin.outputs.version != '' }} 401 | - name: "Download internal dependency square/okhttp" 402 | uses: actions/download-artifact@v7 403 | if: ${{ needs.square-okhttp.outputs.version != '' }} 404 | with: 405 | name: square-okhttp-snapshot 406 | path: ~/.m2/repository 407 | - name: "Patch internal dependency square/okhttp" 408 | run: this/.github/helper.py patch-toml cashapp-zipline versions.okHttp value ${{ needs.square-okhttp.outputs.version }} 409 | if: ${{ needs.square-okhttp.outputs.version != '' }} 410 | - name: "Download internal dependency square/okio" 411 | uses: actions/download-artifact@v7 412 | if: ${{ needs.square-okio.outputs.version != '' }} 413 | with: 414 | name: square-okio-snapshot 415 | path: ~/.m2/repository 416 | - name: "Patch internal dependency square/okio" 417 | run: this/.github/helper.py patch-toml cashapp-zipline versions.okio value ${{ needs.square-okio.outputs.version }} 418 | if: ${{ needs.square-okio.outputs.version != '' }} 419 | - name: "Download internal dependency sqldelight/sqldelight" 420 | uses: actions/download-artifact@v7 421 | if: ${{ needs.sqldelight-sqldelight.outputs.version != '' }} 422 | with: 423 | name: sqldelight-sqldelight-snapshot 424 | path: ~/.m2/repository 425 | - name: "Patch internal dependency sqldelight/sqldelight" 426 | run: this/.github/helper.py patch-toml cashapp-zipline versions.sqldelight value ${{ needs.sqldelight-sqldelight.outputs.version }} 427 | if: ${{ needs.sqldelight-sqldelight.outputs.version != '' }} 428 | - uses: mlugg/setup-zig@v2 429 | with: 430 | version: 0.14.0 431 | - run: zig build -p src/jvmMain/resources/jni 432 | working-directory: cashapp-zipline/zipline 433 | - name: "Patch maven local" 434 | working-directory: cashapp-zipline 435 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 436 | - name: "Show local change diff" 437 | working-directory: cashapp-zipline 438 | run: git diff --patch 439 | - name: "Publish cashapp-zipline" 440 | working-directory: cashapp-zipline 441 | run: ../this/gradlew --continue kotlinUpgradeYarnLock publishToMavenLocal 442 | - uses: actions/upload-artifact@v6 443 | with: 444 | name: cashapp-zipline-snapshot 445 | path: ~/.m2/repository 446 | if-no-files-found: error 447 | - id: version 448 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' cashapp-zipline/gradle.properties | tee -a "$GITHUB_OUTPUT" 449 | - name: "Check cashapp-zipline" 450 | working-directory: cashapp-zipline 451 | run: ../this/gradlew --continue build -x spotlessCheck -x :zipline-gradle-plugin:validatePlugins 452 | 453 | JakeWharton-cite: 454 | runs-on: macos-latest 455 | if: ${{ !cancelled() }} 456 | outputs: 457 | version: ${{ steps.version.outputs.version }} 458 | needs: 459 | - workflow-up-to-date 460 | steps: 461 | - name: "Checkout this repository" 462 | uses: actions/checkout@v6 463 | with: 464 | path: this 465 | - name: "Checkout JakeWharton/cite repository" 466 | uses: actions/checkout@v6 467 | with: 468 | repository: JakeWharton/cite 469 | submodules: true 470 | path: JakeWharton-cite 471 | - uses: actions/setup-java@v5 472 | with: 473 | distribution: 'zulu' 474 | java-version-file: this/.github/workflows/.java-version 475 | - uses: gradle/actions/setup-gradle@v5 476 | - uses: actions/setup-python@v6 477 | with: 478 | python-version: '3.14' 479 | - name: "Patch external dependencies" 480 | run: | 481 | pip install -r this/.github/requirements.txt 482 | this/.github/helper.py patch-toml JakeWharton-cite libraries.android-gradlePlugin key agp 483 | this/.github/helper.py patch-toml JakeWharton-cite libraries.dokkaPlugin key dokka 484 | this/.github/helper.py patch-toml JakeWharton-cite versions.kotlin key kotlin 485 | this/.github/helper.py patch-toml JakeWharton-cite libraries.gradleMavenPublishPlugin key mavenPublish 486 | - name: "Patch maven local" 487 | working-directory: JakeWharton-cite 488 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 489 | - name: "Show local change diff" 490 | working-directory: JakeWharton-cite 491 | run: git diff --patch 492 | - name: "Publish JakeWharton-cite" 493 | working-directory: JakeWharton-cite 494 | run: ../this/gradlew --continue kotlinUpgradeYarnLock publishToMavenLocal 495 | - uses: actions/upload-artifact@v6 496 | with: 497 | name: JakeWharton-cite-snapshot 498 | path: ~/.m2/repository 499 | if-no-files-found: error 500 | - id: version 501 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-cite/gradle.properties | tee -a "$GITHUB_OUTPUT" 502 | - name: "Check JakeWharton-cite" 503 | working-directory: JakeWharton-cite 504 | run: ../this/gradlew --continue build 505 | 506 | JakeWharton-confundus: 507 | runs-on: macos-latest 508 | if: ${{ !cancelled() }} 509 | outputs: 510 | version: ${{ steps.version.outputs.version }} 511 | needs: 512 | - workflow-up-to-date 513 | steps: 514 | - name: "Checkout this repository" 515 | uses: actions/checkout@v6 516 | with: 517 | path: this 518 | - name: "Checkout JakeWharton/confundus repository" 519 | uses: actions/checkout@v6 520 | with: 521 | repository: JakeWharton/confundus 522 | submodules: true 523 | path: JakeWharton-confundus 524 | - uses: actions/setup-java@v5 525 | with: 526 | distribution: 'zulu' 527 | java-version-file: this/.github/workflows/.java-version 528 | - uses: gradle/actions/setup-gradle@v5 529 | - uses: actions/setup-python@v6 530 | with: 531 | python-version: '3.14' 532 | - name: "Patch external dependencies" 533 | run: | 534 | pip install -r this/.github/requirements.txt 535 | this/.github/helper.py patch-toml JakeWharton-confundus libraries.dokkaPlugin key dokka 536 | this/.github/helper.py patch-toml JakeWharton-confundus versions.kotlin key kotlin 537 | this/.github/helper.py patch-toml JakeWharton-confundus libraries.gradleMavenPublishPlugin key mavenPublish 538 | - name: "Patch maven local" 539 | working-directory: JakeWharton-confundus 540 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 541 | - name: "Show local change diff" 542 | working-directory: JakeWharton-confundus 543 | run: git diff --patch 544 | - name: "Publish JakeWharton-confundus" 545 | working-directory: JakeWharton-confundus 546 | run: ../this/gradlew --continue kotlinUpgradeYarnLock publishToMavenLocal 547 | - uses: actions/upload-artifact@v6 548 | with: 549 | name: JakeWharton-confundus-snapshot 550 | path: ~/.m2/repository 551 | if-no-files-found: error 552 | - id: version 553 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-confundus/gradle.properties | tee -a "$GITHUB_OUTPUT" 554 | - name: "Check JakeWharton-confundus" 555 | working-directory: JakeWharton-confundus 556 | run: ../this/gradlew --continue build 557 | 558 | JakeWharton-crossword: 559 | runs-on: macos-latest 560 | if: ${{ !cancelled() }} 561 | outputs: 562 | version: ${{ steps.version.outputs.version }} 563 | needs: 564 | - workflow-up-to-date 565 | steps: 566 | - name: "Checkout this repository" 567 | uses: actions/checkout@v6 568 | with: 569 | path: this 570 | - name: "Checkout JakeWharton/crossword repository" 571 | uses: actions/checkout@v6 572 | with: 573 | repository: JakeWharton/crossword 574 | submodules: true 575 | path: JakeWharton-crossword 576 | - uses: actions/setup-java@v5 577 | with: 578 | distribution: 'zulu' 579 | java-version-file: this/.github/workflows/.java-version 580 | - uses: gradle/actions/setup-gradle@v5 581 | - uses: actions/setup-python@v6 582 | with: 583 | python-version: '3.14' 584 | - name: "Patch external dependencies" 585 | run: | 586 | pip install -r this/.github/requirements.txt 587 | this/.github/helper.py patch-toml JakeWharton-crossword libraries.dokkaPlugin key dokka 588 | this/.github/helper.py patch-toml JakeWharton-crossword libraries.kotlinPlugin key kotlin 589 | this/.github/helper.py patch-toml JakeWharton-crossword libraries.publishPlugin key mavenPublish 590 | - name: "Patch maven local" 591 | working-directory: JakeWharton-crossword 592 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 593 | - name: "Show local change diff" 594 | working-directory: JakeWharton-crossword 595 | run: git diff --patch 596 | - name: "Publish JakeWharton-crossword" 597 | working-directory: JakeWharton-crossword 598 | run: ../this/gradlew --continue kotlinUpgradeYarnLock publishToMavenLocal 599 | - uses: actions/upload-artifact@v6 600 | with: 601 | name: JakeWharton-crossword-snapshot 602 | path: ~/.m2/repository 603 | if-no-files-found: error 604 | - id: version 605 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-crossword/gradle.properties | tee -a "$GITHUB_OUTPUT" 606 | - name: "Check JakeWharton-crossword" 607 | working-directory: JakeWharton-crossword 608 | run: ../this/gradlew --continue build 609 | 610 | JakeWharton-dalvik-dx: 611 | runs-on: macos-latest 612 | if: ${{ !cancelled() }} 613 | outputs: 614 | version: ${{ steps.version.outputs.version }} 615 | needs: 616 | - workflow-up-to-date 617 | steps: 618 | - name: "Checkout this repository" 619 | uses: actions/checkout@v6 620 | with: 621 | path: this 622 | - name: "Checkout JakeWharton/dalvik-dx repository" 623 | uses: actions/checkout@v6 624 | with: 625 | repository: JakeWharton/dalvik-dx 626 | submodules: true 627 | path: JakeWharton-dalvik-dx 628 | - uses: actions/setup-java@v5 629 | with: 630 | distribution: 'zulu' 631 | java-version-file: this/.github/workflows/.java-version 632 | - uses: gradle/actions/setup-gradle@v5 633 | - uses: actions/setup-python@v6 634 | with: 635 | python-version: '3.14' 636 | - name: "Patch external dependencies" 637 | run: | 638 | pip install -r this/.github/requirements.txt 639 | this/.github/helper.py patch-toml JakeWharton-dalvik-dx libraries.mavenPublishPlugin key mavenPublish 640 | - name: "Patch maven local" 641 | working-directory: JakeWharton-dalvik-dx 642 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 643 | - name: "Show local change diff" 644 | working-directory: JakeWharton-dalvik-dx 645 | run: git diff --patch 646 | - name: "Publish JakeWharton-dalvik-dx" 647 | working-directory: JakeWharton-dalvik-dx 648 | run: ../this/gradlew --continue publishToMavenLocal 649 | - uses: actions/upload-artifact@v6 650 | with: 651 | name: JakeWharton-dalvik-dx-snapshot 652 | path: ~/.m2/repository 653 | if-no-files-found: error 654 | - id: version 655 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-dalvik-dx/gradle.properties | tee -a "$GITHUB_OUTPUT" 656 | - name: "Check JakeWharton-dalvik-dx" 657 | working-directory: JakeWharton-dalvik-dx 658 | run: ../this/gradlew --continue build 659 | 660 | JakeWharton-dependency-tree-diff: 661 | runs-on: macos-latest 662 | if: ${{ !cancelled() }} 663 | needs: 664 | - workflow-up-to-date 665 | steps: 666 | - name: "Checkout this repository" 667 | uses: actions/checkout@v6 668 | with: 669 | path: this 670 | - name: "Checkout JakeWharton/dependency-tree-diff repository" 671 | uses: actions/checkout@v6 672 | with: 673 | repository: JakeWharton/dependency-tree-diff 674 | submodules: true 675 | path: JakeWharton-dependency-tree-diff 676 | - uses: actions/setup-java@v5 677 | with: 678 | distribution: 'zulu' 679 | java-version-file: this/.github/workflows/.java-version 680 | - uses: gradle/actions/setup-gradle@v5 681 | - uses: actions/setup-python@v6 682 | with: 683 | python-version: '3.14' 684 | - name: "Patch external dependencies" 685 | run: | 686 | pip install -r this/.github/requirements.txt 687 | this/.github/helper.py patch-toml JakeWharton-dependency-tree-diff libraries.kotlin-gradle-plugin key kotlin 688 | - name: "Patch maven local" 689 | working-directory: JakeWharton-dependency-tree-diff 690 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 691 | - name: "Show local change diff" 692 | working-directory: JakeWharton-dependency-tree-diff 693 | run: git diff --patch 694 | - name: "Check JakeWharton-dependency-tree-diff" 695 | working-directory: JakeWharton-dependency-tree-diff 696 | run: ../this/gradlew --continue build 697 | 698 | JakeWharton-dependency-watch: 699 | runs-on: macos-latest 700 | if: ${{ !cancelled() }} 701 | needs: 702 | - workflow-up-to-date 703 | - square-okhttp 704 | steps: 705 | - name: "Checkout this repository" 706 | uses: actions/checkout@v6 707 | with: 708 | path: this 709 | - name: "Checkout JakeWharton/dependency-watch repository" 710 | uses: actions/checkout@v6 711 | with: 712 | repository: JakeWharton/dependency-watch 713 | submodules: true 714 | path: JakeWharton-dependency-watch 715 | - uses: actions/setup-java@v5 716 | with: 717 | distribution: 'zulu' 718 | java-version-file: this/.github/workflows/.java-version 719 | - uses: gradle/actions/setup-gradle@v5 720 | - uses: actions/setup-python@v6 721 | with: 722 | python-version: '3.14' 723 | - name: "Patch external dependencies" 724 | run: | 725 | pip install -r this/.github/requirements.txt 726 | this/.github/helper.py patch-toml JakeWharton-dependency-watch versions.kotlin key kotlin 727 | - name: "Download internal dependency square/okhttp" 728 | uses: actions/download-artifact@v7 729 | if: ${{ needs.square-okhttp.outputs.version != '' }} 730 | with: 731 | name: square-okhttp-snapshot 732 | path: ~/.m2/repository 733 | - name: "Patch internal dependency square/okhttp" 734 | run: this/.github/helper.py patch-toml JakeWharton-dependency-watch versions.okhttp value ${{ needs.square-okhttp.outputs.version }} 735 | if: ${{ needs.square-okhttp.outputs.version != '' }} 736 | - name: "Patch maven local" 737 | working-directory: JakeWharton-dependency-watch 738 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 739 | - name: "Show local change diff" 740 | working-directory: JakeWharton-dependency-watch 741 | run: git diff --patch 742 | - name: "Check JakeWharton-dependency-watch" 743 | working-directory: JakeWharton-dependency-watch 744 | run: ../this/gradlew --continue build 745 | 746 | JakeWharton-diffuse: 747 | runs-on: macos-latest 748 | if: ${{ !cancelled() }} 749 | outputs: 750 | version: ${{ steps.version.outputs.version }} 751 | needs: 752 | - workflow-up-to-date 753 | - JakeWharton-dalvik-dx 754 | - square-okio 755 | steps: 756 | - name: "Checkout this repository" 757 | uses: actions/checkout@v6 758 | with: 759 | path: this 760 | - name: "Checkout JakeWharton/diffuse repository" 761 | uses: actions/checkout@v6 762 | with: 763 | repository: JakeWharton/diffuse 764 | submodules: true 765 | path: JakeWharton-diffuse 766 | - uses: actions/setup-java@v5 767 | with: 768 | distribution: 'zulu' 769 | java-version-file: this/.github/workflows/.java-version 770 | - uses: gradle/actions/setup-gradle@v5 771 | - uses: actions/setup-python@v6 772 | with: 773 | python-version: '3.14' 774 | - name: "Patch external dependencies" 775 | run: | 776 | pip install -r this/.github/requirements.txt 777 | this/.github/helper.py patch-toml JakeWharton-diffuse libraries.apkSigner key agp 778 | this/.github/helper.py patch-toml JakeWharton-diffuse libraries.dokkaPlugin key dokka 779 | this/.github/helper.py patch-toml JakeWharton-diffuse libraries.kotlinPlugin key kotlin 780 | this/.github/helper.py patch-toml JakeWharton-diffuse libraries.mavenPublishPlugin key mavenPublish 781 | - name: "Download internal dependency JakeWharton/dalvik-dx" 782 | uses: actions/download-artifact@v7 783 | if: ${{ needs.JakeWharton-dalvik-dx.outputs.version != '' }} 784 | with: 785 | name: JakeWharton-dalvik-dx-snapshot 786 | path: ~/.m2/repository 787 | - name: "Patch internal dependency JakeWharton/dalvik-dx" 788 | run: this/.github/helper.py patch-toml JakeWharton-diffuse libraries.dalvikDx value ${{ needs.JakeWharton-dalvik-dx.outputs.version }} 789 | if: ${{ needs.JakeWharton-dalvik-dx.outputs.version != '' }} 790 | - name: "Download internal dependency square/okio" 791 | uses: actions/download-artifact@v7 792 | if: ${{ needs.square-okio.outputs.version != '' }} 793 | with: 794 | name: square-okio-snapshot 795 | path: ~/.m2/repository 796 | - name: "Patch internal dependency square/okio" 797 | run: this/.github/helper.py patch-toml JakeWharton-diffuse libraries.okio value ${{ needs.square-okio.outputs.version }} 798 | if: ${{ needs.square-okio.outputs.version != '' }} 799 | - name: "Patch maven local" 800 | working-directory: JakeWharton-diffuse 801 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 802 | - name: "Show local change diff" 803 | working-directory: JakeWharton-diffuse 804 | run: git diff --patch 805 | - name: "Publish JakeWharton-diffuse" 806 | working-directory: JakeWharton-diffuse 807 | run: ../this/gradlew --continue publishToMavenLocal 808 | - uses: actions/upload-artifact@v6 809 | with: 810 | name: JakeWharton-diffuse-snapshot 811 | path: ~/.m2/repository 812 | if-no-files-found: error 813 | - id: version 814 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-diffuse/gradle.properties | tee -a "$GITHUB_OUTPUT" 815 | - name: "Check JakeWharton-diffuse" 816 | working-directory: JakeWharton-diffuse 817 | run: ../this/gradlew --continue build 818 | 819 | JakeWharton-finalization-hook: 820 | runs-on: macos-latest 821 | if: ${{ !cancelled() }} 822 | outputs: 823 | version: ${{ steps.version.outputs.version }} 824 | needs: 825 | - workflow-up-to-date 826 | steps: 827 | - name: "Checkout this repository" 828 | uses: actions/checkout@v6 829 | with: 830 | path: this 831 | - name: "Checkout JakeWharton/finalization-hook repository" 832 | uses: actions/checkout@v6 833 | with: 834 | repository: JakeWharton/finalization-hook 835 | submodules: true 836 | path: JakeWharton-finalization-hook 837 | - uses: actions/setup-java@v5 838 | with: 839 | distribution: 'zulu' 840 | java-version-file: this/.github/workflows/.java-version 841 | - uses: gradle/actions/setup-gradle@v5 842 | - uses: actions/setup-python@v6 843 | with: 844 | python-version: '3.14' 845 | - name: "Patch external dependencies" 846 | run: | 847 | pip install -r this/.github/requirements.txt 848 | this/.github/helper.py patch-toml JakeWharton-finalization-hook libraries.dokka-gradlePlugin key dokka 849 | this/.github/helper.py patch-toml JakeWharton-finalization-hook versions.kotlin key kotlin 850 | this/.github/helper.py patch-toml JakeWharton-finalization-hook libraries.maven-publish-gradlePlugin key mavenPublish 851 | - name: "Patch maven local" 852 | working-directory: JakeWharton-finalization-hook 853 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 854 | - name: "Show local change diff" 855 | working-directory: JakeWharton-finalization-hook 856 | run: git diff --patch 857 | - name: "Publish JakeWharton-finalization-hook" 858 | working-directory: JakeWharton-finalization-hook 859 | run: ../this/gradlew --continue publishToMavenLocal 860 | - uses: actions/upload-artifact@v6 861 | with: 862 | name: JakeWharton-finalization-hook-snapshot 863 | path: ~/.m2/repository 864 | if-no-files-found: error 865 | - id: version 866 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-finalization-hook/gradle.properties | tee -a "$GITHUB_OUTPUT" 867 | - name: "Check JakeWharton-finalization-hook" 868 | working-directory: JakeWharton-finalization-hook 869 | run: ../this/gradlew --continue build 870 | 871 | JakeWharton-flip-tables: 872 | runs-on: macos-latest 873 | if: ${{ !cancelled() }} 874 | needs: 875 | - workflow-up-to-date 876 | steps: 877 | - name: "Checkout this repository" 878 | uses: actions/checkout@v6 879 | with: 880 | path: this 881 | - name: "Checkout JakeWharton/flip-tables repository" 882 | uses: actions/checkout@v6 883 | with: 884 | repository: JakeWharton/flip-tables 885 | submodules: true 886 | path: JakeWharton-flip-tables 887 | - uses: actions/setup-java@v5 888 | with: 889 | distribution: 'zulu' 890 | java-version-file: this/.github/workflows/.java-version 891 | - uses: gradle/actions/setup-gradle@v5 892 | - uses: actions/setup-python@v6 893 | with: 894 | python-version: '3.14' 895 | - name: "Patch external dependencies" 896 | run: | 897 | pip install -r this/.github/requirements.txt 898 | this/.github/helper.py patch-toml JakeWharton-flip-tables libraries.mavenPublishPlugin key mavenPublish 899 | - name: "Patch maven local" 900 | working-directory: JakeWharton-flip-tables 901 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 902 | - name: "Show local change diff" 903 | working-directory: JakeWharton-flip-tables 904 | run: git diff --patch 905 | - name: "Check JakeWharton-flip-tables" 906 | working-directory: JakeWharton-flip-tables 907 | run: ../this/gradlew --continue build 908 | 909 | JakeWharton-gitout: 910 | runs-on: macos-latest 911 | if: ${{ !cancelled() }} 912 | needs: 913 | - workflow-up-to-date 914 | - square-okhttp 915 | steps: 916 | - name: "Checkout this repository" 917 | uses: actions/checkout@v6 918 | with: 919 | path: this 920 | - name: "Checkout JakeWharton/gitout repository" 921 | uses: actions/checkout@v6 922 | with: 923 | repository: JakeWharton/gitout 924 | submodules: true 925 | path: JakeWharton-gitout 926 | - uses: actions/setup-java@v5 927 | with: 928 | distribution: 'zulu' 929 | java-version-file: this/.github/workflows/.java-version 930 | - uses: gradle/actions/setup-gradle@v5 931 | - uses: actions/setup-python@v6 932 | with: 933 | python-version: '3.14' 934 | - name: "Patch external dependencies" 935 | run: | 936 | pip install -r this/.github/requirements.txt 937 | this/.github/helper.py patch-toml JakeWharton-gitout versions.kotlin key kotlin 938 | - name: "Download internal dependency square/okhttp" 939 | uses: actions/download-artifact@v7 940 | if: ${{ needs.square-okhttp.outputs.version != '' }} 941 | with: 942 | name: square-okhttp-snapshot 943 | path: ~/.m2/repository 944 | - name: "Patch internal dependency square/okhttp" 945 | run: this/.github/helper.py patch-toml JakeWharton-gitout versions.okhttp value ${{ needs.square-okhttp.outputs.version }} 946 | if: ${{ needs.square-okhttp.outputs.version != '' }} 947 | - name: "Patch maven local" 948 | working-directory: JakeWharton-gitout 949 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 950 | - name: "Show local change diff" 951 | working-directory: JakeWharton-gitout 952 | run: git diff --patch 953 | - name: "Check JakeWharton-gitout" 954 | working-directory: JakeWharton-gitout 955 | run: ../this/gradlew --continue build 956 | 957 | JakeWharton-hardcover-data-sync: 958 | runs-on: macos-latest 959 | if: ${{ !cancelled() }} 960 | needs: 961 | - workflow-up-to-date 962 | - square-okhttp 963 | steps: 964 | - name: "Checkout this repository" 965 | uses: actions/checkout@v6 966 | with: 967 | path: this 968 | - name: "Checkout JakeWharton/hardcover-data-sync repository" 969 | uses: actions/checkout@v6 970 | with: 971 | repository: JakeWharton/hardcover-data-sync 972 | submodules: true 973 | path: JakeWharton-hardcover-data-sync 974 | - uses: actions/setup-java@v5 975 | with: 976 | distribution: 'zulu' 977 | java-version-file: this/.github/workflows/.java-version 978 | - uses: gradle/actions/setup-gradle@v5 979 | - uses: actions/setup-python@v6 980 | with: 981 | python-version: '3.14' 982 | - name: "Patch external dependencies" 983 | run: | 984 | pip install -r this/.github/requirements.txt 985 | this/.github/helper.py patch-toml JakeWharton-hardcover-data-sync libraries.kotlin-gradlePlugin key kotlin 986 | - name: "Download internal dependency square/okhttp" 987 | uses: actions/download-artifact@v7 988 | if: ${{ needs.square-okhttp.outputs.version != '' }} 989 | with: 990 | name: square-okhttp-snapshot 991 | path: ~/.m2/repository 992 | - name: "Patch internal dependency square/okhttp" 993 | run: this/.github/helper.py patch-toml JakeWharton-hardcover-data-sync versions.okhttp value ${{ needs.square-okhttp.outputs.version }} 994 | if: ${{ needs.square-okhttp.outputs.version != '' }} 995 | - name: "Patch maven local" 996 | working-directory: JakeWharton-hardcover-data-sync 997 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 998 | - name: "Show local change diff" 999 | working-directory: JakeWharton-hardcover-data-sync 1000 | run: git diff --patch 1001 | - name: "Check JakeWharton-hardcover-data-sync" 1002 | working-directory: JakeWharton-hardcover-data-sync 1003 | run: ../this/gradlew --continue build 1004 | 1005 | JakeWharton-jakewharton-com: 1006 | runs-on: macos-latest 1007 | if: ${{ !cancelled() }} 1008 | needs: 1009 | - workflow-up-to-date 1010 | - square-okhttp 1011 | steps: 1012 | - name: "Checkout this repository" 1013 | uses: actions/checkout@v6 1014 | with: 1015 | path: this 1016 | - name: "Checkout JakeWharton/jakewharton.com repository" 1017 | uses: actions/checkout@v6 1018 | with: 1019 | repository: JakeWharton/jakewharton.com 1020 | submodules: true 1021 | path: JakeWharton-jakewharton-com 1022 | - uses: actions/setup-java@v5 1023 | with: 1024 | distribution: 'zulu' 1025 | java-version-file: this/.github/workflows/.java-version 1026 | - uses: gradle/actions/setup-gradle@v5 1027 | - uses: actions/setup-python@v6 1028 | with: 1029 | python-version: '3.14' 1030 | - name: "Patch external dependencies" 1031 | run: | 1032 | pip install -r this/.github/requirements.txt 1033 | this/.github/helper.py patch-toml JakeWharton-jakewharton-com libraries.kotlinGradlePlugin key kotlin 1034 | - name: "Download internal dependency square/okhttp" 1035 | uses: actions/download-artifact@v7 1036 | if: ${{ needs.square-okhttp.outputs.version != '' }} 1037 | with: 1038 | name: square-okhttp-snapshot 1039 | path: ~/.m2/repository 1040 | - name: "Patch internal dependency square/okhttp" 1041 | run: this/.github/helper.py patch-toml JakeWharton-jakewharton-com libraries.okhttp value ${{ needs.square-okhttp.outputs.version }} 1042 | if: ${{ needs.square-okhttp.outputs.version != '' }} 1043 | - name: "Patch maven local" 1044 | working-directory: JakeWharton-jakewharton-com 1045 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1046 | - name: "Show local change diff" 1047 | working-directory: JakeWharton-jakewharton-com 1048 | run: git diff --patch 1049 | - name: "Check JakeWharton-jakewharton-com" 1050 | working-directory: JakeWharton-jakewharton-com 1051 | run: ../this/gradlew --continue build 1052 | 1053 | JakeWharton-kmp-missing-targets: 1054 | runs-on: macos-latest 1055 | if: ${{ !cancelled() }} 1056 | outputs: 1057 | version: ${{ steps.version.outputs.version }} 1058 | needs: 1059 | - workflow-up-to-date 1060 | steps: 1061 | - name: "Checkout this repository" 1062 | uses: actions/checkout@v6 1063 | with: 1064 | path: this 1065 | - name: "Checkout JakeWharton/kmp-missing-targets repository" 1066 | uses: actions/checkout@v6 1067 | with: 1068 | repository: JakeWharton/kmp-missing-targets 1069 | submodules: true 1070 | path: JakeWharton-kmp-missing-targets 1071 | - uses: actions/setup-java@v5 1072 | with: 1073 | distribution: 'zulu' 1074 | java-version-file: this/.github/workflows/.java-version 1075 | - uses: gradle/actions/setup-gradle@v5 1076 | - uses: actions/setup-python@v6 1077 | with: 1078 | python-version: '3.14' 1079 | - name: "Patch external dependencies" 1080 | run: | 1081 | pip install -r this/.github/requirements.txt 1082 | this/.github/helper.py patch-toml JakeWharton-kmp-missing-targets libraries.android-gradlePlugin key agp 1083 | this/.github/helper.py patch-toml JakeWharton-kmp-missing-targets libraries.dokkaPlugin key dokka 1084 | this/.github/helper.py patch-toml JakeWharton-kmp-missing-targets versions.kotlin key kotlin 1085 | this/.github/helper.py patch-toml JakeWharton-kmp-missing-targets libraries.gradleMavenPublishPlugin key mavenPublish 1086 | - name: "Patch maven local" 1087 | working-directory: JakeWharton-kmp-missing-targets 1088 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1089 | - name: "Show local change diff" 1090 | working-directory: JakeWharton-kmp-missing-targets 1091 | run: git diff --patch 1092 | - name: "Publish JakeWharton-kmp-missing-targets" 1093 | working-directory: JakeWharton-kmp-missing-targets 1094 | run: ../this/gradlew --continue publishToMavenLocal 1095 | - uses: actions/upload-artifact@v6 1096 | with: 1097 | name: JakeWharton-kmp-missing-targets-snapshot 1098 | path: ~/.m2/repository 1099 | if-no-files-found: error 1100 | - id: version 1101 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-kmp-missing-targets/gradle.properties | tee -a "$GITHUB_OUTPUT" 1102 | 1103 | JakeWharton-mosaic: 1104 | runs-on: macos-latest 1105 | if: ${{ !cancelled() }} 1106 | outputs: 1107 | version: ${{ steps.version.outputs.version }} 1108 | needs: 1109 | - workflow-up-to-date 1110 | - cashapp-burst 1111 | - JakeWharton-cite 1112 | - JakeWharton-finalization-hook 1113 | - JakeWharton-test-distribution-gradle-plugin 1114 | steps: 1115 | - name: "Checkout this repository" 1116 | uses: actions/checkout@v6 1117 | with: 1118 | path: this 1119 | - name: "Checkout JakeWharton/mosaic repository" 1120 | uses: actions/checkout@v6 1121 | with: 1122 | repository: JakeWharton/mosaic 1123 | submodules: true 1124 | path: JakeWharton-mosaic 1125 | - uses: actions/setup-java@v5 1126 | with: 1127 | distribution: 'zulu' 1128 | java-version-file: this/.github/workflows/.java-version 1129 | - uses: gradle/actions/setup-gradle@v5 1130 | - uses: actions/setup-python@v6 1131 | with: 1132 | python-version: '3.14' 1133 | - name: "Patch external dependencies" 1134 | run: | 1135 | pip install -r this/.github/requirements.txt 1136 | this/.github/helper.py patch-toml JakeWharton-mosaic libraries.dokkaGradlePlugin key dokka 1137 | this/.github/helper.py patch-toml JakeWharton-mosaic libraries.androidx-compose-runtime key androidx-compose-runtime 1138 | this/.github/helper.py patch-toml JakeWharton-mosaic versions.kotlin key kotlin 1139 | this/.github/helper.py patch-toml JakeWharton-mosaic libraries.mavenPublishGradlePlugin key mavenPublish 1140 | - name: "Download internal dependency cashapp/burst" 1141 | uses: actions/download-artifact@v7 1142 | if: ${{ needs.cashapp-burst.outputs.version != '' }} 1143 | with: 1144 | name: cashapp-burst-snapshot 1145 | path: ~/.m2/repository 1146 | - name: "Patch internal dependency cashapp/burst" 1147 | run: this/.github/helper.py patch-toml JakeWharton-mosaic libraries.burstGradlePlugin value ${{ needs.cashapp-burst.outputs.version }} 1148 | if: ${{ needs.cashapp-burst.outputs.version != '' }} 1149 | - name: "Download internal dependency JakeWharton/cite" 1150 | uses: actions/download-artifact@v7 1151 | if: ${{ needs.JakeWharton-cite.outputs.version != '' }} 1152 | with: 1153 | name: JakeWharton-cite-snapshot 1154 | path: ~/.m2/repository 1155 | - name: "Patch internal dependency JakeWharton/cite" 1156 | run: this/.github/helper.py patch-toml JakeWharton-mosaic libraries.citeGradlePlugin value ${{ needs.JakeWharton-cite.outputs.version }} 1157 | if: ${{ needs.JakeWharton-cite.outputs.version != '' }} 1158 | - name: "Download internal dependency JakeWharton/finalization-hook" 1159 | uses: actions/download-artifact@v7 1160 | if: ${{ needs.JakeWharton-finalization-hook.outputs.version != '' }} 1161 | with: 1162 | name: JakeWharton-finalization-hook-snapshot 1163 | path: ~/.m2/repository 1164 | - name: "Patch internal dependency JakeWharton/finalization-hook" 1165 | run: this/.github/helper.py patch-toml JakeWharton-mosaic libraries.finalizationHook value ${{ needs.JakeWharton-finalization-hook.outputs.version }} 1166 | if: ${{ needs.JakeWharton-finalization-hook.outputs.version != '' }} 1167 | - name: "Download internal dependency JakeWharton/test-distribution-gradle-plugin" 1168 | uses: actions/download-artifact@v7 1169 | if: ${{ needs.JakeWharton-test-distribution-gradle-plugin.outputs.version != '' }} 1170 | with: 1171 | name: JakeWharton-test-distribution-gradle-plugin-snapshot 1172 | path: ~/.m2/repository 1173 | - name: "Patch internal dependency JakeWharton/test-distribution-gradle-plugin" 1174 | run: this/.github/helper.py patch-toml JakeWharton-mosaic libraries.testDistributionGradlePlugin value ${{ needs.JakeWharton-test-distribution-gradle-plugin.outputs.version }} 1175 | if: ${{ needs.JakeWharton-test-distribution-gradle-plugin.outputs.version != '' }} 1176 | - name: "Patch maven local" 1177 | working-directory: JakeWharton-mosaic 1178 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1179 | - name: "Show local change diff" 1180 | working-directory: JakeWharton-mosaic 1181 | run: git diff --patch 1182 | - name: "Publish JakeWharton-mosaic" 1183 | working-directory: JakeWharton-mosaic 1184 | run: ../this/gradlew --continue publishToMavenLocal 1185 | - uses: actions/upload-artifact@v6 1186 | with: 1187 | name: JakeWharton-mosaic-snapshot 1188 | path: ~/.m2/repository 1189 | if-no-files-found: error 1190 | - id: version 1191 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-mosaic/gradle.properties | tee -a "$GITHUB_OUTPUT" 1192 | - name: "Check JakeWharton-mosaic" 1193 | working-directory: JakeWharton-mosaic 1194 | run: ../this/gradlew --continue build 1195 | 1196 | JakeWharton-picnic: 1197 | runs-on: macos-latest 1198 | if: ${{ !cancelled() }} 1199 | outputs: 1200 | version: ${{ steps.version.outputs.version }} 1201 | needs: 1202 | - workflow-up-to-date 1203 | - JakeWharton-crossword 1204 | steps: 1205 | - name: "Checkout this repository" 1206 | uses: actions/checkout@v6 1207 | with: 1208 | path: this 1209 | - name: "Checkout JakeWharton/picnic repository" 1210 | uses: actions/checkout@v6 1211 | with: 1212 | repository: JakeWharton/picnic 1213 | submodules: true 1214 | path: JakeWharton-picnic 1215 | - uses: actions/setup-java@v5 1216 | with: 1217 | distribution: 'zulu' 1218 | java-version-file: this/.github/workflows/.java-version 1219 | - uses: gradle/actions/setup-gradle@v5 1220 | - uses: actions/setup-python@v6 1221 | with: 1222 | python-version: '3.14' 1223 | - name: "Patch external dependencies" 1224 | run: | 1225 | pip install -r this/.github/requirements.txt 1226 | this/.github/helper.py patch-toml JakeWharton-picnic libraries.dokkaPlugin key dokka 1227 | this/.github/helper.py patch-toml JakeWharton-picnic libraries.kotlinPlugin key kotlin 1228 | this/.github/helper.py patch-toml JakeWharton-picnic libraries.publishPlugin key mavenPublish 1229 | - name: "Download internal dependency JakeWharton/crossword" 1230 | uses: actions/download-artifact@v7 1231 | if: ${{ needs.JakeWharton-crossword.outputs.version != '' }} 1232 | with: 1233 | name: JakeWharton-crossword-snapshot 1234 | path: ~/.m2/repository 1235 | - name: "Patch internal dependency JakeWharton/crossword" 1236 | run: this/.github/helper.py patch-toml JakeWharton-picnic libraries.crossword value ${{ needs.JakeWharton-crossword.outputs.version }} 1237 | if: ${{ needs.JakeWharton-crossword.outputs.version != '' }} 1238 | - name: "Patch maven local" 1239 | working-directory: JakeWharton-picnic 1240 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1241 | - name: "Show local change diff" 1242 | working-directory: JakeWharton-picnic 1243 | run: git diff --patch 1244 | - name: "Publish JakeWharton-picnic" 1245 | working-directory: JakeWharton-picnic 1246 | run: ../this/gradlew --continue kotlinUpgradeYarnLock publishToMavenLocal 1247 | - uses: actions/upload-artifact@v6 1248 | with: 1249 | name: JakeWharton-picnic-snapshot 1250 | path: ~/.m2/repository 1251 | if-no-files-found: error 1252 | - id: version 1253 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-picnic/gradle.properties | tee -a "$GITHUB_OUTPUT" 1254 | - name: "Check JakeWharton-picnic" 1255 | working-directory: JakeWharton-picnic 1256 | run: ../this/gradlew --continue build 1257 | 1258 | JakeWharton-plex-auto-trash: 1259 | runs-on: macos-latest 1260 | if: ${{ !cancelled() }} 1261 | needs: 1262 | - workflow-up-to-date 1263 | - square-okhttp 1264 | steps: 1265 | - name: "Checkout this repository" 1266 | uses: actions/checkout@v6 1267 | with: 1268 | path: this 1269 | - name: "Checkout JakeWharton/plex-auto-trash repository" 1270 | uses: actions/checkout@v6 1271 | with: 1272 | repository: JakeWharton/plex-auto-trash 1273 | submodules: true 1274 | path: JakeWharton-plex-auto-trash 1275 | - uses: actions/setup-java@v5 1276 | with: 1277 | distribution: 'zulu' 1278 | java-version-file: this/.github/workflows/.java-version 1279 | - uses: gradle/actions/setup-gradle@v5 1280 | - uses: actions/setup-python@v6 1281 | with: 1282 | python-version: '3.14' 1283 | - name: "Patch external dependencies" 1284 | run: | 1285 | pip install -r this/.github/requirements.txt 1286 | this/.github/helper.py patch-toml JakeWharton-plex-auto-trash versions.kotlin key kotlin 1287 | - name: "Download internal dependency square/okhttp" 1288 | uses: actions/download-artifact@v7 1289 | if: ${{ needs.square-okhttp.outputs.version != '' }} 1290 | with: 1291 | name: square-okhttp-snapshot 1292 | path: ~/.m2/repository 1293 | - name: "Patch internal dependency square/okhttp" 1294 | run: this/.github/helper.py patch-toml JakeWharton-plex-auto-trash versions.okhttp value ${{ needs.square-okhttp.outputs.version }} 1295 | if: ${{ needs.square-okhttp.outputs.version != '' }} 1296 | - name: "Patch maven local" 1297 | working-directory: JakeWharton-plex-auto-trash 1298 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1299 | - name: "Show local change diff" 1300 | working-directory: JakeWharton-plex-auto-trash 1301 | run: git diff --patch 1302 | - name: "Check JakeWharton-plex-auto-trash" 1303 | working-directory: JakeWharton-plex-auto-trash 1304 | run: ../this/gradlew --continue build 1305 | 1306 | JakeWharton-ProcessPhoenix: 1307 | runs-on: macos-latest 1308 | if: ${{ !cancelled() }} 1309 | needs: 1310 | - workflow-up-to-date 1311 | steps: 1312 | - name: "Checkout this repository" 1313 | uses: actions/checkout@v6 1314 | with: 1315 | path: this 1316 | - name: "Checkout JakeWharton/ProcessPhoenix repository" 1317 | uses: actions/checkout@v6 1318 | with: 1319 | repository: JakeWharton/ProcessPhoenix 1320 | submodules: true 1321 | path: JakeWharton-ProcessPhoenix 1322 | - uses: actions/setup-java@v5 1323 | with: 1324 | distribution: 'zulu' 1325 | java-version-file: this/.github/workflows/.java-version 1326 | - uses: gradle/actions/setup-gradle@v5 1327 | - uses: actions/setup-python@v6 1328 | with: 1329 | python-version: '3.14' 1330 | - name: "Patch external dependencies" 1331 | run: | 1332 | pip install -r this/.github/requirements.txt 1333 | this/.github/helper.py patch-toml JakeWharton-ProcessPhoenix libraries.androidPlugin key agp 1334 | this/.github/helper.py patch-toml JakeWharton-ProcessPhoenix libraries.gradleMavenPublishPlugin key mavenPublish 1335 | - name: "Patch maven local" 1336 | working-directory: JakeWharton-ProcessPhoenix 1337 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1338 | - name: "Show local change diff" 1339 | working-directory: JakeWharton-ProcessPhoenix 1340 | run: git diff --patch 1341 | - name: "Check JakeWharton-ProcessPhoenix" 1342 | working-directory: JakeWharton-ProcessPhoenix 1343 | run: ../this/gradlew --continue build 1344 | 1345 | JakeWharton-radarr-folder-fixer: 1346 | runs-on: macos-latest 1347 | if: ${{ !cancelled() }} 1348 | needs: 1349 | - workflow-up-to-date 1350 | - square-okhttp 1351 | - square-retrofit 1352 | steps: 1353 | - name: "Checkout this repository" 1354 | uses: actions/checkout@v6 1355 | with: 1356 | path: this 1357 | - name: "Checkout JakeWharton/radarr-folder-fixer repository" 1358 | uses: actions/checkout@v6 1359 | with: 1360 | repository: JakeWharton/radarr-folder-fixer 1361 | submodules: true 1362 | path: JakeWharton-radarr-folder-fixer 1363 | - uses: actions/setup-java@v5 1364 | with: 1365 | distribution: 'zulu' 1366 | java-version-file: this/.github/workflows/.java-version 1367 | - uses: gradle/actions/setup-gradle@v5 1368 | - uses: actions/setup-python@v6 1369 | with: 1370 | python-version: '3.14' 1371 | - name: "Patch external dependencies" 1372 | run: | 1373 | pip install -r this/.github/requirements.txt 1374 | this/.github/helper.py patch-toml JakeWharton-radarr-folder-fixer versions.kotlin key kotlin 1375 | - name: "Download internal dependency square/okhttp" 1376 | uses: actions/download-artifact@v7 1377 | if: ${{ needs.square-okhttp.outputs.version != '' }} 1378 | with: 1379 | name: square-okhttp-snapshot 1380 | path: ~/.m2/repository 1381 | - name: "Patch internal dependency square/okhttp" 1382 | run: this/.github/helper.py patch-toml JakeWharton-radarr-folder-fixer versions.okhttp value ${{ needs.square-okhttp.outputs.version }} 1383 | if: ${{ needs.square-okhttp.outputs.version != '' }} 1384 | - name: "Download internal dependency square/retrofit" 1385 | uses: actions/download-artifact@v7 1386 | if: ${{ needs.square-retrofit.outputs.version != '' }} 1387 | with: 1388 | name: square-retrofit-snapshot 1389 | path: ~/.m2/repository 1390 | - name: "Patch internal dependency square/retrofit" 1391 | run: this/.github/helper.py patch-toml JakeWharton-radarr-folder-fixer versions.retrofit value ${{ needs.square-retrofit.outputs.version }} 1392 | if: ${{ needs.square-retrofit.outputs.version != '' }} 1393 | - name: "Patch maven local" 1394 | working-directory: JakeWharton-radarr-folder-fixer 1395 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1396 | - name: "Show local change diff" 1397 | working-directory: JakeWharton-radarr-folder-fixer 1398 | run: git diff --patch 1399 | - name: "Check JakeWharton-radarr-folder-fixer" 1400 | working-directory: JakeWharton-radarr-folder-fixer 1401 | run: ../this/gradlew --continue build 1402 | 1403 | JakeWharton-RxRelay: 1404 | runs-on: macos-latest 1405 | if: ${{ !cancelled() }} 1406 | needs: 1407 | - workflow-up-to-date 1408 | steps: 1409 | - name: "Checkout this repository" 1410 | uses: actions/checkout@v6 1411 | with: 1412 | path: this 1413 | - name: "Checkout JakeWharton/RxRelay repository" 1414 | uses: actions/checkout@v6 1415 | with: 1416 | repository: JakeWharton/RxRelay 1417 | submodules: true 1418 | path: JakeWharton-RxRelay 1419 | - uses: actions/setup-java@v5 1420 | with: 1421 | distribution: 'zulu' 1422 | java-version-file: this/.github/workflows/.java-version 1423 | - uses: gradle/actions/setup-gradle@v5 1424 | - uses: actions/setup-python@v6 1425 | with: 1426 | python-version: '3.14' 1427 | - name: "Patch external dependencies" 1428 | run: | 1429 | pip install -r this/.github/requirements.txt 1430 | this/.github/helper.py patch-toml JakeWharton-RxRelay libraries.mavenPublishPlugin key mavenPublish 1431 | - name: "Patch maven local" 1432 | working-directory: JakeWharton-RxRelay 1433 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1434 | - name: "Show local change diff" 1435 | working-directory: JakeWharton-RxRelay 1436 | run: git diff --patch 1437 | - name: "Check JakeWharton-RxRelay" 1438 | working-directory: JakeWharton-RxRelay 1439 | run: ../this/gradlew --continue build 1440 | 1441 | JakeWharton-RxReplayingShare: 1442 | runs-on: macos-latest 1443 | if: ${{ !cancelled() }} 1444 | needs: 1445 | - workflow-up-to-date 1446 | steps: 1447 | - name: "Checkout this repository" 1448 | uses: actions/checkout@v6 1449 | with: 1450 | path: this 1451 | - name: "Checkout JakeWharton/RxReplayingShare repository" 1452 | uses: actions/checkout@v6 1453 | with: 1454 | repository: JakeWharton/RxReplayingShare 1455 | submodules: true 1456 | path: JakeWharton-RxReplayingShare 1457 | - uses: actions/setup-java@v5 1458 | with: 1459 | distribution: 'zulu' 1460 | java-version-file: this/.github/workflows/.java-version 1461 | - uses: gradle/actions/setup-gradle@v5 1462 | - uses: actions/setup-python@v6 1463 | with: 1464 | python-version: '3.14' 1465 | - name: "Patch external dependencies" 1466 | run: | 1467 | pip install -r this/.github/requirements.txt 1468 | this/.github/helper.py patch-toml JakeWharton-RxReplayingShare libraries.kotlinPlugin key kotlin 1469 | this/.github/helper.py patch-toml JakeWharton-RxReplayingShare libraries.mavenPublishPlugin key mavenPublish 1470 | - name: "Patch maven local" 1471 | working-directory: JakeWharton-RxReplayingShare 1472 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1473 | - name: "Show local change diff" 1474 | working-directory: JakeWharton-RxReplayingShare 1475 | run: git diff --patch 1476 | - name: "Check JakeWharton-RxReplayingShare" 1477 | working-directory: JakeWharton-RxReplayingShare 1478 | run: ../this/gradlew --continue build 1479 | 1480 | JakeWharton-RxWindowIfChanged: 1481 | runs-on: macos-latest 1482 | if: ${{ !cancelled() }} 1483 | needs: 1484 | - workflow-up-to-date 1485 | steps: 1486 | - name: "Checkout this repository" 1487 | uses: actions/checkout@v6 1488 | with: 1489 | path: this 1490 | - name: "Checkout JakeWharton/RxWindowIfChanged repository" 1491 | uses: actions/checkout@v6 1492 | with: 1493 | repository: JakeWharton/RxWindowIfChanged 1494 | submodules: true 1495 | path: JakeWharton-RxWindowIfChanged 1496 | - uses: actions/setup-java@v5 1497 | with: 1498 | distribution: 'zulu' 1499 | java-version-file: this/.github/workflows/.java-version 1500 | - uses: gradle/actions/setup-gradle@v5 1501 | - uses: actions/setup-python@v6 1502 | with: 1503 | python-version: '3.14' 1504 | - name: "Patch external dependencies" 1505 | run: | 1506 | pip install -r this/.github/requirements.txt 1507 | this/.github/helper.py patch-toml JakeWharton-RxWindowIfChanged libraries.kotlinPlugin key kotlin 1508 | this/.github/helper.py patch-toml JakeWharton-RxWindowIfChanged libraries.mavenPublishPlugin key mavenPublish 1509 | - name: "Patch maven local" 1510 | working-directory: JakeWharton-RxWindowIfChanged 1511 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1512 | - name: "Show local change diff" 1513 | working-directory: JakeWharton-RxWindowIfChanged 1514 | run: git diff --patch 1515 | - name: "Check JakeWharton-RxWindowIfChanged" 1516 | working-directory: JakeWharton-RxWindowIfChanged 1517 | run: ../this/gradlew --continue build 1518 | 1519 | JakeWharton-shimo: 1520 | runs-on: macos-latest 1521 | if: ${{ !cancelled() }} 1522 | needs: 1523 | - workflow-up-to-date 1524 | - square-moshi 1525 | steps: 1526 | - name: "Checkout this repository" 1527 | uses: actions/checkout@v6 1528 | with: 1529 | path: this 1530 | - name: "Checkout JakeWharton/shimo repository" 1531 | uses: actions/checkout@v6 1532 | with: 1533 | repository: JakeWharton/shimo 1534 | submodules: true 1535 | path: JakeWharton-shimo 1536 | - uses: actions/setup-java@v5 1537 | with: 1538 | distribution: 'zulu' 1539 | java-version-file: this/.github/workflows/.java-version 1540 | - uses: gradle/actions/setup-gradle@v5 1541 | - uses: actions/setup-python@v6 1542 | with: 1543 | python-version: '3.14' 1544 | - name: "Patch external dependencies" 1545 | run: | 1546 | pip install -r this/.github/requirements.txt 1547 | this/.github/helper.py patch-toml JakeWharton-shimo libraries.publishPlugin key mavenPublish 1548 | - name: "Download internal dependency square/moshi" 1549 | uses: actions/download-artifact@v7 1550 | if: ${{ needs.square-moshi.outputs.version != '' }} 1551 | with: 1552 | name: square-moshi-snapshot 1553 | path: ~/.m2/repository 1554 | - name: "Patch internal dependency square/moshi" 1555 | run: this/.github/helper.py patch-toml JakeWharton-shimo libraries.moshi value ${{ needs.square-moshi.outputs.version }} 1556 | if: ${{ needs.square-moshi.outputs.version != '' }} 1557 | - name: "Patch maven local" 1558 | working-directory: JakeWharton-shimo 1559 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1560 | - name: "Show local change diff" 1561 | working-directory: JakeWharton-shimo 1562 | run: git diff --patch 1563 | - name: "Check JakeWharton-shimo" 1564 | working-directory: JakeWharton-shimo 1565 | run: ../this/gradlew --continue build 1566 | 1567 | JakeWharton-singular-solution: 1568 | runs-on: macos-latest 1569 | if: ${{ !cancelled() }} 1570 | needs: 1571 | - workflow-up-to-date 1572 | steps: 1573 | - name: "Checkout this repository" 1574 | uses: actions/checkout@v6 1575 | with: 1576 | path: this 1577 | - name: "Checkout JakeWharton/singular-solution repository" 1578 | uses: actions/checkout@v6 1579 | with: 1580 | repository: JakeWharton/singular-solution 1581 | submodules: true 1582 | path: JakeWharton-singular-solution 1583 | - uses: actions/setup-java@v5 1584 | with: 1585 | distribution: 'zulu' 1586 | java-version-file: this/.github/workflows/.java-version 1587 | - uses: gradle/actions/setup-gradle@v5 1588 | - uses: actions/setup-python@v6 1589 | with: 1590 | python-version: '3.14' 1591 | - name: "Patch external dependencies" 1592 | run: | 1593 | pip install -r this/.github/requirements.txt 1594 | this/.github/helper.py patch-toml JakeWharton-singular-solution libraries.kotlin-gradlePlugin key kotlin 1595 | - name: "Patch maven local" 1596 | working-directory: JakeWharton-singular-solution 1597 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1598 | - name: "Show local change diff" 1599 | working-directory: JakeWharton-singular-solution 1600 | run: git diff --patch 1601 | - name: "Check JakeWharton-singular-solution" 1602 | working-directory: JakeWharton-singular-solution 1603 | run: ../this/gradlew --continue build 1604 | 1605 | JakeWharton-test-distribution-gradle-plugin: 1606 | runs-on: macos-latest 1607 | if: ${{ !cancelled() }} 1608 | outputs: 1609 | version: ${{ steps.version.outputs.version }} 1610 | needs: 1611 | - workflow-up-to-date 1612 | - cashapp-burst 1613 | steps: 1614 | - name: "Checkout this repository" 1615 | uses: actions/checkout@v6 1616 | with: 1617 | path: this 1618 | - name: "Checkout JakeWharton/test-distribution-gradle-plugin repository" 1619 | uses: actions/checkout@v6 1620 | with: 1621 | repository: JakeWharton/test-distribution-gradle-plugin 1622 | submodules: true 1623 | path: JakeWharton-test-distribution-gradle-plugin 1624 | - uses: actions/setup-java@v5 1625 | with: 1626 | distribution: 'zulu' 1627 | java-version-file: this/.github/workflows/.java-version 1628 | - uses: gradle/actions/setup-gradle@v5 1629 | - uses: actions/setup-python@v6 1630 | with: 1631 | python-version: '3.14' 1632 | - name: "Patch external dependencies" 1633 | run: | 1634 | pip install -r this/.github/requirements.txt 1635 | this/.github/helper.py patch-toml JakeWharton-test-distribution-gradle-plugin libraries.android-gradlePlugin key agp 1636 | this/.github/helper.py patch-toml JakeWharton-test-distribution-gradle-plugin libraries.dokkaPlugin key dokka 1637 | this/.github/helper.py patch-toml JakeWharton-test-distribution-gradle-plugin versions.kotlin key kotlin 1638 | this/.github/helper.py patch-toml JakeWharton-test-distribution-gradle-plugin libraries.gradleMavenPublishPlugin key mavenPublish 1639 | - name: "Download internal dependency cashapp/burst" 1640 | uses: actions/download-artifact@v7 1641 | if: ${{ needs.cashapp-burst.outputs.version != '' }} 1642 | with: 1643 | name: cashapp-burst-snapshot 1644 | path: ~/.m2/repository 1645 | - name: "Patch internal dependency cashapp/burst" 1646 | run: this/.github/helper.py patch-toml JakeWharton-test-distribution-gradle-plugin libraries.burst-gradlePlugin value ${{ needs.cashapp-burst.outputs.version }} 1647 | if: ${{ needs.cashapp-burst.outputs.version != '' }} 1648 | - name: "Patch maven local" 1649 | working-directory: JakeWharton-test-distribution-gradle-plugin 1650 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1651 | - name: "Show local change diff" 1652 | working-directory: JakeWharton-test-distribution-gradle-plugin 1653 | run: git diff --patch 1654 | - name: "Publish JakeWharton-test-distribution-gradle-plugin" 1655 | working-directory: JakeWharton-test-distribution-gradle-plugin 1656 | run: ../this/gradlew --continue publishToMavenLocal 1657 | - uses: actions/upload-artifact@v6 1658 | with: 1659 | name: JakeWharton-test-distribution-gradle-plugin-snapshot 1660 | path: ~/.m2/repository 1661 | if-no-files-found: error 1662 | - id: version 1663 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-test-distribution-gradle-plugin/gradle.properties | tee -a "$GITHUB_OUTPUT" 1664 | - name: "Check JakeWharton-test-distribution-gradle-plugin" 1665 | working-directory: JakeWharton-test-distribution-gradle-plugin 1666 | run: ../this/gradlew --continue build 1667 | 1668 | JakeWharton-timber: 1669 | runs-on: macos-latest 1670 | if: ${{ !cancelled() }} 1671 | outputs: 1672 | version: ${{ steps.version.outputs.version }} 1673 | needs: 1674 | - workflow-up-to-date 1675 | steps: 1676 | - name: "Checkout this repository" 1677 | uses: actions/checkout@v6 1678 | with: 1679 | path: this 1680 | - name: "Checkout JakeWharton/timber repository" 1681 | uses: actions/checkout@v6 1682 | with: 1683 | repository: JakeWharton/timber 1684 | submodules: true 1685 | path: JakeWharton-timber 1686 | - uses: actions/setup-java@v5 1687 | with: 1688 | distribution: 'zulu' 1689 | java-version-file: this/.github/workflows/.java-version 1690 | - uses: gradle/actions/setup-gradle@v5 1691 | - uses: actions/setup-python@v6 1692 | with: 1693 | python-version: '3.14' 1694 | - name: "Patch external dependencies" 1695 | run: | 1696 | pip install -r this/.github/requirements.txt 1697 | this/.github/helper.py patch-toml JakeWharton-timber versions.agp key agp 1698 | this/.github/helper.py patch-toml JakeWharton-timber libraries.gradlePlugin-dokka key dokka 1699 | this/.github/helper.py patch-toml JakeWharton-timber versions.kotlin key kotlin 1700 | this/.github/helper.py patch-toml JakeWharton-timber libraries.gradlePlugin-mavenPublish key mavenPublish 1701 | - name: "Patch maven local" 1702 | working-directory: JakeWharton-timber 1703 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1704 | - name: "Show local change diff" 1705 | working-directory: JakeWharton-timber 1706 | run: git diff --patch 1707 | - name: "Publish JakeWharton-timber" 1708 | working-directory: JakeWharton-timber 1709 | run: ../this/gradlew --continue publishToMavenLocal 1710 | - uses: actions/upload-artifact@v6 1711 | with: 1712 | name: JakeWharton-timber-snapshot 1713 | path: ~/.m2/repository 1714 | if-no-files-found: error 1715 | - id: version 1716 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' JakeWharton-timber/gradle.properties | tee -a "$GITHUB_OUTPUT" 1717 | - name: "Check JakeWharton-timber" 1718 | working-directory: JakeWharton-timber 1719 | run: ../this/gradlew --continue build 1720 | 1721 | JakeWharton-video-swatch: 1722 | runs-on: macos-latest 1723 | if: ${{ !cancelled() }} 1724 | needs: 1725 | - workflow-up-to-date 1726 | - square-okio 1727 | steps: 1728 | - name: "Checkout this repository" 1729 | uses: actions/checkout@v6 1730 | with: 1731 | path: this 1732 | - name: "Checkout JakeWharton/video-swatch repository" 1733 | uses: actions/checkout@v6 1734 | with: 1735 | repository: JakeWharton/video-swatch 1736 | submodules: true 1737 | path: JakeWharton-video-swatch 1738 | - uses: actions/setup-java@v5 1739 | with: 1740 | distribution: 'zulu' 1741 | java-version-file: this/.github/workflows/.java-version 1742 | - uses: gradle/actions/setup-gradle@v5 1743 | - uses: actions/setup-python@v6 1744 | with: 1745 | python-version: '3.14' 1746 | - name: "Patch external dependencies" 1747 | run: | 1748 | pip install -r this/.github/requirements.txt 1749 | this/.github/helper.py patch-toml JakeWharton-video-swatch versions.kotlin key kotlin 1750 | - name: "Download internal dependency square/okio" 1751 | uses: actions/download-artifact@v7 1752 | if: ${{ needs.square-okio.outputs.version != '' }} 1753 | with: 1754 | name: square-okio-snapshot 1755 | path: ~/.m2/repository 1756 | - name: "Patch internal dependency square/okio" 1757 | run: this/.github/helper.py patch-toml JakeWharton-video-swatch libraries.okio value ${{ needs.square-okio.outputs.version }} 1758 | if: ${{ needs.square-okio.outputs.version != '' }} 1759 | - run: brew install ffmpeg 1760 | - name: "Patch maven local" 1761 | working-directory: JakeWharton-video-swatch 1762 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1763 | - name: "Show local change diff" 1764 | working-directory: JakeWharton-video-swatch 1765 | run: git diff --patch 1766 | - name: "Check JakeWharton-video-swatch" 1767 | working-directory: JakeWharton-video-swatch 1768 | run: ../this/gradlew --continue build 1769 | 1770 | sqldelight-Grammar-Kit-Composer: 1771 | runs-on: macos-latest 1772 | if: ${{ !cancelled() }} 1773 | outputs: 1774 | version: ${{ steps.version.outputs.version }} 1775 | needs: 1776 | - workflow-up-to-date 1777 | - square-kotlinpoet 1778 | steps: 1779 | - name: "Checkout this repository" 1780 | uses: actions/checkout@v6 1781 | with: 1782 | path: this 1783 | - name: "Checkout sqldelight/Grammar-Kit-Composer repository" 1784 | uses: actions/checkout@v6 1785 | with: 1786 | repository: sqldelight/Grammar-Kit-Composer 1787 | submodules: true 1788 | path: sqldelight-Grammar-Kit-Composer 1789 | - uses: actions/setup-java@v5 1790 | with: 1791 | distribution: 'zulu' 1792 | java-version-file: this/.github/workflows/.java-version 1793 | - uses: gradle/actions/setup-gradle@v5 1794 | - uses: actions/setup-python@v6 1795 | with: 1796 | python-version: '3.14' 1797 | - name: "Patch external dependencies" 1798 | run: | 1799 | pip install -r this/.github/requirements.txt 1800 | this/.github/helper.py patch-toml sqldelight-Grammar-Kit-Composer plugins.dokka key dokka 1801 | this/.github/helper.py patch-toml sqldelight-Grammar-Kit-Composer plugins.kotlinJvm key kotlin 1802 | this/.github/helper.py patch-toml sqldelight-Grammar-Kit-Composer plugins.publish key mavenPublish 1803 | - name: "Download internal dependency square/kotlinpoet" 1804 | uses: actions/download-artifact@v7 1805 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 1806 | with: 1807 | name: square-kotlinpoet-snapshot 1808 | path: ~/.m2/repository 1809 | - name: "Patch internal dependency square/kotlinpoet" 1810 | run: this/.github/helper.py patch-toml sqldelight-Grammar-Kit-Composer libraries.kotlinPoet value ${{ needs.square-kotlinpoet.outputs.version }} 1811 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 1812 | - name: "Patch maven local" 1813 | working-directory: sqldelight-Grammar-Kit-Composer 1814 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1815 | - name: "Show local change diff" 1816 | working-directory: sqldelight-Grammar-Kit-Composer 1817 | run: git diff --patch 1818 | - name: "Publish sqldelight-Grammar-Kit-Composer" 1819 | working-directory: sqldelight-Grammar-Kit-Composer 1820 | run: ../this/gradlew --continue publishToMavenLocal 1821 | - uses: actions/upload-artifact@v6 1822 | with: 1823 | name: sqldelight-Grammar-Kit-Composer-snapshot 1824 | path: ~/.m2/repository 1825 | if-no-files-found: error 1826 | - id: version 1827 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' sqldelight-Grammar-Kit-Composer/gradle.properties | tee -a "$GITHUB_OUTPUT" 1828 | - name: "Check sqldelight-Grammar-Kit-Composer" 1829 | working-directory: sqldelight-Grammar-Kit-Composer 1830 | run: ../this/gradlew --continue build 1831 | 1832 | sqldelight-sql-psi: 1833 | runs-on: macos-latest 1834 | if: ${{ !cancelled() }} 1835 | outputs: 1836 | version: ${{ steps.version.outputs.version }} 1837 | needs: 1838 | - workflow-up-to-date 1839 | - sqldelight-Grammar-Kit-Composer 1840 | steps: 1841 | - name: "Checkout this repository" 1842 | uses: actions/checkout@v6 1843 | with: 1844 | path: this 1845 | - name: "Checkout sqldelight/sql-psi repository" 1846 | uses: actions/checkout@v6 1847 | with: 1848 | repository: sqldelight/sql-psi 1849 | submodules: true 1850 | path: sqldelight-sql-psi 1851 | - uses: actions/setup-java@v5 1852 | with: 1853 | distribution: 'zulu' 1854 | java-version-file: this/.github/workflows/.java-version 1855 | - uses: gradle/actions/setup-gradle@v5 1856 | - uses: actions/setup-python@v6 1857 | with: 1858 | python-version: '3.14' 1859 | - name: "Patch external dependencies" 1860 | run: | 1861 | pip install -r this/.github/requirements.txt 1862 | this/.github/helper.py patch-toml sqldelight-sql-psi plugins.dokka key dokka 1863 | this/.github/helper.py patch-toml sqldelight-sql-psi versions.kotlin key kotlin 1864 | this/.github/helper.py patch-toml sqldelight-sql-psi plugins.mavenPublish key mavenPublish 1865 | - name: "Download internal dependency sqldelight/Grammar-Kit-Composer" 1866 | uses: actions/download-artifact@v7 1867 | if: ${{ needs.sqldelight-Grammar-Kit-Composer.outputs.version != '' }} 1868 | with: 1869 | name: sqldelight-Grammar-Kit-Composer-snapshot 1870 | path: ~/.m2/repository 1871 | - name: "Patch internal dependency sqldelight/Grammar-Kit-Composer" 1872 | run: this/.github/helper.py patch-toml sqldelight-sql-psi plugins.grammarKitComposer value ${{ needs.sqldelight-Grammar-Kit-Composer.outputs.version }} 1873 | if: ${{ needs.sqldelight-Grammar-Kit-Composer.outputs.version != '' }} 1874 | - name: "Patch maven local" 1875 | working-directory: sqldelight-sql-psi 1876 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1877 | - name: "Show local change diff" 1878 | working-directory: sqldelight-sql-psi 1879 | run: git diff --patch 1880 | - name: "Publish sqldelight-sql-psi" 1881 | working-directory: sqldelight-sql-psi 1882 | run: ../this/gradlew --continue publishToMavenLocal 1883 | - uses: actions/upload-artifact@v6 1884 | with: 1885 | name: sqldelight-sql-psi-snapshot 1886 | path: ~/.m2/repository 1887 | if-no-files-found: error 1888 | - id: version 1889 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' sqldelight-sql-psi/gradle.properties | tee -a "$GITHUB_OUTPUT" 1890 | - name: "Check sqldelight-sql-psi" 1891 | working-directory: sqldelight-sql-psi 1892 | run: ../this/gradlew --continue build 1893 | 1894 | sqldelight-sqldelight: 1895 | runs-on: macos-latest 1896 | if: ${{ !cancelled() }} 1897 | outputs: 1898 | version: ${{ steps.version.outputs.version }} 1899 | needs: 1900 | - workflow-up-to-date 1901 | - cashapp-turbine 1902 | - JakeWharton-picnic 1903 | - sqldelight-Grammar-Kit-Composer 1904 | - sqldelight-sql-psi 1905 | - square-kotlinpoet 1906 | steps: 1907 | - name: "Checkout this repository" 1908 | uses: actions/checkout@v6 1909 | with: 1910 | path: this 1911 | - name: "Checkout sqldelight/sqldelight repository" 1912 | uses: actions/checkout@v6 1913 | with: 1914 | repository: sqldelight/sqldelight 1915 | submodules: true 1916 | path: sqldelight-sqldelight 1917 | - uses: actions/setup-java@v5 1918 | with: 1919 | distribution: 'zulu' 1920 | java-version-file: this/.github/workflows/.java-version 1921 | - uses: gradle/actions/setup-gradle@v5 1922 | - uses: actions/setup-python@v6 1923 | with: 1924 | python-version: '3.14' 1925 | - name: "Patch external dependencies" 1926 | run: | 1927 | pip install -r this/.github/requirements.txt 1928 | this/.github/helper.py patch-toml sqldelight-sqldelight versions.agp key agp 1929 | this/.github/helper.py patch-toml sqldelight-sqldelight versions.dokka key dokka 1930 | this/.github/helper.py patch-toml sqldelight-sqldelight versions.kotlin key kotlin 1931 | this/.github/helper.py patch-toml sqldelight-sqldelight plugins.publish key mavenPublish 1932 | - name: "Download internal dependency cashapp/turbine" 1933 | uses: actions/download-artifact@v7 1934 | if: ${{ needs.cashapp-turbine.outputs.version != '' }} 1935 | with: 1936 | name: cashapp-turbine-snapshot 1937 | path: ~/.m2/repository 1938 | - name: "Patch internal dependency cashapp/turbine" 1939 | run: this/.github/helper.py patch-toml sqldelight-sqldelight libraries.turbine value ${{ needs.cashapp-turbine.outputs.version }} 1940 | if: ${{ needs.cashapp-turbine.outputs.version != '' }} 1941 | - name: "Download internal dependency JakeWharton/picnic" 1942 | uses: actions/download-artifact@v7 1943 | if: ${{ needs.JakeWharton-picnic.outputs.version != '' }} 1944 | with: 1945 | name: JakeWharton-picnic-snapshot 1946 | path: ~/.m2/repository 1947 | - name: "Patch internal dependency JakeWharton/picnic" 1948 | run: this/.github/helper.py patch-toml sqldelight-sqldelight libraries.picnic value ${{ needs.JakeWharton-picnic.outputs.version }} 1949 | if: ${{ needs.JakeWharton-picnic.outputs.version != '' }} 1950 | - name: "Download internal dependency sqldelight/Grammar-Kit-Composer" 1951 | uses: actions/download-artifact@v7 1952 | if: ${{ needs.sqldelight-Grammar-Kit-Composer.outputs.version != '' }} 1953 | with: 1954 | name: sqldelight-Grammar-Kit-Composer-snapshot 1955 | path: ~/.m2/repository 1956 | - name: "Patch internal dependency sqldelight/Grammar-Kit-Composer" 1957 | run: this/.github/helper.py patch-toml sqldelight-sqldelight plugins.grammarKitComposer value ${{ needs.sqldelight-Grammar-Kit-Composer.outputs.version }} 1958 | if: ${{ needs.sqldelight-Grammar-Kit-Composer.outputs.version != '' }} 1959 | - name: "Download internal dependency sqldelight/sql-psi" 1960 | uses: actions/download-artifact@v7 1961 | if: ${{ needs.sqldelight-sql-psi.outputs.version != '' }} 1962 | with: 1963 | name: sqldelight-sql-psi-snapshot 1964 | path: ~/.m2/repository 1965 | - name: "Patch internal dependency sqldelight/sql-psi" 1966 | run: this/.github/helper.py patch-toml sqldelight-sqldelight versions.sqlPsi value ${{ needs.sqldelight-sql-psi.outputs.version }} 1967 | if: ${{ needs.sqldelight-sql-psi.outputs.version != '' }} 1968 | - name: "Download internal dependency square/kotlinpoet" 1969 | uses: actions/download-artifact@v7 1970 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 1971 | with: 1972 | name: square-kotlinpoet-snapshot 1973 | path: ~/.m2/repository 1974 | - name: "Patch internal dependency square/kotlinpoet" 1975 | run: this/.github/helper.py patch-toml sqldelight-sqldelight libraries.kotlinPoet value ${{ needs.square-kotlinpoet.outputs.version }} 1976 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 1977 | - name: "Patch maven local" 1978 | working-directory: sqldelight-sqldelight 1979 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 1980 | - name: "Show local change diff" 1981 | working-directory: sqldelight-sqldelight 1982 | run: git diff --patch 1983 | - name: "Publish sqldelight-sqldelight" 1984 | working-directory: sqldelight-sqldelight 1985 | run: ../this/gradlew --continue kotlinUpgradeYarnLock kotlinWasmUpgradeYarnLock publishToMavenLocal 1986 | - uses: actions/upload-artifact@v6 1987 | with: 1988 | name: sqldelight-sqldelight-snapshot 1989 | path: ~/.m2/repository 1990 | if-no-files-found: error 1991 | - id: version 1992 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' sqldelight-sqldelight/gradle.properties | tee -a "$GITHUB_OUTPUT" 1993 | - name: "Check sqldelight-sqldelight" 1994 | working-directory: sqldelight-sqldelight 1995 | run: ../this/gradlew --continue build -x dockerTest 1996 | 1997 | square-kotlinpoet: 1998 | runs-on: macos-latest 1999 | if: ${{ !cancelled() }} 2000 | outputs: 2001 | version: ${{ steps.version.outputs.version }} 2002 | needs: 2003 | - workflow-up-to-date 2004 | steps: 2005 | - name: "Checkout this repository" 2006 | uses: actions/checkout@v6 2007 | with: 2008 | path: this 2009 | - name: "Checkout square/kotlinpoet repository" 2010 | uses: actions/checkout@v6 2011 | with: 2012 | repository: square/kotlinpoet 2013 | submodules: true 2014 | path: square-kotlinpoet 2015 | - uses: actions/setup-java@v5 2016 | with: 2017 | distribution: 'zulu' 2018 | java-version-file: this/.github/workflows/.java-version 2019 | - uses: gradle/actions/setup-gradle@v5 2020 | - uses: actions/setup-python@v6 2021 | with: 2022 | python-version: '3.14' 2023 | - name: "Patch external dependencies" 2024 | run: | 2025 | pip install -r this/.github/requirements.txt 2026 | this/.github/helper.py patch-toml square-kotlinpoet plugins.dokka key dokka 2027 | this/.github/helper.py patch-toml square-kotlinpoet versions.kotlin key kotlin 2028 | this/.github/helper.py patch-toml square-kotlinpoet versions.ksp key ksp 2029 | this/.github/helper.py patch-toml square-kotlinpoet plugins.mavenPublish key mavenPublish 2030 | - name: "Patch maven local" 2031 | working-directory: square-kotlinpoet 2032 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 2033 | - name: "Show local change diff" 2034 | working-directory: square-kotlinpoet 2035 | run: git diff --patch 2036 | - name: "Publish square-kotlinpoet" 2037 | working-directory: square-kotlinpoet 2038 | run: ../this/gradlew --continue kotlinUpgradeYarnLock publishToMavenLocal 2039 | - uses: actions/upload-artifact@v6 2040 | with: 2041 | name: square-kotlinpoet-snapshot 2042 | path: ~/.m2/repository 2043 | if-no-files-found: error 2044 | - id: version 2045 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' square-kotlinpoet/gradle.properties | tee -a "$GITHUB_OUTPUT" 2046 | - name: "Check square-kotlinpoet" 2047 | working-directory: square-kotlinpoet 2048 | run: ../this/gradlew --continue build 2049 | 2050 | square-moshi: 2051 | runs-on: macos-latest 2052 | if: ${{ !cancelled() }} 2053 | outputs: 2054 | version: ${{ steps.version.outputs.version }} 2055 | needs: 2056 | - workflow-up-to-date 2057 | - square-kotlinpoet 2058 | - square-okio 2059 | steps: 2060 | - name: "Checkout this repository" 2061 | uses: actions/checkout@v6 2062 | with: 2063 | path: this 2064 | - name: "Checkout square/moshi repository" 2065 | uses: actions/checkout@v6 2066 | with: 2067 | repository: square/moshi 2068 | submodules: true 2069 | path: square-moshi 2070 | - uses: actions/setup-java@v5 2071 | with: 2072 | distribution: 'zulu' 2073 | java-version-file: this/.github/workflows/.java-version 2074 | - uses: gradle/actions/setup-gradle@v5 2075 | - uses: actions/setup-python@v6 2076 | with: 2077 | python-version: '3.14' 2078 | - name: "Patch external dependencies" 2079 | run: | 2080 | pip install -r this/.github/requirements.txt 2081 | this/.github/helper.py patch-toml square-moshi plugins.dokka key dokka 2082 | this/.github/helper.py patch-toml square-moshi versions.kotlin key kotlin 2083 | this/.github/helper.py patch-toml square-moshi versions.ksp key ksp 2084 | this/.github/helper.py patch-toml square-moshi plugins.mavenPublish key mavenPublish 2085 | - name: "Download internal dependency square/kotlinpoet" 2086 | uses: actions/download-artifact@v7 2087 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 2088 | with: 2089 | name: square-kotlinpoet-snapshot 2090 | path: ~/.m2/repository 2091 | - name: "Patch internal dependency square/kotlinpoet" 2092 | run: this/.github/helper.py patch-toml square-moshi versions.kotlinpoet value ${{ needs.square-kotlinpoet.outputs.version }} 2093 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 2094 | - name: "Download internal dependency square/okio" 2095 | uses: actions/download-artifact@v7 2096 | if: ${{ needs.square-okio.outputs.version != '' }} 2097 | with: 2098 | name: square-okio-snapshot 2099 | path: ~/.m2/repository 2100 | - name: "Patch internal dependency square/okio" 2101 | run: this/.github/helper.py patch-toml square-moshi libraries.okio value ${{ needs.square-okio.outputs.version }} 2102 | if: ${{ needs.square-okio.outputs.version != '' }} 2103 | - name: "Patch maven local" 2104 | working-directory: square-moshi 2105 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 2106 | - name: "Show local change diff" 2107 | working-directory: square-moshi 2108 | run: git diff --patch 2109 | - name: "Publish square-moshi" 2110 | working-directory: square-moshi 2111 | run: ../this/gradlew --continue publishToMavenLocal 2112 | - uses: actions/upload-artifact@v6 2113 | with: 2114 | name: square-moshi-snapshot 2115 | path: ~/.m2/repository 2116 | if-no-files-found: error 2117 | - id: version 2118 | run: perl -ne '/version = "(.*)"/ and print "version=$1",$/' square-moshi/build.gradle.kts | tee -a "$GITHUB_OUTPUT" 2119 | - name: "Check square-moshi" 2120 | working-directory: square-moshi 2121 | run: ../this/gradlew --continue build 2122 | 2123 | square-okio: 2124 | runs-on: macos-latest 2125 | if: ${{ !cancelled() }} 2126 | outputs: 2127 | version: ${{ steps.version.outputs.version }} 2128 | needs: 2129 | - workflow-up-to-date 2130 | - cashapp-burst 2131 | steps: 2132 | - name: "Checkout this repository" 2133 | uses: actions/checkout@v6 2134 | with: 2135 | path: this 2136 | - name: "Checkout square/okio repository" 2137 | uses: actions/checkout@v6 2138 | with: 2139 | repository: square/okio 2140 | submodules: true 2141 | path: square-okio 2142 | - uses: actions/setup-java@v5 2143 | with: 2144 | distribution: 'zulu' 2145 | java-version-file: this/.github/workflows/.java-version 2146 | - uses: gradle/actions/setup-gradle@v5 2147 | - uses: actions/setup-python@v6 2148 | with: 2149 | python-version: '3.14' 2150 | - name: "Patch external dependencies" 2151 | run: | 2152 | pip install -r this/.github/requirements.txt 2153 | this/.github/helper.py patch-toml square-okio libraries.android-gradle-plugin key agp 2154 | this/.github/helper.py patch-toml square-okio libraries.dokka key dokka 2155 | this/.github/helper.py patch-toml square-okio versions.kotlin key kotlin 2156 | this/.github/helper.py patch-toml square-okio libraries.vanniktech-publish-plugin key mavenPublish 2157 | - name: "Download internal dependency cashapp/burst" 2158 | uses: actions/download-artifact@v7 2159 | if: ${{ needs.cashapp-burst.outputs.version != '' }} 2160 | with: 2161 | name: cashapp-burst-snapshot 2162 | path: ~/.m2/repository 2163 | - name: "Patch internal dependency cashapp/burst" 2164 | run: this/.github/helper.py patch-toml square-okio versions.burst value ${{ needs.cashapp-burst.outputs.version }} 2165 | if: ${{ needs.cashapp-burst.outputs.version != '' }} 2166 | - name: "Patch maven local" 2167 | working-directory: square-okio 2168 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 2169 | - name: "Show local change diff" 2170 | working-directory: square-okio 2171 | run: git diff --patch 2172 | - name: "Publish square-okio" 2173 | working-directory: square-okio 2174 | run: ../this/gradlew --continue kotlinUpgradeYarnLock publishToMavenLocal 2175 | - uses: actions/upload-artifact@v6 2176 | with: 2177 | name: square-okio-snapshot 2178 | path: ~/.m2/repository 2179 | if-no-files-found: error 2180 | - id: version 2181 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' square-okio/gradle.properties | tee -a "$GITHUB_OUTPUT" 2182 | - name: "Check square-okio" 2183 | working-directory: square-okio 2184 | run: ../this/gradlew --continue build 2185 | 2186 | square-okhttp: 2187 | runs-on: macos-latest 2188 | if: ${{ !cancelled() }} 2189 | outputs: 2190 | version: ${{ steps.version.outputs.version }} 2191 | needs: 2192 | - workflow-up-to-date 2193 | - square-okio 2194 | - square-kotlinpoet 2195 | steps: 2196 | - name: "Checkout this repository" 2197 | uses: actions/checkout@v6 2198 | with: 2199 | path: this 2200 | - name: "Checkout square/okhttp repository" 2201 | uses: actions/checkout@v6 2202 | with: 2203 | repository: square/okhttp 2204 | submodules: true 2205 | path: square-okhttp 2206 | - uses: actions/setup-java@v5 2207 | with: 2208 | distribution: 'zulu' 2209 | java-version-file: this/.github/workflows/.java-version 2210 | - uses: gradle/actions/setup-gradle@v5 2211 | - uses: actions/setup-python@v6 2212 | with: 2213 | python-version: '3.14' 2214 | - name: "Patch external dependencies" 2215 | run: | 2216 | pip install -r this/.github/requirements.txt 2217 | this/.github/helper.py patch-toml square-okhttp libraries.gradlePlugin-dokka key dokka 2218 | this/.github/helper.py patch-toml square-okhttp versions.org-jetbrains-kotlin key kotlin 2219 | this/.github/helper.py patch-toml square-okhttp versions.ksp key ksp 2220 | this/.github/helper.py patch-toml square-okhttp libraries.gradlePlugin-mavenPublish key mavenPublish 2221 | - name: "Download internal dependency square/okio" 2222 | uses: actions/download-artifact@v7 2223 | if: ${{ needs.square-okio.outputs.version != '' }} 2224 | with: 2225 | name: square-okio-snapshot 2226 | path: ~/.m2/repository 2227 | - name: "Patch internal dependency square/okio" 2228 | run: this/.github/helper.py patch-toml square-okhttp versions.com-squareup-okio value ${{ needs.square-okio.outputs.version }} 2229 | if: ${{ needs.square-okio.outputs.version != '' }} 2230 | - name: "Download internal dependency square/kotlinpoet" 2231 | uses: actions/download-artifact@v7 2232 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 2233 | with: 2234 | name: square-kotlinpoet-snapshot 2235 | path: ~/.m2/repository 2236 | - name: "Patch internal dependency square/kotlinpoet" 2237 | run: this/.github/helper.py patch-toml square-okhttp libraries.squareup-kotlinPoet value ${{ needs.square-kotlinpoet.outputs.version }} 2238 | if: ${{ needs.square-kotlinpoet.outputs.version != '' }} 2239 | - name: "Patch maven local" 2240 | working-directory: square-okhttp 2241 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 2242 | - name: "Show local change diff" 2243 | working-directory: square-okhttp 2244 | run: git diff --patch 2245 | - name: "Publish square-okhttp" 2246 | working-directory: square-okhttp 2247 | run: ../this/gradlew --continue publishToMavenLocal 2248 | - uses: actions/upload-artifact@v6 2249 | with: 2250 | name: square-okhttp-snapshot 2251 | path: ~/.m2/repository 2252 | if-no-files-found: error 2253 | - id: version 2254 | run: perl -ne '/version = (.*)/ and print "version=$1",$/' square-okhttp/build.gradle.kts | tee -a "$GITHUB_OUTPUT" 2255 | 2256 | square-retrofit: 2257 | runs-on: macos-latest 2258 | if: ${{ !cancelled() }} 2259 | outputs: 2260 | version: ${{ steps.version.outputs.version }} 2261 | needs: 2262 | - workflow-up-to-date 2263 | - square-okhttp 2264 | - square-moshi 2265 | steps: 2266 | - name: "Checkout this repository" 2267 | uses: actions/checkout@v6 2268 | with: 2269 | path: this 2270 | - name: "Checkout square/retrofit repository" 2271 | uses: actions/checkout@v6 2272 | with: 2273 | repository: square/retrofit 2274 | submodules: true 2275 | path: square-retrofit 2276 | - uses: actions/setup-java@v5 2277 | with: 2278 | distribution: 'zulu' 2279 | java-version-file: this/.github/workflows/.java-version 2280 | - uses: gradle/actions/setup-gradle@v5 2281 | - uses: actions/setup-python@v6 2282 | with: 2283 | python-version: '3.14' 2284 | - name: "Patch external dependencies" 2285 | run: | 2286 | pip install -r this/.github/requirements.txt 2287 | this/.github/helper.py patch-toml square-retrofit libraries.androidPlugin key agp 2288 | this/.github/helper.py patch-toml square-retrofit libraries.dokkaPlugin key dokka 2289 | this/.github/helper.py patch-toml square-retrofit versions.kotlin key kotlin 2290 | this/.github/helper.py patch-toml square-retrofit libraries.gradleMavenPublishPlugin key mavenPublish 2291 | - name: "Download internal dependency square/okhttp" 2292 | uses: actions/download-artifact@v7 2293 | if: ${{ needs.square-okhttp.outputs.version != '' }} 2294 | with: 2295 | name: square-okhttp-snapshot 2296 | path: ~/.m2/repository 2297 | - name: "Patch internal dependency square/okhttp" 2298 | run: this/.github/helper.py patch-toml square-retrofit versions.okhttp value ${{ needs.square-okhttp.outputs.version }} 2299 | if: ${{ needs.square-okhttp.outputs.version != '' }} 2300 | - name: "Download internal dependency square/moshi" 2301 | uses: actions/download-artifact@v7 2302 | if: ${{ needs.square-moshi.outputs.version != '' }} 2303 | with: 2304 | name: square-moshi-snapshot 2305 | path: ~/.m2/repository 2306 | - name: "Patch internal dependency square/moshi" 2307 | run: this/.github/helper.py patch-toml square-retrofit libraries.moshi value ${{ needs.square-moshi.outputs.version }} 2308 | if: ${{ needs.square-moshi.outputs.version != '' }} 2309 | - name: "Patch maven local" 2310 | working-directory: square-retrofit 2311 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 2312 | - name: "Show local change diff" 2313 | working-directory: square-retrofit 2314 | run: git diff --patch 2315 | - name: "Publish square-retrofit" 2316 | working-directory: square-retrofit 2317 | run: ../this/gradlew --continue publishToMavenLocal 2318 | - uses: actions/upload-artifact@v6 2319 | with: 2320 | name: square-retrofit-snapshot 2321 | path: ~/.m2/repository 2322 | if-no-files-found: error 2323 | - id: version 2324 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' square-retrofit/gradle.properties | tee -a "$GITHUB_OUTPUT" 2325 | - name: "Check square-retrofit" 2326 | working-directory: square-retrofit 2327 | run: ../this/gradlew --continue build 2328 | 2329 | square-zstd-kmp: 2330 | runs-on: macos-latest 2331 | if: ${{ !cancelled() }} 2332 | outputs: 2333 | version: ${{ steps.version.outputs.version }} 2334 | needs: 2335 | - workflow-up-to-date 2336 | - JakeWharton-test-distribution-gradle-plugin 2337 | - square-okio 2338 | steps: 2339 | - name: "Checkout this repository" 2340 | uses: actions/checkout@v6 2341 | with: 2342 | path: this 2343 | - name: "Checkout square/zstd-kmp repository" 2344 | uses: actions/checkout@v6 2345 | with: 2346 | repository: square/zstd-kmp 2347 | submodules: true 2348 | path: square-zstd-kmp 2349 | - uses: actions/setup-java@v5 2350 | with: 2351 | distribution: 'zulu' 2352 | java-version-file: this/.github/workflows/.java-version 2353 | - uses: gradle/actions/setup-gradle@v5 2354 | - uses: actions/setup-python@v6 2355 | with: 2356 | python-version: '3.14' 2357 | - name: "Patch external dependencies" 2358 | run: | 2359 | pip install -r this/.github/requirements.txt 2360 | this/.github/helper.py patch-toml square-zstd-kmp libraries.android-gradle-plugin key agp 2361 | this/.github/helper.py patch-toml square-zstd-kmp libraries.dokka-gradle-plugin key dokka 2362 | this/.github/helper.py patch-toml square-zstd-kmp versions.kotlin key kotlin 2363 | this/.github/helper.py patch-toml square-zstd-kmp libraries.mavenPublish-gradle-plugin key mavenPublish 2364 | - name: "Download internal dependency JakeWharton/test-distribution-gradle-plugin" 2365 | uses: actions/download-artifact@v7 2366 | if: ${{ needs.JakeWharton-test-distribution-gradle-plugin.outputs.version != '' }} 2367 | with: 2368 | name: JakeWharton-test-distribution-gradle-plugin-snapshot 2369 | path: ~/.m2/repository 2370 | - name: "Patch internal dependency JakeWharton/test-distribution-gradle-plugin" 2371 | run: this/.github/helper.py patch-toml square-zstd-kmp libraries.testDistributionGradlePlugin value ${{ needs.JakeWharton-test-distribution-gradle-plugin.outputs.version }} 2372 | if: ${{ needs.JakeWharton-test-distribution-gradle-plugin.outputs.version != '' }} 2373 | - name: "Download internal dependency square/okio" 2374 | uses: actions/download-artifact@v7 2375 | if: ${{ needs.square-okio.outputs.version != '' }} 2376 | with: 2377 | name: square-okio-snapshot 2378 | path: ~/.m2/repository 2379 | - name: "Patch internal dependency square/okio" 2380 | run: this/.github/helper.py patch-toml square-zstd-kmp versions.okio value ${{ needs.square-okio.outputs.version }} 2381 | if: ${{ needs.square-okio.outputs.version != '' }} 2382 | - uses: mlugg/setup-zig@v2 2383 | with: 2384 | version: 0.14.0 2385 | - run: zig build -p src/jvmMain/resources/jni 2386 | working-directory: square-zstd-kmp/zstd-kmp 2387 | - name: "Patch maven local" 2388 | working-directory: square-zstd-kmp 2389 | run: git grep -l 'mavenCentral()' '*.gradle*' | xargs sed -i "" -E 's/^([[:space:]]+)mavenCentral\(\)$/\1mavenLocal()\n\1mavenCentral()/g' 2390 | - name: "Show local change diff" 2391 | working-directory: square-zstd-kmp 2392 | run: git diff --patch 2393 | - name: "Publish square-zstd-kmp" 2394 | working-directory: square-zstd-kmp 2395 | run: ../this/gradlew --continue publishToMavenLocal 2396 | - uses: actions/upload-artifact@v6 2397 | with: 2398 | name: square-zstd-kmp-snapshot 2399 | path: ~/.m2/repository 2400 | if-no-files-found: error 2401 | - id: version 2402 | run: perl -ne '/VERSION_NAME=(.*)/ and print "version=$1",$/' square-zstd-kmp/gradle.properties | tee -a "$GITHUB_OUTPUT" 2403 | - name: "Check square-zstd-kmp" 2404 | working-directory: square-zstd-kmp 2405 | run: ../this/gradlew --continue build 2406 | 2407 | final-status: 2408 | if: ${{ !cancelled() }} 2409 | runs-on: ubuntu-latest 2410 | needs: 2411 | - workflow-up-to-date 2412 | - cashapp-burst 2413 | - cashapp-licensee 2414 | - cashapp-molecule 2415 | - cashapp-paraphrase 2416 | - cashapp-turbine 2417 | - cashapp-zipline 2418 | - JakeWharton-cite 2419 | - JakeWharton-confundus 2420 | - JakeWharton-crossword 2421 | - JakeWharton-dalvik-dx 2422 | - JakeWharton-dependency-tree-diff 2423 | - JakeWharton-dependency-watch 2424 | - JakeWharton-diffuse 2425 | - JakeWharton-finalization-hook 2426 | - JakeWharton-flip-tables 2427 | - JakeWharton-gitout 2428 | - JakeWharton-hardcover-data-sync 2429 | - JakeWharton-jakewharton-com 2430 | - JakeWharton-kmp-missing-targets 2431 | - JakeWharton-mosaic 2432 | - JakeWharton-picnic 2433 | - JakeWharton-plex-auto-trash 2434 | - JakeWharton-ProcessPhoenix 2435 | - JakeWharton-radarr-folder-fixer 2436 | - JakeWharton-RxRelay 2437 | - JakeWharton-RxReplayingShare 2438 | - JakeWharton-RxWindowIfChanged 2439 | - JakeWharton-shimo 2440 | - JakeWharton-singular-solution 2441 | - JakeWharton-test-distribution-gradle-plugin 2442 | - JakeWharton-timber 2443 | - JakeWharton-video-swatch 2444 | - sqldelight-Grammar-Kit-Composer 2445 | - sqldelight-sql-psi 2446 | - sqldelight-sqldelight 2447 | - square-kotlinpoet 2448 | - square-moshi 2449 | - square-okio 2450 | - square-okhttp 2451 | - square-retrofit 2452 | - square-zstd-kmp 2453 | steps: 2454 | - name: Check 2455 | run: | 2456 | results=$(tr -d '\n' <<< '${{ toJSON(needs.*.result) }}') 2457 | if ! grep -q -v -E '(failure|cancelled)' <<< "$results"; then 2458 | echo "One or more required jobs failed" 2459 | exit 1 2460 | fi 2461 | --------------------------------------------------------------------------------