Skip to content

softnepo/easy-logic

Repository files navigation

Uma solução simples de como criar plugins.💗

Objetivo

Sempre que você precisa construir uma custom plugin para evitar o booileplate dentro do seu projeto pense na easy logic, ela devolve uma abstração simples apoiando a construções de suas plugins gradle

Exemplo

Segue um repositório de exemplo, onde podemos encontrar a utilização dos nossos recursos disponível na versão experimental do projeto.

Repositório utilizando a versão experimental: Monfu Network - Sample

última versão (experimental)

  implementation("top.softnepo:easy-logic:0.0.12-experimental")

Recursos

Se você deseja adicionar plugins no script você pode utilizar easyLogicPlugins, ela retorna todo suporte necessário para plugins simples

    easyLogicPlugins {
        applyPlugin("com.android.library")
        applyPlugin("org.jetbrains.kotlin.android")
    }

Se deseja configurar o build de um modulo android gradle, você pode utilizar easyLogicBuild, ele providencia para você a estrutura do project android variáveis e métodos simples.

     easyLogicBuild {
        compileSdk = 32
        targetSdk = 32
        onDefaultConfig {
            .minSdk = 21
            testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
            setProguardFiles(listOf("consumer-rules.pro"))
        }
        onCompileOptions {
            sourceCompatibility = JavaVersion.VERSION_1_8
            targetCompatibility = JavaVersion.VERSION_1_8
        }
        onKotlinOptions { jvmTarget = "1.8" }
    }

Para adicionar as dependencias ganhamos alguns luxos, podemos utilizar a extensão easyLogicDependency

Suporte ao catalog: carregue o arquivo com as dependencias no settings do projeto, caso esteja em algum conexto diferente

    dependencyResolutionManagement {
       repositories {
          google()
          mavenCentral()
       }
       versionCatalogs.create("libs") { from(files("../gradle/libs.versions.toml")) }
   }

Consumindo catalog: para consumir as dependencias do catalog você pode utilizar os métodos de apoio, onde você só indica o nome da biblioteca cadastrada e com isso, ele ja faz o resto para você 💗

    easyLogicDependency {
            catalogImplementation("core.kotlin")
            catalogImplementation("core.android.coroutines")
            catalogImplementation("core.retrofit.library")
            catalogImplementation("core.retrofit.gson")

            catalogTestImplementation("unit.test.junit")
        }

o mesmo se aplica adicionando as dependencias normal, porém sem o prefix catalog

    easyLogicDependency {
        implementation("top.softnepo:easy-logic:0.0.12-experimental")
    }

Para implementar um modulo, você pode utilizar as funções de suporte com prefix import

    easyLogicDependency {
        importImplementation(":feature:home")
    }

About

Project open source to help android develop on create custom plugins

Resources

Stars

Watchers

Forks

Packages

No packages published