All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.freeletics.gradle.setup.MoshiSetup.kt Maven / Gradle / Ivy

package com.freeletics.gradle.setup

import com.freeletics.gradle.util.booleanProperty
import com.freeletics.gradle.util.getDependency
import dev.zacsweers.moshix.ir.gradle.MoshiPluginExtension
import org.gradle.api.Project

internal fun Project.configureMoshi(sealed: Boolean) {
    val moshiKsp = booleanProperty("fgp.kotlin.moshiKsp", false)

    if (moshiKsp.get()) {
        configureProcessing(useKsp = true)

        dependencies.apply {
            add("implementation", getDependency("moshi"))
            add("ksp", getDependency("moshi-codegen"))
            if (sealed) {
                add("implementation", getDependency("moshix-sealed"))
                add("ksp", getDependency("moshix-sealed-codegen"))
            }
        }
    } else {
        plugins.apply("dev.zacsweers.moshix")

        extensions.configure(MoshiPluginExtension::class.java) {
            it.enableSealed.set(sealed)
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy