r77 - in trunk/maven-jredmine-plugin/src: main/java/org/nuiton/jredmine/plugin main/java/org/nuiton/jredmine/plugin/announcement main/java/org/nuiton/jredmine/plugin/report main/resources/org/nuiton/jredmine/plugin/announcement test/resources test/resources/org/nuiton/jredmine/plugin/announcement/generateEmailAnnouncementMojoTest test/resources/org/nuiton/jredmine/plugin/announcement/generateNewsAnnouncementMojoTest
Author: tchemit Date: 2010-01-10 20:29:08 +0100 (Sun, 10 Jan 2010) New Revision: 77 Added: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AnnouncementGeneratorConfiguration.java Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AnnouncementGenerator.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractIssuesReport.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractRedmineReport.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/IssueReportGenerator.java trunk/maven-jredmine-plugin/src/main/resources/org/nuiton/jredmine/plugin/announcement/release-email-announcement.vm trunk/maven-jredmine-plugin/src/main/resources/org/nuiton/jredmine/plugin/announcement/release-news-announcement.vm trunk/maven-jredmine-plugin/src/test/resources/log4j.properties trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateEmailAnnouncementMojoTest/generateEmailAnnouncement.xml trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateEmailAnnouncementMojoTest/skipGenerateEmailAnnouncement.xml trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateNewsAnnouncementMojoTest/generateNewsAnnouncement.xml trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateNewsAnnouncementMojoTest/skipGenerateNewsAnnouncement.xml Log: improve announcement generator design \ improve announcement templates add default link template (using the %URL% token) Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java 2010-01-10 19:29:08 UTC (rev 77) @@ -619,4 +619,12 @@ public void setSafe(boolean safe) { this.safe = safe; } + + public String getProjectId() { + return projectId; + } + + public String getVersionId() { + return versionId; + } } Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java 2010-01-10 19:29:08 UTC (rev 77) @@ -22,8 +22,6 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.changes.ChangesXML; -import org.apache.maven.plugins.changes.model.Release; -import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.context.Context; import org.codehaus.plexus.util.ReaderFactory; @@ -33,8 +31,11 @@ import org.nuiton.jredmine.plugin.AbstractRedmineMojo; import org.nuiton.plugin.PluginHelper; -import java.io.*; -import java.util.*; +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -42,7 +43,7 @@ * @author chemit * @requiresOnline true */ -public abstract class AbstractAnnouncementMojo extends AbstractRedmineMojo { +public abstract class AbstractAnnouncementMojo extends AbstractRedmineMojo implements AnnouncementGeneratorConfiguration { /** * Directory where the template file will be generated. @@ -95,7 +96,7 @@ * and everything that comes after it. <code>%FILE%</code>: this is the issue number. * </p> * - * @parameter expression="${redmine.attachmentLinkTemplate}" + * @parameter expression="${redmine.attachmentLinkTemplate}" default-value="%URL%/attachments/download/%FILE%" * @since 1.0.0 */ protected String attachmentLinkTemplate; @@ -195,16 +196,26 @@ protected Map<File, String> artifactUrls; protected Map<Attachment, String> attachmentUrls; + + protected List<?> releases; + protected AnnouncementGenerator generator; private static final Pattern ARTIFACT_PATTERN = Pattern.compile("(.+)?--(.+)?"); + /** + * @return the name fo the template to use + */ protected abstract String getAnnouncementTemplate(); protected AbstractAnnouncementMojo() { super(true, false, true); } + /////////////////////////////////////////////////////////////////////////// + /// AbstractRedmineMojo + /////////////////////////////////////////////////////////////////////////// + @Override protected boolean isRunOnce() { return runOnce; @@ -224,7 +235,6 @@ @Override protected void init() throws Exception { -// protected boolean init() throws Exception { versionId = PluginHelper.removeSnapshotSuffix(versionId); @@ -234,18 +244,11 @@ runOnceDone = checkRunOnceDone(); if (runOnceDone) { return; -// return true; } } -// if (!super.init()) { -// return false; -// } - if (!xmlPath.exists()) { throw new MojoExecutionException("can not find redmine-template at " + xmlPath); -// getLog().warn("can not find redmine-template at " + xmlPath + ", goal is skip"); -// return false; } if (StringUtils.isEmpty(templateEncoding)) { @@ -264,7 +267,7 @@ } - List<File> files = getFiles(artifactsFile); + File[] files = PluginHelper.getLinesAsFiles(artifactsFile); String url = deploymentUrl.trim(); @@ -272,7 +275,9 @@ deploymentUrl = (url += "/"); } - getLog().info("Deploy url = " + url); + if (isVerbose()) { + getLog().info("Deploy url = " + url); + } artifactUrls = new HashMap<File, String>(); @@ -292,58 +297,46 @@ f = new File(filename); } String spec = url + groupId + "/" + versionId + "/" + filename; - getLog().info("artifact file " + f.getName() + " --> " + spec); - + if (isVerbose()) { + getLog().info("artifact file " + f.getName() + " --> " + spec); + } artifactUrls.put(f, spec); - } - } super.init(); - generator = new AnnouncementGenerator(getLog(), projectUrl, attachmentLinkTemplate); + generator = new AnnouncementGenerator(this); Attachment[] attachments = service.getAttachments(projectId, versionId); if (attachments.length == 0) { getLog().info("No attachments files"); + return; } + if (isVerbose()) { + getLog().info("attachmentLinkTemplate " + attachmentLinkTemplate); + getLog().info("server url " + url); + } attachmentUrls = generator.getAttachmentsUrls(attachments); - for (Map.Entry<Attachment, String> e : attachmentUrls.entrySet()) { - Attachment key = e.getKey(); - String value = e.getValue(); - getLog().info("attachment file " + key.getFilename() + " --> " + value); + if (isVerbose()) { + for (Map.Entry<Attachment, String> e : attachmentUrls.entrySet()) { + Attachment key = e.getKey(); + String value = e.getValue(); + getLog().info("attachment file " + key.getFilename() + " --> " + value); + } } + ChangesXML changesXml = new ChangesXML(xmlPath, getLog()); -// return true; + releases = changesXml.getReleaseList(); } -// @Override -// protected boolean checkSkip() { -//// if (isRunOnceDone()) { -//// getLog().info("skip goal, runOnce flag is on, and was already executed."); -//// return false; -//// } -// boolean b = super.checkSkip(); -// return b; -// } - @Override protected void doAction() throws Exception { -// if (isRunOnceDone()) { -// getLog().info("skip goal, runOnce flag is on, and was already executed."); -// return; -// } - - ChangesXML changesXml = new ChangesXML(xmlPath, getLog()); - - List<?> releases = changesXml.getReleaseList(); - //TODO-TC-20091209 must obtain back the full name of dev from the project team on each action String template = getAnnouncementTemplate(); @@ -357,82 +350,88 @@ engine.setApplicationAttribute("baseDirectory", basedir); + Context context = generator.createVelocityContext(releases); - Context context = createVelocityContext(generator, releases); - - // generate redmine announcement file - generator.doGenerate(engine, context, out, templateDirectory + "/" + template, templateEncoding); getLog().debug("Created announcement [" + template + "] in " + out); + } + /////////////////////////////////////////////////////////////////////////// + /// AnnouncementGeneratorConfiguration + /////////////////////////////////////////////////////////////////////////// + @Override + public String getAttachmentLinkTemplate() { + return attachmentLinkTemplate; } - public Context createVelocityContext(AnnouncementGenerator generator, List<?> releases) throws MojoExecutionException { + @Override + public String getUrl() { + return url.toString(); + } - // prepare velocity context - Context context = new VelocityContext(); - context.put("releases", releases); - context.put("groupId", groupId); - context.put("artifactId", artifactId); - context.put("version", versionId); - context.put("packaging", packaging); - context.put("url", projectUrl); + @Override + public String getArtifactId() { + return artifactId; + } - Release release = generator.getLatestRelease(releases, versionId); + @Override + public Map<File, String> getArtifactUrls() { + return artifactUrls; + } - context.put("release", release); - context.put("introduction", introduction); - context.put("developmentTeam", developmentTeam); - context.put("finalName", finalName); - context.put("urlDownload", urlDownload); - context.put("mavenRepoUrl", this.deploymentUrl); - context.put("project", project); + @Override + public Map<Attachment, String> getAttachmentUrls() { + return attachmentUrls; + } - // add artifacts in context - if (artifactUrls == null || artifactUrls.isEmpty()) { - context.put("withArtifacts", false); + @Override + public String getBasedir() { + return basedir; + } - } else { - context.put("withArtifacts", true); - context.put("artifactUrls", artifactUrls); - } - // add attachments in context + @Override + public String getDeploymentUrl() { + return deploymentUrl; + } - if (attachmentUrls == null || attachmentUrls.isEmpty()) { - context.put("withAttachments", false); + @Override + public String getDevelopmentTeam() { + return developmentTeam; + } - } else { - context.put("withAttachments", true); - context.put("attachmentUrls", attachmentUrls); - } + @Override + public String getFinalName() { + return finalName; + } - if (announceParameters == null) { - // empty Map to prevent NPE in velocity execution - context.put("announceParameters", Collections.EMPTY_MAP); - } else { - context.put("announceParameters", announceParameters); - } - return context; + @Override + public String getGroupId() { + return groupId; } - /** - * Read a file containing on each line the path of a file. - * - * @param input the file containing the list of files - * @return the list of files read from the given file - * @throws java.io.IOException if any pb while reading file - */ - public List<File> getFiles(File input) throws IOException { - List<File> result = new ArrayList<File>(); - BufferedReader stream = new BufferedReader(new InputStreamReader(new FileInputStream(input))); - while (stream.ready()) { - String line = stream.readLine().trim(); - if (!line.isEmpty()) { - File f = new File(line); - result.add(f); - } - } - return result; + @Override + public String getIntroduction() { + return introduction; } + + @Override + public String getPackaging() { + return packaging; + } + + @Override + public String getProjectUrl() { + return projectUrl; + } + + @Override + public String getUrlDownload() { + return urlDownload; + } + + @Override + public Map<String, Object> getAnnounceParameters() { + return announceParameters; + } } Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AnnouncementGenerator.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AnnouncementGenerator.java 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AnnouncementGenerator.java 2010-01-10 19:29:08 UTC (rev 77) @@ -25,6 +25,7 @@ import org.apache.maven.plugins.changes.model.Action; import org.apache.maven.plugins.changes.model.Release; import org.apache.velocity.Template; +import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.context.Context; import org.apache.velocity.exception.ResourceNotFoundException; @@ -36,7 +37,7 @@ import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.Writer; -import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -48,32 +49,32 @@ public class AnnouncementGenerator { /** - * The token any of urls denoting the base URL for the issue management. + * The token any of urls denoting the base URL for the given url. */ private static final String URL_TOKEN = "%URL%"; /** - * The token in {@link #attachmentLinkTemplate} denoting the attachment ID. + * The token in {@link #getAttachmentLinkTemplate()} denoting the attachment ID. */ private static final String ATTACHMENT_TOKEN = "%FILE%"; - /** - * the redmine url - */ - protected final String url; - /** - * the redmine attachment url template - */ - protected final String attachmentLinkTemplate; - /** - * logger - */ - private final Log log; - public AnnouncementGenerator(Log log, String url, String attachmentLinkTemplate) { - this.log = log; - this.url = url; - this.attachmentLinkTemplate = attachmentLinkTemplate; + private final AnnouncementGeneratorConfiguration configuration; + + public AnnouncementGenerator(AnnouncementGeneratorConfiguration configuration) { + this.configuration = configuration; } + public String getAttachmentLinkTemplate() { + return configuration.getAttachmentLinkTemplate(); + } + + public Log getLog() { + return configuration.getLog(); + } + + public String getUrl() { + return configuration.getUrl(); + } + public Map<Attachment, String> getAttachmentsUrls(Attachment[] attachments) { // transform attachments urls @@ -96,6 +97,58 @@ return urls; } + public Context createVelocityContext(List<?> releases) throws MojoExecutionException { + + // prepare velocity context + Context context = new VelocityContext(); + context.put("releases", releases); + context.put("groupId", configuration.getGroupId()); + context.put("artifactId", configuration.getArtifactId()); + context.put("version", configuration.getVersionId()); + context.put("packaging", configuration.getPackaging()); + context.put("url", configuration.getUrl()); + context.put("projectUrl", configuration.getProjectUrl()); + + Release release = getLatestRelease(releases, configuration.getVersionId()); + + context.put("release", release); + context.put("introduction", configuration.getIntroduction()); + context.put("developmentTeam", configuration.getDevelopmentTeam()); + context.put("finalName", configuration.getFinalName()); + context.put("urlDownload", configuration.getUrlDownload()); + context.put("mavenRepoUrl", configuration.getDeploymentUrl()); + context.put("project", configuration.getProject()); + + // add artifacts in context + Map<File, String> artifactUrls = configuration.getArtifactUrls(); + if (artifactUrls == null || artifactUrls.isEmpty()) { + context.put("withArtifacts", false); + + } else { + context.put("withArtifacts", true); + context.put("artifactUrls", artifactUrls); + } + // add attachments in context + + Map<Attachment, String> attachmentUrls = configuration.getAttachmentUrls(); + if (attachmentUrls == null || attachmentUrls.isEmpty()) { + context.put("withAttachments", false); + + } else { + context.put("withAttachments", true); + context.put("attachmentUrls", attachmentUrls); + } + + Map<String, Object> announceParameters = configuration.getAnnounceParameters(); + if (announceParameters == null) { + // empty Map to prevent NPE in velocity execution + context.put("announceParameters", Collections.EMPTY_MAP); + } else { + context.put("announceParameters", announceParameters); + } + return context; + } + public void doGenerate(VelocityEngine engine, Context context, File out, String templatePath, String templateEncoding) throws MojoExecutionException { @@ -126,17 +179,22 @@ * @return <code>true</code> if issue links can be generated, <code>false</code> otherwise. */ public boolean canGenerateAttachmentLinks() { - return !StringUtils.isBlank(attachmentLinkTemplate) && attachmentLinkTemplate.indexOf(ATTACHMENT_TOKEN) > 0 && (!StringUtils.isBlank(url) || attachmentLinkTemplate.indexOf(URL_TOKEN) < 0); + String attachmentLinkTemplate = getAttachmentLinkTemplate(); + String url = getUrl(); + return !StringUtils.isBlank(attachmentLinkTemplate) && + attachmentLinkTemplate.indexOf(ATTACHMENT_TOKEN) > 0 && + (attachmentLinkTemplate.indexOf(URL_TOKEN) < 0 || !StringUtils.isBlank(url)); } protected String parseAttachmentLink(String id) { String parseLink; - String issueLink = this.attachmentLinkTemplate; + String issueLink = getAttachmentLinkTemplate(); parseLink = issueLink.replaceFirst(ATTACHMENT_TOKEN, id); if (parseLink.indexOf(URL_TOKEN) >= 0) { - String u = this.url.substring(0, this.url.lastIndexOf("/")); - parseLink = parseLink.replaceFirst(URL_TOKEN, u); +// String u = this.url.substring(0, this.url.lastIndexOf("/")); +// parseLink = parseLink.replaceFirst(URL_TOKEN, u); + parseLink = parseLink.replaceFirst(URL_TOKEN, getUrl()); } return parseLink; @@ -218,7 +276,4 @@ } } - protected Log getLog() { - return log; - } } Added: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AnnouncementGeneratorConfiguration.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AnnouncementGeneratorConfiguration.java (rev 0) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AnnouncementGeneratorConfiguration.java 2010-01-10 19:29:08 UTC (rev 77) @@ -0,0 +1,66 @@ +package org.nuiton.jredmine.plugin.announcement; + +import org.apache.maven.plugin.logging.Log; +import org.apache.maven.project.MavenProject; +import org.nuiton.jredmine.model.Attachment; + +import java.io.File; +import java.util.Map; + +/** + * Created: 10 janv. 2010 + * + * @author Tony Chemit <chemit@codelutin.com> Copyright Code Lutin + * @version $Revision$ + * <p/> + * Mise a jour: $Date$ par : + * $Author: tchemit $ + * @since 1.2.1 + */ +public interface AnnouncementGeneratorConfiguration { + + /** + * @return the redmine url + */ + String getUrl(); + + /** + * @return the redmine attachment url template + */ + String getAttachmentLinkTemplate(); + + /** + * @return logger + */ + Log getLog(); + + String getArtifactId(); + + Map<File, String> getArtifactUrls(); + + Map<Attachment, String> getAttachmentUrls(); + + String getBasedir(); + + String getDeploymentUrl(); + + String getDevelopmentTeam(); + + String getFinalName(); + + String getGroupId(); + + String getIntroduction(); + + String getPackaging(); + + String getProjectUrl(); + + String getUrlDownload(); + + Map<String, Object> getAnnounceParameters(); + + String getVersionId(); + + MavenProject getProject(); +} Property changes on: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AnnouncementGeneratorConfiguration.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractIssuesReport.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractIssuesReport.java 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractIssuesReport.java 2010-01-10 19:29:08 UTC (rev 77) @@ -27,6 +27,7 @@ import org.nuiton.jredmine.plugin.IssuesCollector; import org.nuiton.plugin.PluginHelper; +import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -45,6 +46,15 @@ */ protected final String group; + /** + * cache of collected issues + */ + protected static Map<IssueCollectorConfiguration, Issue[]> issuesCache = new HashMap<IssueCollectorConfiguration, Issue[]>(); + /** + * Issues to used for report + */ + protected Issue[] issues; + protected AbstractIssuesReport(String group) { super(true, false, false); this.group = group; @@ -92,19 +102,36 @@ /////////////////////////////////////////////////////////////////////////// @Override public void init() throws Exception { -// public boolean init() throws Exception { setVersionId(PluginHelper.removeSnapshotSuffix(getVersionId())); super.init(); -// boolean result = super.init(); -// if (result) { -// -// setVersionId(PluginHelper.removeSnapshotSuffix(getVersionId())); -// -// } -// return result; + issues = issuesCache.get(this); + + if (issues == null) { + + getLog().info("Collect issues for " + this); + // init issues collector + + IssuesCollector collector = new IssuesCollector(getLog(), verbose); + + try { + + collector.collect(service, this); + + // get issues from collector + + issues = collector.getIssues(); + + issuesCache.put(this, issues); + + } catch (RedmineServiceException ex) { + throw new MavenReportException("could not obtains issues for reason " + ex.getMessage(), ex); + } finally { + collector.clearFilters(); + } + } } /////////////////////////////////////////////////////////////////////////// @@ -118,25 +145,8 @@ } String id = getProjectId(); - // init issues collector - - IssuesCollector collector = new IssuesCollector(getLog(), verbose); - try { - collector.collect(service, this); - - } catch (RedmineServiceException ex) { - collector.clearFilters(); - throw new MavenReportException("could not obtains issues for reason " + ex.getMessage(), ex); - } - - // get issues from collector - - Issue[] issues = collector.getIssues(); - - try { - if (issues == null || issues.length == 0) { getLog().warn("no issue to treate, will generate an empty raport."); @@ -159,6 +169,8 @@ report.setTrackers(service.getTrackers(id)); report.setVersions(service.getVersions(id)); + getLog().info("url to use " + url); + report.doGenerateReport(getBundle(locale), getSink(), getLog()); } @@ -168,8 +180,6 @@ throw mre; } catch (Exception e) { e.printStackTrace(); - } finally { - collector.clearFilters(); } } Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractRedmineReport.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractRedmineReport.java 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractRedmineReport.java 2010-01-10 19:29:08 UTC (rev 77) @@ -72,7 +72,7 @@ * and everything that comes after it. <code>%ISSUE%</code>: this is the issue number. * </p> * - * @parameter expression="${redmine.issueLinkTemplate}" + * @parameter expression="${redmine.issueLinkTemplate}" default-value="%URL%/issues/show/%ISSUE%" * @since 1.0.0 */ protected String issueLinkTemplate; @@ -85,7 +85,7 @@ * and everything that comes after it. <code>%VERSION%</code>: this is the issue number. * </p> * - * @parameter expression="${redmine.versionLinkTemplate}" + * @parameter expression="${redmine.versionLinkTemplate}" default-value="%URL%/versions/show/%VERSION%" * @since 1.0.0 */ protected String versionLinkTemplate; Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/IssueReportGenerator.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/IssueReportGenerator.java 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/IssueReportGenerator.java 2010-01-10 19:29:08 UTC (rev 77) @@ -526,8 +526,10 @@ parseLink = issueLink.replaceFirst(ISSUE_TOKEN, issue); if (parseLink.indexOf(URL_TOKEN) >= 0) { - String u = this.url.substring(0, this.url.lastIndexOf("/")); - parseLink = parseLink.replaceFirst(URL_TOKEN, u); +// String u = this.url.substring(0, this.url.lastIndexOf("/")); + +// parseLink = parseLink.replaceFirst(URL_TOKEN, u); + parseLink = parseLink.replaceFirst(URL_TOKEN, this.url); } return parseLink; @@ -539,8 +541,9 @@ parseLink = issueLink.replaceFirst(VERSION_TOKEN, issue); if (parseLink.indexOf(URL_TOKEN) >= 0) { - String u = this.url.substring(0, this.url.lastIndexOf("/")); - parseLink = parseLink.replaceFirst(URL_TOKEN, u); +// String u = this.url.substring(0, this.url.lastIndexOf("/")); +// parseLink = parseLink.replaceFirst(URL_TOKEN, u); + parseLink = parseLink.replaceFirst(URL_TOKEN, this.url); } return parseLink; Modified: trunk/maven-jredmine-plugin/src/main/resources/org/nuiton/jredmine/plugin/announcement/release-email-announcement.vm =================================================================== --- trunk/maven-jredmine-plugin/src/main/resources/org/nuiton/jredmine/plugin/announcement/release-email-announcement.vm 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/main/resources/org/nuiton/jredmine/plugin/announcement/release-email-announcement.vm 2010-01-10 19:29:08 UTC (rev 77) @@ -141,7 +141,7 @@ #if ($withAttachments) For a manual installation, you can download files here: -${urlDownload}. +${urlDownload} #foreach($a in $attachmentUrls.entrySet()) #set($attachment=$a.getKey()) @@ -156,7 +156,7 @@ #if ($withArtifacts) Artifacts are deployed in nuiton maven repository -(${mavenRepoUrl}). +${mavenRepoUrl} #foreach($a in $artifactUrls.entrySet()) #set($artifact=$a.getKey()) Modified: trunk/maven-jredmine-plugin/src/main/resources/org/nuiton/jredmine/plugin/announcement/release-news-announcement.vm =================================================================== --- trunk/maven-jredmine-plugin/src/main/resources/org/nuiton/jredmine/plugin/announcement/release-news-announcement.vm 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/main/resources/org/nuiton/jredmine/plugin/announcement/release-news-announcement.vm 2010-01-10 19:29:08 UTC (rev 77) @@ -137,7 +137,7 @@ #if ($withAttachments) For a manual installation, you can download files here: -${urlDownload}. +${urlDownload} #foreach($a in $attachmentUrls.entrySet()) #set($attachment=$a.getKey()) @@ -151,7 +151,7 @@ #if ($withArtifacts) Artifacts are deployed in nuiton maven repository -(${mavenRepoUrl}). +${mavenRepoUrl} #foreach($a in $artifactUrls.entrySet()) #set($artifact=$a.getKey()) Modified: trunk/maven-jredmine-plugin/src/test/resources/log4j.properties =================================================================== --- trunk/maven-jredmine-plugin/src/test/resources/log4j.properties 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/test/resources/log4j.properties 2010-01-10 19:29:08 UTC (rev 77) @@ -23,5 +23,5 @@ log4j.logger.org.nuiton.jredmine=INFO log4j.logger.org.nuiton.io.rest=INFO -log4j.logger.org.nuiton.plugin.AbstractMojoTest=INFO +log4j.logger.org.nuiton.plugin=INFO log4j.logger.org.apache.commons.httpclient.HttpClient=INFO Modified: trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateEmailAnnouncementMojoTest/generateEmailAnnouncement.xml =================================================================== --- trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateEmailAnnouncementMojoTest/generateEmailAnnouncement.xml 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateEmailAnnouncementMojoTest/generateEmailAnnouncement.xml 2010-01-10 19:29:08 UTC (rev 77) @@ -18,13 +18,15 @@ <artifactId>maven-jredmine-plugin</artifactId> <configuration> <finalName>One-1.0.0.jar</finalName> - <url>http://mynuiton.org/projects/one</url> + <url>http://mynuiton.org</url> + <!--<url>http://mynuiton.org/projects/one</url>--> <packaging>jar</packaging> <projectId>one</projectId> <versionId>1.0.0</versionId> <templateOutputDirectory>target/announcement</templateOutputDirectory> <xmlPath>target/test-classes/org/nuiton/jredmine/plugin/announcement/changes.xml</xmlPath> <templateDirectory>org/nuiton/jredmine/plugin/announcement</templateDirectory> + <attachmentLinkTemplate>%URL%/attachments/download/%FILE%</attachmentLinkTemplate> <emailAnnouncementTemplate>release-email-announcement.vm</emailAnnouncementTemplate> <skipGenerateEmailAnnouncement>false</skipGenerateEmailAnnouncement> <developmentTeam>One team</developmentTeam> Modified: trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateEmailAnnouncementMojoTest/skipGenerateEmailAnnouncement.xml =================================================================== --- trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateEmailAnnouncementMojoTest/skipGenerateEmailAnnouncement.xml 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateEmailAnnouncementMojoTest/skipGenerateEmailAnnouncement.xml 2010-01-10 19:29:08 UTC (rev 77) @@ -18,7 +18,7 @@ <artifactId>maven-jredmine-plugin</artifactId> <configuration> <finalName>One-1.0.0.jar</finalName> - <url>http://mynuiton.org/projects/one</url> + <url>http://mynuiton.org</url> <packaging>jar</packaging> <projectId>one</projectId> <versionId>1.0.0</versionId> @@ -26,6 +26,7 @@ <xmlPath>target/test-classes/org/nuiton/jredmine/plugin/announcement/changes.xml</xmlPath> <templateDirectory>org/nuiton/jredmine/plugin/announcement</templateDirectory> <emailAnnouncementTemplate>release-email-announcement.vm</emailAnnouncementTemplate> + <attachmentLinkTemplate>%URL%/attachments/download/%FILE%</attachmentLinkTemplate> <skipGenerateEmailAnnouncement>true</skipGenerateEmailAnnouncement> <developmentTeam>One team</developmentTeam> <urlDownload>http://mynuiton.org/projects/list_files/one</urlDownload> Modified: trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateNewsAnnouncementMojoTest/generateNewsAnnouncement.xml =================================================================== --- trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateNewsAnnouncementMojoTest/generateNewsAnnouncement.xml 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateNewsAnnouncementMojoTest/generateNewsAnnouncement.xml 2010-01-10 19:29:08 UTC (rev 77) @@ -18,13 +18,14 @@ <artifactId>maven-jredmine-plugin</artifactId> <configuration> <finalName>One-1.0.0.jar</finalName> - <url>http://mynuiton.org/projects/one</url> + <url>http://mynuiton.org</url> <packaging>jar</packaging> <projectId>one</projectId> <versionId>1.0.0</versionId> <templateOutputDirectory>target/announcement</templateOutputDirectory> <xmlPath>target/test-classes/org/nuiton/jredmine/plugin/announcement/changes.xml</xmlPath> <templateDirectory>org/nuiton/jredmine/plugin/announcement</templateDirectory> + <attachmentLinkTemplate>%URL%/attachments/download/%FILE%</attachmentLinkTemplate> <newsAnnouncementTemplate>release-news-announcement.vm</newsAnnouncementTemplate> <skipGenerateNewsAnnouncement>false</skipGenerateNewsAnnouncement> <developmentTeam>One team</developmentTeam> Modified: trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateNewsAnnouncementMojoTest/skipGenerateNewsAnnouncement.xml =================================================================== --- trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateNewsAnnouncementMojoTest/skipGenerateNewsAnnouncement.xml 2010-01-10 16:39:49 UTC (rev 76) +++ trunk/maven-jredmine-plugin/src/test/resources/org/nuiton/jredmine/plugin/announcement/generateNewsAnnouncementMojoTest/skipGenerateNewsAnnouncement.xml 2010-01-10 19:29:08 UTC (rev 77) @@ -18,13 +18,14 @@ <artifactId>maven-jredmine-plugin</artifactId> <configuration> <finalName>One-1.0.0.jar</finalName> - <url>http://mynuiton.org/projects/one</url> + <url>http://mynuiton.org</url> <packaging>jar</packaging> <projectId>one</projectId> <versionId>1.0.0</versionId> <templateOutputDirectory>target/announcement</templateOutputDirectory> <xmlPath>target/test-classes/org/nuiton/jredmine/plugin/announcement/changes.xml</xmlPath> <templateDirectory>org/nuiton/jredmine/plugin/announcement</templateDirectory> + <attachmentLinkTemplate>%URL%/attachments/download/%FILE%</attachmentLinkTemplate> <newsAnnouncementTemplate>release-news-announcement.vm</newsAnnouncementTemplate> <skipGenerateNewsAnnouncement>true</skipGenerateNewsAnnouncement> <developmentTeam>One team</developmentTeam>
participants (1)
-
tchemit@users.nuiton.org