From 9a1707643cd81b6710ab14ffd2f4d48253e28f86 Mon Sep 17 00:00:00 2001 From: Martin Reinhardt Date: Mon, 1 Jul 2019 22:32:47 +0200 Subject: [PATCH 1/6] update for next development version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e72295b..4a1fbad 100755 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ log-parser hpi Log Parser Plugin - 2.1 + 2.2-SNAPSHOT https://wiki.jenkins-ci.org/display/JENKINS/Log+Parser+Plugin Parses the console log generated by a build From 0f4b38ca789f1deac41376e8c33abfd64316ff5d Mon Sep 17 00:00:00 2001 From: Carsten Pfeiffer Date: Fri, 8 Nov 2019 17:07:11 +0100 Subject: [PATCH 2/6] JENKINS-59218: avoid NPE after deserializing old LogParserResult instances --- .../java/hudson/plugins/logparser/LogParserResult.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/hudson/plugins/logparser/LogParserResult.java b/src/main/java/hudson/plugins/logparser/LogParserResult.java index e352c70..d524258 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserResult.java +++ b/src/main/java/hudson/plugins/logparser/LogParserResult.java @@ -33,6 +33,13 @@ public class LogParserResult { private String failedToParseError; private String badParsingRulesError; + protected Object readResolve() { + if (extraTags == null) { // avoid NPE when deserializing old results + extraTags = new HashSet<>(); + } + return this; + } + public String getBadParsingRulesError() { return badParsingRulesError; } From 64ee97b9ccbeb8a3eaec750199ca85947b6c9232 Mon Sep 17 00:00:00 2001 From: twogee Date: Sun, 1 Dec 2019 12:58:47 +0100 Subject: [PATCH 3/6] =?UTF-8?q?generics,=20casts,=20boxing=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugins/logparser/CompiledPatterns.java | 2 +- .../plugins/logparser/LogParserAction.java | 2 +- .../logparser/LogParserDisplayConsts.java | 8 ++-- .../plugins/logparser/LogParserParser.java | 48 +++++++++---------- .../plugins/logparser/LogParserPublisher.java | 6 +-- .../plugins/logparser/LogParserResult.java | 6 +-- .../logparser/LogParserStatusComputer.java | 7 ++- .../plugins/logparser/LogParserUtils.java | 8 ++-- .../plugins/logparser/LogParserWriter.java | 25 ++++------ 9 files changed, 52 insertions(+), 60 deletions(-) diff --git a/src/main/java/hudson/plugins/logparser/CompiledPatterns.java b/src/main/java/hudson/plugins/logparser/CompiledPatterns.java index 85ce41d..efb9950 100755 --- a/src/main/java/hudson/plugins/logparser/CompiledPatterns.java +++ b/src/main/java/hudson/plugins/logparser/CompiledPatterns.java @@ -14,7 +14,7 @@ public class CompiledPatterns { public CompiledPatterns() { this.errorMsg = null; this.compiledPatterns = null; - this.extraTags = new ArrayList(); + this.extraTags = new ArrayList<>(); } public String getError() { diff --git a/src/main/java/hudson/plugins/logparser/LogParserAction.java b/src/main/java/hudson/plugins/logparser/LogParserAction.java index 10c9ce5..92f6d23 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserAction.java +++ b/src/main/java/hudson/plugins/logparser/LogParserAction.java @@ -133,7 +133,7 @@ private Area calcDefaultSize() { private CategoryDataset buildDataSet() { - DataSetBuilder dsb = new DataSetBuilder(); + DataSetBuilder dsb = new DataSetBuilder<>(); for (LogParserAction a = this; a != null; a = a.getPreviousAction()) { dsb.add(a.result.getTotalErrors(), "errors", diff --git a/src/main/java/hudson/plugins/logparser/LogParserDisplayConsts.java b/src/main/java/hudson/plugins/logparser/LogParserDisplayConsts.java index c17a6e7..64ff311 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserDisplayConsts.java +++ b/src/main/java/hudson/plugins/logparser/LogParserDisplayConsts.java @@ -5,10 +5,10 @@ public class LogParserDisplayConsts { - final private HashMap colorTable = new HashMap(); - final private HashMap iconTable = new HashMap(); - final private HashMap linkListDisplay = new HashMap(); - final private HashMap linkListDisplayPlural = new HashMap(); + final private HashMap colorTable = new HashMap<>(); + final private HashMap iconTable = new HashMap<>(); + final private HashMap linkListDisplay = new HashMap<>(); + final private HashMap linkListDisplayPlural = new HashMap<>(); public static final String DEFAULT_COLOR = "blue"; public static final String DEFAULT_ICON = "blue.gif"; diff --git a/src/main/java/hudson/plugins/logparser/LogParserParser.java b/src/main/java/hudson/plugins/logparser/LogParserParser.java index aca8316..7abd154 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserParser.java +++ b/src/main/java/hudson/plugins/logparser/LogParserParser.java @@ -24,9 +24,9 @@ public class LogParserParser { - final private HashMap statusCount = new HashMap(); - final private HashMap writers = new HashMap(); - final private HashMap linkFiles = new HashMap(); + final private HashMap statusCount = new HashMap<>(); + final private HashMap writers = new HashMap<>(); + final private HashMap linkFiles = new HashMap<>(); final private String[] parsingRulesArray; final private Pattern[] compiledPatterns; @@ -34,8 +34,8 @@ public class LogParserParser { final private List extraTags; // if key is 3-ERROR it shows how many errors are in section 3 - final private HashMap statusCountPerSection = new HashMap(); - final private ArrayList headerForSection = new ArrayList(); + final private HashMap statusCountPerSection = new HashMap<>(); + final private ArrayList headerForSection = new ArrayList<>(); private int sectionCounter = 0; final private LogParserDisplayConsts displayConstants = new LogParserDisplayConsts(); @@ -80,7 +80,7 @@ public LogParserParser(final FilePath parsingRulesFile, * errorLinks.html, warningLinks.html, infoLinks.html */ @Deprecated - public LogParserResult parseLog(final AbstractBuild build) throws IOException, InterruptedException { + public LogParserResult parseLog(final AbstractBuild build) throws IOException, InterruptedException { return this.parseLog((Run) build); } @@ -101,7 +101,7 @@ public LogParserResult parseLog(final Run build) throws IOException, Inter final String warningLinksFilePath = logDirectory + "/logwarningLinks.html"; final String infoLinksFilePath = logDirectory + "/loginfoLinks.html"; final String debugLinksFilePath = logDirectory + "/logdebugLinks.html"; - final Map linksFilePathByExtraTags = new HashMap(); + final Map linksFilePathByExtraTags = new HashMap<>(); for (String extraTag : this.extraTags) { linksFilePathByExtraTags.put(extraTag, logDirectory + "/log" + extraTag + "Links.html"); } @@ -174,12 +174,12 @@ public LogParserResult parseLog(final Run build) throws IOException, Inter writer.write(LogParserConsts.getHtmlClosingTags()); writer.close(); // Close to unlock and flush to disk. - ((BufferedWriter) writers.get(LogParserConsts.ERROR)).close(); - ((BufferedWriter) writers.get(LogParserConsts.WARNING)).close(); - ((BufferedWriter) writers.get(LogParserConsts.INFO)).close(); - ((BufferedWriter) writers.get(LogParserConsts.DEBUG)).close(); + writers.get(LogParserConsts.ERROR).close(); + writers.get(LogParserConsts.WARNING).close(); + writers.get(LogParserConsts.INFO).close(); + writers.get(LogParserConsts.DEBUG).close(); for (String extraTag : this.extraTags) { - ((BufferedWriter) writers.get(extraTag)).close(); + writers.get(extraTag).close(); } // Build the reference html from the warnings/errors/info html files @@ -199,12 +199,12 @@ public LogParserResult parseLog(final Run build) throws IOException, Inter // Create result class final LogParserResult result = new LogParserResult(); result.setHtmlLogFile(parsedFilePath); - result.setTotalErrors((Integer) statusCount.get(LogParserConsts.ERROR)); - result.setTotalWarnings((Integer) statusCount.get(LogParserConsts.WARNING)); - result.setTotalInfos((Integer) statusCount.get(LogParserConsts.INFO)); - result.setTotalDebugs((Integer) statusCount.get(LogParserConsts.DEBUG)); + result.setTotalErrors(statusCount.get(LogParserConsts.ERROR)); + result.setTotalWarnings(statusCount.get(LogParserConsts.WARNING)); + result.setTotalInfos(statusCount.get(LogParserConsts.INFO)); + result.setTotalDebugs(statusCount.get(LogParserConsts.DEBUG)); for (String extraTag : this.extraTags) { - result.putTotalCountsByExtraTag(extraTag, (Integer) statusCount.get(extraTag)); + result.putTotalCountsByExtraTag(extraTag, statusCount.get(extraTag)); } result.setErrorLinksFile(errorLinksFilePath); result.setWarningLinksFile(warningLinksFilePath); @@ -264,7 +264,7 @@ public String parseLine(final String line, final String status) } public void incrementCounter(final String status) { - final int currentVal = (Integer) statusCount.get(status); + final int currentVal = statusCount.get(status); statusCount.put(status, currentVal + 1); } @@ -272,17 +272,17 @@ public void incrementCounterPerSection(final String status, final int sectionNumber) { final String key = LogParserUtils.getSectionCountKey(status, sectionNumber); - Integer currentValInteger = (Integer) statusCountPerSection.get(key); + Integer currentValInteger = statusCountPerSection.get(key); // No value - entered yet - initialize with 0 if (currentValInteger == null) { - currentValInteger = new Integer(0); + currentValInteger = 0; } final int newVal = currentValInteger + 1; statusCountPerSection.put(key, newVal); } private String colorLine(final String line, final String status) { - String color = (String) displayConstants.getColorTable().get(status); + String color = displayConstants.getColorTable().get(status); if (color == null) { color = LogParserDisplayConsts.DEFAULT_COLOR; } @@ -300,8 +300,8 @@ private String addMarkerAndLink(final String line, final String effectiveStatus, final String status) throws IOException { // Add marker - final String statusCountStr = ((Integer) statusCount - .get(effectiveStatus)).toString(); + final String statusCountStr = statusCount + .get(effectiveStatus).toString(); final String marker = effectiveStatus + statusCountStr; // Add link @@ -368,7 +368,7 @@ private void parseLogBody(final Run build, final BufferedWriter writer, fi String status; int line_num = 0; while ((line = reader.readLine()) != null) { - status = (String) lineStatusMatches.get(String.valueOf(line_num)); + status = lineStatusMatches.get(String.valueOf(line_num)); final String parsedLine = parseLine(line, status); // This is for displaying sections in the links part writer.write(parsedLine); diff --git a/src/main/java/hudson/plugins/logparser/LogParserPublisher.java b/src/main/java/hudson/plugins/logparser/LogParserPublisher.java index 7fb95d1..e5f985e 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserPublisher.java +++ b/src/main/java/hudson/plugins/logparser/LogParserPublisher.java @@ -5,9 +5,7 @@ import hudson.Launcher; import hudson.Util; import hudson.model.Action; -import hudson.model.BuildListener; import hudson.model.Result; -import hudson.model.AbstractBuild; import hudson.model.AbstractProject; import hudson.model.Run; import hudson.model.TaskListener; @@ -156,7 +154,7 @@ public BuildStepDescriptor getDescriptor() { public static final class DescriptorImpl extends BuildStepDescriptor { - private List parsingRulesGlobal = new ArrayList(); + private List parsingRulesGlobal = new ArrayList<>(); private boolean useLegacyFormatting = false; public DescriptorImpl() { @@ -202,7 +200,7 @@ public void setLegacyFormatting(boolean useLegacyFormatting) { public boolean configure(final StaplerRequest req, final JSONObject json) throws FormException { useLegacyFormatting = false; - parsingRulesGlobal = new ArrayList(); + parsingRulesGlobal = new ArrayList<>(); req.bindJSON(this, json); save(); return true; diff --git a/src/main/java/hudson/plugins/logparser/LogParserResult.java b/src/main/java/hudson/plugins/logparser/LogParserResult.java index d524258..7ef35a7 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserResult.java +++ b/src/main/java/hudson/plugins/logparser/LogParserResult.java @@ -17,15 +17,15 @@ public class LogParserResult { private int totalWarnings = 0; private int totalInfos = 0; private int totalDebugs = 0; - private Map totalCountsByExtraTag = new HashMap(); + private final Map totalCountsByExtraTag = new HashMap<>(); private String htmlLogFile; private String errorLinksFile; private String warningLinksFile; private String infoLinksFile; private String debugLinksFile; - private Map linkedFilesByExtraTag = new HashMap(); - private Set extraTags = new HashSet(); + private final Map linkedFilesByExtraTag = new HashMap<>(); + private Set extraTags = new HashSet<>(); private String parsedLogURL; private String htmlLogPath; diff --git a/src/main/java/hudson/plugins/logparser/LogParserStatusComputer.java b/src/main/java/hudson/plugins/logparser/LogParserStatusComputer.java index 428b3bb..a41d9ce 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserStatusComputer.java +++ b/src/main/java/hudson/plugins/logparser/LogParserStatusComputer.java @@ -1,7 +1,6 @@ package hudson.plugins.logparser; import hudson.FilePath; -import hudson.remoting.Callable; import hudson.remoting.VirtualChannel; import jenkins.security.MasterToSlaveCallable; @@ -93,7 +92,7 @@ private HashMap computeStatusMatches( tempFilePath.read())); int threadCounter = 0; - final ArrayList runners = new ArrayList(); + final ArrayList runners = new ArrayList<>(); final LogParserReader logParserReader = new LogParserReader(reader); //ExecutorService execSvc = Executors.newFixedThreadPool( @@ -134,7 +133,7 @@ private HashMap computeStatusMatches( } } - final HashMap result = new HashMap(); + final HashMap result = new HashMap<>(); HashMap moreLineStatusMatches; for (int i = 0; i < runnersSize; i++) { final LogParserThread logParserThread = sortedRunners[i]; @@ -156,7 +155,7 @@ private HashMap computeStatusMatches( private HashMap getLineStatusMatches( final String[] statuses, final int logPart) { - final HashMap result = new HashMap(); + final HashMap result = new HashMap<>(); String status; int line_num; final int linesPerThread = LogParserUtils.getLinesPerThread(); diff --git a/src/main/java/hudson/plugins/logparser/LogParserUtils.java b/src/main/java/hudson/plugins/logparser/LogParserUtils.java index 089e3a2..d8b4fb8 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserUtils.java +++ b/src/main/java/hudson/plugins/logparser/LogParserUtils.java @@ -65,7 +65,7 @@ public static CompiledPatterns compilePatterns( Pattern[] result = new Pattern[parsingRulesArray.length]; final StringBuffer badParsingRules = new StringBuffer(); - List extraTags = new ArrayList(); + List extraTags = new ArrayList<>(); for (int i = 0; i < parsingRulesArray.length; i++) { final String parsingRule = parsingRulesArray[i]; @@ -109,7 +109,7 @@ public static CompiledPatterns compilePatterns( public static String getSectionCountKey(final String status, final int sectionNumber) { - return Integer.toString(sectionNumber) + "-" + status; + return sectionNumber + "-" + status; } public static int getNumThreads() { @@ -118,7 +118,7 @@ public static int getNumThreads() { .getenv("HUDSON_LOG_PARSER_THREADS"); if (maxThreadsByEnvStr != null) { try { - result = (Integer.valueOf(maxThreadsByEnvStr)).intValue(); + result = Integer.parseInt(maxThreadsByEnvStr); } catch (Exception e) { // Do nothing - use the default; Logger.getLogger("getNumThreads").log(Level.FINEST, @@ -134,7 +134,7 @@ public static int getLinesPerThread() { .getenv("HUDSON_LOG_PARSER_LINES_PER_THREAD"); if (linesByEnvStr != null) { try { - result = (Integer.valueOf(linesByEnvStr)).intValue(); + result = Integer.parseInt(linesByEnvStr); } catch (Exception e) { // Do nothing - use the default; Logger.getLogger("getLinesPerThread").log(Level.FINEST, diff --git a/src/main/java/hudson/plugins/logparser/LogParserWriter.java b/src/main/java/hudson/plugins/logparser/LogParserWriter.java index 21054da..e0376f7 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserWriter.java +++ b/src/main/java/hudson/plugins/logparser/LogParserWriter.java @@ -103,21 +103,19 @@ private static void writeLinks(final BufferedWriter writer, final HashMap linkListDisplayPlural, final HashMap statusCount, final HashMap linkFiles) throws IOException { - String statusIcon = (String) iconTable.get(status); + String statusIcon = iconTable.get(status); if (statusIcon == null) { statusIcon = LogParserDisplayConsts.DEFAULT_ICON; } - String linkListDisplayStr = (String) linkListDisplay.get(status); + String linkListDisplayStr = linkListDisplay.get(status); if (linkListDisplayStr == null) { linkListDisplayStr = LogParserDisplayConsts.getDefaultLinkListDisplay(status); } - String linkListDisplayStrPlural = (String) linkListDisplayPlural - .get(status); + String linkListDisplayStrPlural = linkListDisplayPlural.get(status); if (linkListDisplayStrPlural == null) { linkListDisplayStrPlural = LogParserDisplayConsts.getDefaultLinkListDisplayPlural(status); } - final String linkListCount = ((Integer) statusCount.get(status)) - .toString(); + final String linkListCount = statusCount.get(status).toString(); final String hudsonRoot = Hudson.getInstance().getRootUrl(); final String iconLocation = String.format("%s/images/16x16/", Functions.getResourcePath()); @@ -142,24 +140,21 @@ private static void writeLinks(final BufferedWriter writer, // Read the links file and insert here final BufferedReader reader = new BufferedReader(new FileReader( - (String) linkFiles.get(status))); - String line = null; + linkFiles.get(status))); final String summaryLine = "
(SUMMARY_INT_HERE LINK_LIST_DISPLAY_STR in this section)
"; final String headerTemplateRegexp = "HEADER HERE:"; final String headerTemplateSplitBy = "#"; // If it's a header line - put the header of the section + String line; while ((line = reader.readLine()) != null) { String curSummaryLine = null; if (line.startsWith(headerTemplateRegexp)) { - final String headerNum = line.split(headerTemplateSplitBy)[1]; - line = (String) headerForSection.get(Integer - .parseInt(headerNum)); - final String key = LogParserUtils.getSectionCountKey(status, - Integer.valueOf(headerNum)); - final Integer summaryInt = (Integer) statusCountPerSection - .get(key); + final int headerNum = Integer.parseInt(line.split(headerTemplateSplitBy)[1]); + line = headerForSection.get(headerNum); + final String key = LogParserUtils.getSectionCountKey(status, headerNum); + final Integer summaryInt = statusCountPerSection.get(key); if (summaryInt == null || summaryInt == 0) { // Don't write the header if there are no relevant lines for // this section From 861252867a7c5b31a48f050ec329067574ab16db Mon Sep 17 00:00:00 2001 From: twogee Date: Sun, 8 Dec 2019 09:20:13 +0100 Subject: [PATCH 4/6] replace a deprecated API --- .../java/hudson/plugins/logparser/LogParserConsts.java | 2 +- .../java/hudson/plugins/logparser/LogParserPublisher.java | 2 +- .../java/hudson/plugins/logparser/LogParserWriter.java | 4 ++-- .../plugins/logparser/ConfigurationAsCodeTest.java | 7 ++----- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/main/java/hudson/plugins/logparser/LogParserConsts.java b/src/main/java/hudson/plugins/logparser/LogParserConsts.java index 0fef390..16f599a 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserConsts.java +++ b/src/main/java/hudson/plugins/logparser/LogParserConsts.java @@ -24,7 +24,7 @@ public class LogParserConsts { public static final List STATUSES_WITH_SECTIONS_IN_LINK_FILES = Arrays.asList(ERROR, WARNING, DEBUG); public static String getHtmlOpeningTags() { - final String hudsonRoot = Jenkins.getActiveInstance().getRootUrl(); + final String hudsonRoot = Jenkins.get().getRootUrl(); return "\n" + "\n" + "\t\n" + "\t\tlog-parser plugin page\n" + "\t\t build, FilePath workspace, Launcher launcher, Task @Override public BuildStepDescriptor getDescriptor() { - return Jenkins.getInstance().getDescriptorByType(LogParserPublisher.DescriptorImpl.class); + return Jenkins.get().getDescriptorByType(LogParserPublisher.DescriptorImpl.class); } @Extension @Symbol("logParser") diff --git a/src/main/java/hudson/plugins/logparser/LogParserWriter.java b/src/main/java/hudson/plugins/logparser/LogParserWriter.java index e0376f7..d7fe719 100755 --- a/src/main/java/hudson/plugins/logparser/LogParserWriter.java +++ b/src/main/java/hudson/plugins/logparser/LogParserWriter.java @@ -1,7 +1,7 @@ package hudson.plugins.logparser; import hudson.Functions; -import hudson.model.Hudson; +import jenkins.model.Jenkins; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -117,7 +117,7 @@ private static void writeLinks(final BufferedWriter writer, } final String linkListCount = statusCount.get(status).toString(); - final String hudsonRoot = Hudson.getInstance().getRootUrl(); + final String hudsonRoot = Jenkins.get().getRootUrl(); final String iconLocation = String.format("%s/images/16x16/", Functions.getResourcePath()); final String styles = diff --git a/src/test/java/org/jenkinsci/plugins/logparser/ConfigurationAsCodeTest.java b/src/test/java/org/jenkinsci/plugins/logparser/ConfigurationAsCodeTest.java index ea7e3d3..1c5548a 100644 --- a/src/test/java/org/jenkinsci/plugins/logparser/ConfigurationAsCodeTest.java +++ b/src/test/java/org/jenkinsci/plugins/logparser/ConfigurationAsCodeTest.java @@ -22,17 +22,14 @@ public class ConfigurationAsCodeTest { @Test public void LegacyFormattingTest() throws Exception { - final Jenkins jenkins = Jenkins.getInstance(); - final LogParserPublisher.DescriptorImpl descriptor = (LogParserPublisher.DescriptorImpl) jenkins.getDescriptor(LogParserPublisher.class); + final LogParserPublisher.DescriptorImpl descriptor = (LogParserPublisher.DescriptorImpl) Jenkins.get().getDescriptor(LogParserPublisher.class); ConfigurationAsCode.get().configure(ConfigurationAsCodeTest.class.getResource("configuration-as-code-legacy-formatting.yaml").toString()); assertEquals(true, descriptor.getLegacyFormatting()); } @Test public void ParsingRulesTest() throws Exception { - final Jenkins jenkins = Jenkins.getInstance(); - final LogParserPublisher.DescriptorImpl descriptor = (LogParserPublisher.DescriptorImpl) jenkins.getDescriptor(LogParserPublisher.class); - + final LogParserPublisher.DescriptorImpl descriptor = (LogParserPublisher.DescriptorImpl) Jenkins.get().getDescriptor(LogParserPublisher.class); ConfigurationAsCode.get().configure(ConfigurationAsCodeTest.class.getResource("configuration-as-code-parsing-rules.yaml").toString()); List parseRuleFiles = descriptor.getParsingRulesGlobal(); From 8720811d99aff0899b3c825ac974fc6a833b3e3d Mon Sep 17 00:00:00 2001 From: Martin Reinhardt Date: Fri, 17 Dec 2021 21:57:58 +0100 Subject: [PATCH 5/6] update versions for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4a1fbad..4e1258c 100755 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ log-parser hpi Log Parser Plugin - 2.2-SNAPSHOT + 2.2 https://wiki.jenkins-ci.org/display/JENKINS/Log+Parser+Plugin Parses the console log generated by a build From 7ceac0b368b3f49fc04850f0caa09efb06404b43 Mon Sep 17 00:00:00 2001 From: Martin Reinhardt Date: Fri, 17 Dec 2021 21:58:00 +0100 Subject: [PATCH 6/6] Changelog --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b100f3..feb4418 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,10 @@ -# (2019-07-01) +# (2021-12-17) ### Bug Fixes -* docker-compose up doesn't support --rm ([d613f5e](https://github.com/jenkinsci/log-parser-plugin/commit/d613f5e)) -* Now Jenkins is available on port 8081 and boots ([f269c53](https://github.com/jenkinsci/log-parser-plugin/commit/f269c53)) +* docker-compose up doesn't support --rm ([d613f5e](https://github.com/jenkinsci/log-parser-plugin/commit/d613f5ef8a166edc518f580165a8367746a463c0)) +* Now Jenkins is available on port 8081 and boots ([f269c53](https://github.com/jenkinsci/log-parser-plugin/commit/f269c53fa0ddb5ae28ae3719afe6d6ee3ccc9d8e))