committed by
tony chen
23 changed files with 874 additions and 1 deletions
@ -0,0 +1,16 @@ |
|||
#!/bin/bash |
|||
|
|||
set -euo pipefail |
|||
|
|||
security create-keychain -p "" build.keychain |
|||
security list-keychains -s build.keychain |
|||
security default-keychain -s build.keychain |
|||
security unlock-keychain -p "" build.keychain |
|||
security set-keychain-settings |
|||
echo $SIGNING_CERTIFICATE_P12_DATA | base64 --decode > signingCertificate.p12 |
|||
security import signingCertificate.p12 \ |
|||
-f pkcs12 \ |
|||
-k build.keychain \ |
|||
-P $SIGNING_CERTIFICATE_PASSWORD \ |
|||
-T /usr/bin/codesign |
|||
security set-key-partition-list -S apple-tool:,apple: -s -k "" build.keychain |
|||
@ -0,0 +1,6 @@ |
|||
#!/bin/bash |
|||
|
|||
set -euo pipefail |
|||
|
|||
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles |
|||
echo "$PROVISIONING_PROFILE_DATA" | base64 --decode > ~/Library/MobileDevice/Provisioning\ Profiles/profile.mobileprovision |
|||
@ -0,0 +1,100 @@ |
|||
# 工作流名称 |
|||
name: Assemble Android Debug |
|||
|
|||
# 触发工作流程的事件 |
|||
on: |
|||
push: |
|||
branches: [ master ] |
|||
tags: [ v* ] |
|||
pull_request: |
|||
branches: [ master ] |
|||
|
|||
workflow_dispatch: |
|||
|
|||
# 工作流环境变量 |
|||
env: |
|||
# 应用的application_id |
|||
APP_ID: com.tarodemo |
|||
# 应用名称 |
|||
APP_NAME: Taro Demo |
|||
# 打包类型 |
|||
BUILD_TYPE: debug |
|||
# 版本名称 |
|||
VERSION_NAME: 1.0.0 |
|||
# 版本号 |
|||
VERSION_CODE: 10 |
|||
# 密钥库文件 |
|||
KEYSTORE_FILE: debug.keystore |
|||
# 密钥库口令 |
|||
KEYSTORE_PASSWORD: android |
|||
# 密钥库别名 |
|||
KEYSTORE_KEY_ALIAS: androiddebugkey |
|||
# 密钥库别名口令 |
|||
KEYSTORE_KEY_PASSWORD: android |
|||
|
|||
# 工作流作业 |
|||
jobs: |
|||
assemble: |
|||
runs-on: ubuntu-latest |
|||
steps: |
|||
- name: Checkout Project |
|||
uses: actions/checkout@v2 |
|||
- uses: actions/setup-java@v4 |
|||
with: |
|||
distribution: 'zulu' |
|||
java-version: '17' |
|||
- name: Cache node_modules Folder |
|||
uses: actions/cache@v2 |
|||
with: |
|||
path: ${{ github.workspace }}/node_modules |
|||
key: ${{ runner.os }}-node_modules |
|||
restore-keys: ${{ runner.os }}-node_modules |
|||
- name: Get Yarn Cache Directory Path |
|||
id: yarn-cache-dir-path |
|||
run: echo "::set-output name=dir::$(yarn cache dir)" |
|||
- name: Cache Yarn |
|||
uses: actions/cache@v2 |
|||
env: |
|||
cache-name: yarn-cache |
|||
with: |
|||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} |
|||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }} |
|||
restore-keys: | |
|||
${{ runner.os }}-yarn- |
|||
- name: Install Dependencies |
|||
run: | |
|||
yarn |
|||
# - name: Build Taro React Native Bundle |
|||
# run: | |
|||
# yarn build:rn --platform android |
|||
- name: Cache Gradle |
|||
uses: actions/cache@v2 |
|||
env: |
|||
cache-name: gradle-cache |
|||
with: |
|||
path: ~/.gradle |
|||
key: ${{ runner.os }}-gradle |
|||
restore-keys: | |
|||
${{ runner.os }}-gradle |
|||
- name: Assemble Android ${{ env.BUILD_TYPE }} |
|||
run: | |
|||
sudo apt install -y ruby-bundler |
|||
cd android |
|||
bundle update |
|||
bundle exec fastlane assemble |
|||
env: |
|||
KEYSTORE_FILE: ${{ github.workspace }}/android/app/${{ env.KEYSTORE_FILE }} |
|||
- name: Upload Android Products |
|||
uses: actions/upload-artifact@v2 |
|||
with: |
|||
name: app-${{ env.BUILD_TYPE }} |
|||
path: ${{ github.workspace }}/android/app/build/outputs/apk/${{ env.BUILD_TYPE }}/app-${{ env.BUILD_TYPE }}.apk |
|||
- name: Upload release assets |
|||
uses: softprops/action-gh-release@v1 |
|||
if: startsWith(github.ref, 'refs/tags/') |
|||
with: |
|||
prerelease: ${{ contains(github.ref, 'beta') }} |
|||
files: | |
|||
android/app/build/outputs/apk/${{ env.BUILD_TYPE }}/app-${{ env.BUILD_TYPE }}.apk |
|||
env: |
|||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|||
@ -0,0 +1,105 @@ |
|||
# 工作流名称 |
|||
name: Assemble Android Release |
|||
|
|||
# 触发工作流程的事件 |
|||
on: |
|||
push: |
|||
branches: [ master ] |
|||
tags: [ v* ] |
|||
pull_request: |
|||
branches: [ master ] |
|||
|
|||
workflow_dispatch: |
|||
|
|||
# 工作流环境变量 |
|||
env: |
|||
# 应用的application_id |
|||
APP_ID: com.tarodemo |
|||
# 应用名称 |
|||
APP_NAME: Taro Demo |
|||
# 打包类型 |
|||
BUILD_TYPE: release |
|||
# 版本名称 |
|||
VERSION_NAME: 1.0.0 |
|||
# 版本号 |
|||
VERSION_CODE: 10 |
|||
# 密钥库文件 |
|||
KEYSTORE_FILE: debug.keystore |
|||
# 密钥库口令 |
|||
KEYSTORE_PASSWORD: android |
|||
# 密钥库别名 |
|||
KEYSTORE_KEY_ALIAS: androiddebugkey |
|||
# 密钥库别名口令 |
|||
KEYSTORE_KEY_PASSWORD: android |
|||
|
|||
# 工作流作业 |
|||
jobs: |
|||
assemble: |
|||
runs-on: ubuntu-latest |
|||
steps: |
|||
- name: Checkout Project |
|||
uses: actions/checkout@v2 |
|||
- uses: actions/setup-java@v4 |
|||
with: |
|||
distribution: 'zulu' |
|||
java-version: '17' |
|||
- name: Cache node_modules Folder |
|||
uses: actions/cache@v2 |
|||
with: |
|||
path: ${{ github.workspace }}/node_modules |
|||
key: ${{ runner.os }}-node_modules |
|||
restore-keys: ${{ runner.os }}-node_modules |
|||
- name: Get Yarn Cache Directory Path |
|||
id: yarn-cache-dir-path |
|||
run: echo "::set-output name=dir::$(yarn cache dir)" |
|||
- name: Cache Yarn |
|||
uses: actions/cache@v2 |
|||
env: |
|||
cache-name: yarn-cache |
|||
with: |
|||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} |
|||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }} |
|||
restore-keys: | |
|||
${{ runner.os }}-yarn- |
|||
- name: Install Dependencies |
|||
run: | |
|||
yarn |
|||
# - name: Build Taro React Native Bundle |
|||
# run: | |
|||
# yarn build:rn --platform android |
|||
# - name: Upload Taro React Native Bundle |
|||
# uses: actions/upload-artifact@v2 |
|||
# with: |
|||
# name: taro-android-bundle |
|||
# path: ${{ github.workspace }}/android/app/src/main/assets/index.android.bundle |
|||
- name: Cache Gradle |
|||
uses: actions/cache@v2 |
|||
env: |
|||
cache-name: gradle-cache |
|||
with: |
|||
path: ~/.gradle |
|||
key: ${{ runner.os }}-gradle |
|||
restore-keys: | |
|||
${{ runner.os }}-gradle |
|||
- name: Assemble Android ${{ env.BUILD_TYPE }} |
|||
run: | |
|||
sudo apt install -y ruby-bundler |
|||
cd android |
|||
bundle update |
|||
bundle exec fastlane assemble |
|||
env: |
|||
KEYSTORE_FILE: ${{ github.workspace }}/android/app/${{ env.KEYSTORE_FILE }} |
|||
- name: Upload Android Products |
|||
uses: actions/upload-artifact@v2 |
|||
with: |
|||
name: app-${{ env.BUILD_TYPE }} |
|||
path: ${{ github.workspace }}/android/app/build/outputs/apk/${{ env.BUILD_TYPE }}/app-${{ env.BUILD_TYPE }}.apk |
|||
- name: Upload release assets |
|||
uses: softprops/action-gh-release@v1 |
|||
if: startsWith(github.ref, 'refs/tags/') |
|||
with: |
|||
prerelease: ${{ contains(github.ref, 'beta') }} |
|||
files: | |
|||
android/app/build/outputs/apk/${{ env.BUILD_TYPE }}/app-${{ env.BUILD_TYPE }}.apk |
|||
env: |
|||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|||
@ -0,0 +1,113 @@ |
|||
# 工作流名称 |
|||
name: Assemble Ios Debug |
|||
|
|||
# 触发工作流程的事件 |
|||
on: |
|||
push: |
|||
branches: [ master ] |
|||
tags: [ v* ] |
|||
pull_request: |
|||
branches: [ master ] |
|||
|
|||
workflow_dispatch: |
|||
|
|||
# 工作流环境变量 |
|||
env: |
|||
# 应用的application_id |
|||
APP_ID: ${{secrets.APP_ID}} |
|||
APP_NAME: Taro Demo |
|||
VERSION_NUMBER: 1.0.0 |
|||
BUILD_TYPE: debug |
|||
TEAM_ID: ${{secrets.TEAM_ID}} |
|||
PROVISIONING_PROFILE_SPECIFIER: ${{secrets.DEBUG_PROVISIONING_PROFILE_SPECIFIER}} |
|||
CODE_SIGN_IDENTITY: Apple Development |
|||
SIGNING_CERTIFICATE_P12_DATA: ${{secrets.DEBUG_SIGNING_CERTIFICATE_P12_DATA}} |
|||
SIGNING_CERTIFICATE_PASSWORD: ${{secrets.DEBUG_SIGNING_CERTIFICATE_PASSWORD}} |
|||
PROVISIONING_PROFILE_DATA: ${{secrets.DEBUG_PROVISIONING_PROFILE_DATA}} |
|||
|
|||
jobs: |
|||
assemble: |
|||
runs-on: macos-13 |
|||
steps: |
|||
- name: Checkout Project |
|||
uses: actions/checkout@v2 |
|||
- name: Cache node_modules Folder |
|||
uses: actions/cache@v2 |
|||
with: |
|||
path: ${{ github.workspace }}/node_modules |
|||
key: ${{ runner.os }}-node_modules |
|||
restore-keys: ${{ runner.os }}-node_modules |
|||
- name: Get Yarn Cache Directory Path |
|||
id: yarn-cache-dir-path |
|||
run: echo "::set-output name=dir::$(yarn cache dir)" |
|||
- name: Cache Yarn |
|||
uses: actions/cache@v2 |
|||
env: |
|||
cache-name: yarn-cache |
|||
with: |
|||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} |
|||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }} |
|||
restore-keys: | |
|||
${{ runner.os }}-yarn- |
|||
- name: Cache Pods |
|||
uses: actions/cache@v2 |
|||
with: |
|||
path: ios/Pods |
|||
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} |
|||
restore-keys: | |
|||
${{ runner.os }}-pods- |
|||
- name: Install Dependencies |
|||
run: | |
|||
yarn |
|||
# - name: Build Taro React Native Bundle |
|||
# run: | |
|||
# yarn build:rn --platform ios |
|||
- name: Install pods |
|||
run: cd ios && pod update --no-repo-update |
|||
- name: Import signing certificate |
|||
env: |
|||
SIGNING_CERTIFICATE_P12_DATA: ${{ env.SIGNING_CERTIFICATE_P12_DATA }} |
|||
SIGNING_CERTIFICATE_PASSWORD: ${{ env.SIGNING_CERTIFICATE_PASSWORD }} |
|||
run: | |
|||
exec .github/scripts/import-certificate.sh |
|||
- name: Import provisioning profile |
|||
env: |
|||
PROVISIONING_PROFILE_DATA: ${{ env.PROVISIONING_PROFILE_DATA }} |
|||
run: | |
|||
exec .github/scripts/import-profile.sh |
|||
- name: Build app |
|||
env: |
|||
SKIP_BUNDLING: 1 |
|||
FL_APP_IDENTIFIER: ${{ env.APP_ID }} |
|||
FL_UPDATE_PLIST_DISPLAY_NAME: ${{ env.APP_NAME }} |
|||
FL_UPDATE_PLIST_PATH: taroDemo/Info.plist |
|||
FL_VERSION_NUMBER_VERSION_NUMBER: ${{ env.VERSION_NUMBER }} |
|||
FL_BUILD_NUMBER_BUILD_NUMBER: ${{ env.BUILD_NUMBER }} |
|||
FL_CODE_SIGN_IDENTITY: ${{ env.CODE_SIGN_IDENTITY }} |
|||
FL_PROVISIONING_PROFILE_SPECIFIER: ${{ env.PROVISIONING_PROFILE_SPECIFIER }} |
|||
FASTLANE_TEAM_ID: ${{ env.TEAM_ID }} |
|||
run: | |
|||
cd ios |
|||
bundle update |
|||
bundle exec fastlane build_dev |
|||
- name: Upload Ios Products |
|||
uses: actions/upload-artifact@v2 |
|||
with: |
|||
name: app-${{ env.BUILD_TYPE }} |
|||
path: | |
|||
${{ github.workspace }}/ios/taroDemo.ipa |
|||
${{ github.workspace }}/ios/taroDemo.app.dSYM.zip |
|||
- name: Rename release assets |
|||
run: | |
|||
mv ios/taroDemo.ipa ios/app-${{ env.BUILD_TYPE }}.ipa |
|||
mv ios/taroDemo.app.dSYM.zip ios/app-${{ env.BUILD_TYPE }}.app.dSYM.zip |
|||
- name: Upload release assets |
|||
uses: softprops/action-gh-release@v1 |
|||
if: startsWith(github.ref, 'refs/tags/') |
|||
with: |
|||
prerelease: ${{ contains(github.ref, 'beta') }} |
|||
files: | |
|||
ios/app-${{ env.BUILD_TYPE }}.ipa |
|||
ios/app-${{ env.BUILD_TYPE }}.app.dSYM.zip |
|||
env: |
|||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|||
@ -0,0 +1,131 @@ |
|||
# 工作流名称 |
|||
name: Assemble Ios Release |
|||
|
|||
# 触发工作流程的事件 |
|||
on: |
|||
push: |
|||
branches: [ master ] |
|||
tags: [ v* ] |
|||
pull_request: |
|||
branches: [ master ] |
|||
|
|||
workflow_dispatch: |
|||
|
|||
# 工作流环境变量 |
|||
env: |
|||
# 应用的application_id |
|||
APP_ID: ${{secrets.APP_ID}} |
|||
APP_NAME: Taro Demo |
|||
VERSION_NUMBER: 1.0.0 |
|||
BUILD_NUMBER: 1.0.0.0 |
|||
BUILD_TYPE: release |
|||
TEAM_ID: ${{secrets.TEAM_ID}} |
|||
PROVISIONING_PROFILE_SPECIFIER: ${{secrets.RELEASE_PROVISIONING_PROFILE_SPECIFIER}} |
|||
CODE_SIGN_IDENTITY: Apple Distribution |
|||
SIGNING_CERTIFICATE_P12_DATA: ${{secrets.RELEASE_SIGNING_CERTIFICATE_P12_DATA}} |
|||
SIGNING_CERTIFICATE_PASSWORD: ${{secrets.RELEASE_SIGNING_CERTIFICATE_PASSWORD}} |
|||
PROVISIONING_PROFILE_DATA: ${{secrets.RELEASE_PROVISIONING_PROFILE_DATA}} |
|||
APP_STORE_CONNECT_USERNAME: ${{secrets.APP_STORE_CONNECT_USERNAME}} |
|||
APP_STORE_CONNECT_PASSWORD: ${{secrets.APP_STORE_CONNECT_PASSWORD}} |
|||
|
|||
jobs: |
|||
assemble: |
|||
runs-on: macos-13 |
|||
steps: |
|||
- name: Get current date |
|||
id: date |
|||
run: echo "::set-output name=timestamp::$(date +'%s')" |
|||
- name: Checkout Project |
|||
uses: actions/checkout@v2 |
|||
- name: Cache node_modules Folder |
|||
uses: actions/cache@v2 |
|||
with: |
|||
path: ${{ github.workspace }}/node_modules |
|||
key: ${{ runner.os }}-node_modules |
|||
restore-keys: ${{ runner.os }}-node_modules |
|||
- name: Get Yarn Cache Directory Path |
|||
id: yarn-cache-dir-path |
|||
run: echo "::set-output name=dir::$(yarn cache dir)" |
|||
- name: Cache Yarn |
|||
uses: actions/cache@v2 |
|||
env: |
|||
cache-name: yarn-cache |
|||
with: |
|||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} |
|||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }} |
|||
restore-keys: | |
|||
${{ runner.os }}-yarn- |
|||
- name: Cache Pods |
|||
uses: actions/cache@v2 |
|||
with: |
|||
path: ios/Pods |
|||
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} |
|||
restore-keys: | |
|||
${{ runner.os }}-pods- |
|||
- name: Install Dependencies |
|||
run: | |
|||
yarn |
|||
# - name: Build Taro React Native Bundle |
|||
# run: | |
|||
# yarn build:rn --platform ios |
|||
# - name: Upload Taro React Native Bundle |
|||
# uses: actions/upload-artifact@v2 |
|||
# with: |
|||
# name: taro-ios-bundle |
|||
# path: ${{ github.workspace }}/ios/main.jsbundle |
|||
- name: Install pods |
|||
run: cd ios && pod update --no-repo-update |
|||
- name: Import signing certificate |
|||
env: |
|||
SIGNING_CERTIFICATE_P12_DATA: ${{ env.SIGNING_CERTIFICATE_P12_DATA }} |
|||
SIGNING_CERTIFICATE_PASSWORD: ${{ env.SIGNING_CERTIFICATE_PASSWORD }} |
|||
run: | |
|||
exec .github/scripts/import-certificate.sh |
|||
- name: Import provisioning profile |
|||
env: |
|||
PROVISIONING_PROFILE_DATA: ${{ env.PROVISIONING_PROFILE_DATA }} |
|||
run: | |
|||
exec .github/scripts/import-profile.sh |
|||
- name: Build app |
|||
env: |
|||
SKIP_BUNDLING: 1 |
|||
FL_APP_IDENTIFIER: ${{ env.APP_ID }} |
|||
FL_UPDATE_PLIST_DISPLAY_NAME: ${{ env.APP_NAME }} |
|||
FL_UPDATE_PLIST_PATH: taroDemo/Info.plist |
|||
FL_VERSION_NUMBER_VERSION_NUMBER: ${{ env.VERSION_NUMBER }} |
|||
FL_BUILD_NUMBER_BUILD_NUMBER: ${{ env.BUILD_NUMBER }}.${{steps.date.outputs.timestamp}} |
|||
FL_CODE_SIGN_IDENTITY: ${{ env.CODE_SIGN_IDENTITY }} |
|||
FL_PROVISIONING_PROFILE_SPECIFIER: ${{ env.PROVISIONING_PROFILE_SPECIFIER }} |
|||
FASTLANE_TEAM_ID: ${{ env.TEAM_ID }} |
|||
run: | |
|||
cd ios |
|||
bundle update |
|||
bundle exec fastlane build_release |
|||
- name: Upload Ios Products |
|||
uses: actions/upload-artifact@v2 |
|||
with: |
|||
name: app-${{ env.BUILD_TYPE }} |
|||
path: | |
|||
${{ github.workspace }}/ios/taroDemo.ipa |
|||
${{ github.workspace }}/ios/taroDemo.app.dSYM.zip |
|||
- name: Upload app to App Store Connect |
|||
env: |
|||
APP_STORE_CONNECT_USERNAME: ${{ env.APP_STORE_CONNECT_USERNAME }} |
|||
APP_STORE_CONNECT_PASSWORD: ${{ env.APP_STORE_CONNECT_PASSWORD }} |
|||
run: | |
|||
cd ios |
|||
xcrun altool --upload-app -t ios -f "taroDemo.ipa" -u "$APP_STORE_CONNECT_USERNAME" -p "$APP_STORE_CONNECT_PASSWORD" |
|||
- name: Rename release assets |
|||
run: | |
|||
mv ios/taroDemo.ipa ios/app-${{ env.BUILD_TYPE }}.ipa |
|||
mv ios/taroDemo.app.dSYM.zip ios/app-${{ env.BUILD_TYPE }}.app.dSYM.zip |
|||
- name: Upload release assets |
|||
uses: softprops/action-gh-release@v1 |
|||
if: startsWith(github.ref, 'refs/tags/') |
|||
with: |
|||
prerelease: ${{ contains(github.ref, 'beta') }} |
|||
files: | |
|||
ios/app-${{ env.BUILD_TYPE }}.ipa |
|||
ios/app-${{ env.BUILD_TYPE }}.app.dSYM.zip |
|||
env: |
|||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|||
@ -0,0 +1,7 @@ |
|||
# frozen_string_literal: true |
|||
|
|||
source "https://rubygems.org" |
|||
gem 'fastlane' |
|||
|
|||
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') |
|||
eval_gemfile(plugins_path) if File.exist?(plugins_path) |
|||
@ -0,0 +1,222 @@ |
|||
GEM |
|||
remote: https://rubygems.org/ |
|||
specs: |
|||
CFPropertyList (3.0.5) |
|||
rexml |
|||
addressable (2.8.0) |
|||
public_suffix (>= 2.0.2, < 5.0) |
|||
artifactory (3.0.15) |
|||
atomos (0.1.3) |
|||
aws-eventstream (1.2.0) |
|||
aws-partitions (1.587.0) |
|||
aws-sdk-core (3.130.2) |
|||
aws-eventstream (~> 1, >= 1.0.2) |
|||
aws-partitions (~> 1, >= 1.525.0) |
|||
aws-sigv4 (~> 1.1) |
|||
jmespath (~> 1.0) |
|||
aws-sdk-kms (1.56.0) |
|||
aws-sdk-core (~> 3, >= 3.127.0) |
|||
aws-sigv4 (~> 1.1) |
|||
aws-sdk-s3 (1.114.0) |
|||
aws-sdk-core (~> 3, >= 3.127.0) |
|||
aws-sdk-kms (~> 1) |
|||
aws-sigv4 (~> 1.4) |
|||
aws-sigv4 (1.5.0) |
|||
aws-eventstream (~> 1, >= 1.0.2) |
|||
babosa (1.0.4) |
|||
claide (1.1.0) |
|||
colored (1.2) |
|||
colored2 (3.1.2) |
|||
commander (4.6.0) |
|||
highline (~> 2.0.0) |
|||
declarative (0.0.20) |
|||
digest-crc (0.6.4) |
|||
rake (>= 12.0.0, < 14.0.0) |
|||
domain_name (0.5.20190701) |
|||
unf (>= 0.0.5, < 1.0.0) |
|||
dotenv (2.7.6) |
|||
emoji_regex (3.2.3) |
|||
excon (0.92.3) |
|||
faraday (1.10.0) |
|||
faraday-em_http (~> 1.0) |
|||
faraday-em_synchrony (~> 1.0) |
|||
faraday-excon (~> 1.1) |
|||
faraday-httpclient (~> 1.0) |
|||
faraday-multipart (~> 1.0) |
|||
faraday-net_http (~> 1.0) |
|||
faraday-net_http_persistent (~> 1.0) |
|||
faraday-patron (~> 1.0) |
|||
faraday-rack (~> 1.0) |
|||
faraday-retry (~> 1.0) |
|||
ruby2_keywords (>= 0.0.4) |
|||
faraday-cookie_jar (0.0.7) |
|||
faraday (>= 0.8.0) |
|||
http-cookie (~> 1.0.0) |
|||
faraday-em_http (1.0.0) |
|||
faraday-em_synchrony (1.0.0) |
|||
faraday-excon (1.1.0) |
|||
faraday-httpclient (1.0.1) |
|||
faraday-multipart (1.0.3) |
|||
multipart-post (>= 1.2, < 3) |
|||
faraday-net_http (1.0.1) |
|||
faraday-net_http_persistent (1.2.0) |
|||
faraday-patron (1.0.0) |
|||
faraday-rack (1.0.0) |
|||
faraday-retry (1.0.3) |
|||
faraday_middleware (1.2.0) |
|||
faraday (~> 1.0) |
|||
fastimage (2.2.6) |
|||
fastlane (2.205.2) |
|||
CFPropertyList (>= 2.3, < 4.0.0) |
|||
addressable (>= 2.8, < 3.0.0) |
|||
artifactory (~> 3.0) |
|||
aws-sdk-s3 (~> 1.0) |
|||
babosa (>= 1.0.3, < 2.0.0) |
|||
bundler (>= 1.12.0, < 3.0.0) |
|||
colored |
|||
commander (~> 4.6) |
|||
dotenv (>= 2.1.1, < 3.0.0) |
|||
emoji_regex (>= 0.1, < 4.0) |
|||
excon (>= 0.71.0, < 1.0.0) |
|||
faraday (~> 1.0) |
|||
faraday-cookie_jar (~> 0.0.6) |
|||
faraday_middleware (~> 1.0) |
|||
fastimage (>= 2.1.0, < 3.0.0) |
|||
gh_inspector (>= 1.1.2, < 2.0.0) |
|||
google-apis-androidpublisher_v3 (~> 0.3) |
|||
google-apis-playcustomapp_v1 (~> 0.1) |
|||
google-cloud-storage (~> 1.31) |
|||
highline (~> 2.0) |
|||
json (< 3.0.0) |
|||
jwt (>= 2.1.0, < 3) |
|||
mini_magick (>= 4.9.4, < 5.0.0) |
|||
multipart-post (~> 2.0.0) |
|||
naturally (~> 2.2) |
|||
optparse (~> 0.1.1) |
|||
plist (>= 3.1.0, < 4.0.0) |
|||
rubyzip (>= 2.0.0, < 3.0.0) |
|||
security (= 0.1.3) |
|||
simctl (~> 1.6.3) |
|||
terminal-notifier (>= 2.0.0, < 3.0.0) |
|||
terminal-table (>= 1.4.5, < 2.0.0) |
|||
tty-screen (>= 0.6.3, < 1.0.0) |
|||
tty-spinner (>= 0.8.0, < 1.0.0) |
|||
word_wrap (~> 1.0.0) |
|||
xcodeproj (>= 1.13.0, < 2.0.0) |
|||
xcpretty (~> 0.3.0) |
|||
xcpretty-travis-formatter (>= 0.0.3) |
|||
fastlane-plugin-update_android_strings (0.1.0) |
|||
ox |
|||
gh_inspector (1.1.3) |
|||
google-apis-androidpublisher_v3 (0.20.0) |
|||
google-apis-core (>= 0.4, < 2.a) |
|||
google-apis-core (0.4.2) |
|||
addressable (~> 2.5, >= 2.5.1) |
|||
googleauth (>= 0.16.2, < 2.a) |
|||
httpclient (>= 2.8.1, < 3.a) |
|||
mini_mime (~> 1.0) |
|||
representable (~> 3.0) |
|||
retriable (>= 2.0, < 4.a) |
|||
rexml |
|||
webrick |
|||
google-apis-iamcredentials_v1 (0.10.0) |
|||
google-apis-core (>= 0.4, < 2.a) |
|||
google-apis-playcustomapp_v1 (0.7.0) |
|||
google-apis-core (>= 0.4, < 2.a) |
|||
google-apis-storage_v1 (0.13.0) |
|||
google-apis-core (>= 0.4, < 2.a) |
|||
google-cloud-core (1.6.0) |
|||
google-cloud-env (~> 1.0) |
|||
google-cloud-errors (~> 1.0) |
|||
google-cloud-env (1.6.0) |
|||
faraday (>= 0.17.3, < 3.0) |
|||
google-cloud-errors (1.2.0) |
|||
google-cloud-storage (1.36.2) |
|||
addressable (~> 2.8) |
|||
digest-crc (~> 0.4) |
|||
google-apis-iamcredentials_v1 (~> 0.1) |
|||
google-apis-storage_v1 (~> 0.1) |
|||
google-cloud-core (~> 1.6) |
|||
googleauth (>= 0.16.2, < 2.a) |
|||
mini_mime (~> 1.0) |
|||
googleauth (1.1.3) |
|||
faraday (>= 0.17.3, < 3.a) |
|||
jwt (>= 1.4, < 3.0) |
|||
memoist (~> 0.16) |
|||
multi_json (~> 1.11) |
|||
os (>= 0.9, < 2.0) |
|||
signet (>= 0.16, < 2.a) |
|||
highline (2.0.3) |
|||
http-cookie (1.0.4) |
|||
domain_name (~> 0.5) |
|||
httpclient (2.8.3) |
|||
jmespath (1.6.1) |
|||
json (2.6.1) |
|||
jwt (2.3.0) |
|||
memoist (0.16.2) |
|||
mini_magick (4.11.0) |
|||
mini_mime (1.1.2) |
|||
multi_json (1.15.0) |
|||
multipart-post (2.0.0) |
|||
nanaimo (0.3.0) |
|||
naturally (2.2.1) |
|||
optparse (0.1.1) |
|||
os (1.1.4) |
|||
ox (2.14.11) |
|||
plist (3.6.0) |
|||
public_suffix (4.0.7) |
|||
rake (13.0.6) |
|||
representable (3.1.1) |
|||
declarative (< 0.1.0) |
|||
trailblazer-option (>= 0.1.1, < 0.2.0) |
|||
uber (< 0.2.0) |
|||
retriable (3.1.2) |
|||
rexml (3.2.5) |
|||
rouge (2.0.7) |
|||
ruby2_keywords (0.0.5) |
|||
rubyzip (2.3.2) |
|||
security (0.1.3) |
|||
signet (0.16.1) |
|||
addressable (~> 2.8) |
|||
faraday (>= 0.17.5, < 3.0) |
|||
jwt (>= 1.5, < 3.0) |
|||
multi_json (~> 1.10) |
|||
simctl (1.6.8) |
|||
CFPropertyList |
|||
naturally |
|||
terminal-notifier (2.0.0) |
|||
terminal-table (1.8.0) |
|||
unicode-display_width (~> 1.1, >= 1.1.1) |
|||
trailblazer-option (0.1.2) |
|||
tty-cursor (0.7.1) |
|||
tty-screen (0.8.1) |
|||
tty-spinner (0.9.3) |
|||
tty-cursor (~> 0.7) |
|||
uber (0.1.0) |
|||
unf (0.1.4) |
|||
unf_ext |
|||
unf_ext (0.0.8.1) |
|||
unicode-display_width (1.8.0) |
|||
webrick (1.7.0) |
|||
word_wrap (1.0.0) |
|||
xcodeproj (1.21.0) |
|||
CFPropertyList (>= 2.3.3, < 4.0) |
|||
atomos (~> 0.1.3) |
|||
claide (>= 1.0.2, < 2.0) |
|||
colored2 (~> 3.1) |
|||
nanaimo (~> 0.3.0) |
|||
rexml (~> 3.2.4) |
|||
xcpretty (0.3.0) |
|||
rouge (~> 2.0.7) |
|||
xcpretty-travis-formatter (1.0.1) |
|||
xcpretty (~> 0.2, >= 0.0.7) |
|||
|
|||
PLATFORMS |
|||
universal-darwin-21 |
|||
|
|||
DEPENDENCIES |
|||
fastlane |
|||
fastlane-plugin-update_android_strings |
|||
|
|||
BUNDLED WITH |
|||
2.2.27 |
|||
@ -0,0 +1,2 @@ |
|||
json_key_file("") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one |
|||
package_name("com.tarodemo") # e.g. com.krausefx.app |
|||
@ -0,0 +1,43 @@ |
|||
# This file contains the fastlane.tools configuration |
|||
# You can find the documentation at https://docs.fastlane.tools |
|||
# |
|||
# For a list of all available actions, check out |
|||
# |
|||
# https://docs.fastlane.tools/actions |
|||
# |
|||
# For a list of all available plugins, check out |
|||
# |
|||
# https://docs.fastlane.tools/plugins/available-plugins |
|||
# |
|||
|
|||
# Uncomment the line if you want fastlane to automatically update itself |
|||
# update_fastlane |
|||
|
|||
default_platform(:android) |
|||
|
|||
platform :android do |
|||
|
|||
desc "assemble" |
|||
lane :assemble do |
|||
update_android_strings( |
|||
xml_path: 'app/src/main/res/values/strings.xml', |
|||
block: lambda { |strings| |
|||
strings['app_name'] = ENV['APP_NAME'] |
|||
} |
|||
) |
|||
gradle( |
|||
task: "assemble", |
|||
build_type: ENV['BUILD_TYPE'], |
|||
properties: { |
|||
"app_id" => ENV['APP_ID'], |
|||
"android.injected.version.code" => ENV['VERSION_CODE'].to_i, |
|||
"android.injected.version.name" => ENV['VERSION_NAME'], |
|||
"android.injected.signing.store.file" => ENV['KEYSTORE_FILE'], |
|||
"android.injected.signing.store.password" => ENV['KEYSTORE_PASSWORD'], |
|||
"android.injected.signing.key.alias" => ENV['KEYSTORE_KEY_ALIAS'], |
|||
"android.injected.signing.key.password" => ENV['KEYSTORE_KEY_PASSWORD'], |
|||
} |
|||
) |
|||
end |
|||
|
|||
end |
|||
@ -0,0 +1,5 @@ |
|||
# Autogenerated by fastlane |
|||
# |
|||
# Ensure this file is checked in to source control! |
|||
|
|||
gem 'fastlane-plugin-update_android_strings' |
|||
@ -0,0 +1,6 @@ |
|||
# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app |
|||
# apple_id("[[APPLE_ID]]") # Your Apple email address |
|||
|
|||
|
|||
# For more information about the Appfile, see: |
|||
# https://docs.fastlane.tools/advanced/#appfile |
|||
@ -0,0 +1,56 @@ |
|||
# This file contains the fastlane.tools configuration |
|||
# You can find the documentation at https://docs.fastlane.tools |
|||
# |
|||
# For a list of all available actions, check out |
|||
# |
|||
# https://docs.fastlane.tools/actions |
|||
# |
|||
# For a list of all available plugins, check out |
|||
# |
|||
# https://docs.fastlane.tools/plugins/available-plugins |
|||
# |
|||
|
|||
# Uncomment the line if you want fastlane to automatically update itself |
|||
# update_fastlane |
|||
|
|||
default_platform(:ios) |
|||
|
|||
platform :ios do |
|||
desc "Description of what the lane does" |
|||
lane :custom_lane do |
|||
# add actions here: https://docs.fastlane.tools/actions |
|||
end |
|||
|
|||
desc "development" |
|||
lane :build_dev do |options| |
|||
update_info_plist |
|||
update_code_signing_settings |
|||
increment_version_number |
|||
build_app( |
|||
scheme: "taroDemo", |
|||
workspace: "taroDemo.xcworkspace", |
|||
export_method: "development", |
|||
configuration: "Debug", |
|||
clean: true, |
|||
xcargs: "GCC_PREPROCESSOR_DEFINITIONS='$(inherited) DEBUG=1'", |
|||
export_options: { |
|||
method: "development", |
|||
compileBitcode: false |
|||
} |
|||
) |
|||
end |
|||
|
|||
desc "release" |
|||
lane :build_release do |options| |
|||
update_info_plist |
|||
update_code_signing_settings |
|||
increment_version_number |
|||
increment_build_number |
|||
build_app( |
|||
scheme: "taroDemo", |
|||
# clean: true, |
|||
workspace: "taroDemo.xcworkspace" |
|||
) |
|||
end |
|||
|
|||
end |
|||
@ -0,0 +1,48 @@ |
|||
fastlane documentation |
|||
---- |
|||
|
|||
# Installation |
|||
|
|||
Make sure you have the latest version of the Xcode command line tools installed: |
|||
|
|||
```sh |
|||
xcode-select --install |
|||
``` |
|||
|
|||
For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) |
|||
|
|||
# Available Actions |
|||
|
|||
## iOS |
|||
|
|||
### ios custom_lane |
|||
|
|||
```sh |
|||
[bundle exec] fastlane ios custom_lane |
|||
``` |
|||
|
|||
Description of what the lane does |
|||
|
|||
### ios build_dev |
|||
|
|||
```sh |
|||
[bundle exec] fastlane ios build_dev |
|||
``` |
|||
|
|||
development |
|||
|
|||
### ios build_release |
|||
|
|||
```sh |
|||
[bundle exec] fastlane ios build_release |
|||
``` |
|||
|
|||
release |
|||
|
|||
---- |
|||
|
|||
This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. |
|||
|
|||
More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). |
|||
|
|||
The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). |
|||
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
Loading…
Reference in new issue