Sandbox-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- 1825 discussions
Author: glorieux
Date: 2009-09-16 11:03:05 +0200 (Wed, 16 Sep 2009)
New Revision: 118
Modified:
test_rstedit/src/site/rst/index.rst
Log:
test preview
Modified: test_rstedit/src/site/rst/index.rst
===================================================================
--- test_rstedit/src/site/rst/index.rst 2009-09-15 17:53:04 UTC (rev 117)
+++ test_rstedit/src/site/rst/index.rst 2009-09-16 09:03:05 UTC (rev 118)
@@ -1 +1,81 @@
-ploplploplopolpolpoloplopolpooggfdfg
\ No newline at end of file
+===================================
+Parseur reStructuredText_ : le JRst
+===================================
+
+Documentation utilisateur
+=========================
+
+.. contents:: Sommaire
+
+
+Pr??sentation
+------------
+
+Le format reStructuredText_ est un format de description de documents. A l'image
+d'autres LaTeX_ ou DocBook_, il peut ??tre d??clin?? en une multitude de formats. Ces
+formats souffrent habituellement d'une syntaxe envahissante qui, si elle est
+n??cessaire pour des documents tr??s sp??cifiques, devient g??nante quand il s'agit
+de cr??er rapidement un document pas trop complexe. RST_ dispose quant ? lui d'une
+syntaxe tellement simple qu'elle en devient presque invisible.
+
+JRST est un parseur RST_ en Java permettant de cr??er une repr??sentation en arbre
+d'un document. Il devient alors facile de g??n??rer une repr??sentation du document
+vers diff??rents formats.
+
+
+Usage
+-----
+
+Le parser JRST prend un fichier reStructuredText_ en entr?? et g??n??re un fichier XML
+qui pourra ensuite servir ? produire divers formats de fichiers gr??ce ? des fichiers
+XSL de g??n??rations. Les formats de sortie disponibles sont le html, le xhtml, le rst,
+le pdf, le docbook_, le odt (Open-Office), le rtf, ou encore le XML [1]_.
+
+::
+
+ JRST myfile.rst
+
+Cette commande aura pour effet de convertir le fichier myfile.rst en XML qui sera affich?? sur la sortie standard (console).
+Plusieurs options sont disponibles :
+
+-o file,--outFile=file pour rediriger la sortie vers un fichier.
+-t format,--outType format pour pr??ciser un format de sortie, donc utiliser un ou des fichiers XSL_ de g??n??ration. Plusieurs formats sont disponibles xhtml, docbook, xml, html, xdoc, rst, pdf, odt, rtf.
+-x xslFile,--xslFile xslFile sert ? pr??ciser le fichier xsl de g??n??ration ? utiliser.
+--force forcer l'??criture d'un fichier, si le fichier de sortie existe, il sera remplac??.
+--help pour afficher les options disponibles :
+
+
+::
+
+ Usage: [options] FILE
+ [--force] : overwrite existing out file
+ [--help] : display this help and exit
+ [--outFile -o value] : Output file
+ [--outType -t /xhtml|docbook|xml|html|xdoc|rst/] : Output type
+ [--xslFile -x value] : XSL file list to apply, comma separated
+
+
+ex :
+
+::
+
+ JRST --force -t html -o myfile.html myfile.rst
+
+Cette commande produira un fichier html (myfile.html) ? partir du fichier reStructuredText_ (myfile.rst)
+m??me si myfile.html existe d??j? .
+
+
+Plugin Maven_
+-------------
+
+Un plugin Maven_ est disponible ? l'adresse suivante
+http://jrst.labs.libre-entreprise.org/maven-jrst-plugin. Il permet l'utilisation
+depuis Maven_ de JRst.
+
+.. [1] Seul les formats html, xhtml, DocBook_, xdoc et pdf sont disponible pour le moment.
+
+.. _reStructuredText: presentationRST.html
+.. _Maven: http://maven.apache.org/
+.. _XSL: http://jrst.labs.libre-entreprise.org/fr/devel/presentationXSL.rst
+.. _DocBook: http://www.docbook.org/
+.. _LaTex: http://www.latex-project.org/
\ No newline at end of file
1
0
r117 - maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release
by tchemit@users.nuiton.org 15 Sep '09
by tchemit@users.nuiton.org 15 Sep '09
15 Sep '09
Author: tchemit
Date: 2009-09-15 19:53:04 +0200 (Tue, 15 Sep 2009)
New Revision: 117
Modified:
maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/AbstractReleaseMojo.java
Log:
fix exception when server is not reachable (must improve Exception handling)
Modified: 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 2009-09-15 17:18:53 UTC (rev 116)
+++ maven-redmine-plugin/trunk/src/main/java/org/nuiton/redmine/plugin/release/AbstractReleaseMojo.java 2009-09-15 17:53:04 UTC (rev 117)
@@ -1,6 +1,5 @@
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;
@@ -100,7 +99,7 @@
return false;
}
return true;
- } catch (RedmineDataException e) {
+ } catch (Exception e) {
getLog().warn("could not retreave project '" + projectId + "', goal is skip");
if (verbose) {
getLog().error(e);
@@ -113,7 +112,7 @@
try {
- Version v = helper.getVersionByName(true, versionId);
+ Version v = helper.getVersionByName(versionId);
if (v == null) {
@@ -122,7 +121,7 @@
this.releaseVersion = v;
return true;
- } catch (RedmineDataException e) {
+ } catch (Exception e) {
getLog().warn("could not retreave version " + versionId + ", goal is skip");
if (verbose) {
getLog().error(e);
@@ -141,7 +140,7 @@
return false;
}
this.releaseUser = user;
- } catch (RedmineDataException e) {
+ } catch (Exception e) {
getLog().warn("could not retreave user '" + redmineUsername + "', goal is skip");
if (verbose) {
getLog().error(e);
1
0
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.artifactI…</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
+ *
+ */
+(a)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
+ */
+(a)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(a)noway.fr");
+ mojo.setMailSender(sender);
+
+ // add a destination
+ mojo.setToAddresses(Arrays.asList("chemit(a)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
+ */
+(a)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(a)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(a)noway.fr" issue="2" type="add" system="redmine">test evol</action>
+ <action dev="chemit" due-to="Tony Chemit" due-to-email="perso(a)noway.fr" issue="4" type="fix" system="redmine">test anomalie</action>
+ <action dev="chemit" due-to="Tony Chemit" due-to-email="perso(a)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(a)noway.fr" issue="4" type="fix" system="redmine">test anomalie</action>
+ <action dev="chemit" due-to="Tony Chemit" due-to-email="perso(a)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(a)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
1
0
r115 - maven-redmine-plugin/trunk/src/main/redmine/redmine_rest/app/controllers
by tchemit@users.nuiton.org 15 Sep '09
by tchemit@users.nuiton.org 15 Sep '09
15 Sep '09
Author: tchemit
Date: 2009-09-15 17:59:19 +0200 (Tue, 15 Sep 2009)
New Revision: 115
Modified:
maven-redmine-plugin/trunk/src/main/redmine/redmine_rest/app/controllers/rest_controller.rb
Log:
finish push action (add_version, update_version, add_news, add_attachment)
Modified: maven-redmine-plugin/trunk/src/main/redmine/redmine_rest/app/controllers/rest_controller.rb
===================================================================
--- maven-redmine-plugin/trunk/src/main/redmine/redmine_rest/app/controllers/rest_controller.rb 2009-09-15 15:19:37 UTC (rev 114)
+++ maven-redmine-plugin/trunk/src/main/redmine/redmine_rest/app/controllers/rest_controller.rb 2009-09-15 15:59:19 UTC (rev 115)
@@ -1,16 +1,16 @@
class RestController < ActionController::Base
-# find user (after login)
-before_filter :find_user, :except => [:ping, :login]
+ # find user (after login)
+ before_filter :find_user, :except => [:ping, :login]
-# find project and check permission
-before_filter :find_project, :except => [:ping, :login, :logout, :get_projects, :get_issue_statuses, :get_issue_priorities]
+ # find project and check permission
+ before_filter :find_project, :except => [:ping, :login, :logout, :get_projects, :get_issue_statuses, :get_issue_priorities]
-# get project's version
-before_filter :find_version, :only => [:get_version, :get_version_issues, :get_version_files]
+ # find project's version
+ before_filter :find_version, :only => [:get_version, :get_version_issues, :get_version_attachments, :add_version_attachment]
-# get project's version
-#before_filter :check_edit, :only => [:add_version, :add_file, :add_news]
+ # check can edit project before push requests
+ #before_filter :check_edit, :only => [:add_version, :update_version, :add_file, :add_news, :add_attachment, :add_version_attachment]
# ping service (just to test if service is reachable)
def ping
@@ -30,14 +30,14 @@
# Invalid credentials
render_status 401, "Invalid credentials"
elsif user.new_record?
- # Onthefly creation failed,
- render_status 401, "User not activated"
+ # Onthefly creation failed,
+ render_status 401, "User not activated"
else
# Valid user
self.logged_user = user
- # always generate a key and set autologin cookie
+ # always generate a key and set autologin cookie
token = Token.create(:user => user, :action => 'autologin')
- cookies[:autologin] = { :value => token.value, :expires => 1.year.from_now }
+ cookies[:autologin] = { :value => token.value, :expires => 1.year.from_now }
render_status 200, "User logged in"
end
end
@@ -93,6 +93,12 @@
render_array_result @r, "users"
end
+ # recuperation de toutes les annonces d'un projet
+ def get_project_news
+ @news = @project.news.find(:all)
+ render_array_result @news, "news"
+ end
+
# recuperation des trakers d'un projet
def get_project_trackers
@trackers = @project.trackers.find(:all)
@@ -109,7 +115,6 @@
def get_version
render_result @version
end
-
# recuperation des issues d'un projet pour une version donnee
def get_version_issues
@@ -117,66 +122,131 @@
render_array_result @issues, "issues"
end
- # recuperation des fichiers d'un projet pour une version donnee
- def get_version_files
- @files = @version.attachments.find(:all)
+ # recuperation des pieces jointes d'un projet pour une version donnee
+ def get_version_attachments
+ @files = @version.attachments.find(:all)
render_array_result @files, "attachments"
end
-
- def add_version(version=params[:version], description = params[:description], date = params[:date])
+
+ def show_permissions
+ allowed_permissions
+ render_result @allowed_permissions
+ end
+
+ def show_actions
+ allowed_actions
+ render_result @allowed_actions
+ end
+
+ # add a new version for a given project
+ def add_version(version=params[:version], description = params[:description], date = params[:date])
+ if !request.post?
+ render_status 405, "POST method required for action add_version"
+ return false
+ end
@version = @project.versions.find_by_name(version)
if !@version
allowed = User.current.allowed_to?({:controller => 'projects', :action => "add_version"}, @project)
if !allowed
render_status 401, "No permission to add a version"
- return false
+ else
+ @version = Version.create(:project => @project, :name => version)
+ if description
+ @version['description'] = description
+ end
+ if date
+ @version['effective_date'] = date
+ end
+ if @version.save
+ render_status 200, "The version " + version + " was added"
+ else
+ render_status 505, "Could not add the version..."
+ end
end
- @version = Version.create(:project => @project, :name => version)
else
+ render_status 200, "The version " + version + " already exists, skip the operation"
+ end
+ end
+
+ # update a existing version for a given project
+ def update_version(version=params[:version], description = params[:description], date = params[:date])
+ if !request.post?
+ render_status 405, "POST method required for action update_version"
+ return false
+ end
+ @version = @project.versions.find_by_name(version)
+ if !@version
+ render_status 404, "The version " + version + " does not exist, can not update it..."
+ else
allowed = User.current.allowed_to?({:controller => 'versions', :action => "edit"}, @project)
if !allowed
render_status 401, "No permission to edit a version"
- return false
+ else
+ if description
+ @version['description'] = description
+ end
+ if date
+ @version['effective_date'] = date
+ end
+ if @version.save
+ render_result @version
+ else
+ render_status 505, "Could not update the version..."
+ end
end
end
- if description
- @version['description'] = description
- end
- if date
- @version['effective_date'] = date
- end
- @version.save
- render_result @version
end
- def add_version2(version=params[:version], description = params[:description], date = params[:date])
- allowed = User.current.allowed_to?({:controller => 'projects', :action => "manage_versions"}, @project)
- if !allowed
- render_status 401, "No permission to manage versions"
+ # add a new news for a given project
+ def add_news(author_id = params[:authorId])
+ if !request.post?
+ render_status 405, "POST method required for action add_news"
return false
end
- @version = @project.versions.find_by_name(version)
- if !@version
- @version = Version.create(:project => @project, :name => version)
+ allowed = User.current.allowed_to?({:controller => 'news', :action => "new"}, @project)
+ if !allowed
+ msg = "No permission to add a news on project "+ @project.name
+ render_status 401, msg
+ else
+ news_user = User.find(author_id)
+ @news = News.new(:project => @project, :author => news_user)
+ @news.attributes = params[:news]
+ if @news.save
+ Mailer.deliver_news_added(@news) if Setting.notified_events.include?('news_added')
+ render_status 200, "The news " + @news.title + " was added"
+ else
+ render_status 505, "Could not add the news..."
+ end
end
- if description
- @version['description'] = description
- end
- if date
- @version['effective_date'] = date
- end
- @version.save
- render_result @version
end
- def add_news
+ def add_version_attachment
+ add_attachment
end
-
- def add_file
+ def add_attachment(attachment = params["attachment"])
+ if !request.post?
+ render_status 405, "POST method required for action add_attachment"
+ return false
+ end
+ container = !@version ? @project : @version
+ if attachment
+ file = attachment['file']
+ next unless file && file.size > 0
+ a = Attachment.create(:container => container,
+ :file => file,
+ :description => attachment['description'].to_s.strip,
+ :author => User.current)
+ # a.new_record? ? (unsaved << a) : (attached << a)
+ # end
+ end
+ #if !attached.empty? && Setting.notified_events.include?('file_added')
+ # Mailer.deliver_attachments_added(attached)
+ #end
+ render_status 200, a.id
end
-
-private
+
+ private
def find_user
# Check the settings cache for each request
@@ -199,16 +269,16 @@
end
end
- def find_project(ctrl = params[:controller])
+ def find_project()
begin
- @project = Project.find(params[:project_id])
- allowed = User.current.allowed_to?({:controller => 'rest', :action => "allow_rest"}, @project)
+ @project = Project.find(params[:project_id])
+ allowed = User.current.allowed_to?({:controller => 'rest', :action => "allow_rest"}, @project)
if !allowed
render_status 401, "No permission to access project nor rest service"
end
- rescue ActiveRecord::RecordNotFound
- render_status 404, "#{params[:project_id]} is not a project"
- return false
+ rescue ActiveRecord::RecordNotFound
+ render_status 404, "#{params[:project_id]} is not a project"
+ return false
end
end
@@ -220,19 +290,19 @@
def check_edit
# check if user can edit the project
- allowed = User.current.allowed_to?({:controller => 'projects', :action => "edit"}, @project)
+ allowed = User.current.allowed_to?({:controller => 'projects', :action => "edit"}, @project)
if !allowed
render_status 401, "No permission to edit the project"
end
end
def find_version(version = params[:version_name])
- @version = @project.versions.find_by_name(version)
- if !@version
- render_status 404, "#{version} is not a version for project #{(a)project.name}"
- end
+ @version = @project.versions.find_by_name(version)
+ if !@version
+ render_status 404, "#{version} is not a version for project #{(a)project.name}"
+ end
end
-
+
def render_status(code,message)
render :text => message, :status => code
end
@@ -250,6 +320,7 @@
end
end
end
+
def render_result(result)
respond_to do |format|
format.json { render :text => result.to_json }
@@ -273,8 +344,9 @@
Redmine::AccessControl.modules_permissions(module_names).collect {|p| p.name}
end
end
+
def allowed_actions
- @actions_allowed ||= allowed_permissions.inject([]) { |actions, permission| actions += Redmine::AccessControl.allowed_actions(permission) }.flatten
+ @allowed_actions ||= allowed_permissions.inject([]) { |actions, permission| actions += Redmine::AccessControl.allowed_actions(permission) }.flatten
end
end
1
0
Author: glorieux
Date: 2009-09-15 17:19:37 +0200 (Tue, 15 Sep 2009)
New Revision: 114
Modified:
test_rstedit/src/site/rst/index.rst
Log:
gff
Modified: test_rstedit/src/site/rst/index.rst
===================================================================
--- test_rstedit/src/site/rst/index.rst 2009-09-15 12:28:15 UTC (rev 113)
+++ test_rstedit/src/site/rst/index.rst 2009-09-15 15:19:37 UTC (rev 114)
@@ -1 +1 @@
-ploplploplopolpolpoloplopolpoo
\ No newline at end of file
+ploplploplopolpolpoloplopolpooggfdfg
\ No newline at end of file
1
0
Author: glorieux
Date: 2009-09-15 14:28:15 +0200 (Tue, 15 Sep 2009)
New Revision: 113
Modified:
test_rstedit/src/site/rst/index.rst
Log:
Modified: test_rstedit/src/site/rst/index.rst
===================================================================
--- test_rstedit/src/site/rst/index.rst 2009-09-15 10:55:57 UTC (rev 112)
+++ test_rstedit/src/site/rst/index.rst 2009-09-15 12:28:15 UTC (rev 113)
@@ -1 +1 @@
-fdfdfdfd
\ No newline at end of file
+ploplploplopolpolpoloplopolpoo
\ No newline at end of file
1
0
Author: glorieux
Date: 2009-09-15 12:55:57 +0200 (Tue, 15 Sep 2009)
New Revision: 112
Modified:
test_rstedit/src/site/rst/index.rst
Log:
Modified: test_rstedit/src/site/rst/index.rst
===================================================================
--- test_rstedit/src/site/rst/index.rst 2009-09-15 10:53:41 UTC (rev 111)
+++ test_rstedit/src/site/rst/index.rst 2009-09-15 10:55:57 UTC (rev 112)
@@ -1 +1 @@
-ploploploploploploploploplop
\ No newline at end of file
+fdfdfdfd
\ No newline at end of file
1
0
Author: glorieux
Date: 2009-09-15 12:53:41 +0200 (Tue, 15 Sep 2009)
New Revision: 111
Modified:
test_rstedit/src/site/rst/index.rst
Log:
Modified: test_rstedit/src/site/rst/index.rst
===================================================================
--- test_rstedit/src/site/rst/index.rst 2009-09-15 10:52:12 UTC (rev 110)
+++ test_rstedit/src/site/rst/index.rst 2009-09-15 10:53:41 UTC (rev 111)
@@ -1 +1 @@
-test debug
\ No newline at end of file
+ploploploploploploploploplop
\ No newline at end of file
1
0
Author: glorieux
Date: 2009-09-15 12:52:12 +0200 (Tue, 15 Sep 2009)
New Revision: 110
Modified:
test_rstedit/src/site/rst/index.rst
Log:
Modified: test_rstedit/src/site/rst/index.rst
===================================================================
--- test_rstedit/src/site/rst/index.rst 2009-09-15 10:47:52 UTC (rev 109)
+++ test_rstedit/src/site/rst/index.rst 2009-09-15 10:52:12 UTC (rev 110)
@@ -1 +1 @@
-test bad red
\ No newline at end of file
+test debug
\ No newline at end of file
1
0
Author: glorieux
Date: 2009-09-15 12:47:52 +0200 (Tue, 15 Sep 2009)
New Revision: 109
Modified:
test_rstedit/src/site/rst/index.rst
Log:
Modified: test_rstedit/src/site/rst/index.rst
===================================================================
--- test_rstedit/src/site/rst/index.rst 2009-09-15 10:34:18 UTC (rev 108)
+++ test_rstedit/src/site/rst/index.rst 2009-09-15 10:47:52 UTC (rev 109)
@@ -1 +1 @@
-test bon redir
\ No newline at end of file
+test bad red
\ No newline at end of file
1
0