Skip to content

Commit

Permalink
Release 0.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
tylerbwong committed Nov 16, 2020
1 parent 408b204 commit f445dcd
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 22 deletions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ buildscript {
dependencies {
classpath("com.android.tools.build:gradle:4.1.1")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10")
classpath("me.tylerbwong.gradle:metalava-gradle:0.1.0-alpha07")
classpath("me.tylerbwong.gradle:metalava-gradle:0.1.0")
}
}

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion plugin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {
}

group = "me.tylerbwong.gradle"
version = "0.1.0-alpha08-SNAPSHOT"
version = "0.1.0"

gradlePlugin {
plugins {
Expand Down
15 changes: 11 additions & 4 deletions plugin/src/main/kotlin/me/tylerbwong/gradle/metalava/Module.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,15 @@ internal sealed class Module {
.flatMap { it.compilations }
.filter { it.defaultSourceSetName.contains("main", ignoreCase = true) }
.flatMap { it.compileDependencyFiles }
.filter { it.exists() }
.filter { it.exists() && it.checkDirectory(listOf(".jar", ".class")) }
}

class Java(private val convention: JavaPluginConvention) : Module() {
override val compileClasspath: Collection<File>
get() = convention.sourceSets
.filter { it.name.contains("main", ignoreCase = true) }
.map { it.compileClasspath }
.flatten()
.filter { it.exists() }
.flatMap { it.compileClasspath }
.filter { it.exists() && it.checkDirectory(listOf(".jar", ".class")) }
}

companion object {
Expand All @@ -54,5 +53,13 @@ internal sealed class Module {
else -> throw GradleException("This module is currently not supported by the Metalava plugin")
}
}

internal fun File.checkDirectory(validExtensions: Collection<String>): Boolean {
return if (isFile) {
validExtensions.any { name.endsWith(it, ignoreCase = true) }
} else {
listFiles()?.all { it.checkDirectory(validExtensions) } ?: false
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ import me.tylerbwong.gradle.metalava.extension.MetalavaExtension
import org.gradle.api.Project
import org.gradle.api.tasks.JavaExec
import org.gradle.api.tasks.TaskProvider
import java.io.File
import java.util.Locale

internal object MetalavaSignature : MetalavaTaskContainer() {
fun registerMetalavaSignatureTask(
Expand All @@ -25,25 +23,16 @@ internal object MetalavaSignature : MetalavaTaskContainer() {
classpath(extension.metalavaJarPath?.let { files(it) } ?: getMetalavaClasspath(extension.version))

val fullClasspath = (module.bootClasspath + module.compileClasspath).joinToString(":")
val sources = file("src").walk()
val sources = file("src")
.walk()
.maxDepth(2)
.onEnter { !it.name.toLowerCase(Locale.getDefault()).contains("test") }
.onEnter { !it.name.contains("test", ignoreCase = true) }
.filter { it.isDirectory && (it.name == "java" || it.name == "kotlin") }
.toList()

val hides = sources.flatMap { file ->
file.walk().filter { it.isDirectory && it.name == "internal" }.toList()
}.map {
it.relativeTo(projectDir).path
.split(File.separator)
.drop(3)
.joinToString(".")
}.distinct()

val sourcePaths = listOf("--source-path") + sources.joinToString(":")
val hidePackages = hides.flatMap { listOf("--hide-package", it) } +
extension.hiddenPackages.map { "--hide-package $it" }
val hideAnnotations = extension.hiddenAnnotations.map { "--hide-annotation $it " }
val hidePackages = extension.hiddenPackages.flatMap { listOf("--hide-package", it) }
val hideAnnotations = extension.hiddenAnnotations.flatMap { listOf("--hide-annotation", it) }

val args: List<String> = listOf(
"${extension.documentation}",
Expand Down

0 comments on commit f445dcd

Please sign in to comment.