Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature/update #51

Merged
merged 21 commits into from
Aug 28, 2024
Merged

feature/update #51

merged 21 commits into from
Aug 28, 2024

Conversation

mshdabiola
Copy link
Owner

No description provided.

This commit updates the project
 to use:
- JDK 21
- Gradle 7.6.2
- Android Gradle Plugin 8.1.2

It also includes the following changes:
- Enables KVM group permissions for running emulators in CI.
- Adds a timeout for the build job.

- Updates the baseline profile generation workflow to use JDK 21.
- Updates the screenshot testing workflow to use new Gradle tasks.
- Adds coverage report generation for JVM tests.
- Removes unnecessary Firebase references.
- Updates various GitHub Actions versions.
This commit adds two GitHub Actions workflows for release:

- **Release_to_playstore.yml**: This
 workflow builds a release bundle of the app, signs it, and uploads it to the Play Store internal test track.
- **Release.yml**: This workflow builds a release APK of the app and uploads it to a GitHub release.

These workflows automate the release process, making it easier to distribute new versions of the
 app.
This commit removes Robolectric and Roborazzi dependencies and related plugins from the project.

The `
jacoco` plugin and `mshdabiola.android.application.jacoco` plugin are also removed as they were likely used in conjunction with Robolectric for code coverage.
This commit removes the Jacoco plugin and updates the Kotlin version to 21.

The Jacoco
 plugin was causing issues with the build and was not providing any value. Removing it simplifies the build process and reduces the number of dependencies.

Updating the Kotlin version to 21 allows us to take advantage of the latest features and improvements in the language. It also ensures that our code is compatible with the latest Android SDK
.
Bumped the following dependencies:
- Android Gradle Plugin to 8.5.2
- Android Tools to
 31.5.2
- androidx.activity to 1.9.1
- androidx.compose.bom to 2024.08.00
- androidx.compose.bom.latest to 2024.08.00-alpha02

- androidx.compose.material3.adaptive to 1.0.0-rc01
- androidx.compose.material3.adaptive.navigation.suite to 1.3.0-rc01
- androidx.core to 1.13.1
- androidx.datastore to 1.1.1
- androidx.espresso to 3.6.1
- androidx.lifecycle to 2.8.4
- androidx.macrobenchmark to 1.3.0
- androidx.navigation to 2.8.0-rc01
- androidx.test
.core to 1.6.1
- androidx.test.ext to 1.2.1
- androidx.test.rules to 1.6.1
- androidx.test.runner to 1.6.2
- androidx.work to 2.9.1
- coil to 2.7.0
- Kotlin to 2.0.20
- kotlinx.coroutines to 1.8.1
- kotlinx.datetime to 0.6.0
- kotlinx.serialization.json to 1.7.0
- ksp to 2.0.20-1.0.24
- module-graph to 2.6.0
- room to 2.7.0-alpha07
- truth to 1.4.3
- Gradle Wrapper to 8.10
- play-game to 20.1.2
- play-coroutine to 1.8.1
- ktor to 2.3.12
This commit removes the Jacoco and Robolectric dependencies from the project, as they are no longer needed.

The following changes were made:

- Removed the `mshdabiola.android.library.jacoco` plugin from all modules.
- Removed the `robolectric` dependency from the `modules/designsystem` and `modules/screenshot-testing` modules.
- Removed the `roborazzi
` dependency from the `modules/designsystem` and `modules/screenshot-testing` modules.
- Updated the Java source and target compatibility to Java 21 in the `modules/model` module.
This commit disables the screenshot-testing and network modules, updates Gradle properties to enable parallel builds, and
 removes the configuration cache.

Specific changes:

- Disables screenshot-testing and network modules in `settings.gradle.kts`.
- Updates `.gitignore` to ignore the entire `.idea` directory.
- Removes Power Assert, Baseline Profile, and Compose plugins from `build.gradle.kts`.

- Adds Dependency Guard, Screenshot Testing, Kover, and Compose Compiler plugins.
- Enables parallel builds in `gradle.properties`.
- Removes configuration cache and non-transitive R class settings.
- Adds properties for Kotlin/Native experimental memory model and Android Gradle Plugin compatibility.
- Sets development flag to true.
- Enables screenshot tests for Android.
This commit migrates the existing screenshot tests from Robolectric to Paparazzi.

The following changes
 were made:

- Removed Robolectric-based screenshot tests for Background, Button, and TopAppBar components.
- Created a new Paparazzi screenshot test for the TopAppBar component.
- Added Timber dependency to the Android Library convention for logging.
- Applied the Compose library plugin to Android Feature convention.

- Added the data module as a dependency to the Android Feature convention.

This migration improves the efficiency and maintainability of the screenshot tests.
This commit removes a commented-out dependency on the `:modules:datastore` module in the `
modules/data` module's build file.
This cleanup improves the readability and maintainability of the build configuration.
This commit updates the version of the project to 1
.3.0 and sets the corresponding version code to 130.
The `versionName` property of `PackageInfo` can be null. This commit handles the case where `version
Name` is null by setting the `version` variable to "0.0.0". This prevents a potential crash when displaying the version information in the About screen.
This commit updates the benchmark configuration to use the AOSP system image for the Pixel
 6 API 33 emulator.
This commit removes unused modules and dependencies, including:

- `mshdabiola.android.application.firebase
` plugin
- `features.main` and `features.detail` modules
- `modules.worker` module
- Custom version code and name settings

This cleanup streamlines the project and removes unnecessary code.
This commit removes various .idea files that are not necessary for the project and should not be tracked by Git.

The removed files include:

- Inspection profiles
- Android test results user preferences
- Compiler configuration
- Git toolbox project settings
- Gradle settings
- Kotlinc settings
- Miscellaneous settings
- VCS settings

Removing these files helps to keep the repository clean and avoid conflicts between different developers' environments.
This commit removes a trailing whitespace from the `ScreenShot.kt` file.
Copy link
Owner Author

@mshdabiola mshdabiola left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good

@mshdabiola mshdabiola self-assigned this Aug 28, 2024
mshdabiola and others added 6 commits August 28, 2024 01:12
Migrated the model module to use the Mshdabiola convention plugin, simplifying the build
 configuration and removing redundant code.

This change removes the need for explicit Java and Kotlin configuration, as the convention plugin handles these settings automatically.
This commit updates the targetSdkVersion of the app to 35, reflecting the latest Android platform version.

This change ensures compatibility with newer devices and access to the latest features.
Additionally, the compileSdkVersion is also updated to 35 to align with the targetSdkVersion.
This commit removes the `NewsResourceCardTest` file, which was likely a placeholder or an incomplete test.
@mshdabiola mshdabiola enabled auto-merge August 28, 2024 15:50
@mshdabiola mshdabiola disabled auto-merge August 28, 2024 15:51
@mshdabiola mshdabiola merged commit 2c4bb7f into develop Aug 28, 2024
1 of 3 checks passed
@mshdabiola mshdabiola deleted the feature/update branch August 28, 2024 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant