[core] Handle plus sign in template functions. Fixes #389

This commit is contained in:
Andres Almiray
2021-10-04 21:06:59 +02:00
parent 1713602bcc
commit 18dceee82d
2 changed files with 20 additions and 17 deletions

View File

@@ -386,13 +386,13 @@ public class Project implements Domain, ExtraProperties {
String vn = (String) getExtraProperties().get(Constants.KEY_VERSION_NUMBER);
String ev = getEffectiveVersion();
addExtraProperty(Constants.KEY_VERSION_WITH_UNDERSCORES, v.replace(".", "_").replace("-", "_"));
addExtraProperty(Constants.KEY_VERSION_WITH_DASHES, v.replace(".", "-").replace("_", "-"));
addExtraProperty(Constants.KEY_VERSION_NUMBER_WITH_UNDERSCORES, vn.replace(".", "_").replace("-", "_"));
addExtraProperty(Constants.KEY_VERSION_NUMBER_WITH_DASHES, vn.replace(".", "-").replace("_", "-"));
addExtraProperty(Constants.KEY_VERSION_WITH_UNDERSCORES, new MustacheUtils.UnderscoreFunction().apply(v));
addExtraProperty(Constants.KEY_VERSION_WITH_DASHES, new MustacheUtils.DashFunction().apply(v));
addExtraProperty(Constants.KEY_VERSION_NUMBER_WITH_UNDERSCORES, new MustacheUtils.UnderscoreFunction().apply(vn));
addExtraProperty(Constants.KEY_VERSION_NUMBER_WITH_DASHES, new MustacheUtils.DashFunction().apply(vn));
if (isNotBlank(ev)) {
addExtraProperty(Constants.KEY_EFFECTIVE_VERSION_WITH_UNDERSCORES, ev.replace(".", "_").replace("-", "_"));
addExtraProperty(Constants.KEY_EFFECTIVE_VERSION_WITH_DASHES, ev.replace(".", "-").replace("_", "-"));
addExtraProperty(Constants.KEY_EFFECTIVE_VERSION_WITH_UNDERSCORES, new MustacheUtils.UnderscoreFunction().apply(ev));
addExtraProperty(Constants.KEY_EFFECTIVE_VERSION_WITH_DASHES, new MustacheUtils.DashFunction().apply(ev));
}
}

View File

@@ -123,7 +123,7 @@ public final class MustacheUtils {
}
}
private static class TimeFormatFunction implements Function<String, String> {
public static class TimeFormatFunction implements Function<String, String> {
private final ZonedDateTime now;
private TimeFormatFunction(ZonedDateTime now) {
@@ -137,52 +137,55 @@ public final class MustacheUtils {
}
}
private static class UnderscoreFunction implements Function<String,String> {
public static class UnderscoreFunction implements Function<String, String> {
@Override
public String apply(String input) {
return input.replace(".", "_")
.replace("-", "_");
.replace("-", "_")
.replace("+", "_");
}
}
private static class DashFunction implements Function<String,String> {
public static class DashFunction implements Function<String, String> {
@Override
public String apply(String input) {
return input.replace(".", "-")
.replace("_", "-");
.replace("_", "-")
.replace("+", "-");
}
}
private static class SlashFunction implements Function<String,String> {
public static class SlashFunction implements Function<String, String> {
@Override
public String apply(String input) {
return input.replace(".", "/")
.replace("-", "/");
.replace("-", "/")
.replace("+", "/");
}
}
private static class UpperFunction implements Function<String,String> {
public static class UpperFunction implements Function<String, String> {
@Override
public String apply(String input) {
return input.toUpperCase();
}
}
private static class LowerFunction implements Function<String,String> {
public static class LowerFunction implements Function<String, String> {
@Override
public String apply(String input) {
return input.toLowerCase();
}
}
private static class CapitalizeFunction implements Function<String,String> {
public static class CapitalizeFunction implements Function<String, String> {
@Override
public String apply(String input) {
return StringUtils.capitalize(input);
}
}
private static class UncapitalizeFunction implements Function<String,String> {
public static class UncapitalizeFunction implements Function<String, String> {
@Override
public String apply(String input) {
return StringUtils.uncapitalize(input);