fun action()

in plugin/src/main/kotlin/com/android/gradle/replicator/GatherModuleInfoTask.kt [73:124]


    fun action() {
        val pluginList: List<PluginType> = plugins.get()

        val androidInputs = androidInputs.orNull

        val javaSources = if (pluginList.containsJava() || pluginList.containsAndroid()) {
            getSourceFilesInfo("**/*.java", androidInputs)
        } else {
            null
        }

        val kotlinSources = if (pluginList.containsKotlin()) {
            getSourceFilesInfo("**/*.kt", androidInputs)
         } else {
            null
        }

        val androidResources = if (pluginList.containsAndroid()) {
            getAndroidResourceFilesInfo(
                    ANDROID_RESOURCE_FOLDER_CONVENTION, androidInputs)
        } else {
            null
        }

        val javaResources = if (pluginList.containsJava()
                || pluginList.containsAndroid()
                || pluginList.containsKotlin()) {
            getJavaResourceFilesInfo(androidInputs)
        } else {
            null
        }

        val assets = if (pluginList.containsAndroid()) {
            getAssetFilesInfo(androidInputs)
        } else {
            null
        }

        val moduleInfo = DefaultModuleInfo(
            path = projectPath.get(),
            plugins = plugins.get(),
            javaSources = javaSources,
            kotlinSources = kotlinSources,
            androidResources = androidResources,
            javaResources = javaResources,
            assets = assets,
            dependencies = dependencies.get().map { it.toInfo() },
            android = androidInputs?.toInfo()
        )

        outputFile.get().asFile.writeText(Serializer.instance().serialize(moduleInfo))
    }