
org.neo4j.build.plugins.changes.Changelog Maven / Gradle / Ivy
The newest version!
package org.neo4j.build.plugins.changes;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Changelog {
private List logLines = new ArrayList();
public Changelog(File changelog) throws IOException
{
this(new FileInputStream(changelog));
}
protected Changelog(InputStream changesInput) throws IOException
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(
changesInput));
String line;
while ((line = br.readLine()) != null)
{
logLines.add(line);
}
// Add an extra blank line, makes the parser easier to write
logLines.add("");
} finally {
if(changesInput != null) {
changesInput.close();
}
}
}
public List extractSectionForVersion(String version)
{
return extractSectionForVersion(new VersionMatcher(version), LineEvaluator.ALL);
}
public List extractSectionForVersion(VersionMatcher versionMatcher, LineEvaluator lineEvaluator)
{
ChangelogExtractor extractor = new ChangelogExtractor(logLines, versionMatcher, lineEvaluator);
return extractor.runExtraction(true);
}
public List extractAllEntriesWithoutHeadlines(VersionMatcher versionMatcher, LineEvaluator lineEvaluator)
{
ChangelogExtractor extractor = new ChangelogExtractor(logLines, versionMatcher, lineEvaluator);
return extractor.runExtraction(false);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy