https://github.com/ivanalvarado/emergetools-perf-analysis-reproducer
Reproducer project for Emerge Tools Performance Analysis not working
https://github.com/ivanalvarado/emergetools-perf-analysis-reproducer
Last synced: 3 months ago
JSON representation
Reproducer project for Emerge Tools Performance Analysis not working
- Host: GitHub
- URL: https://github.com/ivanalvarado/emergetools-perf-analysis-reproducer
- Owner: ivanalvarado
- Created: 2023-10-21T03:07:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-25T23:37:38.000Z (over 1 year ago)
- Last Synced: 2023-10-26T00:29:40.947Z (over 1 year ago)
- Language: Kotlin
- Size: 99.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# EmergeTools-Perf-Analysis-Reproducer
Reproducer project for [Emerge Tools Performance Analysis](https://docs.emergetools.com/docs/android-custom-flow-performance-testing) incompatibility.
## Project Configuration
| Component | Version |
|-----------------------|-----------------------------------------|
| Android Gradle Plugin | `8.1.1` |
| Kotlin | `1.8.21` |
| Android Studio | `Android Studio Hedgehog 2023.1.1 RC 1` |* Not necessarily need to match, but just in case any incompatibilities are encountered.
## Bug Description
Performance analysis tasks are not registering to the application project.
### Precondition
Set the following property to `true`
`gradle.properties`
```properties
org.gradle.configureondemand=true
```See: [Configuration on demand](https://docs.gradle.org/current/userguide/multi_project_configuration_and_execution.html#sec:configuration_on_demand)
### Reproducing Steps
#### Configuration
`:app/build.gradle.kts`
```kotlin
plugins {
id("com.emergetools.android") version "2.1.1"
}emerge {
performance {
// Note that this is the relative path from the rootProject
projectPath.set(":performance")
}
}
```#### Execution
Execute:
```terminal
$ ./gradlew :app:emergeGeneratePerformanceProject --package
```Sync project.
Execute:
```terminal
$ ./gradlew :app:tasks
```### Expected Behavior
Expected registered tasks:
```terminal
Emerge tasks
------------
emergeLocalDebugTest - Installs and runs tests for debug on connected devices. For testing and debugging.
emergeLocalReleaseTest - Installs and runs tests for release on connected devices. For testing and debugging.
emergeLocalSnapshotsDebug - Generate snapshots locally for variant Debug. Requires a device or emulator connected.
emergeUploadDebugAab - Builds and uploads an AAB for variant debug to Emerge.
emergeUploadDebugApk - Builds and uploads an APK for variant debug to Emerge.
emergeUploadDebugPerfBundle - Builds & uploads an AAB for variant debug to Emerge with performance test APK.
emergeUploadReleaseAab - Builds and uploads an AAB for variant release to Emerge.
emergeUploadReleaseApk - Builds and uploads an APK for variant release to Emerge.
emergeUploadReleasePerfBundle - Builds & uploads an AAB for variant release to Emerge with performance test APK.
emergeUploadSnapshotBundleDebug - Builds and uploads a snapshot bundle to Emerge. Snapshots will be generated on Emerge's cloud infrastructure and diffed based on the vcs params set in the Emerge plugin extension.
```### Actual Behavior
Actual registered tasks:
```terminal
Emerge tasks
------------
emergeLocalSnapshotsDebug - Generate snapshots locally for variant Debug. Requires a device or emulator connected.
emergeUploadDebugAab - Builds and uploads an AAB for variant debug to Emerge.
emergeUploadDebugApk - Builds and uploads an APK for variant debug to Emerge.
emergeUploadReleaseAab - Builds and uploads an AAB for variant release to Emerge.
emergeUploadReleaseApk - Builds and uploads an APK for variant release to Emerge.
emergeUploadSnapshotBundleDebug - Builds and uploads a snapshot bundle to Emerge. Snapshots will be generated on Emerge's cloud infrastructure and diffed based on the vcs params set in the Emerge plugin extension.
```## Additional Context
It appears the Emerge Tools Performance Analysis feature is incompatible
with `configuration on demand` gradle feature.