Author: tchemit Date: 2013-08-07 19:16:13 +0200 (Wed, 07 Aug 2013) New Revision: 403 Url: http://nuiton.org/projects/jredmine/repository/revisions/403 Log: fixes #2804: Even when skip flag is on, there is some code executed on goals fixes #2806: Can not use generate mojo on a none root module Modified: trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/GenerateChangesMojo.java trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/NextVersionMojo.java trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojo.java trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishNewsMojo.java trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/UpdateVersionMojo.java trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java Modified: trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java =================================================================== --- trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java 2013-08-07 17:09:19 UTC (rev 402) +++ trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java 2013-08-07 17:16:13 UTC (rev 403) @@ -43,8 +43,6 @@ * Abstract redmine mojo. * * @author tchemit <chemit@codelutin.com> - * @requiresOnline true - * @requiresProject true * @since 1.0.0 */ public abstract class AbstractRedmineMojo extends AbstractPlugin implements RedmineServiceConfiguration { Modified: trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/GenerateChangesMojo.java =================================================================== --- trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/GenerateChangesMojo.java 2013-08-07 17:09:19 UTC (rev 402) +++ trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/GenerateChangesMojo.java 2013-08-07 17:16:13 UTC (rev 403) @@ -302,6 +302,10 @@ @Override protected void init() throws Exception { + if (isGoalSkip()) { + return; + } + if (xmlPath == null || xmlPath.getAbsolutePath().trim().isEmpty()) { throw new MojoExecutionException("required a xmlPath parameter"); } @@ -312,17 +316,7 @@ versionId = PluginHelper.removeSnapshotSuffix(versionId); - runOnceDone = false; - - if (isRunOnce()) { - runOnceDone = checkRunOnceDone(); - if (runOnceDone) { - return; - } - } - - if (isGoalSkip()) { - getLog().warn("The goal is skip due to the skipGoal flag on"); + if (runOnceDone = isRunOnce() && checkRunOnceDone()) { return; } Modified: trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/NextVersionMojo.java =================================================================== --- trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/NextVersionMojo.java 2013-08-07 17:09:19 UTC (rev 402) +++ trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/NextVersionMojo.java 2013-08-07 17:16:13 UTC (rev 403) @@ -174,7 +174,17 @@ @Override protected boolean checkRunOnceDone() { - return isRunOnce() && !isExecutionRoot(); + // compute unique key + StringBuilder buffer = new StringBuilder("next-version"); + buffer.append("##").append(projectId); + buffer.append("##").append(versionId); + buffer.append("##").append(releaseVersion); + buffer.append("##").append(versionDescription); + buffer.append("##").append(previousVersionName); + + String key = buffer.toString(); + + return !needInvoke(runOnce, false, key); } /////////////////////////////////////////////////////////////////////////// @@ -184,19 +194,18 @@ @Override protected void init() throws Exception { + if (isGoalSkip()) { + return; + } + if (StringUtils.isBlank(versionId)) { throw new MojoExecutionException("required a versionId parameter"); } versionId = PluginHelper.removeSnapshotSuffix(versionId); - runOnceDone = false; - - if (isRunOnce()) { - runOnceDone = checkRunOnceDone(); - if (runOnceDone) { - return; - } + if (runOnceDone = isRunOnce() && checkRunOnceDone()) { + return; } if (StringUtils.isNotBlank(effectiveDate)) { Modified: trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojo.java =================================================================== --- trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojo.java 2013-08-07 17:09:19 UTC (rev 402) +++ trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojo.java 2013-08-07 17:16:13 UTC (rev 403) @@ -166,7 +166,16 @@ @Override protected boolean checkRunOnceDone() { - return isRunOnce() && !isExecutionRoot(); + + // compute unique key + StringBuilder buffer = new StringBuilder("publish-attachments"); + for (File allFile : allFiles) { + buffer.append("##").append(allFile); + } + + String key = buffer.toString(); + + return !needInvoke(runOnce, false, key); } /////////////////////////////////////////////////////////////////////////// @@ -176,6 +185,10 @@ @Override protected void init() throws Exception { + if (isGoalSkip()) { + return; + } + versionId = PluginHelper.removeSnapshotSuffix(versionId); if (filesFromProperties != null && !filesFromProperties.exists()) { @@ -201,13 +214,8 @@ return; } - runOnceDone = false; - - if (isRunOnce()) { - runOnceDone = checkRunOnceDone(); - if (runOnceDone) { - return; - } + if (runOnceDone = isRunOnce() && checkRunOnceDone()) { + return; } super.init(); Modified: trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishNewsMojo.java =================================================================== --- trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishNewsMojo.java 2013-08-07 17:09:19 UTC (rev 402) +++ trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishNewsMojo.java 2013-08-07 17:16:13 UTC (rev 403) @@ -150,7 +150,15 @@ @Override protected boolean checkRunOnceDone() { - return isRunOnce() && !isExecutionRoot(); + // compute unique key + StringBuilder buffer = new StringBuilder("publish-news"); + buffer.append("##").append(newsTitle); + buffer.append("##").append(newsSummary); + buffer.append("##").append(newsContentFile); + + String key = buffer.toString(); + + return !needInvoke(runOnce, false, key); } @Override @@ -165,6 +173,10 @@ @Override protected void init() throws Exception { + if (isGoalSkip()) { + return; + } + runOnceDone = false; if (isRunOnce()) { Modified: trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/UpdateVersionMojo.java =================================================================== --- trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/UpdateVersionMojo.java 2013-08-07 17:09:19 UTC (rev 402) +++ trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/UpdateVersionMojo.java 2013-08-07 17:16:13 UTC (rev 403) @@ -63,7 +63,7 @@ protected boolean anonymous; /** - * The news description to update to redmine server. + * The version description to update to redmine server. * <p/> * Note : if not set, no update of the description will be made. * @@ -192,7 +192,17 @@ @Override protected boolean checkRunOnceDone() { - return isRunOnce() && !isExecutionRoot(); + // compute unique key + StringBuilder buffer = new StringBuilder("update-version"); + buffer.append("##").append(projectId); + buffer.append("##").append(versionId); + buffer.append("##").append(releaseVersion); + buffer.append("##").append(versionDescription); + buffer.append("##").append(versionStatus); + + String key = buffer.toString(); + + return !needInvoke(runOnce, false, key); } /////////////////////////////////////////////////////////////////////////// @@ -202,19 +212,18 @@ @Override protected void init() throws Exception { + if (isGoalSkip()) { + return; + } + if (StringUtils.isBlank(versionId)) { throw new MojoExecutionException("required a versionId parameter"); } versionId = PluginHelper.removeSnapshotSuffix(versionId); - runOnceDone = false; - - if (isRunOnce()) { - runOnceDone = checkRunOnceDone(); - if (runOnceDone) { - return; - } + if (runOnceDone = isRunOnce() && checkRunOnceDone()) { + return; } if (StringUtils.isNotBlank(effectiveDate)) { Modified: trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java =================================================================== --- trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java 2013-08-07 17:09:19 UTC (rev 402) +++ trunk/jredmine-maven-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java 2013-08-07 17:16:13 UTC (rev 403) @@ -44,7 +44,6 @@ /** * @author tchemit <chemit@codelutin.com> - * @requiresOnline true */ public abstract class AbstractAnnouncementMojo extends AbstractRedmineMojoWithProjectAndVersion implements AnnouncementGeneratorConfiguration { @@ -128,7 +127,7 @@ * * @since 1.0.0 */ - @Parameter(property = "project.groupId", readonly = true) + @Parameter(property = "session.topLevelProject.groupId", readonly = true) protected String groupId; /** @@ -136,7 +135,7 @@ * * @since 1.0.0 */ - @Parameter(property = "project.artifactId", readonly = true) + @Parameter(property = "session.topLevelProject.artifactId", readonly = true) protected String artifactId; /** @@ -144,7 +143,7 @@ * * @since 1.0.0 */ - @Parameter(property = "redmine.projectUrl", defaultValue = "${project.url}", required = true) + @Parameter(property = "redmine.projectUrl", defaultValue = "${session.topLevelProject.url}", required = true) protected String projectUrl; /** @@ -160,7 +159,7 @@ * * @since 1.0.0 */ - @Parameter(property = "redmine.finalName", defaultValue = "${project.build.finalName}", required = true) + @Parameter(property = "redmine.finalName", defaultValue = "${session.topLevelProject.build.finalName}", required = true) protected String finalName; /** @@ -187,7 +186,7 @@ * @required * @since 1.0.0 */ - @Parameter(property = "redmine.developmentTeam", defaultValue = "${project.name} team", required = true) + @Parameter(property = "redmine.developmentTeam", defaultValue = "${session.topLevelProject.name} team", required = true) protected String developmentTeam; /** @@ -195,7 +194,7 @@ * * @since 1.0.0 */ - @Parameter(property = "redmine.introduction", defaultValue = "${project.description}") + @Parameter(property = "redmine.introduction", defaultValue = "${session.topLevelProject.description}") protected String introduction; /** @@ -360,17 +359,16 @@ @Override protected boolean checkRunOnceDone() { - String template = getAnnouncementTemplate(); File out = getOutputFile(); Date buildStartTime = session == null ? null : session.getStartTime(); Date newStartTime = out.exists() ? new Date(out.lastModified()) : null; - boolean checkRunOnceDone = checkRunOnceDone(runOnce, - true, - buildStartTime, - newStartTime + boolean needInvoke = needInvoke(runOnce, + false, + buildStartTime, + newStartTime ); - return checkRunOnceDone; + return !needInvoke; } /////////////////////////////////////////////////////////////////////////// @@ -380,15 +378,14 @@ @Override protected void init() throws Exception { + if (isGoalSkip()) { + return; + } + versionId = PluginHelper.removeSnapshotSuffix(versionId); - runOnceDone = false; - - if (isRunOnce()) { - runOnceDone = checkRunOnceDone(); - if (runOnceDone) { - return; - } + if (runOnceDone = isRunOnce() && checkRunOnceDone()) { + return; } if (!xmlPath.exists()) { @@ -403,9 +400,9 @@ templateEncoding + ", i.e. build is platform dependent!"); } - if (StringUtils.isEmpty(introduction)) { - introduction = project.getUrl(); - } +// if (StringUtils.isEmpty(introduction)) { +// introduction = project.getUrl(); +// } generator = new AnnouncementGenerator(this);