0Pricing
Kotlin Academy · Aula

Dependências e Plug-ins

Configure a compilação

Dependências e Plug-ins é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Academy inclui 4 aulas no total.

Configurações de dependência

O Gradle agrupa as dependências por configuração, que controla quando e onde elas ficam disponíveis:

  • implementation — compilação e execução, sem exposição aos consumidores
  • api — também exposta aos consumidores
  • testImplementation — somente para testes

implementation versus api

implementation oculta uma dependência dos módulos que dependem do seu, melhorando o desempenho da compilação e o encapsulamento. Use api somente quando a dependência aparecer nos seus tipos públicos.

dependencies {
    api("com.squareup.okio:okio:3.9.0")          // leaks into public API
    implementation("com.google.code.gson:gson:2.11.0") // internal only
}

compileOnly e runtimeOnly

Algumas dependências são necessárias em apenas uma fase:

  • compileOnly — presente durante a compilação, mas não empacotada (por exemplo, anotações)
  • runtimeOnly — presente somente durante a execução (por exemplo, um driver JDBC)
dependencies {
    compileOnly("org.projectlombok:lombok:1.18.32")
    runtimeOnly("org.postgresql:postgresql:42.7.3")
}

Coordenadas de dependência

Uma coordenada tem o formato group:name:version. Você pode dividi-la explicitamente para obter mais clareza.

dependencies {
    implementation(group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.8.1")
}

Dependências do Projeto

Em uma compilação com vários módulos, um módulo depende de outro com project(...).

dependencies {
    implementation(project(":core"))
}

Aplicando Plug-ins Principais

Os plug-ins integrados não precisam de versão. Os plug-ins da comunidade são aplicados com um identificador e uma versão.

plugins {
    id("java-library")
    kotlin("jvm") version "2.0.0"
    id("com.github.johnrengelman.shadow") version "8.1.1"
}

Plug-ins do Portal

A maioria dos plug-ins é resolvida automaticamente pelo Gradle Plugin Portal quando aplicada no bloco plugins { } por identificador.

plugins {
    id("org.jetbrains.kotlin.plugin.serialization") version "2.0.0"
}

Excluindo Dependências Transitivas

Você pode excluir uma dependência transitiva indesejada que acompanha outra biblioteca.

dependencies {
    implementation("com.example:lib:1.0") {
        exclude(group = "org.slf4j", module = "slf4j-api")
    }
}

Forçando uma Versão

Resolva conflitos forçando uma versão específica por meio de uma estratégia de resolução.

configurations.all {
    resolutionStrategy {
        force("com.google.guava:guava:33.2.1-jre")
    }
}

Inspecionando a Árvore de Dependências

Use a tarefa dependencies para ver o grafo resolvido e diagnosticar conflitos.

// ./gradlew dependencies
// ./gradlew app:dependencies --configuration runtimeClasspath

Escolhendo a Configuração Correta

Use implementation como padrão. Use api com moderação, testImplementation para testes e o par compileOnly/runtimeOnly para necessidades específicas de cada fase.

Verificação Rápida

Uma biblioteca de registro em log é usada apenas dentro do seu módulo e nunca aparece nos seus tipos públicos. Qual configuração é a mais adequada?

Recapitulação

Você configurou a compilação:

  • Configurações: implementation, api, compileOnly, runtimeOnly, testImplementation
  • Aplique plug-ins por identificador (com versão) ou como plug-ins principais
  • Exclua ou force versões e inspecione a árvore

Próximo tópico: escrever tarefas personalizadas.

Perguntas Frequentes

A aula “Dependências e Plug-ins” é grátis?

Sim — o texto completo de “Dependências e Plug-ins” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Academy, atualize para CoddyKit PRO. O curso de Kotlin Academy inclui 4 aulas no total.

O que vou aprender em “Dependências e Plug-ins”?

Configure a compilação Você pratica Kotlin Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Kotlin Academy?

Nenhuma experiência prévia é necessária. Kotlin Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Dependências e Plug-ins”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Kotlin Academy?

Sim. Cada aula de Kotlin Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. DSL do Kotlin para Gradle
  2. Dependências e Plug-ins
  3. Tarefas Personalizadas
  4. Catálogos de Versões
← Voltar para Kotlin Academy