Skip to content

Instantly share code, notes, and snippets.

@bnorm
Created November 21, 2020 19:16
Show Gist options
  • Save bnorm/b5606316f478506d79d584e72af91801 to your computer and use it in GitHub Desktop.
Save bnorm/b5606316f478506d79d584e72af91801 to your computer and use it in GitHub Desktop.
@AutoService(ComponentRegistrar::class)
class TemplateComponentRegistrar(
private val defaultString: String,
private val defaultFile: String,
) : ComponentRegistrar {
@Suppress("unused") // Used by service loader
constructor() : this(
defaultString = "Hello, World!",
defaultFile = "file.txt"
)
override fun registerProjectComponents(
project: MockProject,
configuration: CompilerConfiguration
) {
val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, MessageCollector.NONE)
val string = configuration.get(TemplateCommandLineProcessor.ARG_STRING, defaultString)
val file = configuration.get(TemplateCommandLineProcessor.ARG_FILE, defaultFile)
IrGenerationExtension.registerExtension(project, TemplateIrGenerationExtension(messageCollector, string, file))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment