Skip to content

InsertKoinIO/koin-embedded

Repository files navigation

Koin Embedded for Kotlin SDK & Library

Given that Android plugin doesn't allow to use external aar files anymore, and fatjar plugins are outdated ...

This project proposes scripts to help rebuild & package Koin project with a different package name. The interest is for SDK & Library development, to avoid conflict between embedded Koin version and any consuming application that would use another version of Koin, that might conflict.

With this project project you have following choices:

Feedback or help? Contact Koin Team.

Koin Relocation Scripts

Clone this repository to have access to all relocation scripts. Then follow next setup steps.

Setup

Open relocate.properties file to specify:

  • RELOCATION_PREFIX - Prefix to relocate Koin package. "embedded", will transform org.koin.* to embedded.koin.*
  • TARGET_KOIN_VERSION - Koin version tag to use
  • KOIN_MODULES - list of Koin modules to rename with prefix. I.e koin-core will become embeded-koin-core
  • BUILD_DIR - folder where Koin built artifacts are copied

Exemple - Koin 3.5.6

RELOCATION_PREFIX=relocated
TARGET_KOIN_VERSION=3.5.6
KOIN_MODULES=core/koin-core;android/koin-android
BUILD_DIR=./build

Exemple - Koin 4.0.4

RELOCATION_PREFIX=relocated
TARGET_KOIN_VERSION=4.0.4
KOIN_MODULES=core/koin-core;core/koin-core-viewmodel;android/koin-android
BUILD_DIR=./build

Run the Scripts

Requirements: JDK 17 environment to build Koin project

Just run ./relocate.sh.

Artifacts & Outputs

The output build will be in ./build or $BUILD_DIR

Once executed, open the ./build or $BUILD_DIR folder to get your aar/jar artifacts, to add to your project

All Koin modules will be installed locally, in your local Maven repo.

Koin Embedded Version

Here is an example of Koin embedded version: Kotzilla Repository

  • Available packages: embedded-koin-core, embedded-koin-android
  • Relocation on from org.koin.* to embedded.koin.*

Setup your Gradle config with this Maven repository:

maven { 'https://repository.kotzilla.io/repository/kotzilla-platform/' }

Project Sample

The embedded-project-sample folder contains sample for Koin embedded SDK Library.

  • sample-library - Android library project, using Koin embedded version in 3.5.6
  • sample-app - Android Application using Koin 4.0.2 and sample-library

Install Library

from embedded-project-sample/sample-library run install.sh

This projects uses Kotzilla Koin Embedded repo.

Run App & Library

from embedded-project-sample/sample-app, run the Android app

About

Embedded version of Koin via relocation scripts (sources & modules)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published