Skip to content

Commit

Permalink
feat(core.transform): ShadowTransform声明为支持build cache
Browse files Browse the repository at this point in the history
由于ShadowTransform只处理输入的文件,并且处理时逻辑固定。在输入文件不变的情况下,输出文件总是可替代的。所以直接声明isCacheable为true就可以使用构建缓存。

同时开启Github Action上的缓存机制,加快构建。
  • Loading branch information
shifujun committed Sep 14, 2021
1 parent a75c81c commit 7aa65f7
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 0 deletions.
30 changes: 30 additions & 0 deletions .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: buildSdk
run: ./gradlew wrapper; ./gradlew buildSdk
- name: lintSdk
Expand All @@ -29,26 +37,46 @@ jobs:
arch: x86_64
profile: pixel_xl
script: ./gradlew wrapper; ./gradlew androidTestSdk
- name: stop gradle deamon for actions/cache
run: ./gradlew --stop
build-on-windows:
runs-on: windows-latest
env:
DISABLE_TENCENT_MAVEN_MIRROR: true
steps:
- name: checkout
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: buildSdk
run: ./gradlew wrapper; ./gradlew buildSdk
- name: lintSdk
run: ./gradlew wrapper; ./gradlew lintSdk
- name: build sample/source
run: ./gradlew wrapper; ./gradlew build
- name: stop gradle deamon for actions/cache
run: ./gradlew --stop
build-samples:
runs-on: ubuntu-latest
env:
DISABLE_TENCENT_MAVEN_MIRROR: true
steps:
- name: checkout
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: build sample/maven/host-project
working-directory: projects/sample/maven/host-project
run: ./gradlew wrapper; ./gradlew assemble
Expand All @@ -67,3 +95,5 @@ jobs:
- name: build sample/sunflower/plugin-project
working-directory: projects/sample/sunflower/plugin-project
run: ./gradlew wrapper; ./gradlew assemble
- name: stop gradle deamon for actions/cache
run: ./gradlew --stop
20 changes: 20 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: buildSdk
run: ./gradlew wrapper; ./gradlew buildSdk
- name: lintSdk
Expand All @@ -30,6 +38,8 @@ jobs:
arch: x86_64
profile: pixel_xl
script: ./gradlew wrapper; ./gradlew androidTestSdk
- name: stop gradle deamon for actions/cache
run: ./gradlew --stop
publish:
needs: build-and-test
runs-on: macos-latest
Expand All @@ -42,5 +52,15 @@ jobs:
uses: rlespinasse/github-slug-action@v3.x
- name: checkout
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: publish
run: ./gradlew wrapper; ./gradlew publish
- name: stop gradle deamon for actions/cache
run: ./gradlew --stop
2 changes: 2 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ org.gradle.jvmargs=-Xmx4096m
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
android.useAndroidX=true
org.gradle.caching=true

Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,9 @@ class ShadowTransform(
_mTransformManager = TransformManager(mCtClassInputMap, classPool, useHostContext)
}

override fun isCacheable(): Boolean {
return true
}

override fun getName(): String = "ShadowTransform"
}

0 comments on commit 7aa65f7

Please sign in to comment.