• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 import ru.vyarus.gradle.plugin.animalsniffer.*
2 
<lambda>null3 configure(subprojects) {
4     // Skip JDK 8 projects or unpublished ones
5     if (!shouldSniff()) return@configure
6     apply(plugin = "ru.vyarus.animalsniffer")
7     project.plugins.withType(JavaPlugin::class.java) {
8         configure<AnimalSnifferExtension> {
9             sourceSets = listOf((project.extensions.getByName("sourceSets") as SourceSetContainer).getByName("main"))
10         }
11         val signature: Configuration by configurations
12         dependencies {
13             signature("net.sf.androidscents.signature:android-api-level-14:4.0_r4@signature")
14             signature("org.codehaus.mojo.signature:java17:1.0@signature")
15         }
16 
17         if (project.name == coreModule) {
18             // Specific files so nothing from core is accidentally skipped
19             tasks.withType<AnimalSniffer>().configureEach {
20                 exclude("**/future/FutureKt*")
21                 exclude("**/future/ContinuationHandler*")
22                 exclude("**/future/CompletableFutureCoroutine*")
23 
24                 exclude("**/stream/StreamKt*")
25                 exclude("**/stream/StreamFlow*")
26 
27                 exclude("**/time/TimeKt*")
28             }
29         }
30     }
31 }
32 
Projectnull33 fun Project.shouldSniff(): Boolean {
34     // Skip all non-JVM projects
35     if (platformOf(project) != "jvm") return false
36     val name = project.name
37     if (name in unpublished || name in sourceless || name in androidNonCompatibleProjects) return false
38     return true
39 }
40