forma
forma copied to clipboard
Meta build system with Android and Gradle support.
Configuration takes a lot of time with forma. Probably it happens because of a lot of transformations like Kotlin `map` or `filter` in deps. Kotlin `map` creates ArrayList with 10...
Currently versionCode and versionName are placed in FormaConfiguration, but it's not global configuration responsibility to use single version configuration for whole project. We should have ability to set version code/name...
Sometimes we need to exclude modules from validation. For example we need it when fork some libraries to our project (like exoplayer and e.t.c)
Supporting build types configurations by using only Forma API - Supported base build types: Debug, Release, Custom, None
https://developer.android.com/studio/write/java8-support#library-desugaring
Need to add it to impl, androidLibrary, androidUtils, widget, androidApp
Rewrite details feature using view binding and keep only api and impl modules to show example of using #98
Need to get napt-plugin and integrate by replacing kapt behavior for java code gen.
Necessary to move features from https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/BuildFeatures to Forma configuration. By default need to switch off all flags, but provide another solution for configuration BuildFeatures through Forma API