Hello, How can I fork Material3 separately? Curren...
# compose
w
Hello, How can I fork Material3 separately? Currently, it is mixed with androidx. Is it easy to create my own copy?
k
Separately from what? The full tree at
androidx/androidx
? Also, what’s the end goal? Use that forked version as an internal dependency in your project? Publish it as a competing alternative? Something else?
w
Separated from androidx as an internal dependency. This is because many values in their Compose's Material3 are fixed and cannot be changed (the values stored in tokens are hardcoded).
s
You can always just copy and paste things from in there if you need an altered version of it, like we’ve done here https://github.com/HedvigInsurance/android/tree/01925ac46576426f9edc507b92d9f4315d[…]kotlin/com/hedvig/android/core/designsystem/component/textfield The problem with this is always that at this point, we’re no longer receiving any of the updates to it when they make improvements in material3 itself, so you’re putting a maintenance burden on yourself.
👍 1
w
We have been doing it this way all along, but the maintenance pressure is really too much. If Compose-Material3 were a separate GitHub repository, we wouldn't have this kind of issue, and it would also be easier to involve community members.
k
Assuming you make XYZ changes only in the
compose/material3
module and not anywhere else in the
androidx
project, you would have the same rebase / maintenance issues, no matter if you fork the full repository, or just that hypothetical separate repository.