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

com.autonomousapps.internal.analyzer.JvmSourceSet.kt Maven / Gradle / Ivy

There is a newer version: 2.0.2
Show newest version
package com.autonomousapps.internal.analyzer

import com.android.builder.model.SourceProvider
import org.gradle.api.Project
import org.gradle.api.file.SourceDirectorySet
import org.gradle.api.tasks.SourceSet
import java.io.File
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet as JbKotlinSourceSet

internal interface JvmSourceSet {
  val name: String
  val jarTaskName: String
  val sourceCode: SourceDirectorySet

  fun asFiles(project: Project): Set =
    project.files(sourceCode.sourceDirectories).asFileTree.files
}

internal class JavaSourceSet(sourceSet: SourceSet) : JvmSourceSet {
  override val name: String = sourceSet.name
  override val jarTaskName: String = sourceSet.jarTaskName
  override val sourceCode: SourceDirectorySet = sourceSet.allJava
}

internal class KotlinSourceSet(kotlinSourceSet: JbKotlinSourceSet) : JvmSourceSet {
  override val name: String = kotlinSourceSet.name
  override val jarTaskName: String = "jar"
  override val sourceCode: SourceDirectorySet = kotlinSourceSet.kotlin
}

/**
 * All the relevant Java and Kotlin source sets for a given Android variant.
 */
internal class VariantSourceSet(
  val androidSourceSets: Set = emptySet(),
  val kotlinSourceSets: Set? = null
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy