Fixed blog post parsing and not failing the build on templates
This commit is contained in:
@@ -131,14 +131,14 @@ public class Releaser {
|
||||
log.info("\nSuccessfully closed milestone");
|
||||
}
|
||||
|
||||
public void createEmail(ProjectVersion releaseVersion) {
|
||||
public void createEmail(ProjectVersion releaseVersion, Projects projects) {
|
||||
Assert.notNull(releaseVersion, "You must provide a release version for your project");
|
||||
Assert.notNull(releaseVersion.version, "You must provide a release version for your project");
|
||||
if (releaseVersion.isSnapshot()) {
|
||||
log.info("\nWon't create email template for a SNAPSHOT version");
|
||||
return;
|
||||
}
|
||||
File email = this.templateGenerator.email();
|
||||
File email = this.templateGenerator.email(projects);
|
||||
if (email != null) {
|
||||
log.info("\nSuccessfully created email template at location [{}]", email);
|
||||
} else {
|
||||
@@ -169,12 +169,12 @@ public class Releaser {
|
||||
log.info("\nSuccessfully updated Spring Guides issues");
|
||||
}
|
||||
|
||||
public void createTweet(ProjectVersion releaseVersion) {
|
||||
public void createTweet(ProjectVersion releaseVersion, Projects projects) {
|
||||
if (releaseVersion.isSnapshot()) {
|
||||
log.info("\nWon't create tweet template for a SNAPSHOT version");
|
||||
return;
|
||||
}
|
||||
File tweet = this.templateGenerator.tweet();
|
||||
File tweet = this.templateGenerator.tweet(projects);
|
||||
if (tweet != null) {
|
||||
log.info("\nSuccessfully created tweet template at location [{}]", tweet);
|
||||
} else {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package org.springframework.cloud.release.internal.template;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
@@ -10,13 +9,14 @@ import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.github.jknack.handlebars.Template;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.cloud.release.internal.pom.Projects;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import com.github.jknack.handlebars.Template;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@@ -66,7 +66,7 @@ class BlogTemplateGenerator {
|
||||
Files.write(this.blogOutput.toPath(), blog.getBytes());
|
||||
return this.blogOutput;
|
||||
}
|
||||
catch (IOException e) {
|
||||
catch (Exception e) {
|
||||
log.warn("Exception occurred while trying to create a blog entry", e);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package org.springframework.cloud.release.internal.template;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
|
||||
import com.github.jknack.handlebars.Template;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.github.jknack.handlebars.Template;
|
||||
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@@ -31,7 +31,7 @@ class EmailTemplateGenerator {
|
||||
Files.write(this.emailOutput.toPath(), email.getBytes());
|
||||
return this.emailOutput;
|
||||
}
|
||||
catch (IOException e) {
|
||||
catch (Exception e) {
|
||||
log.warn("Exception occurred while trying to generate an email template", e);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
package org.springframework.cloud.release.internal.template;
|
||||
|
||||
import com.github.jknack.handlebars.Handlebars;
|
||||
import com.github.jknack.handlebars.Template;
|
||||
import com.github.jknack.handlebars.helper.StringHelpers;
|
||||
import com.github.jknack.handlebars.io.ClassPathTemplateLoader;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -14,6 +9,8 @@ import org.springframework.cloud.release.internal.git.ProjectGitHandler;
|
||||
import org.springframework.cloud.release.internal.pom.Projects;
|
||||
import org.springframework.cloud.release.internal.tech.HandlebarsHelper;
|
||||
|
||||
import com.github.jknack.handlebars.Template;
|
||||
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@@ -48,9 +45,9 @@ public class TemplateGenerator implements ReleaserPropertiesAware {
|
||||
this.handler = handler;
|
||||
}
|
||||
|
||||
public File email() {
|
||||
public File email(Projects projects) {
|
||||
File emailOutput = file(this.emailOutput);
|
||||
String releaseVersion = parsedVersion();
|
||||
String releaseVersion = parsedVersion(projects);
|
||||
Template template = template(EMAIL_TEMPLATE);
|
||||
return new EmailTemplateGenerator(template, releaseVersion, emailOutput).email();
|
||||
}
|
||||
@@ -73,27 +70,30 @@ public class TemplateGenerator implements ReleaserPropertiesAware {
|
||||
|
||||
public File blog(Projects projects) {
|
||||
File blogOutput = file(this.blogOutput);
|
||||
String releaseVersion = parsedVersion();
|
||||
String releaseVersion = parsedVersion(projects);
|
||||
Template template = template(BLOG_TEMPLATE);
|
||||
return new BlogTemplateGenerator(template, releaseVersion, blogOutput, projects).blog();
|
||||
}
|
||||
|
||||
public File tweet() {
|
||||
public File tweet(Projects projects) {
|
||||
File output = file(this.tweetOutput);
|
||||
String releaseVersion = parsedVersion();
|
||||
String releaseVersion = parsedVersion(projects);
|
||||
Template template = template(TWITTER_TEMPLATE);
|
||||
return new TwitterTemplateGenerator(template, releaseVersion, output).tweet();
|
||||
}
|
||||
|
||||
public File releaseNotes(Projects projects) {
|
||||
File output = file(this.releaseNotesOutput);
|
||||
String releaseVersion = parsedVersion();
|
||||
String releaseVersion = parsedVersion(projects);
|
||||
Template template = template(RELEASE_NOTES_TEMPLATE);
|
||||
return new ReleaseNotesTemplateGenerator(template, releaseVersion,
|
||||
output, projects, this.handler).releseNotes();
|
||||
}
|
||||
|
||||
private String parsedVersion() {
|
||||
private String parsedVersion(Projects projects) {
|
||||
if (this.props.getMetaRelease().isEnabled()) {
|
||||
return projects.forName(this.props.getMetaRelease().getReleaseTrainProjectName()).version;
|
||||
}
|
||||
String version = this.props.getPom().getBranch();
|
||||
if (version.startsWith("v")) {
|
||||
return version.substring(1);
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
package org.springframework.cloud.release.internal.template;
|
||||
|
||||
import com.github.jknack.handlebars.Template;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.github.jknack.handlebars.Template;
|
||||
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
class TwitterTemplateGenerator {
|
||||
private static final Logger log = LoggerFactory.getLogger(TwitterTemplateGenerator.class);
|
||||
|
||||
private final Template template;
|
||||
private final String releaseVersion;
|
||||
private final File output;
|
||||
@@ -26,8 +30,9 @@ class TwitterTemplateGenerator {
|
||||
Files.write(this.output.toPath(), tweet.getBytes());
|
||||
return this.output;
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new IllegalStateException(e);
|
||||
catch (Exception e) {
|
||||
log.warn("Exception occurred while trying to generate a twitter template", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user