@@ -4,13 +4,13 @@ import com.github.sherter.googlejavaformatgradleplugin.GoogleJavaFormatExtension
4
4
import com.google.common.collect.ImmutableList
5
5
import com.google.common.collect.ImmutableMap
6
6
import java.io.File
7
- import java.nio.file.Paths
8
7
import org.gradle.api.Plugin
9
8
import org.gradle.api.Project
10
9
import org.gradle.api.attributes.Attribute
11
10
import org.gradle.api.plugins.JavaPluginConvention
12
11
import org.gradle.api.publish.PublishingExtension
13
12
import org.gradle.api.publish.maven.MavenPublication
13
+ import org.gradle.kotlin.dsl.getPlugin
14
14
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
15
15
16
16
class FirebaseJavaLibraryPlugin : Plugin <Project > {
@@ -38,40 +38,13 @@ class FirebaseJavaLibraryPlugin : Plugin<Project> {
38
38
}
39
39
40
40
private fun setupApiInformationAnalysis (project : Project ) {
41
- val mainSourceSet =
42
- project.convention.getPlugin(JavaPluginConvention ::class .java).sourceSets.getByName(" main" )
43
- val outputFile =
44
- project.rootProject.file(
45
- Paths .get(
46
- project.rootProject.buildDir.path,
47
- " apiinfo" ,
48
- project.path.substring(1 ).replace(" :" , " _" )
49
- )
50
- )
51
- val outputApiFile = File (outputFile.absolutePath + " _api.txt" )
52
- val apiTxt =
53
- if (project.file(" api.txt" ).exists()) project.file(" api.txt" )
54
- else project.file(project.rootDir.toString() + " /empty-api.txt" )
55
- val apiInfo =
56
- project.tasks.register(" apiInformation" , ApiInformationTask ::class .java) {
57
- sources.value(project.provider { mainSourceSet.java.srcDirs })
58
- apiTxtFile.set(apiTxt)
59
- baselineFile.set(project.file(" baseline.txt" ))
60
- this .outputFile.set(outputFile)
61
- this .outputApiFile.set(outputApiFile)
62
- updateBaseline.set(project.hasProperty(" updateBaseline" ))
63
- }
64
- val generateApiTxt =
65
- project.tasks.register(" generateApiTxtFile" , GenerateApiTxtTask ::class .java) {
66
- sources.value(project.provider { mainSourceSet.java.srcDirs })
67
- apiTxtFile.set(project.file(" api.txt" ))
68
- baselineFile.set(project.file(" baseline.txt" ))
69
- updateBaseline.set(project.hasProperty(" updateBaseline" ))
70
- }
71
- val docStubs =
72
- project.tasks.register(" docStubs" , GenerateStubsTask ::class .java) {
73
- sources.value(project.provider { mainSourceSet.java.srcDirs })
74
- }
41
+ val srcDirs =
42
+ project.convention.getPlugin<JavaPluginConvention >().sourceSets.getByName(" main" ).java.srcDirs
43
+
44
+ val apiInfo = getApiInfo(project, srcDirs)
45
+ val generateApiTxt = getGenerateApiTxt(project, srcDirs)
46
+ val docStubs = getDocStubs(project, srcDirs)
47
+
75
48
project.tasks.getByName(" check" ).dependsOn(docStubs)
76
49
project.afterEvaluate {
77
50
val classpath =
@@ -88,6 +61,7 @@ class FirebaseJavaLibraryPlugin : Plugin<Project> {
88
61
docStubs.configure { classPath = classpath }
89
62
}
90
63
}
64
+
91
65
private fun configurePublishing (project : Project , firebaseLibrary : FirebaseLibraryExtension ) {
92
66
project.apply (ImmutableMap .of(" plugin" , " maven-publish" ))
93
67
val publishing = project.extensions.getByType(PublishingExtension ::class .java)
0 commit comments