Added support for compiler plugins
This commit is contained in:
parent
b29169213b
commit
132fc7199b
2 changed files with 30 additions and 2 deletions
|
@ -41,6 +41,7 @@ public class CompileKotlinOperation extends AbstractOperation<CompileKotlinOpera
|
|||
private final Collection<String> compileTestClasspath_ = new ArrayList<>();
|
||||
private final Collection<File> mainSourceDirectories_ = new ArrayList<>();
|
||||
private final Collection<File> mainSourceFiles_ = new ArrayList<>();
|
||||
private final Collection<String> plugins_ = new ArrayList<>();
|
||||
private final Collection<File> testSourceDirectories_ = new ArrayList<>();
|
||||
private final Collection<File> testSourceFiles_ = new ArrayList<>();
|
||||
private File buildMainDirectory_;
|
||||
|
@ -269,6 +270,11 @@ public class CompileKotlinOperation extends AbstractOperation<CompileKotlinOpera
|
|||
args.addAll(compileOptions_.args());
|
||||
}
|
||||
|
||||
// plugins
|
||||
if (!plugins_.isEmpty()) {
|
||||
plugins_.forEach(p -> args.add("-Xplugin=" + p));
|
||||
}
|
||||
|
||||
// sources
|
||||
sources.forEach(f -> args.add(f.getAbsolutePath()));
|
||||
|
||||
|
@ -399,6 +405,28 @@ public class CompileKotlinOperation extends AbstractOperation<CompileKotlinOpera
|
|||
return mainSourceFiles_;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides compiler plugins.
|
||||
*
|
||||
* @param plugins one or more plugins
|
||||
* @return this class instance
|
||||
*/
|
||||
public CompileKotlinOperation plugins(String... plugins) {
|
||||
plugins_.addAll(List.of(plugins));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides compiler plugins.
|
||||
*
|
||||
* @param plugins a list of plugins
|
||||
* @return this class instance
|
||||
*/
|
||||
public CompileKotlinOperation plugins(Collection<String> plugins) {
|
||||
plugins_.addAll(plugins);
|
||||
return this;
|
||||
}
|
||||
|
||||
// Combine Kotlin sources
|
||||
private Collection<File> sources(Collection<File> files, Collection<File> directories) {
|
||||
var sources = new ArrayList<>(files);
|
||||
|
|
|
@ -496,9 +496,9 @@ public class CompileKotlinOptions {
|
|||
}
|
||||
|
||||
/**
|
||||
* Enable verbose logging output which includes details of the compilation process.
|
||||
* Pass an option to a plugin.
|
||||
*
|
||||
* @param id the plugin
|
||||
* @param id the plugin ID
|
||||
* @param optionName the plugin option name
|
||||
* @param value the plugin option value
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue