mirror of
https://github.com/jlengrand/jreleaser.git
synced 2026-03-10 08:31:24 +00:00
[changelog] hide contributor names. Resolves #273
This commit is contained in:
@@ -32,8 +32,8 @@ import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
import static org.jreleaser.util.StringUtils.isNotBlank;
|
||||
import static org.jreleaser.util.StringUtils.toSafeRegexPattern;
|
||||
|
||||
/**
|
||||
* @author Andres Almiray
|
||||
@@ -42,10 +42,10 @@ import static org.jreleaser.util.StringUtils.isNotBlank;
|
||||
public class Changelog implements Domain, EnabledAware {
|
||||
private final Set<String> includeLabels = new LinkedHashSet<>();
|
||||
private final Set<String> excludeLabels = new LinkedHashSet<>();
|
||||
private final Set<String> hiddenCategories = new LinkedHashSet<>();
|
||||
private final List<Category> categories = new ArrayList<>();
|
||||
private final Set<Replacer> replacers = new LinkedHashSet<>();
|
||||
private final Set<Labeler> labelers = new LinkedHashSet<>();
|
||||
private final Hide hide = new Hide();
|
||||
|
||||
private Boolean enabled;
|
||||
private boolean links;
|
||||
@@ -55,7 +55,6 @@ public class Changelog implements Domain, EnabledAware {
|
||||
private String change;
|
||||
private String content;
|
||||
private String contentTemplate;
|
||||
private boolean hideUncategorized;
|
||||
|
||||
void setAll(Changelog changelog) {
|
||||
this.enabled = changelog.enabled;
|
||||
@@ -66,13 +65,12 @@ public class Changelog implements Domain, EnabledAware {
|
||||
this.change = changelog.change;
|
||||
this.content = changelog.content;
|
||||
this.contentTemplate = changelog.contentTemplate;
|
||||
this.hideUncategorized = changelog.hideUncategorized;
|
||||
setHiddenCategories(changelog.hiddenCategories);
|
||||
setIncludeLabels(changelog.includeLabels);
|
||||
setExcludeLabels(changelog.excludeLabels);
|
||||
setCategories(changelog.categories);
|
||||
setReplacers(changelog.replacers);
|
||||
setLabelers(changelog.labelers);
|
||||
setHide(changelog.hide);
|
||||
}
|
||||
|
||||
public boolean resolveFormatted(Project project) {
|
||||
@@ -157,28 +155,6 @@ public class Changelog implements Domain, EnabledAware {
|
||||
return formatted != null;
|
||||
}
|
||||
|
||||
public Set<String> getHiddenCategories() {
|
||||
return hiddenCategories;
|
||||
}
|
||||
|
||||
public void setHiddenCategories(Set<String> hiddenCategories) {
|
||||
this.hiddenCategories.clear();
|
||||
this.hiddenCategories.addAll(hiddenCategories.stream().map(String::trim).collect(Collectors.toSet()));
|
||||
}
|
||||
|
||||
public void addHiddenCategory(String category) {
|
||||
if (isNotBlank(category)) {
|
||||
this.hiddenCategories.add(category.trim());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean containsHiddenCategory(String category) {
|
||||
if (isNotBlank(category)) {
|
||||
return this.hiddenCategories.contains(category.trim());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public Set<String> getIncludeLabels() {
|
||||
return includeLabels;
|
||||
}
|
||||
@@ -248,12 +224,18 @@ public class Changelog implements Domain, EnabledAware {
|
||||
this.contentTemplate = contentTemplate;
|
||||
}
|
||||
|
||||
public boolean isHideUncategorized() {
|
||||
return hideUncategorized;
|
||||
public Hide getHide() {
|
||||
return hide;
|
||||
}
|
||||
|
||||
public void setHide(Hide hide) {
|
||||
this.hide.setAll(hide);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void setHideUncategorized(boolean hideUncategorized) {
|
||||
this.hideUncategorized = hideUncategorized;
|
||||
System.out.println("changelog.hideUncategorized has been deprecated since 0.6.0 and will be removed in the future. Use changelog.hide.uncategorized instead");
|
||||
this.hide.uncategorized = hideUncategorized;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -271,8 +253,7 @@ public class Changelog implements Domain, EnabledAware {
|
||||
map.put("contentTemplate", contentTemplate);
|
||||
map.put("includeLabels", includeLabels);
|
||||
map.put("excludeLabels", excludeLabels);
|
||||
map.put("hideUncategorized", hideUncategorized);
|
||||
map.put("hiddenCategories", hiddenCategories);
|
||||
map.put("hide", hide.asMap(full));
|
||||
|
||||
Map<String, Map<String, Object>> m = new LinkedHashMap<>();
|
||||
int i = 0;
|
||||
@@ -435,4 +416,82 @@ public class Changelog implements Domain, EnabledAware {
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
public static class Hide implements Domain {
|
||||
private final Set<String> categories = new LinkedHashSet<>();
|
||||
private final Set<String> contributors = new LinkedHashSet<>();
|
||||
private boolean uncategorized;
|
||||
|
||||
void setAll(Hide hide) {
|
||||
this.uncategorized = hide.uncategorized;
|
||||
setCategories(hide.categories);
|
||||
setContributors(hide.contributors);
|
||||
}
|
||||
|
||||
public boolean isUncategorized() {
|
||||
return uncategorized;
|
||||
}
|
||||
|
||||
public void setUncategorized(boolean uncategorized) {
|
||||
this.uncategorized = uncategorized;
|
||||
}
|
||||
|
||||
public Set<String> getCategories() {
|
||||
return categories;
|
||||
}
|
||||
|
||||
public void setCategories(Set<String> categories) {
|
||||
this.categories.clear();
|
||||
this.categories.addAll(categories.stream().map(String::trim).collect(Collectors.toSet()));
|
||||
}
|
||||
|
||||
public void addCategory(String category) {
|
||||
if (isNotBlank(category)) {
|
||||
this.categories.add(category.trim());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean containsCategory(String category) {
|
||||
if (isNotBlank(category)) {
|
||||
return this.categories.contains(category.trim());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public Set<String> getContributors() {
|
||||
return contributors;
|
||||
}
|
||||
|
||||
public void setContributors(Set<String> contributors) {
|
||||
this.contributors.clear();
|
||||
this.contributors.addAll(contributors.stream().map(String::trim).collect(Collectors.toSet()));
|
||||
}
|
||||
|
||||
public void addContributor(String contributor) {
|
||||
if (isNotBlank(contributor)) {
|
||||
this.contributors.add(contributor.trim());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean containsContributor(String name) {
|
||||
if (isNotBlank(name)) {
|
||||
String n = name.trim();
|
||||
for (String contributor : contributors) {
|
||||
if (n.contains(contributor) || n.matches(toSafeRegexPattern(contributor))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> asMap(boolean full) {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("uncategorized", uncategorized);
|
||||
map.put("categories", categories);
|
||||
map.put("contributors", contributors);
|
||||
return map;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -606,7 +606,21 @@ public class StringUtils {
|
||||
}
|
||||
|
||||
public static String escapeRegexChars(String str) {
|
||||
return REGEX_CHARS.matcher(str).replaceAll("\\\\$0");
|
||||
boolean start = false;
|
||||
boolean end = false;
|
||||
|
||||
String s = str;
|
||||
if (s.charAt(0) == '^' && s.length() > 1) {
|
||||
start = true;
|
||||
s = s.substring(1);
|
||||
}
|
||||
if (s.charAt(s.length() - 1) == '$' && s.length() > 1) {
|
||||
end = true;
|
||||
s = s.substring(0, s.length() - 2);
|
||||
}
|
||||
|
||||
String replaced = REGEX_CHARS.matcher(s).replaceAll("\\\\$0");
|
||||
return (start ? "^" : "") + replaced + (end ? "$" : "");
|
||||
}
|
||||
|
||||
public static String toSafeRegexPattern(String str) {
|
||||
|
||||
@@ -37,8 +37,6 @@ interface Changelog {
|
||||
|
||||
Property<Boolean> getLinks()
|
||||
|
||||
Property<Boolean> getHideUncategorized()
|
||||
|
||||
RegularFileProperty getExternal()
|
||||
|
||||
void setSort(String sort)
|
||||
@@ -57,10 +55,6 @@ interface Changelog {
|
||||
|
||||
SetProperty<String> getExcludeLabels()
|
||||
|
||||
SetProperty<String> getHiddenCategories()
|
||||
|
||||
void hideCategory(String category)
|
||||
|
||||
void includeLabel(String label)
|
||||
|
||||
void excludeLabel(String label)
|
||||
@@ -77,6 +71,12 @@ interface Changelog {
|
||||
|
||||
void replacer(@DelegatesTo(strategy = Closure.DELEGATE_FIRST, value = Replacer) Closure<Void> action)
|
||||
|
||||
Hide getHide()
|
||||
|
||||
void hide(Action<? super Hide> action)
|
||||
|
||||
void hide(@DelegatesTo(strategy = Closure.DELEGATE_FIRST, value = Hide) Closure<Void> action)
|
||||
|
||||
interface Category {
|
||||
Property<String> getTitle()
|
||||
|
||||
@@ -96,4 +96,14 @@ interface Changelog {
|
||||
|
||||
Property<String> getReplace()
|
||||
}
|
||||
|
||||
interface Hide {
|
||||
Property<Boolean> getUncategorized()
|
||||
|
||||
SetProperty<String> getCategories()
|
||||
|
||||
SetProperty<String> getContributors()
|
||||
|
||||
void hideCategory(String category)
|
||||
}
|
||||
}
|
||||
@@ -51,7 +51,7 @@ class ChangelogImpl implements Changelog {
|
||||
final RegularFileProperty contentTemplate
|
||||
final SetProperty<String> includeLabels
|
||||
final SetProperty<String> excludeLabels
|
||||
final SetProperty<String> hiddenCategories
|
||||
final HideImpl hide
|
||||
|
||||
private final List<CategoryImpl> categories = []
|
||||
private final Set<LabelerImpl> labelers = []
|
||||
@@ -72,7 +72,7 @@ class ChangelogImpl implements Changelog {
|
||||
contentTemplate = objects.fileProperty().convention(Providers.notDefined())
|
||||
includeLabels = objects.setProperty(String).convention(Providers.notDefined())
|
||||
excludeLabels = objects.setProperty(String).convention(Providers.notDefined())
|
||||
hiddenCategories = objects.setProperty(String).convention(Providers.notDefined())
|
||||
hide = objects.newInstance(HideImpl, objects)
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -95,10 +95,10 @@ class ChangelogImpl implements Changelog {
|
||||
contentTemplate.present ||
|
||||
includeLabels.present ||
|
||||
excludeLabels.present ||
|
||||
hiddenCategories.present ||
|
||||
!categories.isEmpty() ||
|
||||
!labelers.isEmpty() ||
|
||||
!replacers.isEmpty()
|
||||
!replacers.isEmpty() ||
|
||||
hide.isSet()
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -120,13 +120,6 @@ class ChangelogImpl implements Changelog {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
void hideCategory(String category) {
|
||||
if (isNotBlank(category)) {
|
||||
hiddenCategories.add(category.trim())
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
void category(Action<? super Category> action) {
|
||||
CategoryImpl category = objects.newInstance(CategoryImpl, objects)
|
||||
@@ -148,6 +141,11 @@ class ChangelogImpl implements Changelog {
|
||||
replacers.add(replacer)
|
||||
}
|
||||
|
||||
@Override
|
||||
void hide(Action<? super Hide> action) {
|
||||
action.execute(hide)
|
||||
}
|
||||
|
||||
@Override
|
||||
void category(@DelegatesTo(strategy = Closure.DELEGATE_FIRST, value = Category) Closure<Void> action) {
|
||||
CategoryImpl category = objects.newInstance(CategoryImpl, objects)
|
||||
@@ -169,6 +167,11 @@ class ChangelogImpl implements Changelog {
|
||||
replacers.add(replacer)
|
||||
}
|
||||
|
||||
@Override
|
||||
void hide(@DelegatesTo(strategy = Closure.DELEGATE_FIRST, value = Hide) Closure<Void> action) {
|
||||
ConfigureUtil.configure(action, hide)
|
||||
}
|
||||
|
||||
org.jreleaser.model.Changelog toModel() {
|
||||
org.jreleaser.model.Changelog changelog = new org.jreleaser.model.Changelog()
|
||||
if (enabled.present) {
|
||||
@@ -177,7 +180,7 @@ class ChangelogImpl implements Changelog {
|
||||
changelog.enabled = isSet()
|
||||
}
|
||||
if (links.present) changelog.links = links.get()
|
||||
if (hideUncategorized.present) changelog.hideUncategorized = hideUncategorized.get()
|
||||
if (hideUncategorized.present) hide.uncategorized.set(hideUncategorized.get())
|
||||
if (sort.present) changelog.sort = sort.get()
|
||||
if (external.present) changelog.external = external.getAsFile().get().toPath()
|
||||
if (formatted.present) changelog.formatted = formatted.get()
|
||||
@@ -188,7 +191,6 @@ class ChangelogImpl implements Changelog {
|
||||
}
|
||||
changelog.includeLabels = (Set<String>) includeLabels.getOrElse([] as Set)
|
||||
changelog.excludeLabels = (Set<String>) excludeLabels.getOrElse([] as Set)
|
||||
changelog.hiddenCategories = (Set<String>) hiddenCategories.getOrElse([] as Set)
|
||||
changelog.setCategories(categories.collect([]) { CategoryImpl category ->
|
||||
category.toModel()
|
||||
} as List<org.jreleaser.model.Changelog.Category>)
|
||||
@@ -198,6 +200,7 @@ class ChangelogImpl implements Changelog {
|
||||
changelog.setReplacers(replacers.collect([] as Set) { ReplacerImpl replacer ->
|
||||
replacer.toModel()
|
||||
} as Set<org.jreleaser.model.Changelog.Replacer>)
|
||||
changelog.hide = hide.toModel()
|
||||
changelog
|
||||
}
|
||||
|
||||
@@ -260,4 +263,40 @@ class ChangelogImpl implements Changelog {
|
||||
replacer
|
||||
}
|
||||
}
|
||||
|
||||
@CompileStatic
|
||||
static class HideImpl implements Hide {
|
||||
final Property<Boolean> uncategorized
|
||||
final SetProperty<String> categories
|
||||
final SetProperty<String> contributors
|
||||
|
||||
@Inject
|
||||
HideImpl(ObjectFactory objects) {
|
||||
uncategorized = objects.property(Boolean).convention(Providers.notDefined())
|
||||
categories = objects.setProperty(String).convention(Providers.notDefined())
|
||||
contributors = objects.setProperty(String).convention(Providers.notDefined())
|
||||
}
|
||||
|
||||
@Internal
|
||||
boolean isSet() {
|
||||
uncategorized.present ||
|
||||
categories.present ||
|
||||
contributors.present
|
||||
}
|
||||
|
||||
@Override
|
||||
void hideCategory(String category) {
|
||||
if (isNotBlank(category)) {
|
||||
categories.add(category.trim())
|
||||
}
|
||||
}
|
||||
|
||||
org.jreleaser.model.Changelog.Hide toModel() {
|
||||
org.jreleaser.model.Changelog.Hide hide = new org.jreleaser.model.Changelog.Hide()
|
||||
if (uncategorized.present) hide.uncategorized = uncategorized.get()
|
||||
hide.categories = (Set<String>) categories.getOrElse([] as Set)
|
||||
hide.contributors = (Set<String>) contributors.getOrElse([] as Set)
|
||||
hide
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,10 +37,10 @@ import static org.jreleaser.util.StringUtils.isNotBlank;
|
||||
public class Changelog implements EnabledAware {
|
||||
private final Set<String> includeLabels = new LinkedHashSet<>();
|
||||
private final Set<String> excludeLabels = new LinkedHashSet<>();
|
||||
private final Set<String> hiddenCategories = new LinkedHashSet<>();
|
||||
private final List<Category> categories = new ArrayList<>();
|
||||
private final Set<Replacer> replacers = new LinkedHashSet<>();
|
||||
private final Set<Labeler> labelers = new LinkedHashSet<>();
|
||||
private final Hide hide = new Hide();
|
||||
|
||||
private Boolean enabled;
|
||||
private boolean links;
|
||||
@@ -50,7 +50,6 @@ public class Changelog implements EnabledAware {
|
||||
private String change;
|
||||
private String content;
|
||||
private String contentTemplate;
|
||||
private boolean hideUncategorized;
|
||||
|
||||
void setAll(Changelog changelog) {
|
||||
this.enabled = changelog.enabled;
|
||||
@@ -61,13 +60,12 @@ public class Changelog implements EnabledAware {
|
||||
this.change = changelog.change;
|
||||
this.content = changelog.content;
|
||||
this.contentTemplate = changelog.contentTemplate;
|
||||
this.hideUncategorized = changelog.hideUncategorized;
|
||||
setHiddenCategories(changelog.hiddenCategories);
|
||||
setIncludeLabels(changelog.includeLabels);
|
||||
setExcludeLabels(changelog.excludeLabels);
|
||||
setCategories(changelog.categories);
|
||||
setReplacers(changelog.replacers);
|
||||
setLabelers(changelog.labelers);
|
||||
setHide(changelog.hide);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -135,15 +133,6 @@ public class Changelog implements EnabledAware {
|
||||
return formatted != null;
|
||||
}
|
||||
|
||||
public Set<String> getHiddenCategories() {
|
||||
return hiddenCategories;
|
||||
}
|
||||
|
||||
public void setHiddenCategories(Set<String> hiddenCategories) {
|
||||
this.hiddenCategories.clear();
|
||||
this.hiddenCategories.addAll(hiddenCategories);
|
||||
}
|
||||
|
||||
public Set<String> getIncludeLabels() {
|
||||
return includeLabels;
|
||||
}
|
||||
@@ -213,12 +202,22 @@ public class Changelog implements EnabledAware {
|
||||
this.contentTemplate = contentTemplate;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public boolean isHideUncategorized() {
|
||||
return hideUncategorized;
|
||||
return this.hide.isUncategorized();
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void setHideUncategorized(boolean hideUncategorized) {
|
||||
this.hideUncategorized = hideUncategorized;
|
||||
this.hide.setUncategorized(hideUncategorized);
|
||||
}
|
||||
|
||||
public Hide getHide() {
|
||||
return hide;
|
||||
}
|
||||
|
||||
public void setHide(Hide hide) {
|
||||
this.hide.setAll(hide);
|
||||
}
|
||||
|
||||
public enum Sort {
|
||||
@@ -351,4 +350,42 @@ public class Changelog implements EnabledAware {
|
||||
this.body = body;
|
||||
}
|
||||
}
|
||||
|
||||
public static class Hide {
|
||||
private final Set<String> categories = new LinkedHashSet<>();
|
||||
private final Set<String> contributors = new LinkedHashSet<>();
|
||||
private boolean uncategorized;
|
||||
|
||||
void setAll(Hide hide) {
|
||||
this.uncategorized = hide.uncategorized;
|
||||
setCategories(hide.categories);
|
||||
setContributors(hide.contributors);
|
||||
}
|
||||
|
||||
public boolean isUncategorized() {
|
||||
return uncategorized;
|
||||
}
|
||||
|
||||
public void setUncategorized(boolean uncategorized) {
|
||||
this.uncategorized = uncategorized;
|
||||
}
|
||||
|
||||
public Set<String> getCategories() {
|
||||
return categories;
|
||||
}
|
||||
|
||||
public void setCategories(Set<String> categories) {
|
||||
this.categories.clear();
|
||||
this.categories.addAll(categories.stream().map(String::trim).collect(Collectors.toSet()));
|
||||
}
|
||||
|
||||
public Set<String> getContributors() {
|
||||
return contributors;
|
||||
}
|
||||
|
||||
public void setContributors(Set<String> contributors) {
|
||||
this.contributors.clear();
|
||||
this.contributors.addAll(contributors.stream().map(String::trim).collect(Collectors.toSet()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ public final class JReleaserModelConverter {
|
||||
p.setName(project.getName());
|
||||
p.setVersion(project.getVersion());
|
||||
p.setVersionPattern(project.resolveVersionPattern());
|
||||
if(isNotBlank(project.getSnapshotPattern())) p.setSnapshotPattern(project.getSnapshotPattern());
|
||||
if (isNotBlank(project.getSnapshotPattern())) p.setSnapshotPattern(project.getSnapshotPattern());
|
||||
p.setSnapshot(convertSnapshot(project.getSnapshot()));
|
||||
p.setDescription(project.getDescription());
|
||||
p.setLongDescription(project.getLongDescription());
|
||||
@@ -270,14 +270,21 @@ public final class JReleaserModelConverter {
|
||||
c.setChange(changelog.getChange());
|
||||
c.setContent(changelog.getContent());
|
||||
c.setContentTemplate(changelog.getContentTemplate());
|
||||
c.setHiddenCategories(changelog.getHiddenCategories());
|
||||
c.setHideUncategorized(changelog.isHideUncategorized());
|
||||
c.setCategories(convertCategories(changelog.getCategories()));
|
||||
c.setLabelers(convertLabelers(changelog.getLabelers()));
|
||||
c.setReplacers(convertReplacers(changelog.getReplacers()));
|
||||
c.setHide(convertHide(changelog.getHide()));
|
||||
return c;
|
||||
}
|
||||
|
||||
private static org.jreleaser.model.Changelog.Hide convertHide(Changelog.Hide hide) {
|
||||
org.jreleaser.model.Changelog.Hide h = new org.jreleaser.model.Changelog.Hide();
|
||||
h.setUncategorized(hide.isUncategorized());
|
||||
h.setCategories(hide.getCategories());
|
||||
h.setContributors(hide.getContributors());
|
||||
return h;
|
||||
}
|
||||
|
||||
private static List<org.jreleaser.model.Changelog.Category> convertCategories(List<Changelog.Category> categories) {
|
||||
List<org.jreleaser.model.Changelog.Category> list = new ArrayList<>();
|
||||
for (Changelog.Category category : categories) {
|
||||
|
||||
@@ -266,8 +266,9 @@ public class ChangelogGenerator {
|
||||
.sorted(revCommitComparator)
|
||||
.map(Commit::of)
|
||||
.peek(c -> {
|
||||
contributorNames.add(c.author);
|
||||
if (isNotBlank(c.committer)) contributorNames.add(c.committer);
|
||||
if (!changelog.getHide().containsContributor(c.author)) contributorNames.add(c.author);
|
||||
if (isNotBlank(c.committer) && !changelog.getHide().containsContributor(c.committer))
|
||||
contributorNames.add(c.committer);
|
||||
})
|
||||
.peek(c -> applyLabels(c, changelog.getLabelers()))
|
||||
.filter(c -> checkLabels(c, changelog))
|
||||
@@ -282,7 +283,7 @@ public class ChangelogGenerator {
|
||||
StringBuilder changes = new StringBuilder();
|
||||
for (Changelog.Category category : changelog.getCategories()) {
|
||||
String categoryTitle = category.getTitle();
|
||||
if (!categories.containsKey(categoryTitle) || changelog.containsHiddenCategory(categoryTitle)) continue;
|
||||
if (!categories.containsKey(categoryTitle) || changelog.getHide().containsCategory(categoryTitle)) continue;
|
||||
|
||||
changes.append("## ")
|
||||
.append(categoryTitle)
|
||||
@@ -295,7 +296,7 @@ public class ChangelogGenerator {
|
||||
.append(lineSeparator());
|
||||
}
|
||||
|
||||
if (!changelog.isHideUncategorized() && categories.containsKey(UNCATEGORIZED)) {
|
||||
if (!changelog.getHide().isUncategorized() && categories.containsKey(UNCATEGORIZED)) {
|
||||
if (changes.length() > 0) {
|
||||
changes.append("---")
|
||||
.append(lineSeparator);
|
||||
|
||||
Reference in New Issue
Block a user