ankidroid / Anki-Android

AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention.
GNU General Public License v3.0
7.93k stars 2.16k forks source link

migrate gradle to build-logic / composite build module to share build logic between modules #16268

Open AbdelrahmanEsam opened 2 weeks ago

AbdelrahmanEsam commented 2 weeks ago

Purpose / Description

Describe the problem or feature and motivation

Fixes

Approach

How does this change address the problem?

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration (SDK version(s), emulator or physical, etc)

Learning (optional, can help others)

Describe the research stage

Links to blog posts, patterns, libraries or addons used to solve this problem

Checklist

Please, go through these checks before submitting the PR.

AbdelrahmanEsam commented 2 weeks ago

@david-allison hi david .... I will discuss this with you at discord

david-allison commented 2 weeks ago

Thanks! Can you post the reply here so people looking into the history can understand

david-allison commented 2 weeks ago

I don't see a message in Discord and I'm getting loads of notifications from this

It would be useful to discuss first, as it's currently a "close & don't merge" unless there's reasoning given

AbdelrahmanEsam commented 1 week ago

@david-allison hi david hope you are doing well .... can you help me figureing out why emulator tests fails ?

david-allison commented 1 week ago

I want to go back to lukstbit and my unanswered comments first.

There's little point of getting this passing CI if we don't know whether we're going to merge it or not.

I'll rerun CI

AbdelrahmanEsam commented 1 week ago

well I am using a build-logic module for building the app but why ? well this have good results like 1- you are using regular kotlin code for build your app so it's so much easier to any kotlin dev to do it . 2- now your build is composable so you can share the same gradle plugin to more than one module instead of rewrite the same logic in more than one module and when you alter it you are altering it with all of your modules so this is good for archtiecture .

you can read more about composite build here https://docs.gradle.org/current/userguide/composite_builds.html