mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-13 08:15:48 +00:00
Website maker updated to fix the changelog and do a proper job at supporting all-versions.
This commit is contained in:
1 parent
99f373c7e2
commit
cda44bb654
2 files changed
+44
-9
No files matched your search
@@ -1,8 +1,10 @@
|
||||
package lombok.website;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@@ -35,7 +37,7 @@ public class CompileChangelog {
|
||||
} else if (latest) {
|
||||
result = buildLatest(sectionByVersion(markdown, version));
|
||||
} else {
|
||||
result = build(markdown);
|
||||
result = markdownToHtml(markdown);
|
||||
}
|
||||
|
||||
FileOutputStream file = new FileOutputStream(fileOut);
|
||||
@@ -48,20 +50,55 @@ public class CompileChangelog {
|
||||
}
|
||||
}
|
||||
|
||||
private static String build(String markdown) {
|
||||
public static String getHtmlForEdge(File root, String edgeVersion) throws IOException {
|
||||
File f = new File(root, "doc/changelog.markdown");
|
||||
String raw = readFile(f);
|
||||
return buildEdge(sectionByVersion(raw, edgeVersion));
|
||||
}
|
||||
|
||||
public static String getHtmlForLatest(File root, String latestVersion) throws IOException {
|
||||
File f = new File(root, "doc/changelog.markdown");
|
||||
String raw = readFile(f);
|
||||
return buildLatest(sectionByVersion(raw, latestVersion));
|
||||
}
|
||||
|
||||
public static String getHtml(File root) throws IOException {
|
||||
File f = new File(root, "doc/changelog.markdown");
|
||||
String raw = readFile(f);
|
||||
return markdownToHtml(raw);
|
||||
}
|
||||
|
||||
private static String readFile(File f) throws IOException {
|
||||
byte[] b = new byte[65536];
|
||||
FileInputStream in = new FileInputStream(f);
|
||||
try {
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
while (true) {
|
||||
int r = in.read(b);
|
||||
if ( r == -1 ) break;
|
||||
out.write(b, 0, r);
|
||||
}
|
||||
in.close();
|
||||
return new String(out.toByteArray(), "UTF-8");
|
||||
} finally {
|
||||
in.close();
|
||||
}
|
||||
}
|
||||
|
||||
private static String markdownToHtml(String markdown) {
|
||||
return new MarkdownProcessor().markdown(markdown);
|
||||
}
|
||||
|
||||
private static String buildEdge(String section) {
|
||||
String latest = section != null ? section : "* No changelog records for this edge release.";
|
||||
return new MarkdownProcessor().markdown(latest);
|
||||
return markdownToHtml(latest);
|
||||
}
|
||||
|
||||
private static String buildLatest(String section) {
|
||||
String latest = section != null ? section : "* No changelog records for this release.";
|
||||
String noIssueLinks = latest.replaceAll("\\[[^]]*[Ii]ssue[^]]*\\]\\([^)]*\\)", "");
|
||||
String noLinks = noIssueLinks.replaceAll("\\[([^]]*)\\]\\([^)]*\\)", "$1");
|
||||
return new MarkdownProcessor().markdown(noLinks);
|
||||
return markdownToHtml(noLinks);
|
||||
}
|
||||
|
||||
private static String sectionByVersion(String markdown, String version) {
|
||||
|
||||
@@ -187,7 +187,7 @@ public class WebsiteMaker {
|
||||
}
|
||||
}
|
||||
|
||||
private static final Pattern LOMBOK_LINK = Pattern.compile("^.*<a(?: (?:id|class|rel|rev|download|target|type)(?:=\"[^\"]*\")?)* href=\"([^\"]+)\"(?: (?:id|class|rel|rev|download|target|type)(?:=\"[^\"]*\")?)*>([^<]+)</a>.*$");
|
||||
private static final Pattern LOMBOK_LINK = Pattern.compile("^.*<a(?: (?:id|class|rel|rev|download|target|type)(?:=\"[^\"]*\")?)* href=\"(downloads/[^\"]+)\"(?: (?:id|class|rel|rev|download|target|type)(?:=\"[^\"]*\")?)*>([^<]+)</a>.*$");
|
||||
private Map<String, Object> createDataModel() throws IOException {
|
||||
Map<String, Object> data = new HashMap<String, Object>();
|
||||
data.put("version", version);
|
||||
@@ -206,11 +206,9 @@ public class WebsiteMaker {
|
||||
in.close();
|
||||
}
|
||||
|
||||
if (links.isEmpty() || !links.get(0).get(0).endsWith("lombok-" + version + ".jar")) {
|
||||
links.add(Arrays.asList("downloads/lombok-" + version + ".jar", "lombok-" + version + ".jar"));
|
||||
}
|
||||
|
||||
data.put("linksToVersions", links);
|
||||
data.put("changelog", CompileChangelog.getHtml(baseDir.getParentFile()));
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user