legacy skia build next to impeller arm64
This commit is contained in:
@@ -147,9 +147,13 @@ jobs:
|
|||||||
IPTPROXY_SOURCE: ${{ runner.temp }}/IPtProxy
|
IPTPROXY_SOURCE: ${{ runner.temp }}/IPtProxy
|
||||||
run: melos run build-go-runtime --no-select
|
run: melos run build-go-runtime --no-select
|
||||||
|
|
||||||
- name: Build APK (Alpha)
|
- name: Build APK (Alpha, Impeller)
|
||||||
if: steps.build-type.outputs.is_prerelease == 'true'
|
if: steps.build-type.outputs.is_prerelease == 'true'
|
||||||
run: melos run build-browser-alpha --no-select
|
run: melos run build-browser-alpha-impeller --no-select
|
||||||
|
|
||||||
|
- name: Build APK (Alpha, Legacy renderer)
|
||||||
|
if: steps.build-type.outputs.is_prerelease == 'true'
|
||||||
|
run: melos run build-browser-alpha-legacy --no-select
|
||||||
|
|
||||||
- name: Build APK (Stable)
|
- name: Build APK (Stable)
|
||||||
if: steps.build-type.outputs.is_prerelease == 'false'
|
if: steps.build-type.outputs.is_prerelease == 'false'
|
||||||
@@ -164,7 +168,7 @@ jobs:
|
|||||||
if: steps.build-type.outputs.is_prerelease == 'true'
|
if: steps.build-type.outputs.is_prerelease == 'true'
|
||||||
uses: ncipollo/release-action@v1.17.0
|
uses: ncipollo/release-action@v1.17.0
|
||||||
with:
|
with:
|
||||||
artifacts: "apps/weblibre/build/app/outputs/apk/alpha/release/*.apk"
|
artifacts: "apps/weblibre/build/app/outputs/apk/alphaImpeller/release/*.apk,apps/weblibre/build/app/outputs/apk/alphaLegacy/release/*.apk"
|
||||||
prerelease: true
|
prerelease: true
|
||||||
|
|
||||||
- name: Create github artifact release (Full)
|
- name: Create github artifact release (Full)
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ android {
|
|||||||
targetSdk = 37
|
targetSdk = 37
|
||||||
versionCode = flutterVersionCode.toInteger()
|
versionCode = flutterVersionCode.toInteger()
|
||||||
versionName = flutterVersionName
|
versionName = flutterVersionName
|
||||||
|
// Whether the Flutter engine renders via Impeller or the legacy Skia
|
||||||
|
// backend. Read by io.flutter.embedding.android.EnableImpeller in
|
||||||
|
// AndroidManifest.xml. Overridden per-flavor below.
|
||||||
|
manifestPlaceholders = [enableImpeller: "true"]
|
||||||
}
|
}
|
||||||
|
|
||||||
flavorDimensions "track"
|
flavorDimensions "track"
|
||||||
@@ -51,11 +55,32 @@ android {
|
|||||||
dimension "track"
|
dimension "track"
|
||||||
manifestPlaceholders = [appName: "WebLibre"]
|
manifestPlaceholders = [appName: "WebLibre"]
|
||||||
}
|
}
|
||||||
alpha {
|
// Same alpha release slot (applicationId/versionName suffix), split into
|
||||||
|
// two variants so Impeller and the legacy Skia renderer can be compared
|
||||||
|
// side by side. The renderer is chosen at Flutter engine startup via a
|
||||||
|
// manifest meta-data flag and cannot be switched at runtime, hence two
|
||||||
|
// separate builds rather than a single toggle.
|
||||||
|
alphaImpeller {
|
||||||
dimension "track"
|
dimension "track"
|
||||||
applicationIdSuffix ".alpha"
|
applicationIdSuffix ".alpha"
|
||||||
versionNameSuffix "-alpha"
|
versionNameSuffix "-alpha"
|
||||||
manifestPlaceholders = [appName: "WebLibre Alpha"]
|
manifestPlaceholders = [appName: "WebLibre Alpha", enableImpeller: "true"]
|
||||||
|
}
|
||||||
|
alphaLegacy {
|
||||||
|
dimension "track"
|
||||||
|
applicationIdSuffix ".alpha"
|
||||||
|
versionNameSuffix "-alpha"
|
||||||
|
manifestPlaceholders = [appName: "WebLibre Alpha (Legacy)", enableImpeller: "false"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
// Both alpha variants share the existing alpha launcher icon/branding.
|
||||||
|
alphaImpeller {
|
||||||
|
res.srcDirs += 'src/alpha/res'
|
||||||
|
}
|
||||||
|
alphaLegacy {
|
||||||
|
res.srcDirs += 'src/alpha/res'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -271,7 +271,7 @@
|
|||||||
|
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="io.flutter.embedding.android.EnableImpeller"
|
android:name="io.flutter.embedding.android.EnableImpeller"
|
||||||
android:value="true" />
|
android:value="${enableImpeller}" />
|
||||||
|
|
||||||
<!-- HCPP (Hybrid Composition++) is still experimental and mis-maps
|
<!-- HCPP (Hybrid Composition++) is still experimental and mis-maps
|
||||||
platform-view touch coordinates when the activity runs in a resized
|
platform-view touch coordinates when the activity runs in a resized
|
||||||
|
|||||||
+9
-3
@@ -94,9 +94,15 @@ melos:
|
|||||||
set -e
|
set -e
|
||||||
cd apps/weblibre
|
cd apps/weblibre
|
||||||
flutter build apk --release --flavor stable --target-platform android-arm,android-arm64 --split-per-abi --no-tree-shake-icons
|
flutter build apk --release --flavor stable --target-platform android-arm,android-arm64 --split-per-abi --no-tree-shake-icons
|
||||||
build-browser-alpha:
|
build-browser-alpha-impeller:
|
||||||
description: Build alpha release APK split per ABI (side-by-side installable with stable)
|
description: Build arm64 alpha release APK with Impeller enabled (side-by-side installable with stable)
|
||||||
run: |
|
run: |
|
||||||
set -e
|
set -e
|
||||||
cd apps/weblibre
|
cd apps/weblibre
|
||||||
flutter build apk --release --flavor alpha --target-platform android-arm,android-arm64 --split-per-abi --no-tree-shake-icons
|
flutter build apk --release --flavor alphaImpeller --target-platform android-arm64 --no-tree-shake-icons
|
||||||
|
build-browser-alpha-legacy:
|
||||||
|
description: Build arm64 alpha release APK with the legacy Skia renderer (side-by-side installable with stable)
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
cd apps/weblibre
|
||||||
|
flutter build apk --release --flavor alphaLegacy --target-platform android-arm64 --no-tree-shake-icons
|
||||||
|
|||||||
Reference in New Issue
Block a user