Fix flavor dependencies, introduce flavors for filament-utils

This commit is contained in:
Romain Guy
2020-03-30 18:05:26 -07:00
parent c88bbc21d0
commit 8d9bd5f4fa
5 changed files with 43 additions and 20 deletions

View File

@@ -39,11 +39,12 @@ Here are all the libraries available in the group `com.google.android.filament`:
- `filament-android`: the Filament rendering engine itself
- `gltfio-android`: a glTF 2.0 loader for Filament, depends on `filament-android`
- `gltfio-android-lite`: trimmed version of gltfio that does not support some glTF features
- `gltfio-android-lite`: trimmed version of `gltfio` that does not support some glTF features
- `filament-utils-android`: KTX loading, Kotlin math, and camera utilities, depends on `gltfio-android`
- `filamat-android-full`: a runtime material builder/compiler. This library is large but contains
- `filament-utils-lite-android`: trimmed version of `filament-utils` that does not support some glTF features
- `filamat-android`: a runtime material builder/compiler. This library is large but contains
a full shader compiler/validator/optimizer
- `filamat-android-lite`: a much smaller alternative to `filamat-android-full` that can only
- `filamat-android-lite`: a much smaller alternative to `filamat-android` that can only
generate OpenGL shaders. It does not provide validation or optimizations
### Snapshots

View File

@@ -1,4 +1,4 @@
POM_NAME=Filament Material Builder
POM_ARTIFACT_ID_FULL=filamat-android-full
POM_ARTIFACT_ID_FULL=filamat-android
POM_ARTIFACT_ID_LITE=filamat-android-lite
POM_PACKAGING=aar

View File

@@ -19,11 +19,15 @@ android {
}
}
// The gltfio library has two variants: full and lite. Here we default to the "full" variant.
// Replace "full" with "lite" to use the gltfio-lite variant, which has a smaller binary size
// but comes with certain restrictions.
defaultConfig {
missingDimensionStrategy 'functionality', 'full'
flavorDimensions "functionality"
productFlavors {
full {
dimension "functionality"
}
lite {
dimension "functionality"
}
}
externalNativeBuild {
@@ -54,11 +58,21 @@ android {
}
}
configurations.all {
resolutionStrategy {
dependencySubstitution {
substitute(module("com.google.android.filament:gltfio-android-full")).with(project(":gltfio-android"))
substitute(module("com.google.android.filament:gltfio-android-lite")).with(project(":gltfio-android"))
}
}
}
dependencies {
implementation deps.kotlin
implementation deps.androidx.annotations
implementation project(':filament-android')
implementation project(':gltfio-android')
fullImplementation module("com.google.android.filament:gltfio-android-full")
liteImplementation module("com.google.android.filament:gltfio-android-lite")
}
apply from: rootProject.file('gradle/gradle-mvn-push.gradle')
@@ -66,9 +80,14 @@ apply from: rootProject.file('gradle/gradle-mvn-push.gradle')
afterEvaluate { project ->
publishing {
publications {
release(MavenPublication) {
artifactId = POM_ARTIFACT_ID
from components.release
fullRelease(MavenPublication) {
artifactId = POM_ARTIFACT_ID_FULL
from components.fullRelease
}
liteRelease(MavenPublication) {
artifactId = POM_ARTIFACT_ID_LITE
from components.liteRelease
}
}
}

View File

@@ -1,3 +1,4 @@
POM_NAME=Filament Android Utilities
POM_ARTIFACT_ID=filament-utils-android
POM_ARTIFACT_ID_FULL=filament-utils-android
POM_ARTIFACT_ID_LITE=filament-utils-android-lite
POM_PACKAGING=aar

View File

@@ -389,18 +389,19 @@ function build_android {
if [[ "$INSTALL_COMMAND" ]]; then
echo "Installing out/filamat-android-debug.aar..."
cp filamat-android/build/outputs/aar/filamat-android-full-debug.aar ../out/
cp filamat-android/build/outputs/aar/filamat-android-lite-debug.aar ../out/
cp filamat-android/build/outputs/aar/filamat-android-full-debug.aar ../out/filamat-android-debug.aar
echo "Installing out/filament-android-debug.aar..."
cp filament-android/build/outputs/aar/filament-android-debug.aar ../out/
echo "Installing out/gltfio-android-*-debug.aar..."
echo "Installing out/gltfio-android-debug.aar..."
cp gltfio-android/build/outputs/aar/gltfio-android-lite-debug.aar ../out/
cp gltfio-android/build/outputs/aar/gltfio-android-full-debug.aar ../out/gltfio-android-debug.aar
echo "Installing out/filament-utils-android-debug.aar..."
cp filament-utils-android/build/outputs/aar/filament-utils-android-debug.aar ../out/
cp filament-utils-android/build/outputs/aar/filament-utils-android-lite-debug.aar ../out/
cp filament-utils-android/build/outputs/aar/filament-utils-android-full-debug.aar ../out/filament-utils-android-debug.aar
fi
fi
@@ -418,18 +419,19 @@ function build_android {
if [[ "$INSTALL_COMMAND" ]]; then
echo "Installing out/filamat-android-release.aar..."
cp filamat-android/build/outputs/aar/filamat-android-full-release.aar ../out/
cp filamat-android/build/outputs/aar/filamat-android-lite-release.aar ../out/
cp filamat-android/build/outputs/aar/filamat-android-full-release.aar ../out/filamat-android-release.aar
echo "Installing out/filament-android-release.aar..."
cp filament-android/build/outputs/aar/filament-android-release.aar ../out/
echo "Installing out/gltfio-android-*-release.aar..."
echo "Installing out/gltfio-android-release.aar..."
cp gltfio-android/build/outputs/aar/gltfio-android-lite-release.aar ../out/
cp gltfio-android/build/outputs/aar/gltfio-android-full-release.aar ../out/gltfio-android-release.aar
echo "Installing out/filament-utils-android-release.aar..."
cp filament-utils-android/build/outputs/aar/filament-utils-android-release.aar ../out/
cp filament-utils-android/build/outputs/aar/filament-utils-android-lite-release.aar ../out/
cp filament-utils-android/build/outputs/aar/filament-utils-android-full-release.aar ../out/filament-utils-android-release.aar
fi
fi