elect
11/09/2025, 10:55 AMimport org.gradle.api.Project
import java.io.ByteArrayOutputStream
context(_: Project)
operator fun String.invoke(vararg args: String): String {
val output = ByteArrayOutputStream()
providers.exec { // error, `providers` unresolved
commandLine("arduino-cli", "version")
standardOutput = output
}
return output.toString()
}elect
11/09/2025, 10:55 AMimport org.gradle.api.Project
import java.io.ByteArrayOutputStream
context(project: Project)
operator fun String.invoke(vararg args: String): String {
val output = ByteArrayOutputStream()
project.providers.exec {
commandLine("arduino-cli", "version")
standardOutput = output
}
return output.toString()
}Youssef Shoaib [MOD]
11/09/2025, 11:07 AMcontext(p: Project) val providers get() = p.providerselect
11/09/2025, 11:08 AMpublic interface Project {
ProviderFactory getProviders();Youssef Shoaib [MOD]
11/09/2025, 11:18 AMcontextOf<Project>().providers.exec instead of making a bridge methodelect
11/09/2025, 11:18 AMYou can useas a context parameter name. In this case, the parameter's value is available for resolution but is not accessible by name inside the block:_
elect
11/09/2025, 11:19 AMYoussef Shoaib [MOD]
11/09/2025, 11:20 AM