INNER CODE UNIT · Kotlin

container

iurysza/module-graph · plugin-build/modulegraph/src/main/kotlin/dev/iurysouza/modulegraph/ModuleType.kt:129

    val container = getContainer.invoke(manager) as? Iterable<*> ?: return null
    container.mapNotNull { plugin ->
        if (plugin == null) return@mapNotNull null
        val optional = findId.invoke(manager, plugin.javaClass) ?: return@mapNotNull null
        val isPresent = optional.javaClass.getMethod("isPresent").invoke(optional) as Boolean
        if (!isPresent) return@mapNotNull null
        optional.javaClass.getMethod("get").invoke(optional)?.toString()
    }.distinct()
} catch (_: ReflectiveOperationException) {
    null
} catch (_: ClassCastException) {
    null
}

/** @return the "group:name" coordinates of every external dependency declared in this project. */
internal fun Project.externalDependencyCoordinates(): List<String> = runCatching {
    configurations.flatMap { configuration ->
        configuration.dependencies.filterIsInstance<ExternalModuleDependency>()

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…