Skip to content

Conversation

@Petrakeas
Copy link
Contributor

No description provided.

Updated appcompat to 1.6.1

Moved the version number of some dependencies in the "versions" variable of the
main gradle file.

Did some small updates as indicated by IntelliJ:

* register tasks instead of creating new ones
* use `configureEach`
* remove `buildToolsVersion`
* migrate `compilesdkversion` to `compieSdk` inside the android bracket

Due to updating the gson library, a conflict occurred with
`META-INF/versions/9/module-info.class` which was already provided by the
jdom library. An "exclude" option has been added in the jar configuration to
solve this issue.
Updated to Gradle 8.0 and AGP 8.1.0.

The update introduced the following Gradle flags  per the documentation:
https://developer.android.com/build/releases/past-releases/agp-8-0-0-release-notes#default-changes

The update wizard set them to the "previous default value":

```
android.defaults.buildfeatures.buildconfig=true
android.nonTransitiveRClass=false
android.nonFinalResIds=false
```

Even though these values were kept, the project was also tested with  the
"new default values" and no problems were found.

Removed "org.jetbrains.kotlin:kotlin-stdlib" from dependencies
as it caused a conflict when the `txsdk` was consumed by a project that
had a different version of the Kotlin stdlib. On top of that, instead of using
the Kotlin version of `TxContextWrappingDelegate`, we are now using
`TxContextWrappingDelegateJava` which is Java based. This allowed us to remove
the Kotlin Gradle plugin from the project. `TxContextWrappingDelegate` class was
left in the code base, even though it's not used. Compilation errors will occur
if we ever try to use it, since the Kotlin plugin is no longer used in the project.

There was an issue with javadoc tasks after the update. It has been documented
here:

gradle/gradle#19817

Changing `project.files(android.getBootClasspath().join(File.pathSeparator))`
to `project.files(android.getBootClasspath())`, solved the issue. The original
code created  a single string containing n paths (concatenated with pathSeparator)
which is not supported after Gradle 8:
https://docs.gradle.org/current/userguide/upgrading_version_7.html#file_collection_to_classpath

This did not allow Gradle to keep track of javadoc task's inputs.
The new code seems to pass the file paths as an array and works as expected.

A "minifyTesting" build type has been added, so that testing R8's optimizations
manually is easer.

In "common"'s testFixtures, the implementation dependency to `okhttp3Mockwebserver`
has been changed to a compile only dependency, to solve a conflict when
doing instrumented testing.

In the consumer R8 rules the following was added to solve an error:
-dontwarn lombok.NonNull
Gradle 8.0 requires JDK 17 to run. The "release" and "gradle"Github CI
workflows have been updated to use JDK 17.

Some Github actions were updated to their latest version.

Cache action was replaced by "gradle-build-action".
We want the cache to be updated when using the dev branch, otherwise
it is not of much use.
@n1k0sv n1k0sv merged commit c95f2c2 into transifex:devel Sep 27, 2023
@txsentinel txsentinel mentioned this pull request Oct 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants