Fixed invalid Dokka -pluginConfiguration argument. Closes #2
This commit is contained in:
parent
3a5f4f04bd
commit
deb66a2d20
3 changed files with 24 additions and 15 deletions
|
@ -33,7 +33,7 @@ public class CompileKotlinOperationBuild extends Project {
|
||||||
public CompileKotlinOperationBuild() {
|
public CompileKotlinOperationBuild() {
|
||||||
pkg = "rife.bld.extension";
|
pkg = "rife.bld.extension";
|
||||||
name = "bld-kotlin";
|
name = "bld-kotlin";
|
||||||
version = version(0, 9, 7);
|
version = version(0, 9, 8, "SNAPSHOT");
|
||||||
|
|
||||||
javaRelease = 17;
|
javaRelease = 17;
|
||||||
downloadSources = true;
|
downloadSources = true;
|
||||||
|
|
|
@ -50,7 +50,7 @@ public class DokkaOperation extends AbstractProcessOperation<DokkaOperation> {
|
||||||
private final Collection<String> globalPackageOptions_ = new ArrayList<>();
|
private final Collection<String> globalPackageOptions_ = new ArrayList<>();
|
||||||
private final Collection<String> globalSrcLinks_ = new ArrayList<>();
|
private final Collection<String> globalSrcLinks_ = new ArrayList<>();
|
||||||
private final Collection<String> includes_ = new ArrayList<>();
|
private final Collection<String> includes_ = new ArrayList<>();
|
||||||
private final Map<String, String> pluginConfiguration_ = new ConcurrentHashMap<>();
|
private final Map<String, String> pluginsConfiguration_ = new ConcurrentHashMap<>();
|
||||||
private final Collection<String> pluginsClasspath_ = new ArrayList<>();
|
private final Collection<String> pluginsClasspath_ = new ArrayList<>();
|
||||||
private boolean delayTemplateSubstitution_;
|
private boolean delayTemplateSubstitution_;
|
||||||
private boolean failOnWarning_;
|
private boolean failOnWarning_;
|
||||||
|
@ -64,6 +64,15 @@ public class DokkaOperation extends AbstractProcessOperation<DokkaOperation> {
|
||||||
private SourceSet sourceSet_;
|
private SourceSet sourceSet_;
|
||||||
private boolean suppressInheritedMembers_;
|
private boolean suppressInheritedMembers_;
|
||||||
|
|
||||||
|
// Encodes to JSON adding braces as needed
|
||||||
|
private static String encodeJson(final String json) {
|
||||||
|
var sb = new StringBuilder(json);
|
||||||
|
if (!json.startsWith("{") || !json.endsWith("}")) {
|
||||||
|
sb.insert(0, "{").append("}");
|
||||||
|
}
|
||||||
|
return StringUtils.encodeJson(sb.toString());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the delay substitution of some elements.
|
* Sets the delay substitution of some elements.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -194,11 +203,11 @@ public class DokkaOperation extends AbstractProcessOperation<DokkaOperation> {
|
||||||
}
|
}
|
||||||
|
|
||||||
// -pluginConfiguration
|
// -pluginConfiguration
|
||||||
if (!pluginConfiguration_.isEmpty()) {
|
if (!pluginsConfiguration_.isEmpty()) {
|
||||||
args.add("-pluginConfiguration");
|
args.add("-pluginsConfiguration");
|
||||||
var confs = new ArrayList<String>();
|
var confs = new ArrayList<String>();
|
||||||
pluginConfiguration_.forEach((k, v) ->
|
pluginsConfiguration_.forEach((k, v) ->
|
||||||
confs.add(String.format("{%s}={%s}", StringUtils.encodeJson(k), StringUtils.encodeJson(v))));
|
confs.add(String.format("%s=%s", encodeJson(k), encodeJson(v))));
|
||||||
args.add(String.join("^^", confs));
|
args.add(String.join("^^", confs));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -501,20 +510,20 @@ public class DokkaOperation extends AbstractProcessOperation<DokkaOperation> {
|
||||||
* @param jsonConfiguration The plugin JSON configuration
|
* @param jsonConfiguration The plugin JSON configuration
|
||||||
* @return this operation instance
|
* @return this operation instance
|
||||||
*/
|
*/
|
||||||
public DokkaOperation pluginConfiguration(String name, String jsonConfiguration) {
|
public DokkaOperation pluginConfigurations(String name, String jsonConfiguration) {
|
||||||
pluginConfiguration_.put(name, jsonConfiguration);
|
pluginsConfiguration_.put(name, jsonConfiguration);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the configuration for Dokka plugins.
|
* Sets the configuration for Dokka plugins.
|
||||||
*
|
*
|
||||||
* @param pluginConfiguration the map of configurations
|
* @param pluginConfiguratione the map of configurations
|
||||||
* @return this operation instance
|
* @return this operation instance
|
||||||
* @see #pluginConfiguration(String, String)
|
* @see #pluginConfigurations(String, String)
|
||||||
*/
|
*/
|
||||||
public DokkaOperation pluginConfiguration(Map<String, String> pluginConfiguration) {
|
public DokkaOperation pluginConfigurations(Map<String, String> pluginConfiguratione) {
|
||||||
pluginConfiguration_.putAll(pluginConfiguration);
|
pluginsConfiguration_.putAll(pluginConfiguratione);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,8 +41,8 @@ class DokkaOperationTest {
|
||||||
.globalSrcLink("link1", "link2")
|
.globalSrcLink("link1", "link2")
|
||||||
.globalSrcLink(List.of("link3", "link4"))
|
.globalSrcLink(List.of("link3", "link4"))
|
||||||
.includes("file1", "file2")
|
.includes("file1", "file2")
|
||||||
.pluginConfiguration("name", "\"json\"")
|
.pluginConfigurations("name", "{\"json\"}")
|
||||||
.pluginConfiguration(Map.of("\"name2\"", "json2"))
|
.pluginConfigurations(Map.of("{\"name2\"}", "json2", "name3}", "{json3"))
|
||||||
.pluginsClasspath("path1", "path2")
|
.pluginsClasspath("path1", "path2")
|
||||||
.pluginsClasspath(List.of("path3", "path4"))
|
.pluginsClasspath(List.of("path3", "path4"))
|
||||||
.delayTemplateSubstitution(true)
|
.delayTemplateSubstitution(true)
|
||||||
|
@ -79,7 +79,7 @@ class DokkaOperationTest {
|
||||||
"-moduleVersion", "1.0",
|
"-moduleVersion", "1.0",
|
||||||
"-noSuppressObviousFunctions",
|
"-noSuppressObviousFunctions",
|
||||||
"-offlineMode",
|
"-offlineMode",
|
||||||
"-pluginConfiguration", "{name}={\\\"json\\\"}^^{\\\"name2\\\"}={json2}",
|
"-pluginsConfiguration", "{\\\"name2\\\"}={json2}^^{name}={\\\"json\\\"}^^{name3}}={{json3}",
|
||||||
"-suppressInheritedMembers");
|
"-suppressInheritedMembers");
|
||||||
|
|
||||||
assertThat(args).hasSize(matches.size());
|
assertThat(args).hasSize(matches.size());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue