Browse Source

Remove broken changelog section for release notes and related code

Change-Id: I1e35dcbe4f75cb8b21a7c2a78143556522f32363
tags/8.0.0.alpha2^0
Artur Signell 7 years ago
parent
commit
a6fd8bd063

+ 0
- 34
all/pom.xml View File

@@ -12,7 +12,6 @@
<packaging>jar</packaging>

<properties>
<relnotes.tickets.file>${project.build.directory}/generated-resources/releasenotes/release-notes-tickets.html</relnotes.tickets.file>
<webcontent.dir>${project.build.outputDirectory}/WebContent/</webcontent.dir>
<maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
</properties>
@@ -135,9 +134,6 @@
</goals>
<configuration>
<target>
<loadfile property="release-notes-tickets"
srcFile="${relnotes.tickets.file}"
failonerror="false" />
<copy todir="${webcontent.dir}">
<fileset dir="src/main/templates/">
<patternset>
@@ -157,9 +153,6 @@
value="${vaadin.gwt.version}" />
<token key="builddate"
value="${maven.build.timestamp}" />
<token
key="release-notes-tickets"
value="${release-notes-tickets}" />
</replacetokens>
</filterchain>
</copy>
@@ -254,33 +247,6 @@
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>fetch-release-notes-tickets</id>
<phase>process-classes</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<classpathScope>compile</classpathScope>
<executable>${java.home}/bin/java</executable>
<arguments>
<argument>-Dvaadin.version=${project.version}</argument>
<argument>-classpath</argument>
<classpath />

<argument>com.vaadin.buildhelpers.FetchReleaseNotesTickets
</argument>
</arguments>
<outputFile>${relnotes.tickets.file}</outputFile>
</configuration>
</execution>
</executions>
</plugin>

<!-- Extract sources for JavaDoc -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>

+ 0
- 171
all/src/main/java/com/vaadin/buildhelpers/FetchReleaseNotesTickets.java View File

@@ -1,171 +0,0 @@
/*
* Copyright 2000-2016 Vaadin Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.vaadin.buildhelpers;

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.io.IOUtils;

public class FetchReleaseNotesTickets {
private static final String queryURL = "https://dev.vaadin.com/query?status=pending-release&amp;status=released&amp;@milestone@&amp;resolution=fixed&amp;col=id&amp;col=summary&amp;col=owner&amp;col=type&amp;col=priority&amp;col=component&amp;col=version&amp;col=bfptime&col=fv&amp;format=tab&amp;order=id";
private static final String ticketTemplate = "<tr>" + "@badge@" //
+ "<td class=\"ticket\"><a href=\"https://dev.vaadin.com/ticket/@ticket@\">#@ticket@</a></td>" //
+ "<td>@description@</td>" //
+ "</tr>"; //

public static void main(String[] args) throws IOException {
String versionsProperty = System.getProperty("vaadin.version");
if (versionsProperty == null || versionsProperty.equals("")) {
usage();
}
String milestone = "";

List<String> versions = new ArrayList<>();
for (String version : versionsProperty.split(" ")) {
if (version.endsWith(".0") || version.matches(".*\\.rc\\d+")) {
// Find all prerelease versions for final or rc

// Strip potential rc prefix
version = version.replaceAll("\\.rc\\d+$", "");
versions.addAll(findPrereleaseVersions(version));
} else {
versions.add(version);
}
}

for (String version : versions) {
if (!milestone.equals("")) {
milestone += "&amp;";
}
milestone += "milestone=Vaadin+" + version;
}

printMilestone(milestone);
}

private static List<String> findPrereleaseVersions(String baseVersion) {
List<String> versions = new ArrayList<>();

for (int i = 0; i < 50; i++) {
versions.add(baseVersion + ".alpha" + i);
}
for (int i = 0; i < 10; i++) {
versions.add(baseVersion + ".beta" + i);
}
for (int i = 0; i < 10; i++) {
versions.add(baseVersion + ".rc" + i);
}

return versions;
}

private static void printMilestone(String milestone)
throws MalformedURLException, IOException {

URL url = new URL(queryURL.replace("@milestone@", milestone));
URLConnection connection = url.openConnection();
InputStream urlStream = connection.getInputStream();

List<String> tickets = IOUtils.readLines(urlStream);

for (String ticket : tickets) {
// Omit BOM
if (!ticket.isEmpty() && ticket.charAt(0) == 65279) {
ticket = ticket.substring(1);
}
String[] fields = ticket.split("\t");
if ("id".equals(fields[0])) {
// This is the header
continue;
}
String summary = fields[1];

summary = modifySummaryString(summary);

String badge = "<td></td>";
if (fields.length >= 8 && !fields[7].equals("")) {
badge = "<td class=\"bfp\"><span class=\"bfp\">Priority</span></td>";
} else if (fields.length >= 9
&& fields[8].equalsIgnoreCase("true")) {
badge = "<td class=\"fv\"><span class=\"fv\">Vote</span></td>";
}

System.out.println(ticketTemplate.replace("@ticket@", fields[0])
.replace("@description@", summary)
.replace("@badge@", badge));
}
urlStream.close();
}

private static String modifySummaryString(String summary) {

if (summary.startsWith("\"") && summary.endsWith("\"")) {
// If a summary starts with " and ends with " then all quotes in
// the summary are encoded as double quotes
summary = summary.substring(1, summary.length() - 1);
summary = summary.replace("\"\"", "\"");
}

// this is needed for escaping html
summary = escapeHtml(summary);

return summary;
}

/**
* @since 7.4
* @param string
* the string to be html-escaped
* @return string in html-escape format
*/
private static String escapeHtml(String string) {

StringBuffer buf = new StringBuffer(string.length() * 2);

// we check the string character by character and escape only special
// characters
for (int i = 0; i < string.length(); ++i) {

char ch = string.charAt(i);
String charString = ch + "";

if ((charString).matches("[a-zA-Z0-9., ]")) {
// character is letter, digit, dot, comma or whitespace
buf.append(ch);
} else {
int charInt = ch;
buf.append("&");
buf.append("#");
buf.append(charInt);
buf.append(";");
}
}
return buf.toString();
}

private static void usage() {
System.err.println(
"Usage: " + FetchReleaseNotesTickets.class.getSimpleName()
+ " -Dvaadin.version=<version>");
System.exit(1);
}
}

+ 4
- 13
all/src/main/templates/release-notes.html View File

@@ -68,20 +68,11 @@

<!-- ================================================================ -->
<h3 id="changelog">Change Log for Vaadin @version@</h3>

<p>This release includes the following closed issues:</p>

<table>
@release-notes-tickets@
<tr><td>&nbsp;</td><td></td></tr>
<tr><td class="fv"><span class="vote">Vote</span></td><td colspan="2" class="pad">Enhancements <a href=" https://vaadin.com/support">Vaadin support</a> users have voted for</td></tr>
<tr><td class="bfp"><span class="bfp">Priority</span></td><td colspan="2" class="pad">Defects <a href=" https://vaadin.com/support">Vaadin support</a> users have prioritized</td></tr>
</table>
<br/>
<!-- @release-notes-changelog@ -->
<p>
You can also view the <a
href="https://github.com/vaadin/vaadin/compare/7.7.0...@version@">list
of all changes </a>.
You can find the full list of all changes <a
href="https://github.com/vaadin/vaadin/releases/tag/@version@">in
GitHub</a>.
</p>

<h2 id="enhancements">Enhancements in Vaadin @version-minor@</h2>

Loading…
Cancel
Save