r116 - in maven-redmine-plugin/trunk: . src/main/java/org/nuiton/redmine src/main/java/org/nuiton/redmine/model src/main/java/org/nuiton/redmine/model/io/xpp3 src/main/java/org/nuiton/redmine/plugin src/main/java/org/nuiton/redmine/plugin/announcement src/main/java/org/nuiton/redmine/plugin/release src/main/java/org/nuiton/redmine/plugin/report src/main/java/org/nuiton/redmine/request src/main/resources src/main/resources/META-INF/services src/main/resources/org src/main/resources/org/nuit
Author: tchemit Date: 2009-09-15 19:18:53 +0200 (Tue, 15 Sep 2009) New Revision: 116 Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataDescriptor.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RequestBuilderProvider.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/News.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/io/xpp3/NewsXpp3Reader.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/AbstractAnnouncementMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/AnnouncementGenerator.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/AbstractReleaseMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseEmailMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseNewsMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseVersionMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/DefaultRequestBuilder.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/ProjectRequestBuilder.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/RequestBuilder.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/RequestType.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/VersionRequestBuilder.java maven-redmine-plugin/trunk/src/main/resources/log4j.properties maven-redmine-plugin/trunk/src/main/resources/org/ maven-redmine-plugin/trunk/src/main/resources/org/nuiton/ maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/ maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/plugin/ maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/plugin/announcement/ maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/plugin/announcement/release-email-announcement.vm maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/plugin/announcement/release-redmine-announcement.vm maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineTestSuite.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/AbstractRedmineMojoTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DoReleaseTestSuite.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/DoReportTestSuite.java maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayAll.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayIssuePriorities.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayIssueStatuses.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectIssueCategories.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectTrackers.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectUsers.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getAll.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getIssuePriorities.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getIssueStatuses.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProject.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProject2.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectIssueCategories.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectNews.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectTrackers.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectUsers.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectVersions.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjects.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersion.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersionAttachments.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersionIssues.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/GenerateChangesMojoTest/generateChanges.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest/ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest/emailAnnouncement.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest/skipEmailAnnouncement.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest/ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest/redmineAnnouncement.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest/skipRedmineAnnouncement.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/changes.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest/ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest/releaseAttachments.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest/skipReleaseAttachments.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest/ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest/releaseEmail.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest/skipReleaseEmail.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest/ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest/releaseNews.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest/skipReleaseNews.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest/ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest/releaseVersion.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest/skipReleaseVersion.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest/issueReport.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest/issueReport.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest/issueReport.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest/issueReport.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest/issueReport.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest/issueReport.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest/issueReport.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportTest/issueReport.xml Removed: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-all.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-issue-priorities.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-issue-statuses.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-issue-categories.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-trackers.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-users.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-all.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-issue-priorities.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-issue-statuses.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-issue-categories.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-trackers.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-users.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-versions.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project2.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-projects.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version-attachments.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version-issues.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/GenerateChangesMojoTest/generate-changes.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/IssuesReportTest/ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest/issues-report.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest/issues-report.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest/issues-report.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest/issues-report.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest/issues-report.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest/issues-report.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest/issues-report.xml maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportTest/issues-report.xml Modified: maven-redmine-plugin/trunk/pom.xml maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineConfigurationHelper.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataHelper.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataProvider.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataType.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineSession.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/Attachment.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/Version.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/AbstractRedmineMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/DisplayDataMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/DownloadDataMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/GenerateChangesMojo.java maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/report/AbstractRedmineReport.java maven-redmine-plugin/trunk/src/main/resources/META-INF/services/org.nuiton.io.xpp3.Xpp3Reader maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineDataProviderTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineSessionTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/TestHelper.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/model/io/xpp3/RedmineXpp3HelperTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DisplayDataMojoTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DownloadDataMojoTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/GenerateChangesMojoTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/AbstractIssuesReportTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest.java maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportTest.java Log: release mojo are ok (and the reste alos :)) Modified: maven-redmine-plugin/trunk/pom.xml =================================================================== --- maven-redmine-plugin/trunk/pom.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/pom.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -20,6 +20,13 @@ <scope>compile</scope> </dependency> + <!-- fix dependency pb in velocity (need at least version > 2.2) --> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + <version>2.4</version> + </dependency> + <!-- FIXME si on ne le rajoute pas, on se retrouve avec la version 1.1 qui ne convient pas --> <dependency> <groupId>org.codehaus.plexus</groupId> @@ -69,16 +76,23 @@ </dependency> <dependency> + <groupId>org.apache.maven.plugin-testing</groupId> + <artifactId>maven-plugin-testing-harness</artifactId> + <version>1.2</version> + <scope>test</scope> + </dependency> + + <!--dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-plugin-testing-harness</artifactId> <version>1.1</version> <scope>test</scope> - </dependency> + </dependency--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>4.6</version> + <version>4.7</version> <scope>test</scope> </dependency> @@ -184,7 +198,7 @@ <!-- pour ne pas generer la javadoc (quand on aura un javadoc 2.5) --> <maven.javadoc.skip>false</maven.javadoc.skip> - <maven.version>2.0.10</maven.version> + <maven.version>2.1.0</maven.version> <helper.version>1.0.3-SNAPSHOT</helper.version> <!-- default license to use --> @@ -196,6 +210,11 @@ <!-- generated changes.xml file --> <maven.changeFile>${maven.gen.dir}/changes/changes.xml</maven.changeFile> + <test.redmineUrl>http://www.mynuiton.org</test.redmineUrl> + <test.redmineUsername>chemit</test.redmineUsername> + <test.redminePassword>azer</test.redminePassword> + <test.verbose>false</test.verbose> + </properties> <build> @@ -262,11 +281,14 @@ <testFailureIgnore>${maven.test.testFailureIgnore}</testFailureIgnore> <forkMode>${maven.test.forkMode}</forkMode> <environmentVariables> - <redmineUrl>http://www.mynuiton.org</redmineUrl> - <redmineUsername>chemit</redmineUsername> - <redminePassword>azer</redminePassword> - <verbose>false</verbose> + <redmineUrl>${test.redmineUrl}</redmineUrl> + <redmineUsername>${test.redmineUsername}</redmineUsername> + <redminePassword>${test.redminePassword}</redminePassword> + <verbose>${test.verbose}</verbose> </environmentVariables> + <includes> + <include>**/RedmineTestSuite.java</include> + </includes> </configuration> </plugin> @@ -524,7 +546,7 @@ <url>scpexe://nuiton.org/var/lib/redmine-nuiton/project-site/${project.artifactId}</url> </site> </distributionManagement> - + <!--Any mailing lists for the project--> <mailingLists> <mailingList> @@ -580,7 +602,7 @@ </execution> </executions> </plugin> - + <!-- always compute javadoc jar --> <plugin> <artifactId>maven-javadoc-plugin</artifactId> Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineConfigurationHelper.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineConfigurationHelper.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineConfigurationHelper.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,11 +1,9 @@ package org.nuiton.redmine; -import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; -import org.apache.commons.httpclient.HttpMethod; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.StatusLine; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import org.apache.maven.model.IssueManagement; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.logging.Log; @@ -24,6 +22,7 @@ public static final String SNAPSHOT_SUFFIX = "-SNAPSHOT"; public static final String REDMINE_SYSTEM = "redmine"; + public static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); public static String removeSnapshotSuffix(String versionId) { if (versionId.endsWith(SNAPSHOT_SUFFIX)) { @@ -33,6 +32,10 @@ return versionId; } + public static RequestBuilderProvider newRequestEngine() { + return new RequestBuilderProvider().addDefaultDescriptors(); + } + public static RedmineDataProvider initDataProvider(RedmineConfiguration config, Log log, String serverId, Settings settings, IssueManagement issueManagement, SecDispatcher sec) throws Exception { try { @@ -44,6 +47,8 @@ throw e; } + RequestBuilderProvider requestEngine = newRequestEngine(); + RedmineSession session = null; if (config.isOffline()) { @@ -51,7 +56,7 @@ } else { try { - session = openSession(config, log); + session = openSession(config, requestEngine, log); } catch (Exception e) { log.warn("could not open session to redmin server for reason : " + e.getMessage()); @@ -64,7 +69,7 @@ } try { - RedmineDataProvider dataProvider = newDataProvider(config, session, log); + RedmineDataProvider dataProvider = newDataProvider(config, requestEngine, session, log); return dataProvider; } catch (Exception e) { @@ -112,7 +117,7 @@ } } - public static RedmineSession openSession(RedmineConfiguration config, Log log) throws MojoExecutionException { + public static RedmineSession openSession(RedmineConfiguration config, RequestBuilderProvider requestEngine, Log log) throws MojoExecutionException { RedmineSession session = null; URL redmineUrl = config.getRedmineUrl(); @@ -122,45 +127,35 @@ try { - session = new RedmineSession(log, redmineUrl, verbose); + session = new RedmineSession(log, redmineUrl, requestEngine, verbose); // ask rest/ping service a ping - try { - String content = session.askData(new String[]{"rest", "ping"}); + session.ping(); - boolean ok = "ping".equals(content); - if (!ok) { - throw new IOException("can not connect to " + redmineUrl); - } - } catch (IOException ex) { - throw ex; - } catch (DataNotFoundException ex) { - // should never happeds - log.error(ex.getMessage()); - } - // ask rest/login a connection - String uri = session.getUri("rest", "login"); + session.login(username, password); +// +// String uri = session.getUri("rest", "login"); +// +// HttpMethod gm = session.doRequest(uri, "username", username, "password", password); +// +// StatusLine sl = gm.getStatusLine(); +// int statusCode = sl.getStatusCode(); +// if (log.isDebugEnabled()) { +// log.debug("status code " + statusCode + " for " + gm.getPath()); +// } +// +// if (statusCode != HttpStatus.SC_OK) { +// gm.releaseConnection(); +// throw new IOException("Got error code <" + statusCode + ":" + sl.getReasonPhrase() + "> on " + gm.getPath()); +// } +// +// // ok session is logged in +// +// session.login = true; - HttpMethod gm = session.doRequest(uri, "username", username, "password", password); - - StatusLine sl = gm.getStatusLine(); - int statusCode = sl.getStatusCode(); - if (log.isDebugEnabled()) { - log.debug("status code " + statusCode + " for " + gm.getPath()); - } - - if (statusCode != HttpStatus.SC_OK) { - gm.releaseConnection(); - throw new IOException("Got error code <" + statusCode + ":" + sl.getReasonPhrase() + "> on " + gm.getPath()); - } - - // ok session is logged in - - session.login = true; - // auth to redmine is ok if (verbose) { log.info("authentication to " + redmineUrl + " done for " + username); @@ -172,9 +167,9 @@ return session; } - public static RedmineDataProvider newDataProvider(RedmineConfiguration config, RedmineSession session, Log log) { + public static RedmineDataProvider newDataProvider(RedmineConfiguration config, RequestBuilderProvider requestEngine, RedmineSession session, Log log) { - RedmineDataProvider store = new RedmineDataProvider(config.getEncoding(), log, config.getLocalDir(), session); + RedmineDataProvider store = new RedmineDataProvider(config.getEncoding(), log, config.getLocalDir(), requestEngine, session); store.setOffline(config.isOffline()); store.setOverwrite(config.isOverwrite()); Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataDescriptor.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataDescriptor.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataDescriptor.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,20 @@ +package org.nuiton.redmine; + +import java.util.EnumMap; +import org.nuiton.redmine.request.RequestBuilder; +import org.nuiton.redmine.request.RequestType; + +/** + * + * @param <O> type of data + * @author chemit + */ +public interface RedmineDataDescriptor<O> { + + Class<O> getDataType(); + + EnumMap<RequestType, RequestBuilder<O>> getRequests(); +// +// void registerRequests(); + +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataDescriptor.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataHelper.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataHelper.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataHelper.java 2009-09-15 17:18:53 UTC (rev 116) @@ -2,6 +2,8 @@ import java.io.File; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; import org.nuiton.redmine.model.Attachment; import org.nuiton.redmine.model.IdAble; @@ -9,10 +11,15 @@ import org.nuiton.redmine.model.IssueCategory; import org.nuiton.redmine.model.IssuePriority; import org.nuiton.redmine.model.IssueStatus; +import org.nuiton.redmine.model.News; import org.nuiton.redmine.model.Project; import org.nuiton.redmine.model.Tracker; import org.nuiton.redmine.model.User; import org.nuiton.redmine.model.Version; +import org.nuiton.redmine.request.ProjectRequestBuilder; +import org.nuiton.redmine.request.RequestBuilder; +import org.nuiton.redmine.request.RequestType; +import org.nuiton.redmine.request.VersionRequestBuilder; /** * A helper to filter datas from a {@link RedminDataProvider}. @@ -54,6 +61,11 @@ return getAttachments(isOverwrite()); } + public Attachment getAttachmentById(int attachmentId) throws RedmineDataException { + Attachment result = getAttachmentById(isOverwrite(), attachmentId); + return result; + } + public Issue[] getIssues() throws RedmineDataException { return getIssues(isOverwrite()); } @@ -82,6 +94,10 @@ return getTrackers(isOverwrite()); } + public News[] getNews() throws RedmineDataException { + return getNews(isOverwrite()); + } + public User[] getUsers() throws RedmineDataException { return getUsers(isOverwrite()); } @@ -118,6 +134,12 @@ return getDatas(Attachment.class, projectId, versionId, reload); } + public Attachment getAttachmentById(boolean reload, Integer attachmentId) throws RedmineDataException { + Attachment[] list = getDatas(Attachment.class, projectId, versionId, reload); + Attachment result = Attachment.getAttachmentById(attachmentId, list); + return result; + } + public Issue[] getIssues(boolean reload) throws RedmineDataException { return getDatas(Issue.class, projectId, versionId, reload); } @@ -146,6 +168,10 @@ return getDatas(Tracker.class, projectId, null, reload); } + public News[] getNews(boolean reload) throws RedmineDataException { + return getDatas(News.class, projectId, versionId, reload); + } + public User[] getUsers(boolean reload) throws RedmineDataException { return getDatas(User.class, projectId, null, reload); } @@ -158,19 +184,23 @@ return getDatasById(Version.class, projectId, versionId, reload, ids); } + public Version getVersionById(boolean reload, Integer id) throws RedmineDataException { + return getDataById(Version.class, projectId, versionId, reload, id); + } + public Version getVersion(boolean reload) throws RedmineDataException { return getData(Version.class, projectId, versionId, reload); } public Version getVersionByName(boolean reload, String versionName) throws RedmineDataException { Version[] list = getDatas(Version.class, projectId, versionId, reload); - Version result = Version.getVersionByName(list, versionName); + Version result = Version.getVersionByName(versionName, list); return result; } public Version getVersionById(boolean reload, int versionId) throws RedmineDataException { Version[] list = getDatas(Version.class, projectId, this.versionId, reload); - Version result = Version.getVersionById(list, versionId); + Version result = Version.getVersionById(versionId, list); return result; } @@ -186,10 +216,10 @@ return result; } - public File uptodateLocalDataFile(RedmineDataType cste) throws RedmineDataException { + public File uptodateLocalDataFile(RedmineDataDescriptor<?> cste, RequestType requestType) throws RedmineDataException { try { - File f = dataProvider.uptodateLocalDataFile(cste, projectId, versionId); + File f = dataProvider.uptodateLocalDataFile(cste, requestType, projectId, versionId); return f; } catch (DataNotFoundException ex) { throw new RedmineDataException("could not update local store for type " + cste + " for reason " + ex.getMessage(), ex); @@ -225,6 +255,33 @@ } + public <T extends IdAble> T getDataById(Class<T> type, String projectId, String versionId, boolean reload, Integer id) throws RedmineDataException { + if (dataProvider.isOffline()) { + // can not reload data + reload = false; + } + boolean old = dataProvider.isOverwrite(); + if (reload) { + dataProvider.setOverwrite(true); + } + try { + + T[] datas = dataProvider.getDataByIds(type, projectId, versionId, id); + return datas.length == 0 ? null : datas[0]; + } catch (IOException ex) { + throw new RedmineDataException("could not retreave datas of type " + type.getName() + " for reason " + ex.getMessage(), ex); + } catch (XmlPullParserException ex) { + throw new RedmineDataException("could not retreave datas of type " + type.getName() + " for reason " + ex.getMessage(), ex); + } catch (DataNotFoundException ex) { + throw new RedmineDataException("could not retreave datas of type " + type.getName() + " for reason " + ex.getMessage(), ex); + } finally { + if (reload) { + dataProvider.setOverwrite(old); + } + } + + } + public <T extends IdAble> T[] getDatas(Class<T> type, String projectId, String versionId, boolean reload) throws RedmineDataException { if (dataProvider.isOffline()) { // can not reload data @@ -232,7 +289,7 @@ } boolean old = dataProvider.isOverwrite(); // if (reload) { - dataProvider.setOverwrite(reload); + dataProvider.setOverwrite(reload); // } try { @@ -258,7 +315,7 @@ } boolean old = dataProvider.isOverwrite(); // if (reload) { - dataProvider.setOverwrite(reload); + dataProvider.setOverwrite(reload); // } try { @@ -278,17 +335,81 @@ } public <T extends IdAble> T[] getDatas(Class<T> type, String projectId, String versionId) throws RedmineDataException { - T[] datas = getDatas(type, projectId, versionId, false); + T[] datas = getDatas(type, projectId, versionId, isOverwrite()); return datas; } public <T extends IdAble> T[] getDatasById(Class<T> type, String projectId, String versionId, Integer... ids) throws RedmineDataException { - T[] datas = getDatasById(type, projectId, versionId, false, ids); + T[] datas = getDatasById(type, projectId, versionId, isOverwrite(), ids); return datas; } public <T extends IdAble> T getData(Class<T> type, String projectId, String versionId) throws RedmineDataException { - T data = getData(type, projectId, versionId, false); + T data = getData(type, projectId, versionId, isOverwrite()); return data; } + + public void publishNews(News news) throws RedmineDataException { + + try { + dataProvider.uploadData(RedmineDataType.news, RequestType.add, null, projectId, null, news); + + } catch (IOException ex) { + throw new RedmineDataException("could not send news for reason " + ex.getMessage(), ex); + } catch (DataNotFoundException ex) { + throw new RedmineDataException("could not send news for reason " + ex.getMessage(), ex); + } + + } + + public String publishAttachment(Attachment a, File f, String versionId) throws RedmineDataException { + try { + Map<String, File> upload = new HashMap<String, File>(); + upload.put("attachment[file]", f); + return dataProvider.uploadData(RedmineDataType.attachment, RequestType.add, upload, projectId, versionId, a); + + } catch (IOException ex) { + throw new RedmineDataException("could not send news for reason " + ex.getMessage(), ex); + } catch (DataNotFoundException ex) { + throw new RedmineDataException("could not send news for reason " + ex.getMessage(), ex); + } + } + + public void addVersion(Version version) throws RedmineDataException { + + try { + dataProvider.uploadData(RedmineDataType.version, RequestType.add, null, projectId, null, version); + + } catch (IOException ex) { + throw new RedmineDataException("could not send news for reason " + ex.getMessage(), ex); + } catch (DataNotFoundException ex) { + throw new RedmineDataException("could not send news for reason " + ex.getMessage(), ex); + } + + } + + public void updateVersion(Version version) throws RedmineDataException { + + try { + dataProvider.uploadData(RedmineDataType.version, RequestType.update, null, projectId, null, version); + + } catch (IOException ex) { + throw new RedmineDataException("could not send news for reason " + ex.getMessage(), ex); + } catch (DataNotFoundException ex) { + throw new RedmineDataException("could not send news for reason " + ex.getMessage(), ex); + } + + } + + public boolean isRequiresProject(Class<?> klass, RequestType requestType) { + RequestBuilder<?> requestBuilder = dataProvider.getRequestBuilder(klass, requestType); + boolean result = ProjectRequestBuilder.class.isAssignableFrom(requestBuilder.getClass()); + return result; + } + + public boolean isRequiresVersion(Class<?> klass, RequestType requestType) { + RequestBuilder<?> requestBuilder = dataProvider.getRequestBuilder(klass, requestType); + boolean result = VersionRequestBuilder.class.isAssignableFrom(requestBuilder.getClass()); + return result; + } } Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataProvider.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataProvider.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataProvider.java 2009-09-15 17:18:53 UTC (rev 116) @@ -5,12 +5,14 @@ import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; -import java.util.EnumMap; import java.util.List; +import java.util.Map; import org.apache.maven.plugin.logging.Log; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; import org.nuiton.redmine.model.IdAble; import org.nuiton.redmine.model.io.xpp3.RedmineXpp3Helper; +import org.nuiton.redmine.request.RequestBuilder; +import org.nuiton.redmine.request.RequestType; import org.nuiton.util.PluginHelper; /** @@ -47,20 +49,20 @@ */ protected RedmineXpp3Helper xmlHelper; /** - * store of datas + * the request handler */ - protected EnumMap<RedmineDataType, Object> store; + protected RequestBuilderProvider requestEngine; /** * logger */ protected Log log; - public RedmineDataProvider(String encoding, Log log, File localDir, RedmineSession session) { + public RedmineDataProvider(String encoding, Log log, File localDir, RequestBuilderProvider requestEngine, RedmineSession session) { this.basedir = localDir; this.log = log; this.session = session; + this.requestEngine = requestEngine; this.encoding = encoding; - this.store = new EnumMap<RedmineDataType, Object>(RedmineDataType.class); this.xmlHelper = new RedmineXpp3Helper(); if (!localDir.exists()) { @@ -76,45 +78,26 @@ public <T extends IdAble> T getData(Class<T> type, String projectId, String versionId) throws IOException, XmlPullParserException, DataNotFoundException { - RedmineDataType cste = getDataType(type, false); - if (!overwrite) { - Object get = store.get(cste); - if (get != null) { - // data found in store - return (T) get; - } - } + RedmineDataDescriptor<?> cste = getDataType(type); // will search the data on local - File file = uptodateLocalDataFile(cste, projectId, versionId); + File file = uptodateLocalDataFile(cste, RequestType.detail, projectId, versionId); // arrays loading T result = xmlHelper.readObject(type, file); - // store result - store.put(cste, result); return result; } public <T extends IdAble> T[] getDatas(Class<T> type, String projectId, String versionId) throws IOException, XmlPullParserException, DataNotFoundException { - RedmineDataType cste = getDataType(type, true); + RedmineDataDescriptor<?> cste = getDataType(type); - if (!overwrite) { - Object get = store.get(cste); - if (get != null) { - // data found in store - return (T[]) get; - } - } - // will search the data on local - File file = uptodateLocalDataFile(cste, projectId, versionId); + File file = uptodateLocalDataFile(cste, RequestType.list, projectId, versionId); // arrays loading T[] result = xmlHelper.readObjects(type, file); - // store result - store.put(cste, result); return result; } @@ -136,8 +119,6 @@ } public void close() throws IOException { - store.clear(); - store = null; if (session != null && session.isLogin()) { session.logout(); session = null; @@ -176,53 +157,72 @@ this.encoding = encoding; } - protected RedmineDataType getDataType(Class<?> type, boolean isArray) throws NullPointerException, IllegalArgumentException { + public RedmineDataDescriptor<?> getDataType(Class<?> type) throws NullPointerException, IllegalArgumentException { if (type == null) { throw new NullPointerException("type parameter ca not be null"); } - RedmineDataType cste = RedmineDataType.valueOf(type, isArray); + RedmineDataType cste = RedmineDataType.valueOf(type); if (cste == null) { throw new IllegalArgumentException("can not deal with type " + type.getName()); } - if (cste.isArray() != isArray) { - throw new IllegalArgumentException("the type " + cste + " can not be retreave as " + (isArray ? "array" : "single")); - } return cste; } - public File uptodateLocalDataFile(RedmineDataType cste, String projectId, String versionId) throws DataNotFoundException, IOException { + public File uptodateLocalDataFile(RedmineDataDescriptor<?> cste, RequestType requestType, String projectId, String versionId) throws DataNotFoundException, IOException { - File file = cste.getLocalFile(basedir, projectId, versionId); + RequestBuilder<?> builder = getRequestBuilder(cste.getDataType(), requestType); + File file = builder.getLocalFile(basedir, projectId, versionId); + + if (log.isDebugEnabled()) { + log.debug("search for local file " + file.getAbsolutePath()); + } + boolean needDownload = isNeedDownload(file); if (needDownload) { - downloadData(cste, projectId, versionId); + downloadData(cste, requestType, projectId, versionId); } return file; } - public File downloadData(RedmineDataType cste, String projectId, String versionId) throws IOException, DataNotFoundException { + public File downloadData(RedmineDataDescriptor<?> cste, RequestType requestType, String projectId, String versionId) throws IOException, DataNotFoundException { if (offline) { // can't have data throw new IllegalStateException("offline is on, can not download data from redmine server"); } + RequestBuilder<?> builder = getRequestBuilder(cste.getDataType(), requestType); - File file = cste.getLocalFile(basedir, projectId, versionId); + File file = builder.getLocalFile(basedir, projectId, versionId); - // loding xml content file from redmine - String[] paths = cste.getSessionPath(projectId, versionId); - String[] parameters = cste.getSessionParameters(projectId, versionId); - String txt = session.askData(paths, parameters); + // loading xml content file from redmine + + String txt = session.askData(cste.getDataType(), requestType, projectId, versionId); + // store it as a local file PluginHelper.writeString(file, txt, encoding); return file; } + public String uploadData(RedmineDataDescriptor<?> cste, RequestType requestType, Map<String, File> upload, String projectId, String versionId, Object toSend) throws IOException, DataNotFoundException { + + if (offline) { + // can't have data + throw new IllegalStateException("offline is on, can not download data from redmine server"); + } + + if (toSend == null) { + throw new NullPointerException("toSend parameter can not be null"); + } + + String txt = session.sendData(cste.getDataType(), requestType, upload, projectId, versionId, toSend); + return txt; + } + public boolean isNeedDownload(File file) { boolean needDownload = false; @@ -238,4 +238,12 @@ } return needDownload; } + + protected RequestBuilder<?> getRequestBuilder(Class<?> dataType, RequestType action) throws IllegalArgumentException { + RequestBuilder<?> builder = requestEngine.getRequestBuilder(dataType, action); + if (builder == null) { + throw new IllegalArgumentException("could not found a request builder for type " + dataType + " and action " + action); + } + return builder; + } } Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataType.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataType.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineDataType.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,69 +1,179 @@ package org.nuiton.redmine; -import java.io.File; -import java.util.ArrayList; -import java.util.List; +import java.util.EnumMap; +import org.nuiton.redmine.request.DefaultRequestBuilder; import org.nuiton.redmine.model.Attachment; -import org.nuiton.redmine.model.IdAble; import org.nuiton.redmine.model.Issue; import org.nuiton.redmine.model.IssueCategory; import org.nuiton.redmine.model.IssuePriority; import org.nuiton.redmine.model.IssueStatus; +import org.nuiton.redmine.model.News; import org.nuiton.redmine.model.Project; import org.nuiton.redmine.model.Tracker; import org.nuiton.redmine.model.User; import org.nuiton.redmine.model.Version; +import org.nuiton.redmine.request.ProjectRequestBuilder; +import org.nuiton.redmine.request.RequestBuilder; +import org.nuiton.redmine.request.RequestType; +import org.nuiton.redmine.request.VersionRequestBuilder; -public enum RedmineDataType { +/** + * The definition of redmine model object available. + * + * Each constant implements the {@link #registerRequests()} which actually defines + * the request available for the constant (says the object's dataType). + * + * @author chemit + * @since 1.0.0 + */ +public enum RedmineDataType implements RedmineDataDescriptor { - projects(false, false, Project[].class, "get_projects"), - issueStatuses(false, false, IssueStatus[].class, "get_issue_statuses"), - issuePriorities(false, false, IssuePriority[].class, "get_issue_priorities"), - project(true, false, Project.class, "get_project"), - version(true, true, Version.class, "get_version"), - attachments(true, true, Attachment[].class, "get_version_files"), - issues(true, true, Issue[].class, "get_version_issues"), - issueCategories(true, false, IssueCategory[].class, "get_issue_categories"), - trackers(true, false, Tracker[].class, "get_project_trackers"), - users(true, false, User[].class, "get_project_users"), - versions(true, false, Version[].class, "get_project_versions"); - final boolean requiresProject; - final boolean requiresVersion; - final boolean array; - final Class<? extends IdAble> type; - final String action; + issueStatus(IssueStatus.class) { - private RedmineDataType(boolean requiresProject, boolean requiresVersion, Class<?> type, String action) { - this.requiresProject = requiresProject; - this.requiresVersion = requiresVersion; - this.action = action; - this.array = type.isArray(); - if (isArray()) { - this.type = (Class<? extends IdAble>) type.getComponentType(); - } else { - this.type = (Class<? extends IdAble>) type; + @Override + protected void registerRequests() { + registerRequest(new DefaultRequestBuilder<IssueStatus>(IssueStatus.class, RequestType.list, "get_issue_statuses.xml")); } - } + }, + issuePriority(IssuePriority.class) { - public String getAction() { - return action; - } + @Override + protected void registerRequests() { + registerRequest(new DefaultRequestBuilder<IssuePriority>(IssuePriority.class, RequestType.list, "get_issue_priorities.xml")); + } + }, + project(Project.class) { - public boolean isRequiresProject() { - return requiresProject; + @Override + protected void registerRequests() { + registerRequest(new DefaultRequestBuilder<Project>(Project.class, RequestType.list, "get_projects.xml")); + registerRequest(new ProjectRequestBuilder<Project>(Project.class, RequestType.detail, "get_project.xml")); + + } + }, + issueCategory(IssueCategory.class) { + + @Override + protected void registerRequests() { + registerRequest(new ProjectRequestBuilder<IssueCategory>(IssueCategory.class, RequestType.list, "get_issue_categories.xml")); + } + }, + tracker(Tracker.class) { + + @Override + protected void registerRequests() { + registerRequest(new ProjectRequestBuilder<Tracker>(Tracker.class, RequestType.list, "get_project_trackers.xml")); + } + }, + user(User.class) { + + @Override + protected void registerRequests() { + registerRequest(new ProjectRequestBuilder<User>(User.class, RequestType.list, "get_project_users.xml")); + } + }, + news(News.class) { + + @Override + protected void registerRequests() { + registerRequest(new ProjectRequestBuilder<News>(News.class, RequestType.list, "get_project_news.xml")); + registerRequest(new ProjectRequestBuilder<News>(News.class, RequestType.add, "add_news") { + + @Override + public String[] getParameters(Object... args) { + News news = (News) args[1]; + return new String[]{ + "news[title]", news.getTitle(), + "news[summary]", news.getSummary(), + "news[description]", news.getDescription(), + "authorId", news.getAuthorId() + "" + }; + } + }); + } + }, + version(Version.class) { + + @Override + protected void registerRequests() { + registerRequest(new ProjectRequestBuilder<Version>(Version.class, RequestType.list, "get_project_versions.xml")); + registerRequest(new VersionRequestBuilder<Version>(Version.class, RequestType.detail, "get_version.xml")); + registerRequest(new ProjectRequestBuilder<Version>(Version.class, RequestType.add, "add_version") { + + @Override + public String[] getParameters(Object... args) { + Version version = (Version) args[1]; + return new String[]{ + "version", version.getName(), + "description", version.getDescription(), + "date", RedmineConfigurationHelper.DATE_FORMAT.format(version.getEffectiveDate()) + }; + } + }); + registerRequest(new ProjectRequestBuilder<Version>(Version.class, RequestType.update, "update_version") { + + @Override + public String[] getParameters(Object... args) { + Version version = (Version) args[1]; + return new String[]{ + "version", version.getName(), + "description", version.getDescription(), + "date", RedmineConfigurationHelper.DATE_FORMAT.format(version.getEffectiveDate()) + }; + } + }); + } + }, + issue(Issue.class) { + + @Override + protected void registerRequests() { + registerRequest(new VersionRequestBuilder<Issue>(Issue.class, RequestType.list, "get_version_issues.xml")); + } + }, + attachment(Attachment.class) { + + @Override + protected void registerRequests() { + registerRequest(new VersionRequestBuilder<Attachment>(Attachment.class, RequestType.list, "get_version_attachments.xml")); + registerRequest(new ProjectRequestBuilder<Attachment>(Attachment.class, RequestType.add, "add_version_attachment") { + + @Override + public String[] getParameters(Object... args) { + String versionId = (String) args[1]; + Attachment attachment = (Attachment) args[2]; + return new String[]{ + "version_name", versionId + "", + "attachment[description]", attachment.getDescription() + }; + } + }); + } + }; + final Class<?> dataType; + final EnumMap<RequestType, RequestBuilder<?>> requests; + + protected abstract void registerRequests(); + + private RedmineDataType(Class<?> dataType) { + this.dataType = dataType; + this.requests = new EnumMap<RequestType, RequestBuilder<?>>(RequestType.class); + registerRequests(); } - public boolean isRequiresVersion() { - return requiresVersion; + @Override + public Class<?> getDataType() { + return dataType; } - public Class<? extends IdAble> getType() { - return type; + @Override + public EnumMap<RequestType, RequestBuilder<?>> getRequests() { + return requests; } - public static RedmineDataType valueOf(Class<?> type, boolean array) { + public static RedmineDataType valueOf(Class<?> type) { for (RedmineDataType e : values()) { - if (type == e.getType() && e.isArray() == array) { + if (type == e.getDataType()) { return e; } } @@ -75,10 +185,10 @@ throw new NullPointerException("klass parameter can not be null"); } - // check type is authorized + // check dataType is authorized for (RedmineDataType e : values()) { - if (type == e.getType()) { + if (type == e.getDataType()) { return; } } @@ -87,51 +197,11 @@ } - public boolean isArray() { - return array; - } - - public File getLocalFile(File basedir, String projectId, String versionId) { - if (isRequiresProject()) { - basedir = new File(basedir, "__P" + projectId); + protected <O> void registerRequest(RequestBuilder<O> request) { + RequestType type = request.getRequestType(); + if (requests.containsKey(type)) { + throw new IllegalArgumentException("ther is already a request of type " + type); } - if (isRequiresVersion()) { - basedir = new File(basedir, "__V" + versionId); - } - - if (!basedir.exists()) { - basedir.mkdirs(); - } - - String filename = name() + ".xml"; - - File f = new File(basedir, filename); - return f; + requests.put(type, request); } - - public String[] getSessionPath(String projectId, String versionId) { - List<String> paths = new ArrayList<String>(); - - paths.add("rest"); - paths.add(action + ".xml"); - - if (isRequiresProject()) { - paths.add(projectId); - } - - return paths.toArray(new String[paths.size()]); - - - } - - public String[] getSessionParameters(String projectId, String versionId) { - List<String> parameters = new ArrayList<String>(); - - if (isRequiresVersion()) { - parameters.add("version_name"); - parameters.add(versionId); - } - - return parameters.toArray(new String[parameters.size()]); - } } Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineSession.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineSession.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RedmineSession.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,9 +1,14 @@ package org.nuiton.redmine; +import java.io.File; import java.io.IOException; import java.net.URL; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; import org.apache.commons.httpclient.Cookie; import org.apache.commons.httpclient.HostConfiguration; import org.apache.commons.httpclient.HttpClient; @@ -13,7 +18,13 @@ import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.StatusLine; import org.apache.commons.httpclient.methods.PostMethod; +import org.apache.commons.httpclient.methods.multipart.FilePart; +import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity; +import org.apache.commons.httpclient.methods.multipart.Part; +import org.apache.commons.httpclient.methods.multipart.StringPart; import org.apache.maven.plugin.logging.Log; +import org.nuiton.redmine.request.RequestBuilder; +import org.nuiton.redmine.request.RequestType; /** * To store a redmine session and executes some requests on a redmine server. @@ -37,25 +48,53 @@ protected Log log; protected boolean login; protected boolean showRequest; + protected RequestBuilderProvider requestEngine; - protected RedmineSession(Log log, URL uri, boolean showRequest) { + protected RedmineSession(Log log, URL uri, RequestBuilderProvider requestEngine, boolean showRequest) { this.showRequest = showRequest; + this.requestEngine = requestEngine; this.log = log; this.client = new HttpClient(); HostConfiguration hostConfiguration = new HostConfiguration(); hostConfiguration.setHost(uri.getHost()); this.client.setHostConfiguration(hostConfiguration); this.client.setState(new HttpState()); + this.requestEngine = requestEngine; } public boolean isLogin() { return login; } + public String askData(String... paths) throws IOException, DataNotFoundException { + + String content = askData(paths, new String[0]); + + return content; + } + + public String askData(Class<?> dataType, RequestType action, Object... args) throws IOException, DataNotFoundException { + + RequestBuilder<?> builder = getRequestBuilder(dataType, action); + // keep for parameters only the not null ones + List<Object> params = new ArrayList<Object>(); + for (Object a : args) { + if (a != null) { + params.add(a); + } + } + args = params.toArray(); + String[] path = builder.getPath(args); + String[] parameters = builder.getParameters(args); + //TODO check we have an odd number of parameters. + String result = askData(path, parameters); + return result; + } + public String askData(String[] paths, String... params) throws IOException, DataNotFoundException { String uri = getUri(paths); - HttpMethod gm = doRequest(uri, params); + HttpMethod gm = doRequest(uri, null, params); StatusLine sl = gm.getStatusLine(); int statusCode = sl.getStatusCode(); @@ -75,11 +114,43 @@ } return content; } +// +// public String sendData(Class<?> dataType, RequestType action, Object... args) throws IOException, DataNotFoundException { +//// +//// RequestBuilder<?> builder = getRequestBuilder(dataType, action); +//// // keep for parameters only the not null ones +//// List<Object> params = new ArrayList<Object>(); +//// for (Object a : args) { +//// if (a != null) { +//// params.add(a); +//// } +//// } +//// args = params.toArray(); +//// String[] path = builder.getPath(args); +//// String[] parameters = builder.getParameters(args); +//// //TODO check we have an odd number of parameters. +// String result = sendData(dataType, action, null, args); +// return result; +// } - public String sendData(String[] paths, String... params) throws IOException, DataNotFoundException { + public String sendData(Class<?> dataType, RequestType action, Map<String, File> uploads, Object... args) throws IOException, DataNotFoundException { + RequestBuilder<?> builder = getRequestBuilder(dataType, action); + // keep for parameters only the not null ones + List<Object> params = new ArrayList<Object>(); + for (Object a : args) { + if (a != null) { + params.add(a); + } + } + args = params.toArray(); + String[] paths = builder.getPath(args); + String[] parameters = builder.getParameters(args); + //TODO check we have an odd number of parameters. +// String result = sendData(path, uploads, parameters); +// return result; String uri = getUri(paths); - HttpMethod gm = doRequest(uri, params); + HttpMethod gm = doRequest(uri, uploads, parameters); StatusLine sl = gm.getStatusLine(); int statusCode = sl.getStatusCode(); @@ -97,22 +168,110 @@ return content; } - public String askData(String... paths) throws IOException, DataNotFoundException { +// +// public String sendData(String[] paths, String... params) throws IOException, DataNotFoundException { +// +// String content = sendData(paths, null, params); +//// +//// String uri = getUri(paths); +//// HttpMethod gm = doRequest(uri, params); +//// +//// StatusLine sl = gm.getStatusLine(); +//// int statusCode = sl.getStatusCode(); +//// +//// if (log.isDebugEnabled()) { +//// log.debug("status code " + statusCode + " for " + gm.getPath()); +//// } +//// String content = gm.getResponseBodyAsString(); +//// +//// if (statusCode != HttpStatus.SC_OK) { +//// log.error(content); +//// releaseConnection(getConnection()); +//// throw new IOException("Got error code <" + statusCode + ":" + sl.getReasonPhrase() + "> on " + gm.getPath()); +//// } +// return content; +// } +// +// public String sendData(String[] paths, Map<String, File> uploads, String... params) throws IOException, DataNotFoundException { +// +// String uri = getUri(paths); +// HttpMethod gm = doRequest(uri, uploads, params); +// +// StatusLine sl = gm.getStatusLine(); +// int statusCode = sl.getStatusCode(); +// +// if (log.isDebugEnabled()) { +// log.debug("status code " + statusCode + " for " + gm.getPath()); +// } +// +// String content = gm.getResponseBodyAsString(); +// +// if (statusCode != HttpStatus.SC_OK) { +// log.error(content); +// releaseConnection(getConnection()); +// throw new IOException("Got error code <" + statusCode + ":" + sl.getReasonPhrase() + "> on " + gm.getPath()); +// } +// return content; +// } + public void ping() throws IOException { - String content = askData(paths, new String[0]); + try { + String content = askData(new String[]{"rest", "ping"}); - return content; + boolean ok = "ping".equals(content); + if (!ok) { + throw new IOException("can not connect to " + client.getHostConfiguration().getHostURL()); + } + } catch (IOException ex) { + throw ex; + } catch (DataNotFoundException ex) { + // should never happeds + log.error(ex.getMessage()); + throw new IOException("can not connect to " + client.getHostConfiguration().getHostURL(), ex); + } } + public void login(String username, String password) throws IOException { + + String uri = getUri("rest", "login"); + + HttpMethod gm = doRequest(uri, null, "username", username, "password", password); + + StatusLine sl = gm.getStatusLine(); + int statusCode = sl.getStatusCode(); + if (log.isDebugEnabled()) { + log.debug("status code " + statusCode + " for " + gm.getPath()); + } + + if (statusCode != HttpStatus.SC_OK) { + gm.releaseConnection(); + throw new IOException("Got error code <" + statusCode + ":" + sl.getReasonPhrase() + "> on " + gm.getPath()); + } + + // ok session is logged in + + this.login = true; + } + public void logout() throws IOException { String uri = getUri("rest", "logout"); - doRequest(uri); + + + doRequest(uri, null); client.getState().clearCookies(); releaseConnection(getConnection()); this.login = false; } + protected RequestBuilder<?> getRequestBuilder(Class<?> dataType, RequestType action) throws IllegalArgumentException { + RequestBuilder<?> builder = requestEngine.getRequestBuilder(dataType, action); + if (builder == null) { + throw new IllegalArgumentException("could not found a request builder for type " + dataType + " and action " + action); + } + return builder; + } + protected void releaseConnection(HttpConnection connection) { if (connection != null && connection.isOpen()) { client.getHttpConnectionManager().releaseConnection(connection); @@ -131,7 +290,7 @@ return uri; } - protected HttpMethod doRequest(String uri, String... parameters) throws IOException { + protected HttpMethod doRequest(String uri, Map<String, File> attachments, String... parameters) throws IOException { if (showRequest) { log.info("doRequest " + uri); } @@ -139,19 +298,6 @@ log.debug("doRequest with parameters : " + Arrays.toString(parameters)); } PostMethod gm = new PostMethod(uri); - - if (parameters.length > 0) { - - // add parameters - - int nbParams = parameters.length / 2; - for (int i = 0; i < nbParams; i++) { - String key = parameters[2 * i]; - String value = parameters[2 * i + 1]; - gm.addParameter(key, value); - } - } - if (login) { Cookie[] cookies = client.getState().getCookies(); for (Cookie c : cookies) { @@ -162,8 +308,126 @@ } } + if (attachments == null) { + + // not a multi-part request + + if (parameters.length > 0) { + + // add parameters + + int nbParams = parameters.length / 2; + for (int i = 0; i < nbParams; i++) { + String key = parameters[2 * i]; + String value = parameters[2 * i + 1]; + if (value == null) { + log.warn("skip null parameter " + key); + continue; + } + gm.addParameter(key, value); + } + } + } else { + + // multi-part request + + List<Part> paramParts = new ArrayList<Part>(); + + if (parameters.length > 0) { + + // add parameters + + int nbParams = parameters.length / 2; + for (int i = 0; i < nbParams; i++) { + String key = parameters[2 * i]; + String value = parameters[2 * i + 1]; + if (value == null) { + log.warn("skip null parameter " + key); + continue; + } + paramParts.add(new StringPart(key, value)); + } + } + + for (Entry<String, File> entry : attachments.entrySet()) { + String key = entry.getKey(); + File file = entry.getValue(); + paramParts.add(new FilePart(key, file.getName(), file)); + } + + Part[] parts = paramParts.toArray(new Part[paramParts.size()]); + + MultipartRequestEntity entity = new MultipartRequestEntity(parts, gm.getParams()); + gm.setRequestEntity(entity); +// gm.addRequestHeader("content-type", "multipart/form-data"); + gm.addRequestHeader("content-type", entity.getContentType()); + gm.addRequestHeader("content-length", entity.getContentLength() + ""); + log.info("content-type : " + entity.getContentType()); + log.info("content-length : " + entity.getContentLength()); + + } + client.executeMethod(gm); return gm; } +// +// protected HttpMethod doRequest(String uri, File targetFile, String... parameters) throws IOException { +// if (showRequest) { +// log.info("doRequest " + uri); +// } +// if (log.isDebugEnabled()) { +// log.debug("doRequest with parameters : " + Arrays.toString(parameters)); +// } +// PostMethod gm = newMethod(uri); +// +// List<Part> paramParts = new ArrayList<Part>(); +// +// if (parameters.length > 0) { +// +// // add parameters +// +// int nbParams = parameters.length / 2; +// for (int i = 0; i < nbParams; i++) { +// String key = parameters[2 * i]; +// String value = parameters[2 * i + 1]; +// if (value == null) { +// log.warn("skip null parameter " + key); +// continue; +// } +// paramParts.add(new StringPart(key, value)); +//// gm.addParameter(key, value); +// } +// } +// +// paramParts.add(new FilePart("attachments[1][file]", targetFile.getName(), targetFile)); +// +// Part[] parts = paramParts.toArray(new Part[paramParts.size()]); +// +// MultipartRequestEntity entity = new MultipartRequestEntity(parts, gm.getParams()); +// gm.setRequestEntity(entity); +//// gm.addRequestHeader("content-type", "multipart/form-data"); +// gm.addRequestHeader("content-type", entity.getContentType()); +// gm.addRequestHeader("content-length", entity.getContentLength() + ""); +// log.info("content-type : " + entity.getContentType()); +// log.info("content-length : " + entity.getContentLength()); +// +// client.executeMethod(gm); +// +// return gm; +// } +// +// protected PostMethod newMethod(String uri) { +// PostMethod gm = new PostMethod(uri); +// if (login) { +// Cookie[] cookies = client.getState().getCookies(); +// for (Cookie c : cookies) { +// if (log.isDebugEnabled()) { +// log.debug("push cookie : " + c.getName() + "=" + c.getValue()); +// } +// gm.addRequestHeader("Cookie", c.toExternalForm()); +// } +// } +// return gm; +// } } Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RequestBuilderProvider.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RequestBuilderProvider.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RequestBuilderProvider.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,65 @@ +package org.nuiton.redmine; + +import java.util.HashMap; +import java.util.Map; +import org.nuiton.redmine.request.RequestBuilder; +import org.nuiton.redmine.request.RequestType; + +/** + * This class provides {@link RequestBuilder}. + * + * Each {@link RedmineDataDescriptor} provides one or more {@link RequestBuilder}. + * + * to use the provider, Register first some {@code descriptors} with the method + * + * {@link #addDescriptor(org.nuiton.redmine.RedmineDataDescriptor)} or + * {@link #addDefaultDescriptors()} which add descriptor for each constant of the + * enumeration {@link RedmineDataType}. + * + * After, the provider initialisation, you can obtain a {@link RequestBuilder} via + * the methode {@link #getRequestBuilder(Class, String)} + * + * @author chemit + * @since 1.0.0 + */ +public class RequestBuilderProvider { + + /** + * The dictionnary of data descriptors indexed by their dataType + */ + protected Map<Class<?>, RedmineDataDescriptor<?>> descriptors; + + public RequestBuilderProvider() { + descriptors = new HashMap<Class<?>, RedmineDataDescriptor<?>>(); + } + + public RequestBuilderProvider addDefaultDescriptors() { + for (RedmineDataType descriptor : RedmineDataType.values()) { + addDescriptor(descriptor); + } + return this; + } + + public RequestBuilderProvider addDescriptor(RedmineDataDescriptor<?> descriptor) { + Class<?> dataType = descriptor.getDataType(); + if (descriptors.containsKey(dataType)) { + throw new IllegalArgumentException("there is already a descriptor registred for type " + dataType); + } + descriptors.put(dataType, descriptor); + return this; + } + + public <O> RequestBuilder<O> getRequestBuilder(Class<O> type, RequestType action) { + RedmineDataDescriptor<O> descriptor = getDescriptor(type); + if (descriptor == null) { + throw new IllegalArgumentException("could not found a descriptor for type " + type); + } + RequestBuilder<O> builder = descriptor.getRequests().get(action); + return builder; + } + + protected <O> RedmineDataDescriptor<O> getDescriptor(Class<O> type) { + RedmineDataDescriptor<O> descriptor = (RedmineDataDescriptor<O>) descriptors.get(type); + return descriptor; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/RequestBuilderProvider.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/Attachment.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/Attachment.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/Attachment.java 2009-09-15 17:18:53 UTC (rev 116) @@ -9,6 +9,15 @@ * @since 1.0.0 */ public class Attachment implements IdAble { + + public static Attachment getAttachmentById(Integer attachmentId, Attachment[] list) { + for (Attachment i : list) { + if (i.getId() == attachmentId) { + return i; + } + } + return null; + } protected int id; protected int authorId; protected int containerId; Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/News.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/News.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/News.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,85 @@ +package org.nuiton.redmine.model; + +import java.util.Date; + +/** + * + * @author chemit + * @since 1.0.0 + */ +public class News implements IdAble { + + protected int id; + protected int projectId; + protected int authorId; + protected int commentsCount; + protected String description; + protected String title; + protected String summary; + protected Date createdOn; + + @Override + public int getId() { + return id; + } + + public int getAuthorId() { + return authorId; + } + + public int getCommentsCount() { + return commentsCount; + } + + public Date getCreatedOn() { + return createdOn; + } + + public String getDescription() { + return description; + } + + public int getProjectId() { + return projectId; + } + + public String getSummary() { + return summary; + } + + public String getTitle() { + return title; + } + + public void setAuthorId(int authorId) { + this.authorId = authorId; + } + + public void setCommentsCount(int commentsCount) { + this.commentsCount = commentsCount; + } + + public void setCreatedOn(Date createdOn) { + this.createdOn = createdOn; + } + + public void setDescription(String description) { + this.description = description; + } + + public void setId(int id) { + this.id = id; + } + + public void setProjectId(int projectId) { + this.projectId = projectId; + } + + public void setSummary(String summary) { + this.summary = summary; + } + + public void setTitle(String title) { + this.title = title; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/News.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/Version.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/Version.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/Version.java 2009-09-15 17:18:53 UTC (rev 116) @@ -7,9 +7,9 @@ * @author chemit * @since 1.0.0 */ -public class Version implements IdAble,I18nAble { +public class Version implements IdAble, I18nAble { - public static Version getVersionByName(Version[] versions, String login) { + public static Version getVersionByName(String login, Version... versions) { for (Version u : versions) { if (u.getName().equals(login)) { return u; @@ -18,7 +18,7 @@ return null; } - public static Version getVersionById(Version[] versions, int id) { + public static Version getVersionById(int id, Version... versions) { for (Version u : versions) { if (u.getId() == id) { return u; Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/io/xpp3/NewsXpp3Reader.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/io/xpp3/NewsXpp3Reader.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/io/xpp3/NewsXpp3Reader.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,37 @@ +package org.nuiton.redmine.model.io.xpp3; + +import java.beans.IntrospectionException; +import org.nuiton.io.xpp3.AbstractXpp3Reader; +import org.nuiton.redmine.model.News; + +import static org.nuiton.io.xpp3.Xpp3Helper.addTagTextContentMappers; + +/** + * + * @author chemit + * @since 1.0.0 + */ +public class NewsXpp3Reader extends AbstractXpp3Reader<News> { + + public NewsXpp3Reader() { + super(News.class, "news", "new"); + } + + @Override + protected void initMappers() throws IntrospectionException { + + addTagTextContentMappers(News.class, RedmineDataConverter.Integer, true, allMappers, + "id", + "author-id", + "project-id", + "comments-count"); + + addTagTextContentMappers(News.class, RedmineDataConverter.Datetime, true, allMappers, + "created-on"); + + addTagTextContentMappers(News.class, RedmineDataConverter.Text, true, allMappers, + "description", + "summary", + "title"); + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/model/io/xpp3/NewsXpp3Reader.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/AbstractRedmineMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/AbstractRedmineMojo.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/AbstractRedmineMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -6,15 +6,19 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.Map.Entry; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.project.MavenProject; import org.apache.maven.settings.Settings; -import org.nuiton.AbstractPlugin; +import org.nuiton.plugin.AbstractPlugin; import org.nuiton.redmine.RedmineConfiguration; import org.nuiton.redmine.RedmineConfigurationHelper; +import org.nuiton.redmine.RedmineDataDescriptor; import org.nuiton.redmine.RedmineDataHelper; import org.nuiton.redmine.RedmineDataType; import org.nuiton.redmine.RedmineDataProvider; +import org.nuiton.redmine.request.RequestType; import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher; /** @@ -143,9 +147,13 @@ protected RedmineDataHelper helper; public AbstractRedmineMojo() { - super("init was not successfull, will skip plugin"); + this("init was not successfull, will skip plugin"); } + public AbstractRedmineMojo(String skipMessage) { + super(skipMessage); + } + /////////////////////////////////////////////////////////////////////////// /// AbstractPlugin /////////////////////////////////////////////////////////////////////////// @@ -176,6 +184,9 @@ return true; } + @Override + protected abstract void doAction() throws Exception; + /////////////////////////////////////////////////////////////////////////// /// Plugin /////////////////////////////////////////////////////////////////////////// @@ -275,43 +286,76 @@ /////////////////////////////////////////////////////////////////////////// /// Others /////////////////////////////////////////////////////////////////////////// - /** - * Convert {@link RedmineDataType} from string representation. - * - * A filter can be make on the parameter {@code universe} if filled. - * - * @param dataTypes the list of type to convert separated by commas. - * @param universe universe of authorized values (if not filled, no filter). - * @return the array of type converted from the string representation. - * @throws MojoFailureException - */ - protected RedmineDataType[] getRedmineDataTypes(String dataTypes, RedmineDataType... universe) throws MojoFailureException { - List<RedmineDataType> results = new ArrayList<RedmineDataType>(); + protected List<Entry<RedmineDataDescriptor<?>, RequestType>> getDownloadActions(String dataTypes, RedmineDataType... universe) throws MojoFailureException { + List<Entry<RedmineDataDescriptor<?>, RequestType>> results = new ArrayList<Entry<RedmineDataDescriptor<?>, RequestType>>(); + List<RedmineDataType> universeList = new ArrayList<RedmineDataType>(Arrays.asList(universe)); for (String dataType : dataTypes.split(",")) { - RedmineDataType result; + RequestType requestType; + + if (dataType.endsWith("s")) { + dataType = dataType.substring(0, dataType.length() - 1); + requestType = RequestType.list; + } else { + requestType = RequestType.detail; + } + + RedmineDataDescriptor<?> result; try { result = RedmineDataType.valueOf(dataType.trim()); } catch (Exception e) { throw new MojoFailureException("could not obtain data type " + dataType + " in " + Arrays.toString(RedmineDataType.values())); } - // check projectId used - if (result.isRequiresVersion() && (projectId == null && projectId.isEmpty())) { - throw new MojoFailureException("could not use the data type " + result + " since it is not a project requires and projectId was not filled"); + if (helper.isRequiresProject(result.getDataType(), requestType)) { + + // check projectId used + if (projectId == null && projectId.isEmpty()) { + throw new MojoFailureException("could not use the data type " + result + " since it is not a project requires and projectId was not filled"); + } } - // check versionId use - if (result.isRequiresVersion() && (versionId == null || versionId.isEmpty())) { - throw new MojoFailureException("could not use the data type " + result + " since it a version requires and versionId was not filled"); + if (helper.isRequiresVersion(result.getDataType(), requestType)) { + // check versionId use + if (versionId == null || versionId.isEmpty()) { + throw new MojoFailureException("could not use the data type " + result + " since it a version requires and versionId was not filled"); + } } + if (!universeList.isEmpty() && !universeList.contains(result)) { // can not accept these value getLog().warn("the type " + result + " is not authorized, universe : " + universeList); continue; } - results.add(result); + results.add(new DownloadActionEntry(result, requestType)); } - return results.toArray(new RedmineDataType[results.size()]); + return results; } + + static class DownloadActionEntry implements Map.Entry<RedmineDataDescriptor<?>, RequestType> { + + final RedmineDataDescriptor<?> key; + RequestType value; + + public DownloadActionEntry(RedmineDataDescriptor<?> key, RequestType value) { + this.key = key; + this.value = value; + } + + @Override + public RedmineDataDescriptor<?> getKey() { + return key; + } + + @Override + public RequestType getValue() { + return value; + } + + @Override + public RequestType setValue(RequestType value) { + this.value = value; + return value; + } + } } Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/DisplayDataMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/DisplayDataMojo.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/DisplayDataMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,8 +1,12 @@ package org.nuiton.redmine.plugin; +import java.util.List; +import java.util.Map.Entry; +import org.nuiton.redmine.RedmineDataDescriptor; import org.nuiton.redmine.RedmineDataType; import org.nuiton.redmine.model.I18nAble; import org.nuiton.redmine.model.IdAble; +import org.nuiton.redmine.request.RequestType; /** * goal to display in console some data from redmine's server. @@ -18,13 +22,13 @@ public class DisplayDataMojo extends AbstractRedmineMojo { /** - * The data types to display : {@code issueSatuses}, {@code issuePriorities}, - * {@code issueCategories}, {@code trackers} and {@code users}. + * The data types to display : {@code issueSatuses}, {@code issuePriority}, + * {@code issueCategory}, {@code tracker} and {@code user}. * <p/> - * {@code issueStatuses} and {@code issuePriorities} are common for all + * {@code issueStatus} and {@code issuePriority} are common for all * projects, so for those datas, no extrat configuration is required. * <p/> - * {@code isseCategories}, {@code trackers} and {@code users} are project + * {@code isseCategories}, {@code tracker} and {@code user} are project * specific, so you have to fill als the {@code projectId} parameter to * obtain data for those types. * <p/> @@ -36,9 +40,9 @@ */ protected String types; /** - * the real data types to retreave + * list of download actions to perform */ - protected RedmineDataType[] redmineDataTypes; + protected List<Entry<RedmineDataDescriptor<?>, RequestType>> actions; @Override protected boolean init() throws Exception { @@ -50,14 +54,14 @@ getLog().warn("can not download data when offline flag is on, goal is skip"); return false; } - redmineDataTypes = getRedmineDataTypes(types, - RedmineDataType.issueStatuses, - RedmineDataType.issuePriorities, - RedmineDataType.issueCategories, - RedmineDataType.trackers, - RedmineDataType.users); + actions = getDownloadActions(types, + RedmineDataType.issueStatus, + RedmineDataType.issuePriority, + RedmineDataType.issueCategory, + RedmineDataType.tracker, + RedmineDataType.user); - if (redmineDataTypes.length == 0) { + if (actions.isEmpty()) { // no data to treate getLog().warn("no data types detected, you must fill the required parameter dataTypes"); init = false; @@ -70,10 +74,13 @@ protected void doAction() throws Exception { StringBuilder buffer = new StringBuilder("\n"); - for (RedmineDataType type : redmineDataTypes) { - IdAble[] datas = helper.getDatas(type.getType(), projectId, versionId, !offline); - buffer.append("\nValues of '" + type).append('\''); - if (type.isRequiresProject()) { + for (Entry<RedmineDataDescriptor<?>, RequestType> entry : actions) { + RequestType requestType = entry.getValue(); + RedmineDataDescriptor<?> descriptor = entry.getKey(); + Class<IdAble> klass = (Class<IdAble>) descriptor.getDataType(); + IdAble[] datas = helper.getDatas(klass, projectId, versionId, !offline && overwrite); + buffer.append("\nValues of '" + descriptor).append('\''); + if (helper.isRequiresProject(klass, requestType)) { buffer.append(" for project " + projectId); } buffer.append('\n'); Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/DownloadDataMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/DownloadDataMojo.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/DownloadDataMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,7 +1,10 @@ package org.nuiton.redmine.plugin; import java.io.File; -import org.nuiton.redmine.RedmineDataType; +import java.util.List; +import java.util.Map.Entry; +import org.nuiton.redmine.RedmineDataDescriptor; +import org.nuiton.redmine.request.RequestType; import org.nuiton.util.PluginHelper; /** @@ -18,17 +21,31 @@ public class DownloadDataMojo extends AbstractRedmineMojo { /** - * The data types to retreave : all values of enum {@link RedmineDataType} - * with filter (on projectId and versionId) + * The data types to retreave. + * + * With no context data : * <ul> - * <li>project</li> - * <li>trackers</li> - * <li>users</li> - * <li>versions</li> - * <li>version</li> - * <li>issues</li> - * <li>attachments</li> + * <li>projects : all projects on redmine for the logeed user</li> + * <li>issuePrioritys : all issue priorities </li> + * <li>issueStatuss : all issue categories </li> * </ul> + * + * With a project context ({@code projectId}) + * <ul> + * <li>project : the project</li> + * <li>issueCategorys : all issue categories of the project</li> + * <li>trackers : all trackers of the project</li> + * <li>users : all users of the project</li> + * <li>versions : all versions of the project</li> + * <li>newss : all news of the project</li> + * </ul> + * + * With a project and version context ({@code projectId}, {@code versionId}) + * <ul> + * <li>version : the version in the project</li> + * <li>issues : all issues of the given version</li> + * <li>attachments : all attachements files of the given version</li> + * </ul> * <p/> * <p/> * Note : you can specifiy several types separated by comma @@ -39,9 +56,9 @@ */ protected String types; /** - * the real data types to retreave + * list of download actions to perform */ - protected RedmineDataType[] redmineDataTypes; + protected List<Entry<RedmineDataDescriptor<?>, RequestType>> actions; @Override protected boolean init() throws Exception { @@ -54,9 +71,9 @@ return false; } - redmineDataTypes = getRedmineDataTypes(types); + actions = getDownloadActions(types); - if (redmineDataTypes.length == 0) { + if (actions.isEmpty()) { // no data to treate getLog().warn("no data types detected, you must fill the required parameter dataTypes"); init = false; @@ -68,15 +85,18 @@ @Override protected void doAction() throws Exception { - for (RedmineDataType type : redmineDataTypes) { + for (Entry<RedmineDataDescriptor<?>, RequestType> entry : actions) { + RequestType requestType = entry.getValue(); + RedmineDataDescriptor<?> descriptor = entry.getKey(); + String label = "[" + descriptor.getDataType().getSimpleName() + " : " + requestType + "]"; if (getLog().isDebugEnabled()) { - getLog().debug("treate : " + type); + getLog().debug("treate " + label); } - File f = helper.uptodateLocalDataFile(type); + File f = helper.uptodateLocalDataFile(descriptor, requestType); - getLog().info("data [" + type + "] stored in " + f); + getLog().info("" + label + " stored in " + f); if (verbose) { String t = PluginHelper.readAsString(f, encoding); getLog().info(t); Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/GenerateChangesMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/GenerateChangesMojo.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/GenerateChangesMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -57,7 +57,7 @@ /** * The path of the <code>changes.xml</code> file that will be converted into an HTML report. * - * @parameter expression="${changes.xmlPath}" default-value="target/changes/changes.xml" + * @parameter expression="${changes.xmlPath}" default-value="${basedir}/src/changes/changes.xml" * @required * @since 1.0.0 */ Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/AbstractAnnouncementMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/AbstractAnnouncementMojo.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/AbstractAnnouncementMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,341 @@ +package org.nuiton.redmine.plugin.announcement; + +import org.nuiton.redmine.plugin.*; +import java.io.File; +import java.util.Collections; +import java.util.List; +import java.util.Map; +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.context.Context; +import org.codehaus.plexus.util.ReaderFactory; +import org.codehaus.plexus.util.StringUtils; +import org.codehaus.plexus.velocity.VelocityComponent; +import org.nuiton.redmine.RedmineDataException; +import org.nuiton.redmine.model.Attachment; +import org.nuiton.redmine.model.Project; +import org.nuiton.redmine.model.User; +import org.nuiton.redmine.model.Version; + +/** + * + * @author chemit + */ +public abstract class AbstractAnnouncementMojo extends AbstractRedmineMojo { + + /** + * Directory where the template file will be generated. + * + * expression="${redmine.templateOutputDirectory}" default-value="${project.build.directory}/announcement" + * @required + * @since 1.0.0 + */ + private File templateOutputDirectory; + /** + * The path of the changes.xml file. + * + * @parameter expression="${redmine.xmlPath}" default-value="${basedir}/src/changes/changes.xml" + * @required + * @since 1.0.0 + */ + private File xmlPath; + /** + * Directory that contains the template. + * <p> + * <b>Note:</b> This directory must be a subdirectory of + * <code>/src/main/resources/ or current project base directory</code>. + * </p> + * + * @parameter expression="${redmine.templateDirectory}" default-value="org/nuiton/redmine/plugin/announcement" + * @required + * @since 1.0.0 + */ + private String templateDirectory; + /** + * The template encoding. + * + * @parameter expression="${redmine.templateEncoding}" default-value="${project.build.sourceEncoding}" + * @since 1.0.0 + */ + private String templateEncoding; + /** + * Map which will be pass to the velocity context + * @parameter + * @since 1.0.0 + */ + private Map<String, Object> announceParameters; + /** + * Template strings per system that is used to discover the URL to use to display an attchment. Each key in this + * map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template. + * <p> + * There are 2 template tokens you can use. <code>%URL%</code>: this is computed by getting the + * <code><issueManagement>/<url></code> value from the POM, and removing the last '/' + * and everything that comes after it. <code>%FILE%</code>: this is the issue number. + * </p> + * + * @parameter expression="${redmine.attachmentLinkTemplate}" + * @since 1.0.0 + */ + protected String attachmentLinkTemplate; + /** + * @parameter expression="${project.groupId}" + * @readonly + * @since 1.0.0 + */ + private String groupId; + /** + * @parameter expression="${project.artifactId}" + * @readonly + * @since 1.0.0 + */ + private String artifactId; + /** + * Distribution url of the artifact. + * + * @parameter expression="${project.url}" + * @required + * @since 1.0.0 + */ + private String url; + /** + * Packaging structure for the artifact. + * + * @parameter expression="${project.packaging}" + * @readonly + * @since 1.0.0 + */ + private String packaging; + /** + * The name of the artifact to be used in the announcement. + * + * @parameter expression="${redmine.finalName}" default-value="${project.build.finalName}" + * @required + * @since 1.0.0 + */ + private String finalName; + /** + * The current project base directory. + * + * @parameter expression="${basedir}" + * @required + * @since 1.0.0 + */ + private String basedir; + /** + * URL where the artifact can be downloaded. If not specified, + * no URL is used. + * + * @parameter + * @since 1.0.0 + */ + private String urlDownload; + /** + * Name of the team that develops the artifact. + * + * @parameter expression="${redmine.developmentTeam}" default-value="${project.name} team" + * @required + * @since 1.0.0 + */ + private String developmentTeam; + /** + * Short description or introduction of the released artifact. + * + * @parameter expression="${redmine.introduction}" default-value="${project.description}" + * @since 1.0.0 + */ + private String introduction; + /** + * Velocity Component. + * + * @component role="org.codehaus.plexus.velocity.VelocityComponent" roleHint="maven-changes-plugin" + * @readonly + */ + private VelocityComponent velocity; + private Project releaseProject; + private Version releaseVersion; + private User releaseUser; + private Attachment[] releaseAttachments; + + @Override + protected boolean init() throws Exception { + + if (!super.init()) { + return false; + } + + if (offline) { + // can not release if offline + getLog().warn("can not perform release if offline, goal is skip"); + return false; + } + + if (!isGenerateAnnouncement()) { + getLog().info("The goal is skip"); + return false; + } + + if (!xmlPath.exists()) { + getLog().warn("can not find redmine-template at " + xmlPath + ", goal is skip"); + return false; + } + + // check project exists + + try { + this.releaseProject = helper.getProject(); + } catch (RedmineDataException e) { + getLog().warn("the project '" + projectId + "' could not be retreave from redmine server, goal is skip"); + if (verbose) { + getLog().error(e); + } + return false; + } + + // check user exists + + try { + User user = helper.getUserByLogin(redmineUsername); + + if (user == null) { + getLog().warn("the user '" + redmineUsername + "' could not be retreave from redmine server, goal is skip"); + return false; + } + this.releaseUser = user; + } catch (RedmineDataException e) { + getLog().warn("the user '" + redmineUsername + "' could not be retreave from redmine server, goal is skip"); + if (verbose) { + getLog().error(e); + } + return false; + } + + // check version exists + try { + + Version v = helper.getVersionByName(true, versionId); + + if (v == null) { + getLog().warn("the version '" + versionId + "' could not be retreave from redmine server, goal is skip"); + return false; + } + + this.releaseVersion = v; + } catch (RedmineDataException e) { + getLog().warn("could not retreave version " + versionId + ", goal is skip"); + if (verbose) { + getLog().error(e); + } + return false; + } + + // get attachments + try { + + Attachment[] v = helper.getAttachments(); + + this.releaseAttachments = v; + } catch (RedmineDataException e) { + getLog().warn("could not retreave attachments for version " + versionId + ", goal is skip"); + if (verbose) { + getLog().error(e); + } + return false; + } + + if (StringUtils.isEmpty(templateEncoding)) { + templateEncoding = ReaderFactory.FILE_ENCODING; + getLog().warn( + "File encoding has not been set, using platform encoding " + templateEncoding + ", i.e. build is platform dependent!"); + } + + if (introduction == null || introduction.trim().isEmpty()) { + introduction = project.getUrl(); + } + + return true; + } + + @Override + protected void doAction() throws Exception { + + // do upload files to redmine, + + ChangesXML changesXml = new ChangesXML(xmlPath, getLog()); + + List<?> releases = changesXml.getReleaseList(); + + File out = new File(templateOutputDirectory, getAnnouncementTemplate()); + + if (isGenerateAnnouncement()) { + + generateAnnouncement(out, getAnnouncementTemplate(), releases); + } + + } + + protected abstract boolean isGenerateAnnouncement(); + + protected abstract String getAnnouncementTemplate(); + + protected void generateAnnouncement(File out, String template, List<?> releases) throws MojoExecutionException { + + // prepare data for announcement + + getLog().info("Creating announcement [" + template + "] from " + xmlPath + "..."); + + AnnouncementGenerator generator = new AnnouncementGenerator(getLog(), velocity, url, attachmentLinkTemplate, basedir); + + Context context = createVelocityContext(generator, releases, releaseAttachments); + + // generate redmine announcement file + + generator.doGenerate(context, out, templateDirectory + "/" + template, templateEncoding); + + getLog().info("Created template [" + template + "] to " + out); + } + + public Context createVelocityContext(AnnouncementGenerator generator, List<?> releases, Attachment[] downloads) throws MojoExecutionException { + // prepare velocity context + Context context = new VelocityContext(); + context.put("releases", releases); + context.put("groupId", groupId); + context.put("artifactId", artifactId); + context.put("version", releaseVersion.getName()); + context.put("packaging", packaging); + context.put("url", url); + + Release release = generator.getLatestRelease(releases, releaseVersion.getName()); + + context.put("release", release); + context.put("introduction", introduction); + context.put("developmentTeam", developmentTeam); + context.put("finalName", finalName); + context.put("urlDownload", urlDownload); + context.put("project", project); + Map<Attachment, String> attachmentsUrls = generator.getAttachmentsUrls(downloads); + Object urls; + if (attachmentsUrls == null || attachmentsUrls.isEmpty()) { + urls = Collections.EMPTY_MAP; + } else { + urls = attachmentsUrls; + } + + getLog().info("nb attachments : " + ((Map<?, ?>) urls).size()); + + if (isVerbose()) { + getLog().info("attachmentsUrls :\n" + urls); + } + + context.put("attachmentsUrls", urls); + + if (announceParameters == null) { + // empty Map to prevent NPE in velocity execution + context.put("announceParameters", Collections.EMPTY_MAP); + } else { + context.put("announceParameters", announceParameters); + } + return context; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/AbstractAnnouncementMojo.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/AnnouncementGenerator.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/AnnouncementGenerator.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/AnnouncementGenerator.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,206 @@ +package org.nuiton.redmine.plugin.announcement; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.logging.Log; +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.app.VelocityEngine; +import org.apache.velocity.context.Context; +import org.apache.velocity.exception.ResourceNotFoundException; +import org.codehaus.plexus.util.StringUtils; +import org.codehaus.plexus.velocity.VelocityComponent; +import org.nuiton.redmine.model.Attachment; + +/** + * + * @author chemit + * @since 1.0.0 + */ +public class AnnouncementGenerator { + + /** + * The token any of urls denoting the base URL for the issue management. + */ + private static final String URL_TOKEN = "%URL%"; + /** + * The token in {@link #attachmentLinkTemplate} denoting the attachment ID. + */ + private static final String ATTACHMENT_TOKEN = "%FILE%"; + private final String url; + private final String attachmentLinkTemplate; + private final String basedir; + private final VelocityComponent velocity; + private final Log log; + + public AnnouncementGenerator(Log log, VelocityComponent velocity, String url, String attachmentLinkTemplate, String basedir) { + this.velocity = velocity; + this.log = log; + this.url = url; + this.attachmentLinkTemplate = attachmentLinkTemplate; + this.basedir = basedir; + } + + public Map<Attachment, String> getAttachmentsUrls(Attachment[] attachments) { + + // transform attachments urls + + boolean hasAttachmentLinks = canGenerateAttachmentLinks(); + + Map<Attachment, String> urls = null; + + if (hasAttachmentLinks) { + + urls = new HashMap<Attachment, String>(); + if (hasAttachmentLinks) { + for (Attachment a : attachments) { + String u = parseAttachmentLink(a.getId() + ""); + urls.put(a, u); + } + } + } else { + getLog().warn("can not render attachments urls"); + } + + return urls; + } + + public void doGenerate(Context context, File out, String templatePath, String templateEncoding) + throws MojoExecutionException { + + try { + + if (!out.getParentFile().exists()) { + out.getParentFile().mkdirs(); + } + + VelocityEngine engine = velocity.getEngine(); + + engine.setApplicationAttribute("baseDirectory", basedir); + + Writer writer = new OutputStreamWriter(new FileOutputStream(out), templateEncoding); + + Template velocityTemplate = engine.getTemplate(templatePath, templateEncoding); + + velocityTemplate.merge(context, writer); + + writer.flush(); + + writer.close(); + + } catch (ResourceNotFoundException rnfe) { + throw new MojoExecutionException("Resource not found.", rnfe); + } catch (Exception e) { + throw new MojoExecutionException(e.toString(), e); + } + } + + /** + * Checks whether links to the issues can be generated. + * + * @return <code>true</code> if issue links can be generated, <code>false</code> otherwise. + */ + public boolean canGenerateAttachmentLinks() { + return !StringUtils.isBlank(attachmentLinkTemplate) && (!StringUtils.isBlank(url) || attachmentLinkTemplate.indexOf(URL_TOKEN) < 0); + } + + protected String parseAttachmentLink(String id) { + String parseLink; + String issueLink = this.attachmentLinkTemplate; + 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); + } + + return parseLink; + } + + /** + * Get the latest release by matching the supplied releases + * with the version from the pom. + * + * @param releases list of releases + * @param releaseVersion the release version + * @return A <code>Release</code> that matches the next release of the current project + * @throws MojoExecutionException + */ + public Release getLatestRelease(List<?> releases, String releaseVersion) + throws MojoExecutionException { + boolean isFound = false; + + Release release = null; + + String pomVersion = releaseVersion; + + getLog().debug("Found " + releases.size() + " releases."); + + for (int i = 0; i < releases.size(); i++) { + release = (Release) releases.get(i); + if (getLog().isDebugEnabled()) { + getLog().debug("The release: " + release.getVersion() + " has " + release.getActions().size() + " actions."); + } + + if (release.getVersion() != null && release.getVersion().equals(pomVersion)) { + isFound = true; + if (getLog().isDebugEnabled()) { + getLog().debug("Found the correct release: " + release.getVersion()); + logRelease(release); + } + return release; + } + } + + release = getRelease(releases, pomVersion); + isFound = (release != null); + + if (!isFound) { + throw new MojoExecutionException("Couldn't find the release '" + pomVersion + "' among the supplied releases."); + } else { + } + return release; + } + + protected Release getRelease(List<?> releases, String version) { + Release release = null; + for (int i = 0; i < releases.size(); i++) { + release = (Release) releases.get(i); + if (getLog().isDebugEnabled()) { + getLog().debug("The release: " + release.getVersion() + " has " + release.getActions().size() + " actions."); + } + + if (release.getVersion() != null && release.getVersion().equals(version)) { + if (getLog().isDebugEnabled()) { + getLog().debug("Found the correct release: " + release.getVersion()); + logRelease(release); + } + return release; + } + } + return null; + } + + private void logRelease(Release release) { + Action action; + for (Iterator<?> iterator = release.getActions().iterator(); iterator.hasNext();) { + action = (Action) iterator.next(); + getLog().debug("o " + action.getType()); + getLog().debug("issue : " + action.getIssue()); + getLog().debug("action : " + action.getAction()); + getLog().debug("dueTo : " + action.getDueTo()); + } + } + + protected Log getLog() { + return log; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/AnnouncementGenerator.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojo.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,38 @@ +package org.nuiton.redmine.plugin.announcement; + +/** + * goal to generate the email announcement. + * + * @author tchemit + * @since 1.0.0 + * + * @goal email-announcement + * @requiresProject true + */ +public class EmailAnnouncementMojo extends AbstractAnnouncementMojo { + + /** + * The Velocity template used to format the redmine announcement. + * + * @parameter expression="${redmine.emailAnnouncementTemplate}" default-value="release-email-announcement.vm" + * @required + */ + private String emailAnnouncementTemplate; + /** + * A flag to enable or disable the goal. + * + * @parameter expression="${changes.skipEmailAnnouncement}" default-value="false" + * @required + */ + private boolean skipEmailAnnouncement; + + @Override + protected boolean isGenerateAnnouncement() { + return !skipEmailAnnouncement; + } + + @Override + protected String getAnnouncementTemplate() { + return emailAnnouncementTemplate; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojo.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojo.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,38 @@ +package org.nuiton.redmine.plugin.announcement; + +/** + * goal to generate the redmine announcement. + * + * @author tchemit + * @since 1.0.0 + * + * @goal redmine-announcement + * @requiresProject true + */ +public class RedmineAnnouncementMojo extends AbstractAnnouncementMojo { + + /** + * The Velocity template used to format the redmine announcement. + * + * @parameter expression="${redmine.redmineAnnouncementTemplate}" default-value="release-redmine-announcement.vm" + * @required + */ + private String redmineAnnouncementTemplate; + /** + * A flag to enable or disable the goal. + * + * @parameter expression="${redmine.skipRedmineAnnouncement}" default-value="true" + * @required + */ + private boolean skipRedmineAnnouncement; + + @Override + protected boolean isGenerateAnnouncement() { + return !skipRedmineAnnouncement; + } + + @Override + protected String getAnnouncementTemplate() { + return redmineAnnouncementTemplate; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojo.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/AbstractReleaseMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/AbstractReleaseMojo.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/AbstractReleaseMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,154 @@ +package org.nuiton.redmine.plugin.release; + +import org.nuiton.redmine.RedmineDataException; +import org.nuiton.redmine.model.Project; +import org.nuiton.redmine.model.User; +import org.nuiton.redmine.model.Version; +import org.nuiton.redmine.plugin.AbstractRedmineMojo; + +/** + * + * @author chemit + * @since 1.0.0 + */ +public abstract class AbstractReleaseMojo extends AbstractRedmineMojo { + + protected Project releaseProject; + protected Version releaseVersion; + protected User releaseUser; + protected final boolean requireProject; + protected final boolean requireVersion; + protected final boolean requireUser; + + protected abstract void doSafeAction() throws Exception; + + protected abstract boolean isGoalSkip(); + + public AbstractReleaseMojo(String skipMessage, boolean requireProject, boolean requireVersion, boolean requireUser) { + super(skipMessage); + this.requireProject = requireProject; + this.requireVersion = requireVersion; + this.requireUser = requireUser; + } + + @Override + protected final void doAction() throws Exception { + if (isGoalSkip()) { + getLog().warn(skipAfterInitMessage); + } else { + doSafeAction(); + } + } + + @Override + protected boolean init() throws Exception { + + if (isGoalSkip()) { + return true; + } + + if (offline) { + // can not release if offline + getLog().warn("offline flag is on, can not perform release, goal is skip"); + return false; + } + + if (!super.init()) { + return false; + } + + // check project exists + + if (requireProject) { + boolean r = initReleaseProject(); + if (!r) { + getLog().warn("the project '" + projectId + "' could not be retreave from redmine server, goal is skip"); + return false; + } + } + + + // check user exists + + if (requireUser) { + boolean r = initReleaseUser(); + if (!r) { + getLog().warn("the user '" + redmineUsername + "' could not be retreave from redmine server, goal is skip"); + return false; + } + } + + + // check version exists + + if (requireVersion) { + boolean r = initReleaseVersion(); + if (!r) { + getLog().warn("the version '" + versionId + "' could not be retreave from redmine server, goal is skip"); + return false; + } + } + + return true; + } + + protected boolean initReleaseProject() { + + try { + this.releaseProject = helper.getProject(); + if (releaseProject == null) { + return false; + } + return true; + } catch (RedmineDataException e) { + getLog().warn("could not retreave project '" + projectId + "', goal is skip"); + if (verbose) { + getLog().error(e); + } + return false; + } + } + + protected boolean initReleaseVersion() { + + try { + + Version v = helper.getVersionByName(true, versionId); + + if (v == null) { + + return false; + } + + this.releaseVersion = v; + return true; + } catch (RedmineDataException e) { + getLog().warn("could not retreave version " + versionId + ", goal is skip"); + if (verbose) { + getLog().error(e); + } + return false; + } + } + + protected boolean initReleaseUser() { + + try { + User user = helper.getUserByLogin(redmineUsername); + + if (user == null) { + + return false; + } + this.releaseUser = user; + } catch (RedmineDataException e) { + getLog().warn("could not retreave user '" + redmineUsername + "', goal is skip"); + if (verbose) { + getLog().error(e); + } + return false; + } + + return true; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/AbstractReleaseMojo.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojo.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,116 @@ +package org.nuiton.redmine.plugin.release; + +import java.io.File; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import org.nuiton.redmine.RedmineDataException; +import org.nuiton.redmine.model.Attachment; + +/** + * goal to perform release on redmine server. + * + * @author tchemit + * @since 1.0.0 + * + * @goal release-attachments + * @requiresProject true + */ +public class ReleaseAttachmentsMojo extends AbstractReleaseMojo { + + /** + * The artifacts to publish to redmine. + * + * Note : if not set, will use the project attached artifacts. + * + * @parameter expression="${project.attachedArtifacts}" + * @required + * @since 1.0.0 + */ + protected List<String> attachedArtifacts; + /** + * A flag to skip the goal. + * + * @parameter expression="${redmine.skipReleaseAttachments}" default-value="false" + * @since 1.0.0 + */ + protected boolean skipReleaseAttachments; + /** + * A flag to check thaht the published attachments are redmine server. + * + * @parameter expression="${redmine.checkPublishedAttachments}" default-value="true" + * @since 1.0.0 + */ + protected boolean checkPublishedAttachments; + + public ReleaseAttachmentsMojo() { + super("skipReleaseAttachments flag is on, will skip release-attachments goal", true, true, true); + } + + @Override + protected boolean isGoalSkip() { + return skipReleaseAttachments; + } + + @Override + protected void doSafeAction() throws Exception { + + Map<File, Integer> downloads = publishAttachments(); + + if (checkPublishedAttachments) { + + checkPublishedAttachments(downloads); + + } + downloads.clear(); + } + + protected Map<File, Integer> publishAttachments() throws RedmineDataException { + + Map<File, Integer> uploads = new HashMap<File, Integer>(); + + for (String filepath : attachedArtifacts) { + + File f = new File(filepath); + if (!f.exists()) { + getLog().warn("can not upload a non existing file " + f); + continue; + } + + // upload the file + getLog().info("uploading [" + f + "] ..."); + + Attachment a = new Attachment(); + a.setFilename(f.getName()); + a.setAuthorId(releaseUser.getId()); + a.setContainerId(releaseVersion.getId()); + //a.setDescription("a description test..."); + + // do it + + String result = helper.publishAttachment(a, f, releaseVersion.getName()); + getLog().info("upload done [" + f + "], attachment id : " + result); + + Integer id = Integer.valueOf(result.trim()); + uploads.put(f, id); + } + return uploads; + } + + protected void checkPublishedAttachments(Map<File, Integer> downloads) throws RedmineDataException { + helper.setVersionId(releaseVersion.getName()); + helper.getAttachments(true); + for (Entry<File, Integer> entry : downloads.entrySet()) { + File file = entry.getKey(); + Attachment a = helper.getAttachmentById(entry.getValue()); + if (a == null) { + //TODO on devrait declanher une exception... + getLog().warn("could not retreave attachment for " + file); + continue; + } + } + + } +} + Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojo.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseEmailMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseEmailMojo.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseEmailMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,276 @@ +package org.nuiton.redmine.plugin.release; + +import org.apache.maven.plugin.announcement.MailSender; +import org.nuiton.util.PluginHelper; + +import java.io.File; +import java.util.List; + +import org.apache.maven.model.Developer; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.announcement.mailsender.ProjectJavamailMailSender; +import org.codehaus.plexus.logging.Logger; +import org.codehaus.plexus.logging.console.ConsoleLogger; +import org.codehaus.plexus.mailsender.MailMessage; +import org.codehaus.plexus.mailsender.MailSenderException; + +/** + * goal to publish release announcement email. + * + * @author tchemit + * @since 1.0.0 + * + * @goal release-email + * @requiresProject true + */ +public class ReleaseEmailMojo extends AbstractReleaseMojo { + + /** + * Directory where the template file will be generated. + * + * @parameter expression="${redmine.templateOutputDirectory}" default-value="${project.build.directory}/announcement" + * @required + * @since 1.0.0 + */ + private File templateOutputDirectory; + /** + * The Velocity template used to format the email announcement. + * + * @parameter expression="${redmine.emailAnnouncementTemplate}" default-value="release-email-announcement.vm" + * @required + * @since 1.0.0 + */ + private String emailAnnouncementTemplate; + /** + * The title of the email to send. + * + * @parameter expression="${redmine.emailTitle}" default-value="[ANNOUNCEMENT] - ${project.name} ${project.version} released" + * @required + * @since 1.0.0 + */ + private String emailTitle; + /** + * A flag to skip the goal. + * + * @parameter expression="${redmine.skipReleaseEmail}" default-value="false" + * @since 1.0.0 + */ + private boolean skipReleaseEmail; + /** + * Smtp Server. + * + * @parameter expression="${redmine.smtpHost}" + * @required + */ + private String smtpHost; + /** + * Port. + * + * @parameter default-value="25" expression="${redmine.smtpPort}" + * @required + */ + private int smtpPort; + /** + * The username used to send the email. + * + * @parameter expression="${redmine.username}" + */ + private String username; + /** + * The password used to send the email. + * + * @parameter expression="${redmine.password}" + */ + private String password; + /** + * If the email should be sent in SSL mode. + * + * @parameter default-value="false" expression="${redmine.sslMode}" + */ + private boolean sslMode; + /** + * The id of the developer sending the announcement mail. Only used if the <tt>mailSender</tt> + * attribute is not set. In this case, this should match the id of one of the developers in + * the pom. If a matching developer is not found, then the first developer in the pom will be + * used. + * + * @parameter expression="${redmine.fromDeveloperId}" + */ + private String fromDeveloperId; + /** + * Defines the sender of the announcement if the list of developer is empty or + * if the sender is not a member of the development team. + * + * @parameter expression="${redmine.mailSender}" + */ + private MailSender mailSender; + /** + * Recipient email address. + * + * @parameter + * @required + */ + private List<String> toAddresses; + /** + * Possible senders. + * + * @parameter expression="${project.developers}" + * @required + * @readonly + */ + private List<Developer> from; + /** + * Mail content type to use. + * @parameter default-value="text/plain" + * @required + * @since 2.1 + */ + private String mailContentType; + private File emailAnnouncementFile; + + public ReleaseEmailMojo() { + super("skipReleaseEmail flag is on, will skip the goal release-email", true, true, true); + } + + @Override + protected boolean isGoalSkip() { + return skipReleaseEmail; + } + + @Override + protected boolean init() throws Exception { + + if (isGoalSkip()) { + return true; + } + + if (!super.init()) { + return false; + } + + emailAnnouncementFile = new File(templateOutputDirectory, emailAnnouncementTemplate); + + if (!emailAnnouncementFile.exists()) { + // no file to publish... + getLog().warn("could not find the template " + emailAnnouncementFile); + getLog().warn("will skip send email..."); + return false; + } + + // check mail sender + + if (mailSender == null) { + + if (from == null || from.isEmpty()) { + getLog().warn("The <developers> section in your pom should not be empty. Add a <developer> entry or set the " + "mailSender parameter."); + getLog().warn("will skip send email..."); + return false; + } + + if (fromDeveloperId == null) { + final Developer dev = from.get(0); + mailSender = new MailSender(dev.getName(), dev.getEmail()); + } else { + for (Developer developer : from) { + if (fromDeveloperId.equals(developer.getId())) { + mailSender = new MailSender(developer.getName(), developer.getEmail()); + break; + } + } + if (mailSender == null) { + getLog().warn("Missing developer with id '" + fromDeveloperId + "' in the <developers> section in your pom."); + getLog().warn("will skip send email..."); + return false; + } + } + } + + String fromAddress = mailSender.getEmail(); + if (fromAddress == null || fromAddress.equals("")) { + getLog().warn("Invalid mail sender: name and email is mandatory (" + mailSender + ")."); + getLog().warn("will skip send email..."); + return false; + } + + return true; + } + + @Override + protected void doSafeAction() throws Exception { + + File templateFile = new File(templateOutputDirectory, emailAnnouncementTemplate); + + String newsContent = PluginHelper.readAsString(templateFile, encoding); + + MailMessage mailMsg = createMessage(newsContent, mailSender); + + ProjectJavamailMailSender mailer = createMailer(); + + if (getLog().isDebugEnabled()) { + getLog().debug("fromDeveloperId: " + fromDeveloperId); + } + + getLog().info("Connecting to Host: " + smtpHost + ":" + smtpPort); + + try { + + mailer.send(mailMsg); + getLog().info("Sent..."); + } catch (MailSenderException e) { + throw new MojoExecutionException("Failed to send email for reason " + e.getMessage(), e); + } + } + + protected MailMessage createMessage(String newsContent, MailSender mailSender) throws MailSenderException { + + String fromName = mailSender.getName(); + String fromAddress = mailSender.getEmail(); + + getLog().info("Using this sender for email announcement: " + fromAddress + " < " + fromName + " > "); + + MailMessage mailMsg = new MailMessage(); + mailMsg.setSubject(emailTitle); + getLog().info("email announcement :\n" + newsContent); + mailMsg.setContent(newsContent); + mailMsg.setContentType(mailContentType); + mailMsg.setFrom(fromAddress, fromName); + for (String e : toAddresses) { + getLog().info("Sending mail to " + e + "..."); + mailMsg.addTo(e, ""); + } + return mailMsg; + } + + protected ProjectJavamailMailSender createMailer() { + + ProjectJavamailMailSender mailer = new ProjectJavamailMailSender(); + ConsoleLogger logger = new ConsoleLogger(Logger.LEVEL_INFO, "base"); + if (getLog().isDebugEnabled()) { + logger.setThreshold(Logger.LEVEL_DEBUG); + } + mailer.enableLogging(logger); + mailer.setSmtpHost(smtpHost); + mailer.setSmtpPort(smtpPort); + mailer.setSslMode(sslMode); + if (username != null) { + mailer.setUsername(username); + } + if (password != null) { + mailer.setPassword(password); + } + mailer.initialize(); + return mailer; + } + + public void setMailSender(MailSender sender) { + this.mailSender = sender; + } + + public void setFrom(List<Developer> from) { + this.from = from; + } + + public void setToAddresses(List<String> toAddresses) { + this.toAddresses = toAddresses; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseEmailMojo.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseNewsMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseNewsMojo.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseNewsMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,118 @@ +package org.nuiton.redmine.plugin.release; + +import java.io.File; +import org.nuiton.redmine.model.News; +import org.nuiton.util.PluginHelper; + +/** + * goal to publish the release announcement news on redmine server. + * + * @author tchemit + * @since 1.0.0 + * + * @goal release-news + * @requiresProject true + */ +public class ReleaseNewsMojo extends AbstractReleaseMojo { + + /** + * Directory where the template file will be generated. + * + * @parameter expression="${redmine.templateOutputDirectory}" default-value="${project.build.directory}/announcement" + * @required + * @since 1.0.0 + */ + private File templateOutputDirectory; + /** + * The Velocity template used to format the redmine announcement. + * + * @parameter expression="${redmine.redmineAnnouncementTemplate}" default-value="release-redmine-announcement.vm" + * @required + * @since 1.0.0 + */ + private String redmineAnnouncementTemplate; + /** + * Short description or introduction of the released artifact. + * + * @parameter expression="${redmine.summary}" default-value="${project.description}" + * @since 1.0.0 + */ + private String newsSummary; + /** + * The title of the news to create on redmine server. + * + * @parameter expression="${redmine.newsTitle}" default-value="[ANNOUNCEMENT] - ${project.name} ${project.version} released" + * @required + * @since 1.0.0 + */ + private String newsTitle; + /** + * A flag to skip the goal. + * + * @parameter expression="${redmine.skipReleaseNews}" default-value="false" + * @since 1.0.0 + */ + private boolean skipReleaseNews; + private File redmineAnnouncementFile; + + @Override + protected boolean isGoalSkip() { + return skipReleaseNews; + } + + public ReleaseNewsMojo() { + super("skipReleaseNews flag is on, will skip the goal release-news", true, true, true); + } + + @Override + protected boolean init() throws Exception { + + if (isGoalSkip()) { + + return true; + } + + if (!super.init()) { + return false; + } + + if (newsSummary == null || newsSummary.trim().isEmpty()) { + newsSummary = project.getUrl(); + } + + redmineAnnouncementFile = new File(templateOutputDirectory, redmineAnnouncementTemplate); + + if (!redmineAnnouncementFile.exists()) { + // no file to publish... + getLog().warn("could not find the template " + redmineAnnouncementFile); + getLog().warn("will skip publish news to redmine..."); + return false; + } + + return true; + } + + @Override + protected void doSafeAction() throws Exception { + + // create news to publish + + News news = new News(); + news.setAuthorId(releaseUser.getId()); + news.setProjectId(releaseProject.getId()); + news.setTitle(newsTitle); + news.setSummary(newsSummary); + + String newsContent = PluginHelper.readAsString(redmineAnnouncementFile, encoding); + + getLog().info("redmine announcement :\n" + newsContent); + + news.setDescription(newsContent); + + // publish news + + getLog().info("publish news " + news.getTitle()); + + helper.publishNews(news); + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseNewsMojo.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseVersionMojo.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseVersionMojo.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseVersionMojo.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,91 @@ +package org.nuiton.redmine.plugin.release; + +import java.util.Date; +import org.nuiton.redmine.model.Version; + +/** + * goal to publish the release version on redmine server. + * + * Will add a new version if not existing, otherwise, will update + * the {@code effectiveDate} of the version. + * + * @author tchemit + * @since 1.0.0 + * + * @goal release-version + * @requiresProject true + */ +public class ReleaseVersionMojo extends AbstractReleaseMojo { + + /** + * The news description to update to redmine server. + * + * Note : if not set, no update of the description will be made. + * + * @parameter expression="${redmine.versionDescription}" + * @since 1.0.0 + */ + protected String versionDescription; + /** + * A flag to skip this goal. + * + * @parameter expression="${redmine.skipReleaseVersion}" default-value="false" + * @since 1.0.0 + */ + private boolean skipReleaseVersion; + + public ReleaseVersionMojo() { + super("skipReleaseVersion flag is on, will skip the goal release-version", true, false, true); + } + + @Override + protected boolean isGoalSkip() { + return skipReleaseVersion; + } + + @Override + protected void doSafeAction() throws Exception { + + // get version + + boolean needCreateVersion; + + Version v = helper.getVersionByName(true, versionId); + + if (v == null) { + // version must be created + needCreateVersion = true; + v = new Version(); + v.setName(versionId); + } else { + + needCreateVersion = false; + } + + if (versionDescription != null && !versionDescription.trim().isEmpty()) { + v.setDescription(versionDescription.trim()); + } + + v.setEffectiveDate(new Date()); + + this.releaseVersion = v; + + // prepare version + if (needCreateVersion) { + + // create version + getLog().info("create version " + releaseVersion.getName()); + + helper.addVersion(releaseVersion); + + } else { + + // update version + getLog().info("udpate version " + releaseVersion.getName()); + + helper.updateVersion(releaseVersion); + + } + + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/ReleaseVersionMojo.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/report/AbstractRedmineReport.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/report/AbstractRedmineReport.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/report/AbstractRedmineReport.java 2009-09-15 17:18:53 UTC (rev 116) @@ -32,7 +32,7 @@ import org.apache.maven.reporting.MavenReportException; import org.apache.maven.settings.Settings; import org.codehaus.plexus.i18n.I18N; -import org.nuiton.Plugin; +import org.nuiton.plugin.Plugin; import org.nuiton.redmine.RedmineConfiguration; import org.nuiton.redmine.RedmineConfigurationHelper; import org.nuiton.redmine.RedmineDataProvider; Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/DefaultRequestBuilder.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/DefaultRequestBuilder.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/DefaultRequestBuilder.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,67 @@ +package org.nuiton.redmine.request; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +/** + * + * @param <O> type of data + * @author chemit + * @since 1.0.0 + */ +public class DefaultRequestBuilder<O> implements RequestBuilder<O> { + + protected Class<O> dataType; + protected RequestType requestType; + protected String action; + + public DefaultRequestBuilder(Class<O> dataType, RequestType requestType, String action) { + this.dataType = dataType; + this.requestType = requestType; + this.action = action; + } + + @Override + public RequestType getRequestType() { + return requestType; + } + + @Override + public Class<O> getDataType() { + return dataType; + } + + @Override + public String[] getParameters(Object... args) { + return new String[]{}; + } + + @Override + public String[] getPath(Object... args) { + List<String> paths = new ArrayList<String>(); + + paths.add("rest"); + paths.add(action); + return paths.toArray(new String[paths.size()]); + } + + @Override + public File getLocalFile(File basedir, Object... args) { + if (!requestType.isCanStore()) { + // can not store the file, so can not come here + + throw new UnsupportedOperationException("the requestType " + requestType + " can not store data"); + } + return getDefaultLocalFile(basedir); + } + + protected File getDefaultLocalFile(File basedir) { + if (!basedir.exists()) { + basedir.mkdirs(); + } + String filename = requestType.getStorFilename(dataType); + File f = new File(basedir, filename); + return f; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/DefaultRequestBuilder.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/ProjectRequestBuilder.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/ProjectRequestBuilder.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/ProjectRequestBuilder.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,47 @@ +package org.nuiton.redmine.request; + +import java.io.File; + +/** + * + * @param <O> type of data + * @author chemit + * @since 1.0.0 + */ +public class ProjectRequestBuilder<O> extends DefaultRequestBuilder<O> { +//public class ProjectRequestBuilder<O extends IdAble> extends DefaultRequestBuilder<O> { + + public ProjectRequestBuilder(Class<O> dataType, RequestType requestType, String action) { + super(dataType, requestType, action); + } + + @Override + public String[] getPath(Object... args) { + + // one args : projectId + + String projectId = (String) args[0]; + + return new String[]{ + "rest", + action, + projectId + }; + } + + @Override + public File getLocalFile(File basedir, Object... args) { + if (!requestType.isCanStore()) { + // can not store the file, so can not come here + + throw new UnsupportedOperationException("the requestType " + requestType + " can not store data"); + } + + String projectId = (String) args[0]; + + basedir = new File(basedir, "__P" + projectId); + + File f = getDefaultLocalFile(basedir); + return f; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/ProjectRequestBuilder.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/RequestBuilder.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/RequestBuilder.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/RequestBuilder.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,23 @@ +package org.nuiton.redmine.request; + +import java.io.File; + +/** + * The contract of a redmine request builder + * + * @param <O> type of data + * @author chemit + * @since 1.0.0 + */ +public interface RequestBuilder<O> { + + RequestType getRequestType(); + + Class<O> getDataType(); + + String[] getPath(Object... args); + + String[] getParameters(Object... args); + + File getLocalFile(File basedir, Object... args); +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/RequestBuilder.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/RequestType.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/RequestType.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/RequestType.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,53 @@ +package org.nuiton.redmine.request; + +import java.beans.Introspector; + +/** + * + * @author chemit + * @since + */ +public enum RequestType { + + list(true) { + + @Override + public String getStorFilename(Class<?> dataType) { + String filename = Introspector.decapitalize(dataType.getSimpleName()) + "s.xml"; + return filename; + } + }, + detail(true) { + + @Override + public String getStorFilename(Class<?> dataType) { + String filename = Introspector.decapitalize(dataType.getSimpleName()) + ".xml"; + return filename; + } + }, + add(false) { + + @Override + public String getStorFilename(Class<?> dataType) { + throw new UnsupportedOperationException("requestType " + name() + " does not support local data storing."); + } + }, + update(false) { + + @Override + public String getStorFilename(Class<?> dataType) { + throw new UnsupportedOperationException("requestType " + name() + " does not support local data storing."); + } + }; + private final boolean canStore; + + public abstract String getStorFilename(Class<?> dataType); + + public boolean isCanStore() { + return canStore; + } + + private RequestType(boolean canStore) { + this.canStore = canStore; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/RequestType.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/VersionRequestBuilder.java =================================================================== --- maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/VersionRequestBuilder.java (rev 0) +++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/VersionRequestBuilder.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,48 @@ +package org.nuiton.redmine.request; + +import java.io.File; + +/** + * + * @param <O> type of data + * @author chemit + * @since 1.0.0 + */ +public class VersionRequestBuilder<O> extends ProjectRequestBuilder<O> { +//public class VersionRequestBuilder<O extends IdAble> extends ProjectRequestBuilder<O> { + + public VersionRequestBuilder(Class<O> dataType, RequestType requestType, String action) { + super(dataType, requestType, action); + } + + @Override + public String[] getParameters(Object... args) { + + String versionId = (String) args[1]; + + return new String[]{ + "version_name", versionId + }; + } + + @Override + public File getLocalFile(File basedir, Object... args) { + if (!requestType.isCanStore()) { + // can not store the file, so can not come here + + throw new UnsupportedOperationException("the requestType " + requestType + " can not store data"); + } + + String projectId = (String) args[0]; + + basedir = new File(basedir, "__P" + projectId); + + String versionId = (String) args[1]; + basedir = new File(basedir, "__V" + versionId); + + + File f = getDefaultLocalFile(basedir); + + return f; + } +} Property changes on: maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/request/VersionRequestBuilder.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/main/resources/META-INF/services/org.nuiton.io.xpp3.Xpp3Reader =================================================================== --- maven-redmine-plugin/trunk/src/main/resources/META-INF/services/org.nuiton.io.xpp3.Xpp3Reader 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/main/resources/META-INF/services/org.nuiton.io.xpp3.Xpp3Reader 2009-09-15 17:18:53 UTC (rev 116) @@ -1,8 +1,9 @@ org.nuiton.redmine.model.io.xpp3.AttachmentXpp3Reader org.nuiton.redmine.model.io.xpp3.IssueXpp3Reader -org.nuiton.redmine.model.io.xpp3.IssueStatusXpp3Reader org.nuiton.redmine.model.io.xpp3.IssueCategoryXpp3Reader org.nuiton.redmine.model.io.xpp3.IssuePriorityXpp3Reader +org.nuiton.redmine.model.io.xpp3.IssueStatusXpp3Reader +org.nuiton.redmine.model.io.xpp3.NewsXpp3Reader org.nuiton.redmine.model.io.xpp3.ProjectXpp3Reader org.nuiton.redmine.model.io.xpp3.TrackerXpp3Reader org.nuiton.redmine.model.io.xpp3.UserXpp3Reader Added: maven-redmine-plugin/trunk/src/main/resources/log4j.properties =================================================================== --- maven-redmine-plugin/trunk/src/main/resources/log4j.properties (rev 0) +++ maven-redmine-plugin/trunk/src/main/resources/log4j.properties 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,24 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +log4j.rootCategory=INFO, stdout + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%5p [%c{1}:%L] %d{ISO8601} - %m%n + +log4j.logger.org.apache.commons.httpclient=DEBUG Added: maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/plugin/announcement/release-email-announcement.vm =================================================================== --- maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/plugin/announcement/release-email-announcement.vm (rev 0) +++ maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/plugin/announcement/release-email-announcement.vm 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,130 @@ +## Licensed to the Apache Software Foundation (ASF) under one +## or more contributor license agreements. See the NOTICE file +## distributed with this work for additional information +## regarding copyright ownership. The ASF licenses this file +## to you 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. +The ${developmentTeam} is pleased to announce the ${finalName} release! + +${introduction} + +#if ($release.getActions().size() == 0) +No changes defined in this version. +#else +Changes in this version include: + +#if ($release.getActions('add').size() !=0) +New features: +#foreach($actionItem in $release.getActions('add')) +#set($action=$actionItem.getAction()) +#if ($actionItem.getIssue()) +#set($issue=$actionItem.getIssue()) +#else +#set($issue="") +#end +#if ($actionItem.getDueTo()) +#set($dueto=$actionItem.getDueTo()) +#else +#set($dueto="") +#end +o ${action} #if($!issue != "") Issue: $issue. #end#if($!dueto != "")Thanks to $dueto. #end + +#set($issue="") +#set($dueto="") +#end +#end + +#if ($release.getActions('fix').size() !=0) +Fixed Bugs: +#foreach($actionItem in $release.getActions('fix')) +#set($action=$actionItem.getAction()) +#if ($actionItem.getIssue()) +#set($issue=$actionItem.getIssue()) +#else +#set($issue="") +#end +#if ($actionItem.getDueTo()) +#set($dueto=$actionItem.getDueTo()) +#else +#set($dueto="") +#end +o ${action} #if($!issue != "") Issue: $issue. #end#if($!dueto != "")Thanks to $dueto. #end + +#set($issue="") +#set($dueto="") +#end +#end + +#if ($release.getActions('update').size() !=0) +Changes: +#foreach($actionItem in $release.getActions('update')) +#set($action=$actionItem.getAction()) +#if ($actionItem.getIssue()) +#set($issue=$actionItem.getIssue()) +#else +#set($issue="") +#end +#if ($actionItem.getDueTo()) +#set($dueto=$actionItem.getDueTo()) +#else +#set($dueto="") +#end +o ${action} #if($!issue != "") Issue: $issue. #end#if($!dueto != "")Thanks to $dueto. #end + +#set($issue="") +#set($dueto="") +#end +#end + +#if ($release.getActions('remove').size() !=0) +Removed: +#foreach($actionItem in $release.getActions('remove')) +#set($action=$actionItem.getAction()) +#if ($actionItem.getIssue()) +#set($issue=$actionItem.getIssue()) +#else +#set($issue="") +#end +#if ($actionItem.getDueTo()) +#set($dueto=$actionItem.getDueTo()) +#else +#set($dueto="") +#end +o ${action} #if($!issue != "") Issue: $issue. #end#if($!dueto != "")Thanks to $dueto. #end + +#set($issue="") +#set($dueto="") +#end +#end +## End of main loop +#end +## TODO make a short description from the packaging type (pom, plugin, jar, war,...) +#if ($urlDownload) +For a manual installation, you can download files here: +${urlDownload} +#end + +#if ($attachmentsUrls) + +Release files: + +#foreach($a in $attachmentsUrls.entrySet()) +#set($attachment=$a.getKey()) +o ${attachment.getFilename()} - ${a.getValue()} +#end +#end + + +Have fun! +-${developmentTeam} + Added: maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/plugin/announcement/release-redmine-announcement.vm =================================================================== --- maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/plugin/announcement/release-redmine-announcement.vm (rev 0) +++ maven-redmine-plugin/trunk/src/main/resources/org/nuiton/redmine/plugin/announcement/release-redmine-announcement.vm 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,133 @@ +## Licensed to the Apache Software Foundation (ASF) under one +## or more contributor license agreements. See the NOTICE file +## distributed with this work for additional information +## regarding copyright ownership. The ASF licenses this file +## to you 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. +The ${developmentTeam} is pleased to announce the *${finalName}* release! + +${introduction} + +#if ($release.getActions().size() == 0) +No changes defined in this version. +#else +h3. Changes in this version include: + +#if ($release.getActions('add').size() !=0) +New features: +#foreach($actionItem in $release.getActions('add')) +#set($action=$actionItem.getAction()) +#if ($actionItem.getIssue()) +#set($issue=$actionItem.getIssue()) +#else +#set($issue="") +#end +#if ($actionItem.getDueTo()) +#set($dueto=$actionItem.getDueTo()) +#else +#set($dueto="") +#end +* ${action} #if($!issue != "") Issue: $issue. #end#if($!dueto != "")Thanks to $dueto. #end + +#set($issue="") +#set($dueto="") +#end +#end + +#if ($release.getActions('fix').size() !=0) +Fixed Bugs: +#foreach($actionItem in $release.getActions('fix')) +#set($action=$actionItem.getAction()) +#if ($actionItem.getIssue()) +#set($issue=$actionItem.getIssue()) +#else +#set($issue="") +#end +#if ($actionItem.getDueTo()) +#set($dueto=$actionItem.getDueTo()) +#else +#set($dueto="") +#end +* ${action} #if($!issue != "") Issue: $issue. #end#if($!dueto != "")Thanks to $dueto. #end + +#set($issue="") +#set($dueto="") +#end +#end + +#if ($release.getActions('update').size() !=0) +Changes: +#foreach($actionItem in $release.getActions('update')) +#set($action=$actionItem.getAction()) +#if ($actionItem.getIssue()) +#set($issue=$actionItem.getIssue()) +#else +#set($issue="") +#end +#if ($actionItem.getDueTo()) +#set($dueto=$actionItem.getDueTo()) +#else +#set($dueto="") +#end +* ${action} #if($!issue != "") Issue: $issue. #end#if($!dueto != "")Thanks to $dueto. #end + +#set($issue="") +#set($dueto="") +#end +#end + +#if ($release.getActions('remove').size() !=0) +Removed: +#foreach($actionItem in $release.getActions('remove')) +#set($action=$actionItem.getAction()) +#if ($actionItem.getIssue()) +#set($issue=$actionItem.getIssue()) +#else +#set($issue="") +#end +#if ($actionItem.getDueTo()) +#set($dueto=$actionItem.getDueTo()) +#else +#set($dueto="") +#end +* ${action} #if($!issue != "") Issue: $issue. #end#if($!dueto != "")Thanks to $dueto. #end + +#set($issue="") +#set($dueto="") +#end +#end +## End of main loop +#end +## TODO make a short description from the packaging type (pom, plugin, jar, war,...) + +h3. Downloads + +#if ($urlDownload) +For a manual installation, you can download files here: +${urlDownload} +#end + +#if ($attachmentsUrls) + +Release files: + +#foreach($a in $attachmentsUrls.entrySet()) +#set($attachment=$a.getKey()) +* ${attachment.getFilename()} - ${a.getValue()} +#end +#end + + +Have fun! +-${developmentTeam} + Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineDataProviderTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineDataProviderTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineDataProviderTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -34,6 +34,7 @@ List<User> users; List<Version> versions; File file; + protected static RequestBuilderProvider requestEngine; @BeforeClass public static void setUpClass() throws Exception { @@ -42,8 +43,8 @@ testDir = TestHelper.getTestDir(RedmineDataProviderTest.class, "target" + File.separator + "test-classes"); - log.info("test dir : " + testDir.getAbsolutePath().substring(TestHelper.getBaseDir().getAbsolutePath().length() + 1)); - + log.info("test dir : " + TestHelper.getRelativePath(TestHelper.getBasedir(), testDir)); + requestEngine = RedmineConfigurationHelper.newRequestEngine(); // setup memory model TestHelper.loadMemoryModel(); } @@ -88,8 +89,9 @@ File basedir = new File(testDir, "off-line"); - store = new RedmineDataProvider(TestHelper.ENCODING, log, basedir, null); + store = new RedmineDataProvider(TestHelper.ENCODING, log, basedir, requestEngine, null); store.setOffline(true); + store.setOverwrite(false); Project p = store.getData(Project.class, "one", null); Assert.assertNotNull(p); @@ -110,8 +112,9 @@ File basedir = new File(testDir, "off-line"); - store = new RedmineDataProvider(TestHelper.ENCODING, log, basedir, null); + store = new RedmineDataProvider(TestHelper.ENCODING, log, basedir, requestEngine, null); store.setOffline(true); + store.setOverwrite(false); Attachment[] a = store.getDatas(Attachment.class, "one", "yo"); Assert.assertNotNull(a); Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineSessionTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineSessionTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineSessionTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -23,12 +23,14 @@ protected static Boolean skip; protected RedmineSession session; protected static RedmineConfiguration configuration; + protected static RequestBuilderProvider requestEngine; @BeforeClass public static void setUpClass() throws Exception { log = new SystemStreamLog(); configuration = TestHelper.getTestConfiguration(RedmineSessionTest.class.getSimpleName()); + requestEngine = RedmineConfigurationHelper.newRequestEngine(); skip = !TestHelper.canAccess(log, configuration); } @@ -56,7 +58,7 @@ TestHelper.copyConfiguration(configuration, conf); conf.setRedmineUrl(new URL("http://www.mynuiton.orgfake-" + System.nanoTime())); - RedmineConfigurationHelper.openSession(conf, log); + RedmineConfigurationHelper.openSession(conf, requestEngine, log); } @Test(expected = org.apache.maven.plugin.MojoExecutionException.class) @@ -65,7 +67,7 @@ TestHelper.copyConfiguration(configuration, conf); conf.setRedmineUsername(configuration.getRedmineUsername() + System.nanoTime()); - RedmineConfigurationHelper.openSession(conf, log); + RedmineConfigurationHelper.openSession(conf, requestEngine, log); } @Test @@ -105,6 +107,6 @@ } protected void initSession() throws MojoExecutionException { - session = RedmineConfigurationHelper.openSession(configuration, log); + session = RedmineConfigurationHelper.openSession(configuration, requestEngine, log); } } Added: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineTestSuite.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineTestSuite.java (rev 0) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineTestSuite.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,66 @@ +package org.nuiton.redmine; + +import org.junit.BeforeClass; +import org.nuiton.redmine.plugin.*; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; +import org.nuiton.redmine.model.io.xpp3.RedmineXpp3HelperTest; + +/** + * Suite of tests to perform. + * + * We <b>MUST</b> preserve an order in tests to have a coherent state + * in the redmine server. + * + * @author chemit + * @since 1.0.0 + * @see RedmineXpp3HelperTest + * @see RedmineSessionTest + * @see RedmineDataProviderTest + * @see DownloadDataMojoTest + * @see DisplayDataMojoTest + * @see GenerateChangesMojoTest + * @see DoReleaseTestSuite + * + */ +@RunWith(Suite.class) +@SuiteClasses(value = { + // + // xpp3 test + // + + RedmineXpp3HelperTest.class, + // + // redmine session + // + + RedmineSessionTest.class, + // + // redmine data provider + // + + RedmineDataProviderTest.class, + // + // basic mojos + // + + DownloadDataMojoTest.class, + DisplayDataMojoTest.class, + GenerateChangesMojoTest.class, + // + // do a release + // + DoReleaseTestSuite.class +}) +public class RedmineTestSuite { + + @BeforeClass + public static void atTheBegining() { + + // load default configuration + TestHelper.initDefaultConfiguration(); + // load basedir + TestHelper.getBasedir(); + } +} Property changes on: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/RedmineTestSuite.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/TestHelper.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/TestHelper.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/TestHelper.java 2009-09-15 17:18:53 UTC (rev 116) @@ -9,7 +9,6 @@ import java.util.Map; import junit.framework.Assert; import org.apache.maven.plugin.logging.Log; -import org.codehaus.plexus.PlexusTestCase; import org.nuiton.io.xpp3.AbstractXpp3Reader; import org.nuiton.io.xpp3.PropertyMapper; import org.nuiton.io.xpp3.Xpp3Helper; @@ -26,37 +25,19 @@ * @author chemit * @since 1.0.0 */ -public abstract class TestHelper { +public abstract class TestHelper extends org.nuiton.plugin.TestHelper { public static final String ENCODING = "UTF-8"; - protected static File basedir; protected static List<Attachment> attachments; protected static List<Issue> issues; protected static List<Project> projects; protected static List<Tracker> trackers; protected static List<User> users; protected static List<Version> versions; + protected static RedmineConfiguration DEFAULT_CONFIGURATION; - public static File getBaseDir() { - if (basedir == null) { + public static void initDefaultConfiguration() { - String path = PlexusTestCase.getBasedir(); - basedir = new File(path); - } - return basedir; - } - - public static File getTestDir(Class<?> type, String prefix) { - String rep = type.getName(); - rep = rep.replaceAll("\\.", File.separator); - - File f = new File(getBaseDir(), prefix); - File testDir = new File(f, rep); - return testDir; - } - - public static RedmineConfiguration getTestConfiguration(String testName) { - RedmineConfiguration configuration = new SimpleRedmineConfiguration(); String url = System.getenv("redmineUrl"); try { @@ -80,14 +61,35 @@ configuration.setRedminePassword(password); configuration.setEncoding(ENCODING); - String verbose = System.getenv("verbose"); - if (verbose == null || verbose.trim().isEmpty()) { - verbose = "true"; + String v = System.getenv("verbose"); + if (v == null || v.trim().isEmpty()) { + v = "true"; } - configuration.setVerbose(Boolean.valueOf(verbose)); - File localDir = new File(getBaseDir(), "target" + File.separator + "redmine-cache-" + testName); + + configuration.setVerbose(Boolean.valueOf(v)); + setVerbose(configuration.isVerbose()); + +// File localDir = getFile(getBasedir(), "target", "redmine-cache", testName); +// configuration.setLocalDir(localDir); +// if (isVerbose()) { + System.out.println("DEFAULT CONFIGURATION :\n" + configuration); +// } + DEFAULT_CONFIGURATION = configuration; + } + + public static RedmineConfiguration getTestConfiguration(String testName) { + + if (DEFAULT_CONFIGURATION == null) { + initDefaultConfiguration(); + } + + RedmineConfiguration configuration = new SimpleRedmineConfiguration(); + copyConfiguration(DEFAULT_CONFIGURATION, configuration); + + File localDir = getFile(getBasedir(), "target", "redmine-cache", testName); configuration.setLocalDir(localDir); - if (configuration.isVerbose()) { + + if (isVerbose()) { System.out.println("will use configuration : " + configuration); } return configuration; @@ -124,7 +126,7 @@ public static boolean canAccess(Log log, RedmineConfiguration configuration) { boolean result = false; try { - RedmineConfigurationHelper.openSession(configuration, log); + RedmineConfigurationHelper.openSession(configuration, RedmineConfigurationHelper.newRequestEngine(), log); result = true; } catch (Exception e) { log.warn("can not connect to " + configuration.getRedmineUrl() + ", test will be skip : " + e.getMessage()); Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/model/io/xpp3/RedmineXpp3HelperTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/model/io/xpp3/RedmineXpp3HelperTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/model/io/xpp3/RedmineXpp3HelperTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -52,7 +52,7 @@ builder = new RedmineXpp3Helper(); - log.info("test dir : " + testDir.getAbsolutePath().substring(TestHelper.getBaseDir().getAbsolutePath().length() + 1)); + log.info("test dir : " + TestHelper.getRelativePath(TestHelper.getBasedir(), testDir)); // setup memory model TestHelper.loadMemoryModel(); @@ -88,7 +88,7 @@ /** * Test the method {@code read} of class ModelBuilder. - * + * * @throws Exception */ @Test @@ -101,7 +101,9 @@ File file = new File(rootDir, Introspector.decapitalize(type.getSimpleName()) + ".xml"); - log.info("will test " + file.getAbsolutePath().substring(TestHelper.getBaseDir().getAbsolutePath().length() + 1)); + if (TestHelper.isVerbose()) { + log.info("will test " + TestHelper.getRelativePath(TestHelper.getBasedir(), file)); + } // test from file @@ -130,7 +132,7 @@ /** * Test the method {@code readArray} of class ModelBuilder. - * + * * @throws Exception */ @Test @@ -144,7 +146,9 @@ File file = new File(rootDir, Introspector.decapitalize(type.getSimpleName()) + "s.xml"); - log.info("will test " + file.getAbsolutePath().substring(TestHelper.getBaseDir().getAbsolutePath().length() + 1)); + if (TestHelper.isVerbose()) { + log.info("will test " + TestHelper.getRelativePath(TestHelper.getBasedir(), file)); + } // test from file @@ -190,14 +194,14 @@ /** * A little action wrapper to simplify this test class :) - * + * */ public static abstract class TestAction { /** - * Implements the logic of action for the given {@code type} and + * Implements the logic of action for the given {@code type} and * the {@code expected} datas. - * + * * @param <T> the type of data used * @param rootDir the rootdir file of the local cache * @param type the type of data used Added: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/AbstractRedmineMojoTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/AbstractRedmineMojoTest.java (rev 0) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/AbstractRedmineMojoTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,52 @@ +package org.nuiton.redmine.plugin; + +import java.io.File; +import org.apache.maven.model.IssueManagement; +import org.junit.Assume; +import org.nuiton.redmine.TestHelper; +import org.nuiton.plugin.AbstractMojoTest; + +/** + * + * @param <P> type of mojo to test + * @author chemit + * @since 1.0.0 + */ +public abstract class AbstractRedmineMojoTest<P extends AbstractRedmineMojo> extends AbstractMojoTest<P> { + + protected boolean canContinue; + + protected void beforeMojoInit(P mojo, File pomFile) throws Exception { + // add a issue management + IssueManagement i = new IssueManagement(); + i.setSystem("redmine"); + i.setUrl(mojo.getRedmineUrl() + "/projects/one/issues"); + mojo.getProject().setIssueManagement(i); + + } + + @Override + protected void setUpMojo(P mojo, File pomFile) throws Exception { + super.setUpMojo(mojo, pomFile); + + // copy redmine test server configuration + TestHelper.copyConfiguration(TestHelper.getTestConfiguration(getClass().getSimpleName() + "-" + pomFile.getName()), mojo); + + beforeMojoInit(mojo, pomFile); + + canContinue = mojo.init(); + if (canContinue) { + if (mojo.isVerbose()) { + log.info("setup done for " + mojo.getProject().getFile().getName()); + } + } else { + log.warn("setup was not successfull, will skip this test class"); + } + } + + protected void mojoDoAction() throws Exception { + + Assume.assumeTrue(canContinue); + getMojo().doAction(); + } +} Property changes on: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/AbstractRedmineMojoTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DisplayDataMojoTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DisplayDataMojoTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DisplayDataMojoTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,103 +1,50 @@ package org.nuiton.redmine.plugin; -import org.apache.maven.model.IssueManagement; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Assume; -import org.junit.Before; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; import org.junit.Test; -import org.nuiton.redmine.TestHelper; -import org.nuiton.util.BasePluginTestCase; /** * @author tchemit * @since 1.0.0 */ -public class DisplayDataMojoTest extends BasePluginTestCase<DisplayDataMojo> { +public class DisplayDataMojoTest extends AbstractRedmineMojoTest<DisplayDataMojo> { - private static final String GOAL_NAME="display-data"; - - @AfterClass - public static void cleanAfterClass() throws Exception { - if (log != null) { - if (log.isDebugEnabled()) { - log.debug("release test " + testDir.getName()); - } - log = null; - } - configItr = null; - testDir = null; - } - - @Before @Override - public void setUp() throws Exception { - super.setUp(); - Assert.assertNotNull(mojo); - // copy redmine test server configuration - TestHelper.copyConfiguration(TestHelper.getTestConfiguration(DisplayDataMojoTest.class.getSimpleName() + "-" + pomFile.getName()), mojo); - // add a issue management - IssueManagement i = new IssueManagement(); - i.setSystem("redmine"); - i.setUrl(mojo.getRedmineUrl() + "/projects/one/issues"); - mojo.getProject().setIssueManagement(i); - boolean canContinue = mojo.init(); - if (canContinue) { - if (mojo.isVerbose()) { - log.info("setup done for " + mojo.getProject().getFile().getName()); - } - } else { - log.warn("setup was not successfull, will skip this test class"); - } - - Assume.assumeTrue(canContinue); + protected String getGoalName(String methodName) { + return "display-data"; } - @BeforeClass - public static void initClass() throws Exception { - - initConfigs(DisplayDataMojoTest.class); + @Test + public void displayProjectTrackers() throws Exception { + mojoDoAction(); } @Test - @PluginConfig(pomName = "display-project-trackers.xml", goalName = GOAL_NAME) - public void testTrackers() throws Exception { + public void displayProjectUsers() throws Exception { - mojo.doAction(); - //TODO check file is generated + mojoDoAction(); } @Test - @PluginConfig(pomName = "display-project-users.xml", goalName = GOAL_NAME) - public void testProject() throws Exception { + public void displayProjectIssueCategories() throws Exception { - mojo.doAction(); - //TODO check file is generated + mojoDoAction(); } @Test - @PluginConfig(pomName = "display-project-issue-categories.xml", goalName = GOAL_NAME) - public void testProject2() throws Exception { + public void displayIssueStatuses() throws Exception { - mojo.doAction(); - //TODO check file is generated + mojoDoAction(); } @Test - @PluginConfig(pomName = "display-issue-statuses.xml", goalName = GOAL_NAME) - public void testUsers() throws Exception { + public void displayIssuePriorities() throws Exception { - mojo.doAction(); - //TODO check file is generated + mojoDoAction(); } @Test - @PluginConfig(pomName = "display-all.xml", goalName = GOAL_NAME) - public void testAll() throws Exception { + public void displayAll() throws Exception { - mojo.doAction(); - //TODO check file is generated + mojoDoAction(); } } Added: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DoReleaseTestSuite.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DoReleaseTestSuite.java (rev 0) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DoReleaseTestSuite.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,63 @@ +package org.nuiton.redmine.plugin; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; +import org.nuiton.redmine.plugin.announcement.EmailAnnouncementMojoTest; +import org.nuiton.redmine.plugin.announcement.RedmineAnnouncementMojoTest; +import org.nuiton.redmine.plugin.release.ReleaseAttachmentsMojoTest; +import org.nuiton.redmine.plugin.release.ReleaseEmailMojoTest; +import org.nuiton.redmine.plugin.release.ReleaseNewsMojoTest; +import org.nuiton.redmine.plugin.release.ReleaseVersionMojoTest; +import org.nuiton.redmine.plugin.report.DoReportTestSuite; + +/** + * Suite of tests to perform for a release. + * + * We <b>MUST</b> preserve an order in tests to have a coherent state + * in the redmine server. + * + * <ul> + * <li>1) publish version and attachments</li> + * <li>2) generate announcements</li> + * <li>3) publish news and email</li> + * <li>4) do reports</li> + * </ul> + * + * @author chemit + * @since 1.0.0 + * @see ReleaseVersionMojoTest + * @see ReleaseAttachmentsMojoTest + * @see RedmineAnnouncementMojoTest + * @see EmailAnnouncementMojoTest + * @see ReleaseNewsMojoTest + * @see ReleaseEmailMojoTest + * @see DoReportTestSuite + */ +@RunWith(Suite.class) +@SuiteClasses(value = { + // + // publish version and attachements + // + + ReleaseVersionMojoTest.class, + ReleaseAttachmentsMojoTest.class, + // + // generate announcements + // + + RedmineAnnouncementMojoTest.class, + EmailAnnouncementMojoTest.class, + // + // publish news and email + // + + ReleaseNewsMojoTest.class, + ReleaseEmailMojoTest.class, + // + // reports + // + DoReportTestSuite.class +}) +public class DoReleaseTestSuite { +} Property changes on: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DoReleaseTestSuite.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DownloadDataMojoTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DownloadDataMojoTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/DownloadDataMojoTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,167 +1,113 @@ package org.nuiton.redmine.plugin; -import org.apache.maven.model.IssueManagement; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Assume; -import org.junit.Before; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; import org.junit.Test; -import org.nuiton.redmine.TestHelper; -import org.nuiton.util.BasePluginTestCase; /** * @author tchemit * @since 1.0.0 */ -public class DownloadDataMojoTest extends BasePluginTestCase<DownloadDataMojo> { +public class DownloadDataMojoTest extends AbstractRedmineMojoTest<DownloadDataMojo> { - private static final String GOAL_NAME = "download"; - - @AfterClass - public static void cleanAfterClass() throws Exception { - if (log != null) { - if (log.isDebugEnabled()) { - log.debug("release test " + testDir.getName()); - } - log = null; - } - configItr = null; - testDir = null; - } - - @Before @Override - public void setUp() throws Exception { - super.setUp(); - Assert.assertNotNull(mojo); - // copy redmine test server configuration - TestHelper.copyConfiguration(TestHelper.getTestConfiguration(DownloadDataMojoTest.class.getSimpleName() + "-" + pomFile.getName()), mojo); - // add a issue management - IssueManagement i = new IssueManagement(); - i.setSystem("redmine"); - i.setUrl(mojo.getRedmineUrl() + "/projects/one/issues"); - mojo.getProject().setIssueManagement(i); - boolean canContinue = mojo.init(); - if (canContinue) { - if (mojo.isVerbose()) { - log.info("setup done for " + mojo.getProject().getFile().getName()); - } - } else { - log.warn("setup was not successfull, will skip this test class"); - } - - Assume.assumeTrue(canContinue); + protected String getGoalName(String methodName) { + return "download"; } - @BeforeClass - public static void initClass() throws Exception { + @Test + public void getProjects() throws Exception { - initConfigs(DownloadDataMojoTest.class); + mojoDoAction(); + //TODO check file is generated } @Test - @PluginConfig(pomName = "get-projects.xml", goalName = GOAL_NAME) - public void testProjects() throws Exception { + public void getProject() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-project.xml", goalName = GOAL_NAME) - public void testProject() throws Exception { + public void getProject2() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-project2.xml", goalName = GOAL_NAME) - public void testProject2() throws Exception { + public void getProjectUsers() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-project-users.xml", goalName = GOAL_NAME) - public void testUsers() throws Exception { + public void getProjectTrackers() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-project-trackers.xml", goalName = GOAL_NAME) - public void testTrakers() throws Exception { + public void getProjectVersions() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-project-versions.xml", goalName = GOAL_NAME) - public void testVersions() throws Exception { + public void getVersion() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-version.xml", goalName = GOAL_NAME) - public void testVersion() throws Exception { + public void getVersionIssues() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-version-issues.xml", goalName = GOAL_NAME) - public void testIssues() throws Exception { + public void getIssueStatuses() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-issue-statuses.xml", goalName = GOAL_NAME) - public void testIssueStatuses() throws Exception { + public void getIssuePriorities() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-issue-priorities.xml", goalName = GOAL_NAME) - public void testIssuePriorities() throws Exception { + public void getProjectIssueCategories() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-project-issue-categories.xml", goalName = GOAL_NAME) - public void testIssueCategories() throws Exception { + public void getVersionAttachments() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-version-attachments.xml", goalName = GOAL_NAME) - public void testAttachments() throws Exception { + public void getProjectNews() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } @Test - @PluginConfig(pomName = "get-all.xml", goalName = GOAL_NAME) - public void testAll() throws Exception { + public void getAll() throws Exception { - mojo.doAction(); + mojoDoAction(); //TODO check file is generated } } Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/GenerateChangesMojoTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/GenerateChangesMojoTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/GenerateChangesMojoTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,75 +1,23 @@ package org.nuiton.redmine.plugin; -import org.apache.maven.model.IssueManagement; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Assume; -import org.junit.Before; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; import org.junit.Test; -import org.nuiton.redmine.TestHelper; -import org.nuiton.util.BasePluginTestCase; /** * @author tchemit * @since 1.0.0 */ -public class GenerateChangesMojoTest extends BasePluginTestCase<GenerateChangesMojo> { +public class GenerateChangesMojoTest extends AbstractRedmineMojoTest<GenerateChangesMojo> { - private static final String GOAL_NAME="generate-changes"; - @AfterClass - public static void cleanAfterClass() throws Exception { - if (log != null) { - if (log.isDebugEnabled()) { - log.debug("release test " + testDir.getName()); - } - log = null; - } - configItr = null; - testDir = null; - } - - @Before @Override - public void setUp() throws Exception { - super.setUp(); - Assert.assertNotNull(mojo); - - // copy redmine test server configuration - TestHelper.copyConfiguration(TestHelper.getTestConfiguration(GenerateChangesMojoTest.class.getSimpleName() + "-" + pomFile.getName()), mojo); - - // add a issue management - IssueManagement i = new IssueManagement(); - i.setSystem("redmine"); - i.setUrl(mojo.getRedmineUrl() + "/projects/one/issues"); - mojo.getProject().setIssueManagement(i); - - boolean canContinue = mojo.init(); - - if (canContinue) { - if (mojo.isVerbose()) { - log.info("setup done for " + mojo.getProject().getFile().getName()); - } - } else { - log.warn("setup was not successfull, will skip this test class"); - } - - Assume.assumeTrue(canContinue); + protected String getGoalName(String methodName) { + return "generate-changes"; } - @BeforeClass - public static void initClass() throws Exception { - - initConfigs(GenerateChangesMojoTest.class); - } - @Test - @PluginConfig(pomName = "generate-changes.xml", goalName = GOAL_NAME) - public void testGenerateChangesMojo() throws Exception { + public void generateChanges() throws Exception { - - mojo.doAction(); + + mojoDoAction(); //TODO check file is generated } } Added: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest.java (rev 0) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,30 @@ +package org.nuiton.redmine.plugin.announcement; + +import org.junit.Test; +import org.nuiton.redmine.plugin.AbstractRedmineMojoTest; + +/** + * + * @author chemit + * @since 1.0.0 + */ +public class EmailAnnouncementMojoTest extends AbstractRedmineMojoTest<EmailAnnouncementMojo> { + + @Override + protected String getGoalName(String methodName) { + return "email-announcement"; + } + + @Test + public void emailAnnouncement() throws Exception { + + mojoDoAction(); + //TODO check file is generated + } + + @Test + public void skipEmailAnnouncement() throws Exception { + + mojoDoAction(); + } +} Property changes on: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest.java (rev 0) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,30 @@ +package org.nuiton.redmine.plugin.announcement; + +import org.junit.Test; +import org.nuiton.redmine.plugin.AbstractRedmineMojoTest; + +/** + * + * @author chemit + * @since 1.0.0 + */ +public class RedmineAnnouncementMojoTest extends AbstractRedmineMojoTest<RedmineAnnouncementMojo> { + + @Override + protected String getGoalName(String methodName) { + return "redmine-announcement"; + } + + @Test + public void redmineAnnouncement() throws Exception { + + mojoDoAction(); + //TODO check file is generated + } + + @Test + public void skipRedmineAnnouncement() throws Exception { + + mojoDoAction(); + } +} Property changes on: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest.java (rev 0) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,28 @@ +package org.nuiton.redmine.plugin.release; + +import org.junit.Test; +import org.nuiton.redmine.plugin.AbstractRedmineMojoTest; + +/** + * @author tchemit + * @since 1.0.0 + */ +public class ReleaseAttachmentsMojoTest extends AbstractRedmineMojoTest<ReleaseAttachmentsMojo> { + + @Override + protected String getGoalName(String methodName) { + return "release-attachments"; + } + + @Test + public void releaseAttachments() throws Exception { + + mojoDoAction(); + } + + @Test + public void skipReleaseAttachments() throws Exception { + + mojoDoAction(); + } +} Property changes on: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest.java (rev 0) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,45 @@ +package org.nuiton.redmine.plugin.release; + +import java.io.File; +import java.util.Arrays; +import org.apache.maven.plugin.announcement.MailSender; +import org.junit.Test; +import org.nuiton.redmine.plugin.AbstractRedmineMojoTest; + +/** + * @author tchemit + * @since 1.0.0 + */ +public class ReleaseEmailMojoTest extends AbstractRedmineMojoTest<ReleaseEmailMojo> { + + @Override + protected String getGoalName(String methodName) { + return "release-email"; + } + + @Override + protected void beforeMojoInit(ReleaseEmailMojo mojo, File pomFile) throws Exception { + super.beforeMojoInit(mojo, pomFile); + + // add a mailSender here + MailSender sender = new MailSender(); + sender.setName("Nuiton Release Notification"); + sender.setEmail("test@noway.fr"); + mojo.setMailSender(sender); + + // add a destination + mojo.setToAddresses(Arrays.asList("chemit@codelutin.com")); + } + + @Test + public void releaseEmail() throws Exception { + + mojoDoAction(); + } + + @Test + public void skipReleaseEmail() throws Exception { + + mojoDoAction(); + } +} Property changes on: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest.java (rev 0) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,28 @@ +package org.nuiton.redmine.plugin.release; + +import org.junit.Test; +import org.nuiton.redmine.plugin.AbstractRedmineMojoTest; + +/** + * @author tchemit + * @since 1.0.0 + */ +public class ReleaseNewsMojoTest extends AbstractRedmineMojoTest<ReleaseNewsMojo> { + + @Override + protected String getGoalName(String methodName) { + return "release-news"; + } + + @Test + public void releaseNews() throws Exception { + + mojoDoAction(); + } + + @Test + public void skipReleaseNews() throws Exception { + + mojoDoAction(); + } +} Property changes on: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Added: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest.java (rev 0) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,28 @@ +package org.nuiton.redmine.plugin.release; + +import org.junit.Test; +import org.nuiton.redmine.plugin.AbstractRedmineMojoTest; + +/** + * @author tchemit + * @since 1.0.0 + */ +public class ReleaseVersionMojoTest extends AbstractRedmineMojoTest<ReleaseVersionMojo> { + + @Override + protected String getGoalName(String methodName) { + return "release-version"; + } + + @Test + public void releaseVersion() throws Exception { + + mojoDoAction(); + } + + @Test + public void skipReleaseVersion() throws Exception { + + mojoDoAction(); + } +} Property changes on: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/AbstractIssuesReportTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/AbstractIssuesReportTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/AbstractIssuesReportTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,45 +1,35 @@ package org.nuiton.redmine.plugin.report; +import java.io.File; import org.apache.maven.model.IssueManagement; -import org.junit.AfterClass; -import org.junit.Assert; import org.junit.Assume; -import org.junit.Before; +import org.junit.Test; +import org.nuiton.plugin.AbstractMojoTest; import org.nuiton.redmine.TestHelper; -import org.nuiton.util.BasePluginTestCase; /** * @param <P> type of issue reports to test * @author tchemit * @since 1.0.0 */ -public abstract class AbstractIssuesReportTest<P extends AbstractIssuesReport> extends BasePluginTestCase<P> { +public abstract class AbstractIssuesReportTest<P extends AbstractIssuesReport> extends AbstractMojoTest<P> { - @AfterClass - public static void cleanAfterClass() throws Exception { - if (log != null) { - if (log.isDebugEnabled()) { - log.debug("release test " + testDir.getName()); - } - log = null; - } - configItr = null; - testDir = null; - } + protected boolean canContinue; - @Before @Override - public void setUp() throws Exception { - super.setUp(); - Assert.assertNotNull(mojo); + protected void setUpMojo(P mojo, File pomFile) throws Exception { + super.setUpMojo(mojo, pomFile); + // copy redmine test server configuration TestHelper.copyConfiguration(TestHelper.getTestConfiguration(getClass().getSimpleName() + "-" + pomFile.getName()), mojo); + // add a issue management IssueManagement i = new IssueManagement(); i.setSystem("redmine"); i.setUrl(mojo.getRedmineUrl() + "/projects/one/issues"); mojo.getProject().setIssueManagement(i); - boolean canContinue = mojo.canGenerateReport(); + + canContinue = mojo.canGenerateReport(); if (canContinue) { if (mojo.isVerbose()) { log.info("setup done for " + mojo.getProject().getFile().getName()); @@ -48,6 +38,25 @@ log.warn("setup was not successfull, will skip this test class"); } + } + + @Test + public void issueReport() throws Exception { + + mojoDoreport(); + + checkDoreport(); + } + + protected void mojoDoreport() throws Exception { + Assume.assumeTrue(canContinue); + + //TODO make this possible + //getMojo().executeReport(Locale.FRENCH); } + + protected void checkDoreport() throws Exception { + //TODO do some tests : file is generated + } } Added: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/DoReportTestSuite.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/DoReportTestSuite.java (rev 0) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/DoReportTestSuite.java 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,37 @@ +package org.nuiton.redmine.plugin.report; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; + +/** + * Suite of tests to perform reports. + * + * @author chemit + * @since 1.0.0 + * @see IssuesReportTest + * @see IssuesReportByAssigneeTest + * @see IssuesReportByCategoryTest + * @see IssuesReportByPriorityTest + * @see IssuesReportByReporterTest + * @see IssuesReportByStatusTest + * @see IssuesReportByTrackerTest + * @see IssuesReportByVersionTest + */ +@RunWith(Suite.class) +@SuiteClasses(value = { + // + // reports + // + + IssuesReportTest.class, + IssuesReportByAssigneeTest.class, + IssuesReportByCategoryTest.class, + IssuesReportByPriorityTest.class, + IssuesReportByReporterTest.class, + IssuesReportByStatusTest.class, + IssuesReportByTrackerTest.class, + IssuesReportByVersionTest.class +}) +public class DoReportTestSuite { +} Property changes on: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/DoReportTestSuite.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,25 +1,13 @@ package org.nuiton.redmine.plugin.report; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; -import org.junit.Test; - /** * @author tchemit * @since 1.0.0 */ public class IssuesReportByAssigneeTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { - @BeforeClass - public static void initClass() throws Exception { - initConfigs(IssuesReportByAssigneeTest.class); + @Override + protected String getGoalName(String methodName) { + return "issues-report-by-assignee"; } - - @Test - @PluginConfig(pomName = "issues-report.xml", goalName = "issues-report-by-assignee") - public void testRedmineReportMojo() throws Exception { - //TODO make this possible - //mojo.execute(); - //TODO do some checks ? - } } Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,25 +1,13 @@ package org.nuiton.redmine.plugin.report; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; -import org.junit.Test; - /** * @author tchemit * @since 1.0.0 */ -public class IssuesReportByCategoryTest extends AbstractIssuesReportTest<IssuesReportByCategory> { +public class IssuesReportByCategoryTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { - @BeforeClass - public static void initClass() throws Exception { - initConfigs(IssuesReportByCategoryTest.class); + @Override + protected String getGoalName(String methodName) { + return "issues-report-by-category"; } - - @Test - @PluginConfig(pomName = "issues-report.xml", goalName = "issues-report-by-category") - public void testRedmineReportMojo() throws Exception { - //TODO make this possible - //mojo.execute(); - //TODO do some checks ? - } } Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,25 +1,13 @@ package org.nuiton.redmine.plugin.report; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; -import org.junit.Test; - /** * @author tchemit * @since 1.0.0 */ -public class IssuesReportByPriorityTest extends AbstractIssuesReportTest<IssuesReportByPriority> { +public class IssuesReportByPriorityTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { - @BeforeClass - public static void initClass() throws Exception { - initConfigs(IssuesReportByPriorityTest.class); + @Override + protected String getGoalName(String methodName) { + return "issues-report-by-priority"; } - - @Test - @PluginConfig(pomName = "issues-report.xml", goalName = "issues-report-by-priority") - public void testRedmineReportMojo() throws Exception { - //TODO make this possible - //mojo.execute(); - //TODO do some checks ? - } } Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,25 +1,13 @@ package org.nuiton.redmine.plugin.report; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; -import org.junit.Test; - /** * @author tchemit * @since 1.0.0 */ -public class IssuesReportByReporterTest extends AbstractIssuesReportTest<IssuesReportByReporter> { +public class IssuesReportByReporterTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { - @BeforeClass - public static void initClass() throws Exception { - initConfigs(IssuesReportByReporterTest.class); + @Override + protected String getGoalName(String methodName) { + return "issues-report-by-reporter"; } - - @Test - @PluginConfig(pomName = "issues-report.xml", goalName = "issues-report-by-reporter") - public void testRedmineReportMojo() throws Exception { - //TODO make this possible - //mojo.execute(); - //TODO do some checks ? - } } Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,25 +1,14 @@ package org.nuiton.redmine.plugin.report; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; -import org.junit.Test; - /** * @author tchemit * @since 1.0.0 */ -public class IssuesReportByStatusTest extends AbstractIssuesReportTest<IssuesReportByStatus> { +public class IssuesReportByStatusTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { - @BeforeClass - public static void initClass() throws Exception { - initConfigs(IssuesReportByStatusTest.class); + @Override + protected String getGoalName(String methodName) { + return "issues-report-by-status"; } - @Test - @PluginConfig(pomName = "issues-report.xml", goalName = "issues-report-by-status") - public void testRedmineReportMojo() throws Exception { - //TODO make this possible - //mojo.execute(); - //TODO do some checks ? - } } Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,25 +1,14 @@ package org.nuiton.redmine.plugin.report; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; -import org.junit.Test; - /** * @author tchemit * @since 1.0.0 */ -public class IssuesReportByTrackerTest extends AbstractIssuesReportTest<IssuesReportByTracker> { +public class IssuesReportByTrackerTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { - @BeforeClass - public static void initClass() throws Exception { - initConfigs(IssuesReportByTrackerTest.class); + @Override + protected String getGoalName(String methodName) { + return "issues-report-by-tracker"; } - @Test - @PluginConfig(pomName = "issues-report.xml", goalName = "issues-report-by-tracker") - public void testRedmineReportMojo() throws Exception { - //TODO make this possible - //mojo.execute(); - //TODO do some checks ? - } } Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,25 +1,14 @@ package org.nuiton.redmine.plugin.report; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; -import org.junit.Test; - /** * @author tchemit * @since 1.0.0 */ -public class IssuesReportByVersionTest extends AbstractIssuesReportTest<IssuesReportByVersion> { +public class IssuesReportByVersionTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { - @BeforeClass - public static void initClass() throws Exception { - initConfigs(IssuesReportByVersionTest.class); + @Override + protected String getGoalName(String methodName) { + return "issues-report-by-version"; } - @Test - @PluginConfig(pomName = "issues-report.xml", goalName = "issues-report-by-version") - public void testRedmineReportMojo() throws Exception { - //TODO make this possible - //mojo.execute(); - //TODO do some checks ? - } } Modified: maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportTest.java =================================================================== --- maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportTest.java 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/java/org/nuiton/redmine/plugin/report/IssuesReportTest.java 2009-09-15 17:18:53 UTC (rev 116) @@ -1,25 +1,13 @@ package org.nuiton.redmine.plugin.report; -import org.nuiton.util.PluginConfig; -import org.junit.BeforeClass; -import org.junit.Test; - /** * @author tchemit * @since 1.0.0 */ -public class IssuesReportTest extends AbstractIssuesReportTest<IssuesReport> { +public class IssuesReportTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { - @BeforeClass - public static void initClass() throws Exception { - initConfigs(IssuesReportTest.class); + @Override + protected String getGoalName(String methodName) { + return "issues-report"; } - - @Test - @PluginConfig(pomName = "issues-report.xml", goalName = "issues-report") - public void testRedmineReportMojo() throws Exception { - //TODO make this possible - //mojo.execute(); - //TODO do some checks ? - } } Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-all.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-all.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-all.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <versionId>1.0.0</versionId> - <types>trackers,users,issueStatuses,issueCategories,issuePriorities,trackers</types> - </configuration> - <executions> - <execution> - <goals> - <goal>display-data</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-issue-priorities.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-issue-priorities.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-issue-priorities.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <types>issuePriorities</types> - </configuration> - <executions> - <execution> - <goals> - <goal>display-data</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-issue-statuses.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-issue-statuses.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-issue-statuses.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <types>issueStatuses</types> - </configuration> - <executions> - <execution> - <goals> - <goal>display-data</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-issue-categories.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-issue-categories.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-issue-categories.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <types>issueCategories</types> - </configuration> - <executions> - <execution> - <goals> - <goal>display-data</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-trackers.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-trackers.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-trackers.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <types>trackers</types> - </configuration> - <executions> - <execution> - <goals> - <goal>display-data</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-users.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-users.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/display-project-users.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <types>users</types> - </configuration> - <executions> - <execution> - <goals> - <goal>display-data</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayAll.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayAll.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayAll.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <types>trackers,users,issueStatuss,issueCategorys,issuePrioritys,trackers</types> + </configuration> + <executions> + <execution> + <goals> + <goal>display-data</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayIssuePriorities.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayIssuePriorities.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayIssuePriorities.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <types>issuePrioritys</types> + </configuration> + <executions> + <execution> + <goals> + <goal>display-data</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayIssueStatuses.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayIssueStatuses.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayIssueStatuses.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <types>issueStatuss</types> + </configuration> + <executions> + <execution> + <goals> + <goal>display-data</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectIssueCategories.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectIssueCategories.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectIssueCategories.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <types>issueCategorys</types> + </configuration> + <executions> + <execution> + <goals> + <goal>display-data</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectTrackers.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectTrackers.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectTrackers.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <types>trackers</types> + </configuration> + <executions> + <execution> + <goals> + <goal>display-data</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectUsers.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectUsers.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DisplayDataMojoTest/displayProjectUsers.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <types>users</types> + </configuration> + <executions> + <execution> + <goals> + <goal>display-data</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-all.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-all.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-all.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <versionId>1.0.0</versionId> - <types>attachments, - issues, - project, - projects, - trackers, - users, - versions, - version, - issueCategories, - issueStatuses, - issuePriorities - </types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-issue-priorities.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-issue-priorities.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-issue-priorities.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <types>issuePriorities</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-issue-statuses.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-issue-statuses.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-issue-statuses.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <types>issueStatuses</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-issue-categories.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-issue-categories.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-issue-categories.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <types>issueCategories</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-trackers.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-trackers.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-trackers.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <types>trackers</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-users.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-users.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-users.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <types>users</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-versions.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-versions.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project-versions.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <types>versions</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <types>project</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project2.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project2.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-project2.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>two</projectId> - <types>project</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-projects.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-projects.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-projects.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <types>projects</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version-attachments.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version-attachments.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version-attachments.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <versionId>1.0.0</versionId> - <types>attachments</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version-issues.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version-issues.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version-issues.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <versionId>1.0.0</versionId> - <types>issues</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/get-version.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <versionId>1.0.0</versionId> - <types>version</types> - </configuration> - <executions> - <execution> - <goals> - <goal>download</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getAll.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getAll.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getAll.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <types>attachments, + issues, + project, + projects, + trackers, + users, + versions, + version, + issueCategorys, + issueStatuss, + issuePrioritys, + newss + </types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getIssuePriorities.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getIssuePriorities.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getIssuePriorities.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <types>issuePrioritys</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getIssueStatuses.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getIssueStatuses.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getIssueStatuses.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <types>issueStatuss</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProject.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProject.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProject.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <types>project</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProject2.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProject2.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProject2.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>two</projectId> + <types>project</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectIssueCategories.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectIssueCategories.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectIssueCategories.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <types>issueCategorys</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectNews.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectNews.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectNews.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>two</projectId> + <types>newss</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectTrackers.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectTrackers.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectTrackers.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <types>trackers</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectUsers.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectUsers.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectUsers.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <types>users</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectVersions.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectVersions.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjectVersions.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <types>versions</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjects.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjects.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getProjects.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <types>projects</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersion.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersion.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersion.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <types>version</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersionAttachments.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersionAttachments.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersionAttachments.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <types>attachments</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersionIssues.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersionIssues.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/DownloadDataMojoTest/getVersionIssues.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <types>issues</types> + </configuration> + <executions> + <execution> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/GenerateChangesMojoTest/generate-changes.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/GenerateChangesMojoTest/generate-changes.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/GenerateChangesMojoTest/generate-changes.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-generate-changes</artifactId> - <version>0</version> - - <name>generate-changes</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <xmlPath>target/GenerateChangesMojoTest-generate-changes.xml</xmlPath> - <projectId>one</projectId> - <versionId>1.0.0</versionId> - <actionMapping>fix:1, add:2</actionMapping> - <statusIds>3,4,5</statusIds> - <categoryIds>1</categoryIds> - <changesTitle>Title of the first release</changesTitle> - <!--<releaseDescription>Description of first release</releaseDescription>--> - </configuration> - <executions> - <execution> - <goals> - <goal>generate-changes</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/GenerateChangesMojoTest/generateChanges.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/GenerateChangesMojoTest/generateChanges.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/GenerateChangesMojoTest/generateChanges.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <xmlPath>target/GenerateChangesMojoTest-generate-changes.xml</xmlPath> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <actionMapping>fix:1, add:2</actionMapping> + <statusIds>3,4,5</statusIds> + <categoryIds>1</categoryIds> + <changesTitle>Title of the first release</changesTitle> + <!--<releaseDescription>Description of first release</releaseDescription>--> + </configuration> + <executions> + <execution> + <goals> + <goal>generate-changes</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest/emailAnnouncement.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest/emailAnnouncement.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest/emailAnnouncement.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <finalName>One-1.0.0.jar</finalName> + <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/redmine/plugin/announcement/changes.xml</xmlPath> + <templateDirectory>org/nuiton/redmine/plugin/announcement</templateDirectory> + <emailAnnouncementTemplate>release-email-announcement.vm</emailAnnouncementTemplate> + <skipEmailAnnouncement>false</skipEmailAnnouncement> + <developmentTeam>One team</developmentTeam> + <urlDownload>http://mynuiton.org/projects/list_files/one</urlDownload> + <introduction>The release 1.0.0 is the first release of this plugin...</introduction> + <templateEncoding>UTF-8</templateEncoding> + <attachmentLinkTemplate>http://mynuiton.org/attachments/download/%FILE%</attachmentLinkTemplate> + </configuration> + <executions> + <execution> + <goals> + <goal>email-announcement</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest/skipEmailAnnouncement.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest/skipEmailAnnouncement.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/EmailAnnouncementMojoTest/skipEmailAnnouncement.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <finalName>One-1.0.0.jar</finalName> + <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/redmine/plugin/announcement/changes.xml</xmlPath> + <templateDirectory>org/nuiton/redmine/plugin/announcement</templateDirectory> + <emailAnnouncementTemplate>release-email-announcement.vm</emailAnnouncementTemplate> + <skipEmailAnnouncement>true</skipEmailAnnouncement> + <developmentTeam>One team</developmentTeam> + <urlDownload>http://mynuiton.org/projects/list_files/one</urlDownload> + <introduction>The release 1.0.0 is the first release of this plugin...</introduction> + <templateEncoding>UTF-8</templateEncoding> + <attachmentLinkTemplate>http://mynuiton.org/attachments/download/%FILE%</attachmentLinkTemplate> + </configuration> + <executions> + <execution> + <goals> + <goal>email-announcement</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest/redmineAnnouncement.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest/redmineAnnouncement.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest/redmineAnnouncement.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <finalName>One-1.0.0.jar</finalName> + <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/redmine/plugin/announcement/changes.xml</xmlPath> + <templateDirectory>org/nuiton/redmine/plugin/announcement</templateDirectory> + <redmineAnnouncementTemplate>release-redmine-announcement.vm</redmineAnnouncementTemplate> + <skipRedmineAnnouncement>false</skipRedmineAnnouncement> + <developmentTeam>One team</developmentTeam> + <urlDownload>http://mynuiton.org/projects/list_files/one</urlDownload> + <introduction>The release 1.0.0 is the first release of this plugin...</introduction> + <templateEncoding>UTF-8</templateEncoding> + <attachmentLinkTemplate>http://mynuiton.org/attachments/download/%FILE%</attachmentLinkTemplate> + </configuration> + <executions> + <execution> + <goals> + <goal>redmine-announcement</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest/skipRedmineAnnouncement.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest/skipRedmineAnnouncement.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/RedmineAnnouncementMojoTest/skipRedmineAnnouncement.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <finalName>One-1.0.0.jar</finalName> + <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/redmine/plugin/announcement/changes.xml</xmlPath> + <templateDirectory>org/nuiton/redmine/plugin/announcement</templateDirectory> + <redmineAnnouncementTemplate>release-redmine-announcement.vm</redmineAnnouncementTemplate> + <skipRedmineAnnouncement>true</skipRedmineAnnouncement> + <developmentTeam>One team</developmentTeam> + <urlDownload>http://mynuiton.org/projects/list_files/one</urlDownload> + <introduction>The release 1.0.0 is the first release of this plugin...</introduction> + <templateEncoding>UTF-8</templateEncoding> + <attachmentLinkTemplate>http://mynuiton.org/attachments/download/%FILE%</attachmentLinkTemplate> + </configuration> + <executions> + <execution> + <goals> + <goal>redmine-announcement</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/changes.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/changes.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/announcement/changes.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document> + <properties> + <title>Title of the first release</title> + <author email="perso@noway.fr">Tony Chemit</author> + </properties> + <body> + <release version="aab" date="2009-09-13" description="COCO" /> + <release version="1.0.0" date="2009-09-13" description="The version 1.0.0 description"> + <action dev="chemit" due-to="Tony Chemit" due-to-email="perso@noway.fr" issue="2" type="add" system="redmine">test evol</action> + <action dev="chemit" due-to="Tony Chemit" due-to-email="perso@noway.fr" issue="4" type="fix" system="redmine">test anomalie</action> + <action dev="chemit" due-to="Tony Chemit" due-to-email="perso@noway.fr" issue="5" type="add" system="redmine">test evolution</action> + </release> + <release version="1.0.3" date="2009-09-12" description="new versions"> + <action dev="chemit" due-to="Tony Chemit" due-to-email="perso@noway.fr" issue="4" type="fix" system="redmine">test anomalie</action> + <action dev="chemit" due-to="Tony Chemit" due-to-email="perso@noway.fr" issue="5" type="add" system="redmine">test evolution</action> + </release> + <release version="yaouuuuuua" date="2009-09-06" description="yoye" /> + <release version="ya" date="2009-09-06" description="yoye" /> + <release version="ouuuuuua" date="2009-09-06" description="ysssoye" /> + </body> +</document> Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest/releaseAttachments.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest/releaseAttachments.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest/releaseAttachments.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <attachedArtifacts> + <attachedArtifact>pom.xml</attachedArtifact> + </attachedArtifacts> + <skipReleaseAttachments>false</skipReleaseAttachments> + <checkPublishedAttachments>true</checkPublishedAttachments> + </configuration> + <executions> + <execution> + <goals> + <goal>release-attachments</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest/skipReleaseAttachments.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest/skipReleaseAttachments.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseAttachmentsMojoTest/skipReleaseAttachments.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <attachedArtifacts> + <attachedArtifact>pom.xml</attachedArtifact> + </attachedArtifacts> + <skipReleaseAttachments>true</skipReleaseAttachments> + <checkPublishedAttachments>true</checkPublishedAttachments> + </configuration> + <executions> + <execution> + <goals> + <goal>release-attachments</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest/releaseEmail.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest/releaseEmail.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest/releaseEmail.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <templateOutputDirectory>target/announcement</templateOutputDirectory> + <emailAnnouncementTemplate>release-email-announcement.vm</emailAnnouncementTemplate> + <emailTitle>[ANNOUNCEMENT] - One 1.0.0 released</emailTitle> + <skipReleaseEmail>false</skipReleaseEmail> + <!--<mailSender> + <name>Nuiton Release Notification</name> + <email>noreply@${platform}</email> + </mailSender> + <toAddresses> + <item>chemit@codelutin.com</item> + </toAddresses>--> + <smtpHost>smtp</smtpHost> + <smtpPort>25</smtpPort> + </configuration> + <executions> + <execution> + <goals> + <goal>release-email</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest/skipReleaseEmail.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest/skipReleaseEmail.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseEmailMojoTest/skipReleaseEmail.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <templateOutputDirectory>target/announcement</templateOutputDirectory> + <emailAnnouncementTemplate>release-email-announcement.vm</emailAnnouncementTemplate> + <emailTitle>[ANNOUNCEMENT] - One 1.0.0 released</emailTitle> + <skipReleaseEmail>true</skipReleaseEmail> + </configuration> + <executions> + <execution> + <goals> + <goal>release-email</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest/releaseNews.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest/releaseNews.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest/releaseNews.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <templateOutputDirectory>target/announcement</templateOutputDirectory> + <redmineAnnouncementTemplate>release-redmine-announcement.vm</redmineAnnouncementTemplate> + <newsTitle>[ANNOUNCEMENT] - One 1.0.0 released</newsTitle> + <newsSummary>The release 1.0.0 is the first release of this plugin...</newsSummary> + <skipReleaseNews>false</skipReleaseNews> + </configuration> + <executions> + <execution> + <goals> + <goal>release-news</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest/skipReleaseNews.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest/skipReleaseNews.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseNewsMojoTest/skipReleaseNews.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <templateOutputDirectory>target/announcement</templateOutputDirectory> + <redmineAnnouncementTemplate>release-redmine-announcement.vm</redmineAnnouncementTemplate> + <newsTitle>[ANNOUNCEMENT] - One 1.0.0 released</newsTitle> + <newsSummary>The release 1.0.0 is the first release of this plugin...</newsSummary> + <skipReleaseNews>true</skipReleaseNews> + </configuration> + <executions> + <execution> + <goals> + <goal>release-news</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest/releaseVersion.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest/releaseVersion.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest/releaseVersion.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <versionDescription>The version description</versionDescription> + <skipReleaseVersion>false</skipReleaseVersion> + </configuration> + <executions> + <execution> + <goals> + <goal>release-version</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest/skipReleaseVersion.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest/skipReleaseVersion.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/release/ReleaseVersionMojoTest/skipReleaseVersion.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-generate-changes</artifactId> + <version>0</version> + + <name>generate-changes</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + <versionDescription>The version description</versionDescription> + <skipReleaseVersion>true</skipReleaseVersion> + </configuration> + <executions> + <execution> + <goals> + <goal>release-version</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest/issueReport.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest/issueReport.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest/issueReport.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-redmine-report</artifactId> + <version>0</version> + + <name>redmine-report</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectIdByAssignee>one</projectIdByAssignee> + <versionIdByAssignee>1.0.0</versionIdByAssignee> + </configuration> + <executions> + <execution> + <goals> + <goal>issues-report-by-assignee</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest/issues-report.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest/issues-report.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByAssigneeTest/issues-report.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-redmine-report</artifactId> - <version>0</version> - - <name>redmine-report</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectIdByAssignee>one</projectIdByAssignee> - <versionIdByAssignee>1.0.0</versionIdByAssignee> - </configuration> - <executions> - <execution> - <goals> - <goal>issues-report-by-assignee</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest/issueReport.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest/issueReport.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest/issueReport.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-redmine-report</artifactId> + <version>0</version> + + <name>redmine-report</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectIdByCategory>one</projectIdByCategory> + <versionIdByCategory>1.0.0</versionIdByCategory> + </configuration> + <executions> + <execution> + <goals> + <goal>issues-report-by-category</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest/issues-report.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest/issues-report.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByCategoryTest/issues-report.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-redmine-report</artifactId> - <version>0</version> - - <name>redmine-report</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectIdByCategory>one</projectIdByCategory> - <versionIdByCategory>1.0.0</versionIdByCategory> - </configuration> - <executions> - <execution> - <goals> - <goal>issues-report-by-category</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest/issueReport.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest/issueReport.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest/issueReport.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-redmine-report</artifactId> + <version>0</version> + + <name>redmine-report</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectIdByPriority>one</projectIdByPriority> + <versionIdByPriority>1.0.0</versionIdByPriority> + </configuration> + <executions> + <execution> + <goals> + <goal>issues-report-by-priority</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest/issues-report.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest/issues-report.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByPriorityTest/issues-report.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-redmine-report</artifactId> - <version>0</version> - - <name>redmine-report</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectIdByPriority>one</projectIdByPriority> - <versionIdByPriority>1.0.0</versionIdByPriority> - </configuration> - <executions> - <execution> - <goals> - <goal>issues-report-by-priority</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest/issueReport.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest/issueReport.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest/issueReport.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-redmine-report</artifactId> + <version>0</version> + + <name>redmine-report</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectIdByReporter>one</projectIdByReporter> + <versionIdByReporter>1.0.0</versionIdByReporter> + </configuration> + <executions> + <execution> + <goals> + <goal>issues-report-by-reporter</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest/issues-report.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest/issues-report.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByReporterTest/issues-report.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-redmine-report</artifactId> - <version>0</version> - - <name>redmine-report</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectIdByReporter>one</projectIdByReporter> - <versionIdByReporter>1.0.0</versionIdByReporter> - </configuration> - <executions> - <execution> - <goals> - <goal>issues-report-by-reporter</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest/issueReport.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest/issueReport.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest/issueReport.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-redmine-report</artifactId> + <version>0</version> + + <name>redmine-report</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectIdByStatus>one</projectIdByStatus> + <versionIdByStatus>1.0.0</versionIdByStatus> + </configuration> + <executions> + <execution> + <goals> + <goal>issues-report-by-status</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest/issues-report.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest/issues-report.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByStatusTest/issues-report.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-redmine-report</artifactId> - <version>0</version> - - <name>redmine-report</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectIdByStatus>one</projectIdByStatus> - <versionIdByStatus>1.0.0</versionIdByStatus> - </configuration> - <executions> - <execution> - <goals> - <goal>issues-report-by-status</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest/issueReport.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest/issueReport.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest/issueReport.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-redmine-report</artifactId> + <version>0</version> + + <name>redmine-report</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectIdByTracker>one</projectIdByTracker> + <versionIdByTracker>1.0.0</versionIdByTracker> + </configuration> + <executions> + <execution> + <goals> + <goal>issues-report-by-tracker</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest/issues-report.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest/issues-report.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByTrackerTest/issues-report.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-redmine-report</artifactId> - <version>0</version> - - <name>redmine-report</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectIdByTracker>one</projectIdByTracker> - <versionIdByTracker>1.0.0</versionIdByTracker> - </configuration> - <executions> - <execution> - <goals> - <goal>issues-report-by-tracker</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest/issueReport.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest/issueReport.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest/issueReport.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-redmine-report</artifactId> + <version>0</version> + + <name>redmine-report</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectIdByVersion>one</projectIdByVersion> + <versionIdByVersion>1.0.0</versionIdByVersion> + </configuration> + <executions> + <execution> + <goals> + <goal>issues-report-by-version</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest/issues-report.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest/issues-report.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportByVersionTest/issues-report.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-redmine-report</artifactId> - <version>0</version> - - <name>redmine-report</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectIdByVersion>one</projectIdByVersion> - <versionIdByVersion>1.0.0</versionIdByVersion> - </configuration> - <executions> - <execution> - <goals> - <goal>issues-report-by-version</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file Added: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportTest/issueReport.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportTest/issueReport.xml (rev 0) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportTest/issueReport.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <groupId>org.nuiton.maven-redmine-plugin</groupId> + <artifactId>test-redmine-report</artifactId> + <version>0</version> + + <name>redmine-report</name> + + <build> + + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-redmine-plugin</artifactId> + <configuration> + <projectId>one</projectId> + <versionId>1.0.0</versionId> + </configuration> + <executions> + <execution> + <goals> + <goal>issues-report</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Deleted: maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportTest/issues-report.xml =================================================================== --- maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportTest/issues-report.xml 2009-09-15 15:59:19 UTC (rev 115) +++ maven-redmine-plugin/trunk/src/test/resources/org/nuiton/redmine/plugin/report/IssuesReportTest/issues-report.xml 2009-09-15 17:18:53 UTC (rev 116) @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <groupId>org.nuiton.maven-redmine-plugin</groupId> - <artifactId>test-redmine-report</artifactId> - <version>0</version> - - <name>redmine-report</name> - - <build> - - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-redmine-plugin</artifactId> - <configuration> - <projectId>one</projectId> - <versionId>1.0.0</versionId> - </configuration> - <executions> - <execution> - <goals> - <goal>issues-report</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file
participants (1)
-
tchemit@users.nuiton.org