feat: many new android features
Thought it was time to make that big PR. It is quite impossible now to divide everything as each part depends on the other. I really hope we can make that work for everyone to enjoy the new features. I ll try to list them all. Dont hesitate if you have questions
- Gradle 8 support
- App/plugins gradle files now included in the CLI and not the runtime. Easier to maintain and pave the way for a possible
@nativescript/gradleplugin. - Build only abis of connected devices: Faster build, smaller build => faster installation. Very practical when working on devices like firetv
- support custom build path. Essential for monorepo like projects building multiple apps from the same source code. Example project here https://github.com/Akylas/com.akylas.documentscanner
- improved timeline JSON to be compatible with firefox
- include the PR https://github.com/NativeScript/nativescript-cli/pull/5773
- include the PR https://github.com/NativeScript/nativescript-cli/pull/5772
- include the PR https://github.com/NativeScript/nativescript-cli/pull/5764
TODO
There is one thing i would like to improve which is this. I commented on the reason why we need that.
Though i am sure we might find a better solution. The issue with the way i did it if that if new task are added (either tools update of maybe through plugin) that list will need to be update which is ugly. I already had to add tasks added by the sentry plugin...
Maybe @triniwiz you know a way to do it better. I know the reason is that by reading the buildMetada task (or the tasks it depends on like those handling jars) gradle thinks buildMetadata uses as an input the output of all those tasks. TBH i dont really understand fully the code of the buildMetadata task ...
@rigor789 any chance to boost this one so that it gets merged? Maybe an alpha version so that the team can test with their projects? I have contributors forced to use my fork because we need this
@edusperoni i think you did some work around gradle? I still have to fix the why i need this https://github.com/farfromrefug/nativescript-cli/blob/new_big_merge_test/vendor/gradle-app/app/build.gradle#L986. There is something wrong with our buildMetadata task which makes all tasks depends on it
@rigor789 I am sorry I resolved by mistake the conflicts I pushed fixes for...
@rigor789 now all tests are passing here