https://github.com/johnsonlee/initializr
Initialization Framework for Android Application
https://github.com/johnsonlee/initializr
Last synced: 10 months ago
JSON representation
Initialization Framework for Android Application
- Host: GitHub
- URL: https://github.com/johnsonlee/initializr
- Owner: johnsonlee
- License: apache-2.0
- Created: 2022-05-28T10:53:28.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-06-20T15:47:50.000Z (almost 4 years ago)
- Last Synced: 2025-03-28T23:51:11.649Z (about 1 year ago)
- Language: Kotlin
- Size: 141 KB
- Stars: 14
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Initializr
A framework for app initialization.
## Getting Started
Configuring [booster](https://github.com/didi/booster) plugin and initializr booster plugin:
```kotlin
buildscripts {
repositories {
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath("com.android.tools.build:gradle:${agpVersion}")
classpath("com.didiglobal.booster:booster-gradle-plugin:${boosterVersion}")
classpath("io.johnsonlee.initializr:compiler:${initializrVersion}")
}
}
```
Then, applying plugins:
```kotlin
plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-kapt")
id("com.didiglobal.booster")
}
```
Then, configuring initializr compiler and runtime library:
```kotlin
dependencies {
kapt("io.johnsonlee.initializr:compiler:${initializrVersion}")
implementation("io.johnsonlee.initializr:runtime:${initializrVersion}")
}
```
## Example
### PrimaryInitializer
```kotlin
@Initialization(
name = "PrimaryInitializer",
dependencies = []
)
class PrimaryInitializer : AbstractInitializer {
override fun initialize(context: Context) {
}
}
```
### SecondaryInitializer
```kotlin
@Initialization(
name = "SecondaryInitializer",
dependencies = ["PrimaryInitializer"]
)
class SecondaryInitializer : AbstractInitializer {
override fun initialize(context: Context) {
}
}
```
### MyApplication
```kotlin
class MyApplication: Application() {
fun onCreate() {
super.onCreate()
Initiator.init(this)
}
}
```