[MCHANGES-381] Migrate plugin to Maven 3.0
* Replacing usage of deprecated APIs in favor of maven-artifact-transfer
* Renaming the packages to org.apache.maven.plugins
* Failing the build if any deprecated parameters are used, in preparation of their complete removal
* Removing Maven 2 specific code
* Fixing Javadoc comments
* Removing the use of raw types where possible
git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1784411 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index f740490..e38b94c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -71,8 +71,9 @@
<properties>
<doxiaVersion>1.4</doxiaVersion>
<doxiaSitetoolsVersion>1.4</doxiaSitetoolsVersion>
- <mavenVersion>2.2.1</mavenVersion>
+ <mavenVersion>3.0</mavenVersion>
<sitePluginVersion>3.3</sitePluginVersion>
+ <wagonVersion>1.0-beta-6</wagonVersion>
</properties>
<dependencies>
@@ -99,11 +100,6 @@
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
- <version>${mavenVersion}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
<version>${mavenVersion}</version>
</dependency>
@@ -123,20 +119,36 @@
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-impl</artifactId>
<version>2.3</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-filtering</artifactId>
- <version>1.3</version>
+ <version>3.1.1</version>
</dependency>
- <!-- A dependency to maven-filtering, but it's overridden by 1.11 if not specified explicitly here -->
- <!-- This can be removed if upgrading to maven-filtering 1.4 -->
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-artifact-transfer</artifactId>
+ <version>0.9.0</version>
+ </dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-interpolation</artifactId>
<version>1.24</version>
</dependency>
+ <!-- wagon -->
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+
<!-- plexus -->
<dependency>
<groupId>org.codehaus.plexus</groupId>
@@ -372,7 +384,25 @@
<dependency>
<groupId>org.apache.maven.plugin-testing</groupId>
<artifactId>maven-plugin-testing-harness</artifactId>
- <version>1.2</version>
+ <version>2.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.aether</groupId>
+ <artifactId>aether-connector-wagon</artifactId>
+ <version>1.7</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http</artifactId>
+ <version>${wagonVersion}</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -389,7 +419,7 @@
This file should not contain a license header as it represents
real data downloaded from a JIRA server.
-->
- <exclude>src/test/resources/org/apache/maven/plugin/jira/unicode-jira-results.xml</exclude>
+ <exclude>src/test/resources/org/apache/maven/plugins/jira/unicode-jira-results.xml</exclude>
</excludes>
</configuration>
</plugin>
diff --git a/src/main/java/org/apache/maven/plugin/announcement/AbstractAnnouncementMojo.java b/src/main/java/org/apache/maven/plugins/announcement/AbstractAnnouncementMojo.java
similarity index 92%
rename from src/main/java/org/apache/maven/plugin/announcement/AbstractAnnouncementMojo.java
rename to src/main/java/org/apache/maven/plugins/announcement/AbstractAnnouncementMojo.java
index 392950e..26cd7ac 100644
--- a/src/main/java/org/apache/maven/plugin/announcement/AbstractAnnouncementMojo.java
+++ b/src/main/java/org/apache/maven/plugins/announcement/AbstractAnnouncementMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.announcement;
+package org.apache.maven.plugins.announcement;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,8 +19,8 @@
* under the License.
*/
-import org.apache.maven.plugin.changes.AbstractChangesMojo;
import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.changes.AbstractChangesMojo;
/**
* Abstract superclass for announcement mojos.
diff --git a/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMailMojo.java b/src/main/java/org/apache/maven/plugins/announcement/AnnouncementMailMojo.java
similarity index 95%
rename from src/main/java/org/apache/maven/plugin/announcement/AnnouncementMailMojo.java
rename to src/main/java/org/apache/maven/plugins/announcement/AnnouncementMailMojo.java
index 4c013bc..23315fc 100644
--- a/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMailMojo.java
+++ b/src/main/java/org/apache/maven/plugins/announcement/AnnouncementMailMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.announcement;
+package org.apache.maven.plugins.announcement;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -32,10 +32,10 @@
import org.apache.maven.model.Developer;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.announcement.mailsender.ProjectJavamailMailSender;
import org.apache.maven.plugins.annotations.Execute;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.announcement.mailsender.ProjectJavamailMailSender;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
@@ -65,7 +65,7 @@
* Possible senders.
*/
@Parameter( property = "project.developers", required = true, readonly = true )
- private List from;
+ private List<Developer> from;
/**
* The id of the developer sending the announcement mail. Only used if the <tt>mailSender</tt> attribute is not set.
@@ -202,7 +202,7 @@
* Recipient email address.
*/
@Parameter( required = true )
- private List toAddresses;
+ private List<Object> toAddresses;
/**
* Recipient cc email address.
@@ -210,7 +210,7 @@
* @since 2.5
*/
@Parameter
- private List ccAddresses;
+ private List<Object> ccAddresses;
/**
* Recipient bcc email address.
@@ -218,7 +218,7 @@
* @since 2.5
*/
@Parameter
- private List bccAddresses;
+ private List<Object> bccAddresses;
/**
* The username used to send the email.
@@ -437,15 +437,13 @@
}
else if ( fromDeveloperId == null )
{
- final Developer dev = (Developer) from.get( 0 );
+ final Developer dev = from.get( 0 );
return new MailSender( dev.getName(), dev.getEmail() );
}
else
{
- for ( Object aFrom : from )
+ for ( Developer developer : from )
{
- Developer developer = (Developer) aFrom;
-
if ( fromDeveloperId.equals( developer.getId() ) )
{
return new MailSender( developer.getName(), developer.getEmail() );
@@ -460,32 +458,32 @@
// announcement-mail accessors
// ================================
- public List getBccAddresses()
+ public List<Object> getBccAddresses()
{
return bccAddresses;
}
- public void setBccAddresses( List bccAddresses )
+ public void setBccAddresses( List<Object> bccAddresses )
{
this.bccAddresses = bccAddresses;
}
- public List getCcAddresses()
+ public List<Object> getCcAddresses()
{
return ccAddresses;
}
- public void setCcAddresses( List ccAddresses )
+ public void setCcAddresses( List<Object> ccAddresses )
{
this.ccAddresses = ccAddresses;
}
- public List getFrom()
+ public List<Developer> getFrom()
{
return from;
}
- public void setFrom( List from )
+ public void setFrom( List<Developer> from )
{
this.from = from;
}
@@ -600,12 +598,12 @@
this.announcementDirectory = announcementDirectory;
}
- public List getToAddresses()
+ public List<Object> getToAddresses()
{
return toAddresses;
}
- public void setToAddresses( List toAddresses )
+ public void setToAddresses( List<Object> toAddresses )
{
this.toAddresses = toAddresses;
}
diff --git a/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java b/src/main/java/org/apache/maven/plugins/announcement/AnnouncementMojo.java
similarity index 92%
rename from src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java
rename to src/main/java/org/apache/maven/plugins/announcement/AnnouncementMojo.java
index be04f80..141405a 100644
--- a/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java
+++ b/src/main/java/org/apache/maven/plugins/announcement/AnnouncementMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.announcement;
+package org.apache.maven.plugins.announcement;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -29,24 +29,24 @@
import java.util.Map;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.changes.ChangesXML;
-import org.apache.maven.plugin.changes.IssueAdapter;
-import org.apache.maven.plugin.changes.ProjectUtils;
-import org.apache.maven.plugin.changes.ReleaseUtils;
-import org.apache.maven.plugin.github.GitHubDownloader;
-import org.apache.maven.plugin.github.GitHubIssueManagementSystem;
-import org.apache.maven.plugin.issues.Issue;
-import org.apache.maven.plugin.issues.IssueManagementSystem;
-import org.apache.maven.plugin.issues.IssueUtils;
-import org.apache.maven.plugin.jira.AbstractJiraDownloader;
-import org.apache.maven.plugin.jira.AdaptiveJiraDownloader;
-import org.apache.maven.plugin.jira.JIRAIssueManagmentSystem;
-import org.apache.maven.plugin.trac.TracDownloader;
-import org.apache.maven.plugin.trac.TracIssueManagmentSystem;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.changes.ChangesXML;
+import org.apache.maven.plugins.changes.IssueAdapter;
+import org.apache.maven.plugins.changes.ProjectUtils;
+import org.apache.maven.plugins.changes.ReleaseUtils;
import org.apache.maven.plugins.changes.model.Release;
+import org.apache.maven.plugins.github.GitHubDownloader;
+import org.apache.maven.plugins.github.GitHubIssueManagementSystem;
+import org.apache.maven.plugins.issues.Issue;
+import org.apache.maven.plugins.issues.IssueManagementSystem;
+import org.apache.maven.plugins.issues.IssueUtils;
+import org.apache.maven.plugins.jira.AbstractJiraDownloader;
+import org.apache.maven.plugins.jira.AdaptiveJiraDownloader;
+import org.apache.maven.plugins.jira.JIRAIssueManagmentSystem;
+import org.apache.maven.plugins.trac.TracDownloader;
+import org.apache.maven.plugins.trac.TracIssueManagmentSystem;
import org.apache.maven.project.MavenProject;
import org.apache.maven.settings.Settings;
import org.apache.velocity.Template;
@@ -93,7 +93,7 @@
* @since 2.1
*/
@Parameter
- private Map announceParameters;
+ private Map<Object, Object> announceParameters;
/**
*/
@@ -193,7 +193,7 @@
* </p>
*/
// CHECKSTYLE_OFF: LineLength
- @Parameter( property = "changes.templateDirectory", defaultValue = "org/apache/maven/plugin/announcement", required = true )
+ @Parameter( property = "changes.templateDirectory", defaultValue = "org/apache/maven/plugins/announcement", required = true )
private String templateDirectory;
// CHECKSTYLE_ON: LineLength
@@ -268,8 +268,8 @@
* @deprecated Since version 2.4 this parameter has been deprecated. Please use the issueManagementSystems parameter
* instead.
*/
- @Parameter( property = "generateJiraAnnouncement", defaultValue = "false", required = true )
- private boolean generateJiraAnnouncement;
+ @Parameter( property = "generateJiraAnnouncement" )
+ private Boolean generateJiraAnnouncement;
/**
* If releases from JIRA should be merged with the releases from a changes.xml file.
@@ -278,8 +278,8 @@
* @deprecated Since version 2.4 this parameter has been deprecated. Please use the issueManagementSystems parameter
* instead.
*/
- @Parameter( property = "changes.jiraMerge", defaultValue = "false" )
- private boolean jiraMerge;
+ @Parameter( property = "changes.jiraMerge" )
+ private Boolean jiraMerge;
/**
* Defines the JIRA password for authentication into a private JIRA installation.
@@ -463,17 +463,16 @@
/**
* Generate the template
*
- * @throws MojoExecutionException
+ * @throws MojoExecutionException in case of errors
*/
public void execute()
throws MojoExecutionException
{
// Fail build fast if it is using deprecated parameters
- if ( outputDirectory != null )
- {
- throw new MojoExecutionException( "You are using the old parameter 'outputDirectory'. "
- + "You must use 'announcementDirectory' instead." );
- }
+ failIfUsingDeprecatedParameter( outputDirectory, "outputDirectory", "announcementDirectory" );
+ failIfUsingDeprecatedParameter( generateJiraAnnouncement, "generateJiraAnnouncement",
+ "issueManagementSystems " );
+ failIfUsingDeprecatedParameter( jiraMerge, "jiraMerge", "issueManagementSystems " );
// Run only at the execution root
if ( runOnlyAtExecutionRoot && !isThisTheExecutionRoot() )
@@ -487,22 +486,9 @@
issueManagementSystems = new ArrayList<String>();
}
- // Handle deprecated parameters, in a backward compatible way
if ( issueManagementSystems.isEmpty() )
{
- if ( this.jiraMerge )
- {
- issueManagementSystems.add( CHANGES_XML );
- issueManagementSystems.add( JIRA );
- }
- else if ( generateJiraAnnouncement )
- {
- issueManagementSystems.add( JIRA );
- }
- else
- {
- issueManagementSystems.add( CHANGES_XML );
- }
+ issueManagementSystems.add( CHANGES_XML );
}
// Fetch releases from the configured issue management systems
@@ -512,7 +498,7 @@
if ( getXmlPath().exists() )
{
ChangesXML changesXML = new ChangesXML( getXmlPath(), getLog() );
- List<Release> changesReleases = releaseUtils.convertReleaseList( changesXML.getReleaseList() );
+ List<Release> changesReleases = changesXML.getReleaseList();
releases = releaseUtils.mergeReleases( null, changesReleases );
getLog().info( "Including issues from file " + getXmlPath() + " in announcement..." );
}
@@ -592,11 +578,21 @@
}
}
+ private void failIfUsingDeprecatedParameter( Object value, String name, String replacement )
+ throws MojoExecutionException
+ {
+ if ( value != null )
+ {
+ throw new MojoExecutionException( "You are using the old parameter '" + name + "'. " + "You must use '"
+ + replacement + "' instead." );
+ }
+ }
+
/**
* Add the parameters to velocity context
*
* @param releases A <code>List</code> of <code>Release</code>s
- * @throws MojoExecutionException
+ * @throws MojoExecutionException in case of errors
*/
public void doGenerate( List<Release> releases )
throws MojoExecutionException
@@ -649,7 +645,7 @@
if ( announceParameters == null )
{
// empty Map to prevent NPE in velocity execution
- context.put( "announceParameters", Collections.EMPTY_MAP );
+ context.put( "announceParameters", Collections.emptyMap() );
}
else
{
@@ -675,7 +671,8 @@
* @param outputDirectory directory where the file will be generated
* @param template velocity template which will the context be merged
* @param announcementFile The file name of the generated announcement
- * @throws ResourceNotFoundException, VelocityException, IOException
+ * @throws VelocityException in case of errors.
+ * @throws MojoExecutionException in case of errors.
*/
public void processTemplate( Context context, File outputDirectory, String template, String announcementFile )
throws VelocityException, MojoExecutionException
diff --git a/src/main/java/org/apache/maven/plugin/announcement/MailSender.java b/src/main/java/org/apache/maven/plugins/announcement/MailSender.java
similarity index 96%
rename from src/main/java/org/apache/maven/plugin/announcement/MailSender.java
rename to src/main/java/org/apache/maven/plugins/announcement/MailSender.java
index e3f361c..bfb5eaa 100644
--- a/src/main/java/org/apache/maven/plugin/announcement/MailSender.java
+++ b/src/main/java/org/apache/maven/plugins/announcement/MailSender.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.announcement;
+package org.apache.maven.plugins.announcement;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/announcement/mailsender/ProjectJavamailMailSender.java b/src/main/java/org/apache/maven/plugins/announcement/mailsender/ProjectJavamailMailSender.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/announcement/mailsender/ProjectJavamailMailSender.java
rename to src/main/java/org/apache/maven/plugins/announcement/mailsender/ProjectJavamailMailSender.java
index c965824..db7a90d 100644
--- a/src/main/java/org/apache/maven/plugin/announcement/mailsender/ProjectJavamailMailSender.java
+++ b/src/main/java/org/apache/maven/plugins/announcement/mailsender/ProjectJavamailMailSender.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.announcement.mailsender;
+package org.apache.maven.plugins.announcement.mailsender;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/changes/AbstractChangesMojo.java b/src/main/java/org/apache/maven/plugins/changes/AbstractChangesMojo.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/changes/AbstractChangesMojo.java
rename to src/main/java/org/apache/maven/plugins/changes/AbstractChangesMojo.java
index c1e4f08..1968394 100644
--- a/src/main/java/org/apache/maven/plugin/changes/AbstractChangesMojo.java
+++ b/src/main/java/org/apache/maven/plugins/changes/AbstractChangesMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/changes/AbstractChangesReport.java b/src/main/java/org/apache/maven/plugins/changes/AbstractChangesReport.java
similarity index 81%
rename from src/main/java/org/apache/maven/plugin/changes/AbstractChangesReport.java
rename to src/main/java/org/apache/maven/plugins/changes/AbstractChangesReport.java
index 755d592..37dc15f 100644
--- a/src/main/java/org/apache/maven/plugin/changes/AbstractChangesReport.java
+++ b/src/main/java/org/apache/maven/plugins/changes/AbstractChangesReport.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,14 +20,6 @@
*/
import org.apache.commons.io.IOUtils;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.doxia.sink.render.RenderingContext;
import org.apache.maven.doxia.site.decoration.Body;
import org.apache.maven.doxia.site.decoration.DecorationModel;
@@ -40,9 +32,14 @@
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.reporting.AbstractMavenReport;
import org.apache.maven.reporting.MavenReportException;
+import org.apache.maven.shared.artifact.DefaultArtifactCoordinate;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolver;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolverException;
import org.codehaus.plexus.i18n.I18N;
import org.codehaus.plexus.util.ReaderFactory;
@@ -120,22 +117,11 @@
protected MavenProject project;
/**
- * Local Repository.
- */
- @Parameter( property = "localRepository", required = true, readonly = true )
- protected ArtifactRepository localRepository;
-
- /**
*/
@Component
protected ArtifactResolver resolver;
/**
- */
- @Component
- protected ArtifactFactory factory;
-
- /**
* Internationalization.
*/
@Component
@@ -145,35 +131,20 @@
throws MojoExecutionException
{
Skin skin = Skin.getDefaultSkin();
-
- String version = skin.getVersion();
- Artifact artifact;
+ DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate();
+ coordinate.setGroupId( skin.getGroupId() );
+ coordinate.setArtifactId( skin.getArtifactId() );
+ coordinate.setVersion( skin.getVersion() );
+ ProjectBuildingRequest pbr = new DefaultProjectBuildingRequest( mavenSession.getProjectBuildingRequest() );
+ pbr.setRemoteRepositories( project.getRemoteArtifactRepositories() );
try
{
- if ( version == null )
- {
- version = Artifact.RELEASE_VERSION;
- }
- VersionRange versionSpec = VersionRange.createFromVersionSpec( version );
- artifact = factory.createDependencyArtifact( skin.getGroupId(), skin.getArtifactId(), versionSpec, "jar",
- null, null );
-
- resolver.resolve( artifact, project.getRemoteArtifactRepositories(), localRepository );
+ return resolver.resolveArtifact( pbr, coordinate ).getArtifact().getFile();
}
- catch ( InvalidVersionSpecificationException e )
+ catch ( ArtifactResolverException e )
{
- throw new MojoExecutionException( "The skin version '" + version + "' is not valid: " + e.getMessage() );
+ throw new MojoExecutionException( "Couldn't resolve the skin.", e );
}
- catch ( ArtifactResolutionException e )
- {
- throw new MojoExecutionException( "Unable to find skin", e );
- }
- catch ( ArtifactNotFoundException e )
- {
- throw new MojoExecutionException( "The skin does not exist: " + e.getMessage() );
- }
-
- return artifact.getFile();
}
public void execute()
@@ -200,7 +171,7 @@
RenderingContext context = new RenderingContext( outputDirectory, getOutputName() + ".html" );
SiteRendererSink sink = new SiteRendererSink( context );
- generate( sink, locale );
+ generate( sink, null, locale );
outputDirectory.mkdirs();
diff --git a/src/main/java/org/apache/maven/plugin/changes/ChangesCheckMojo.java b/src/main/java/org/apache/maven/plugins/changes/ChangesCheckMojo.java
similarity index 96%
rename from src/main/java/org/apache/maven/plugin/changes/ChangesCheckMojo.java
rename to src/main/java/org/apache/maven/plugins/changes/ChangesCheckMojo.java
index 3477c7a..2b9c0e4 100644
--- a/src/main/java/org/apache/maven/plugin/changes/ChangesCheckMojo.java
+++ b/src/main/java/org/apache/maven/plugins/changes/ChangesCheckMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -79,7 +79,7 @@
/**
* Check that the latest release contains a valid release date.
*
- * @throws MojoExecutionException
+ * @throws MojoExecutionException in case of errors.
*/
public void execute()
throws MojoExecutionException
@@ -100,7 +100,7 @@
ChangesXML xml = new ChangesXML( xmlPath, getLog() );
ReleaseUtils releaseUtils = new ReleaseUtils( getLog() );
Release release =
- releaseUtils.getLatestRelease( releaseUtils.convertReleaseList( xml.getReleaseList() ), version );
+ releaseUtils.getLatestRelease( xml.getReleaseList(), version );
if ( !isValidDate( release.getDateRelease(), releaseDateFormat, releaseDateLocale ) )
{
diff --git a/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java b/src/main/java/org/apache/maven/plugins/changes/ChangesMojo.java
similarity index 94%
rename from src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java
rename to src/main/java/org/apache/maven/plugins/changes/ChangesMojo.java
index d8b7064..8c826e2 100644
--- a/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java
+++ b/src/main/java/org/apache/maven/plugins/changes/ChangesMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -92,8 +92,8 @@
* @since 2.4
* @deprecated using markup inside CDATA sections does not work for all output formats!
*/
- @Parameter( defaultValue = "true" )
- private boolean escapeHTML;
+ @Parameter
+ private Boolean escapeHTML;
/**
* The directory for interpolated changes.xml.
@@ -122,9 +122,9 @@
* </p>
*
* @since 2.0-beta-2
- * @deprecated As of 2.1 use issueLinkTemplatePerSystem : this one will be with system default
+ * @deprecated As of 2.1 use issueLinkTemplatePerSystem: this one will be with system default
*/
- @Parameter( property = "changes.issueLinkTemplate", defaultValue = "%URL%/ViewIssue.jspa?key=%ISSUE%" )
+ @Parameter( property = "changes.issueLinkTemplate" )
private String issueLinkTemplate;
/**
@@ -242,6 +242,11 @@
public void executeReport( Locale locale )
throws MavenReportException
{
+ failIfUsingDeprecatedParameter( escapeHTML, "escapeHTML",
+ "Using markup inside CDATA sections does not work for all output formats!" );
+ failIfUsingDeprecatedParameter( issueLinkTemplate, "issueLinkTemplate",
+ "You must use 'issueLinkTemplatePerSystem' for the system '"
+ + ChangesReportGenerator.DEFAULT_ISSUE_SYSTEM_KEY + "' instead." );
Date now = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat( publishDateFormat, new Locale( publishDateLocale ) );
Properties additionalProperties = new Properties();
@@ -284,7 +289,7 @@
report.setAuthor( changesXml.getAuthor() );
report.setTitle( changesXml.getTitle() );
- report.setEscapeHTML( escapeHTML );
+ report.setEscapeHTML( true );
// Create a case insensitive version of issueLinkTemplatePerSystem
// We need something case insensitive to maintain backward compatibility
@@ -297,9 +302,8 @@
caseInsensitiveIssueLinkTemplatePerSystem = new CaseInsensitiveMap( issueLinkTemplatePerSystem );
}
- // Set good default values for issue management systems here, but only
- // if they have not been configured already by the user
- addIssueLinkTemplate( ChangesReportGenerator.DEFAULT_ISSUE_SYSTEM_KEY, issueLinkTemplate );
+ // Set good default values for issue management systems here
+ addIssueLinkTemplate( ChangesReportGenerator.DEFAULT_ISSUE_SYSTEM_KEY, "%URL%/ViewIssue.jspa?key=%ISSUE%" );
addIssueLinkTemplate( "Bitbucket", "%URL%/issue/%ISSUE%" );
addIssueLinkTemplate( "Bugzilla", "%URL%/show_bug.cgi?id=%ISSUE%" );
addIssueLinkTemplate( "GitHub", "%URL%/%ISSUE%" );
@@ -350,6 +354,15 @@
copyStaticResources();
}
+ private void failIfUsingDeprecatedParameter( Object value, String name, String message )
+ throws MavenReportException
+ {
+ if ( value != null )
+ {
+ throw new MavenReportException( "You are using the old parameter '" + name + "'. " + message );
+ }
+ }
+
public String getDescription( Locale locale )
{
return getBundle( locale ).getString( "report.issues.description" );
@@ -451,7 +464,7 @@
private void copyStaticResources()
throws MavenReportException
{
- final String pluginResourcesBase = "org/apache/maven/plugin/changes";
+ final String pluginResourcesBase = "org/apache/maven/plugins/changes";
String resourceNames[] = { "images/add.gif", "images/fix.gif", "images/icon_help_sml.gif", "images/remove.gif",
"images/rss.png", "images/update.gif" };
try
diff --git a/src/main/java/org/apache/maven/plugin/changes/ChangesReportGenerator.java b/src/main/java/org/apache/maven/plugins/changes/ChangesReportGenerator.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/changes/ChangesReportGenerator.java
rename to src/main/java/org/apache/maven/plugins/changes/ChangesReportGenerator.java
index c27211f..ef36288 100644
--- a/src/main/java/org/apache/maven/plugin/changes/ChangesReportGenerator.java
+++ b/src/main/java/org/apache/maven/plugins/changes/ChangesReportGenerator.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -32,12 +32,12 @@
import org.apache.maven.doxia.sink.SinkEventAttributeSet;
import org.apache.maven.doxia.sink.SinkEventAttributes;
import org.apache.maven.doxia.util.HtmlTools;
-import org.apache.maven.plugin.issues.AbstractIssuesReportGenerator;
import org.apache.maven.plugins.changes.model.Action;
import org.apache.maven.plugins.changes.model.Component;
import org.apache.maven.plugins.changes.model.DueTo;
import org.apache.maven.plugins.changes.model.FixedIssue;
import org.apache.maven.plugins.changes.model.Release;
+import org.apache.maven.plugins.issues.AbstractIssuesReportGenerator;
/**
* Generates a changes report.
@@ -100,33 +100,21 @@
this.releaseList = releaseList;
}
- /**
- * @since 2.4
- */
public boolean isEscapeHTML()
{
return escapeHTML;
}
- /**
- * @since 2.4
- */
public void setEscapeHTML( boolean escapeHTML )
{
this.escapeHTML = escapeHTML;
}
- /**
- * @since 2.4
- */
public String getSystem()
{
return system;
}
- /**
- * @since 2.4
- */
public void setSystem( String system )
{
this.system = system;
diff --git a/src/main/java/org/apache/maven/plugin/changes/ChangesValidatorMojo.java b/src/main/java/org/apache/maven/plugins/changes/ChangesValidatorMojo.java
similarity index 94%
rename from src/main/java/org/apache/maven/plugin/changes/ChangesValidatorMojo.java
rename to src/main/java/org/apache/maven/plugins/changes/ChangesValidatorMojo.java
index faf23b6..b71b56f 100644
--- a/src/main/java/org/apache/maven/plugin/changes/ChangesValidatorMojo.java
+++ b/src/main/java/org/apache/maven/plugins/changes/ChangesValidatorMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -24,12 +24,12 @@
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.changes.schema.ChangesSchemaValidator;
-import org.apache.maven.plugin.changes.schema.SchemaValidatorException;
-import org.apache.maven.plugin.changes.schema.XmlValidationHandler;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.changes.schema.ChangesSchemaValidator;
+import org.apache.maven.plugins.changes.schema.SchemaValidatorException;
+import org.apache.maven.plugins.changes.schema.XmlValidationHandler;
import org.xml.sax.SAXParseException;
/**
diff --git a/src/main/java/org/apache/maven/plugin/changes/ChangesXML.java b/src/main/java/org/apache/maven/plugins/changes/ChangesXML.java
similarity index 99%
rename from src/main/java/org/apache/maven/plugin/changes/ChangesXML.java
rename to src/main/java/org/apache/maven/plugins/changes/ChangesXML.java
index 0e6a012..ee40e42 100644
--- a/src/main/java/org/apache/maven/plugin/changes/ChangesXML.java
+++ b/src/main/java/org/apache/maven/plugins/changes/ChangesXML.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/changes/ChangesXMLRuntimeException.java b/src/main/java/org/apache/maven/plugins/changes/ChangesXMLRuntimeException.java
similarity index 90%
rename from src/main/java/org/apache/maven/plugin/changes/ChangesXMLRuntimeException.java
rename to src/main/java/org/apache/maven/plugins/changes/ChangesXMLRuntimeException.java
index 4016e3e..6162098 100644
--- a/src/main/java/org/apache/maven/plugin/changes/ChangesXMLRuntimeException.java
+++ b/src/main/java/org/apache/maven/plugins/changes/ChangesXMLRuntimeException.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
/**
* This is a runtime exception class that is thrown by the
- * {@link ChangesXML#ChangesXML(java.io.File, org.apache.maven.plugin.logging.Log)} constructor if the given changes.xml
- * file cannot be parsed, for example it is not well-formed or valid.
+ * {@link ChangesXML#ChangesXML(java.io.File, org.apache.maven.plugin.logging.Log)} constructor if the given
+ * changes.xml file cannot be parsed, for example it is not well-formed or valid.
*
* @author <a href="mailto:szgabsz91@gmail.com">Gabor Szabo</a>
*/
diff --git a/src/main/java/org/apache/maven/plugin/changes/FeedGenerator.java b/src/main/java/org/apache/maven/plugins/changes/FeedGenerator.java
similarity index 99%
rename from src/main/java/org/apache/maven/plugin/changes/FeedGenerator.java
rename to src/main/java/org/apache/maven/plugins/changes/FeedGenerator.java
index 65300eb..b6fcf0b 100644
--- a/src/main/java/org/apache/maven/plugin/changes/FeedGenerator.java
+++ b/src/main/java/org/apache/maven/plugins/changes/FeedGenerator.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/changes/IssueAdapter.java b/src/main/java/org/apache/maven/plugins/changes/IssueAdapter.java
similarity index 96%
rename from src/main/java/org/apache/maven/plugin/changes/IssueAdapter.java
rename to src/main/java/org/apache/maven/plugins/changes/IssueAdapter.java
index af972e6..baf8f55 100644
--- a/src/main/java/org/apache/maven/plugin/changes/IssueAdapter.java
+++ b/src/main/java/org/apache/maven/plugins/changes/IssueAdapter.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,10 +19,10 @@
* under the License.
*/
-import org.apache.maven.plugin.issues.Issue;
-import org.apache.maven.plugin.issues.IssueManagementSystem;
import org.apache.maven.plugins.changes.model.Action;
import org.apache.maven.plugins.changes.model.Release;
+import org.apache.maven.plugins.issues.Issue;
+import org.apache.maven.plugins.issues.IssueManagementSystem;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/src/main/java/org/apache/maven/plugin/changes/IssueType.java b/src/main/java/org/apache/maven/plugins/changes/IssueType.java
similarity index 97%
rename from src/main/java/org/apache/maven/plugin/changes/IssueType.java
rename to src/main/java/org/apache/maven/plugins/changes/IssueType.java
index f78d136..940390d 100644
--- a/src/main/java/org/apache/maven/plugin/changes/IssueType.java
+++ b/src/main/java/org/apache/maven/plugins/changes/IssueType.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/changes/ProjectUtils.java b/src/main/java/org/apache/maven/plugins/changes/ProjectUtils.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/changes/ProjectUtils.java
rename to src/main/java/org/apache/maven/plugins/changes/ProjectUtils.java
index cf95d18..e5f00c0 100644
--- a/src/main/java/org/apache/maven/plugin/changes/ProjectUtils.java
+++ b/src/main/java/org/apache/maven/plugins/changes/ProjectUtils.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/changes/ReleaseUtils.java b/src/main/java/org/apache/maven/plugins/changes/ReleaseUtils.java
similarity index 91%
rename from src/main/java/org/apache/maven/plugin/changes/ReleaseUtils.java
rename to src/main/java/org/apache/maven/plugins/changes/ReleaseUtils.java
index 4274c1e..03113d4 100644
--- a/src/main/java/org/apache/maven/plugin/changes/ReleaseUtils.java
+++ b/src/main/java/org/apache/maven/plugins/changes/ReleaseUtils.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -177,27 +177,6 @@
}
/**
- * Convert an untyped List of Release objects that comes from changes.xml into a typed List of Release objects.
- *
- * @param changesReleases An untyped List of Release objects
- * @return A type List of Release objects
- * @todo When Modello can generate typed collections this method is no longer needed
- */
- public List<Release> convertReleaseList( List<Release> changesReleases )
- {
- List<Release> releases = new ArrayList<Release>();
-
- // Loop through the List of releases from changes.xml and casting each
- // release to a Release
- for ( Object changesRelease : changesReleases )
- {
- Release release = (Release) changesRelease;
- releases.add( release );
- }
- return releases;
- }
-
- /**
* Merge releases from parent component with releases from child component. If a release is found in both
* components, i.e. they have the same version, their issues are merged into one (parent) release with component
* marker for component issues.
diff --git a/src/main/java/org/apache/maven/plugin/changes/schema/ChangesSchemaValidator.java b/src/main/java/org/apache/maven/plugins/changes/schema/ChangesSchemaValidator.java
similarity index 86%
rename from src/main/java/org/apache/maven/plugin/changes/schema/ChangesSchemaValidator.java
rename to src/main/java/org/apache/maven/plugins/changes/schema/ChangesSchemaValidator.java
index d3a8e1a..4fc564d 100644
--- a/src/main/java/org/apache/maven/plugin/changes/schema/ChangesSchemaValidator.java
+++ b/src/main/java/org/apache/maven/plugins/changes/schema/ChangesSchemaValidator.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes.schema;
+package org.apache.maven.plugins.changes.schema;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -29,11 +29,11 @@
public interface ChangesSchemaValidator
{
/**
- * @param file
- * @param schemaVersion
+ * @param file File to validate.
+ * @param schemaVersion Schema version.
* @param failOnValidationError if false SchemaValidatorException will not be throw
* @return {@link XmlValidationHandler}
- * @throws SchemaValidatorException
+ * @throws SchemaValidatorException if validation failed.
*/
XmlValidationHandler validateXmlWithSchema( File file, String schemaVersion, boolean failOnValidationError )
throws SchemaValidatorException;
diff --git a/src/main/java/org/apache/maven/plugin/changes/schema/DefaultChangesSchemaValidator.java b/src/main/java/org/apache/maven/plugins/changes/schema/DefaultChangesSchemaValidator.java
similarity index 96%
rename from src/main/java/org/apache/maven/plugin/changes/schema/DefaultChangesSchemaValidator.java
rename to src/main/java/org/apache/maven/plugins/changes/schema/DefaultChangesSchemaValidator.java
index f0c22a7..1eb93b5 100644
--- a/src/main/java/org/apache/maven/plugin/changes/schema/DefaultChangesSchemaValidator.java
+++ b/src/main/java/org/apache/maven/plugins/changes/schema/DefaultChangesSchemaValidator.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes.schema;
+package org.apache.maven.plugins.changes.schema;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -32,17 +32,16 @@
import javax.xml.validation.Validator;
import org.apache.commons.io.input.XmlStreamReader;
+import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.util.IOUtil;
import org.xml.sax.SAXException;
/**
- *
* @author Olivier Lamy
* @since 28 juil. 2008
* @version $Id$
- *
- * @plexus.component role="org.apache.maven.plugin.changes.schema.ChangesSchemaValidator" role-hint="default"
*/
+@Component( role = ChangesSchemaValidator.class, hint = "default" )
public class DefaultChangesSchemaValidator
implements ChangesSchemaValidator
{
diff --git a/src/main/java/org/apache/maven/plugin/changes/schema/SchemaValidatorException.java b/src/main/java/org/apache/maven/plugins/changes/schema/SchemaValidatorException.java
similarity index 91%
rename from src/main/java/org/apache/maven/plugin/changes/schema/SchemaValidatorException.java
rename to src/main/java/org/apache/maven/plugins/changes/schema/SchemaValidatorException.java
index dfa528b..e96ece8 100644
--- a/src/main/java/org/apache/maven/plugin/changes/schema/SchemaValidatorException.java
+++ b/src/main/java/org/apache/maven/plugins/changes/schema/SchemaValidatorException.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes.schema;
+package org.apache.maven.plugins.changes.schema;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -34,8 +34,8 @@
private static final long serialVersionUID = -8265574906534248274L;
/**
- * @param message
- * @param cause
+ * @param message Message.
+ * @param cause Cause.
*/
public SchemaValidatorException( String message, Throwable cause )
{
diff --git a/src/main/java/org/apache/maven/plugin/changes/schema/XmlValidationHandler.java b/src/main/java/org/apache/maven/plugins/changes/schema/XmlValidationHandler.java
similarity index 96%
rename from src/main/java/org/apache/maven/plugin/changes/schema/XmlValidationHandler.java
rename to src/main/java/org/apache/maven/plugins/changes/schema/XmlValidationHandler.java
index 3378a21..bfcfa6c 100644
--- a/src/main/java/org/apache/maven/plugin/changes/schema/XmlValidationHandler.java
+++ b/src/main/java/org/apache/maven/plugins/changes/schema/XmlValidationHandler.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes.schema;
+package org.apache.maven.plugins.changes.schema;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -47,7 +47,7 @@
private boolean failOnValidationError;
/**
- * see name
+ * @param failOnValidationError If fail on validation error.
*/
public XmlValidationHandler( boolean failOnValidationError )
{
diff --git a/src/main/java/org/apache/maven/plugin/github/GitHubDownloader.java b/src/main/java/org/apache/maven/plugins/github/GitHubDownloader.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/github/GitHubDownloader.java
rename to src/main/java/org/apache/maven/plugins/github/GitHubDownloader.java
index ddf7dc6..a6d0dd4 100644
--- a/src/main/java/org/apache/maven/plugin/github/GitHubDownloader.java
+++ b/src/main/java/org/apache/maven/plugins/github/GitHubDownloader.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.github;
+package org.apache.maven.plugins.github;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,8 +19,8 @@
* under the License.
*/
-import org.apache.maven.plugin.issues.Issue;
import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.issues.Issue;
import org.apache.maven.project.MavenProject;
import org.apache.maven.settings.Server;
import org.apache.maven.settings.Settings;
diff --git a/src/main/java/org/apache/maven/plugin/github/GitHubIssueManagementSystem.java b/src/main/java/org/apache/maven/plugins/github/GitHubIssueManagementSystem.java
similarity index 89%
rename from src/main/java/org/apache/maven/plugin/github/GitHubIssueManagementSystem.java
rename to src/main/java/org/apache/maven/plugins/github/GitHubIssueManagementSystem.java
index 1ded82e..5c7e7cd 100644
--- a/src/main/java/org/apache/maven/plugin/github/GitHubIssueManagementSystem.java
+++ b/src/main/java/org/apache/maven/plugins/github/GitHubIssueManagementSystem.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.github;
+package org.apache.maven.plugins.github;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,8 +19,8 @@
* under the License.
*/
-import org.apache.maven.plugin.changes.IssueType;
-import org.apache.maven.plugin.issues.AbstractIssueManagementSystem;
+import org.apache.maven.plugins.changes.IssueType;
+import org.apache.maven.plugins.issues.AbstractIssueManagementSystem;
/**
* @since 2.8
diff --git a/src/main/java/org/apache/maven/plugin/github/GitHubMojo.java b/src/main/java/org/apache/maven/plugins/github/GitHubMojo.java
similarity index 95%
rename from src/main/java/org/apache/maven/plugin/github/GitHubMojo.java
rename to src/main/java/org/apache/maven/plugins/github/GitHubMojo.java
index ef947ad..7f4c89e 100644
--- a/src/main/java/org/apache/maven/plugin/github/GitHubMojo.java
+++ b/src/main/java/org/apache/maven/plugins/github/GitHubMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.github;
+package org.apache.maven.plugins.github;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -26,14 +26,14 @@
import java.util.Map;
import java.util.ResourceBundle;
-import org.apache.maven.plugin.changes.AbstractChangesReport;
-import org.apache.maven.plugin.changes.ProjectUtils;
-import org.apache.maven.plugin.issues.Issue;
-import org.apache.maven.plugin.issues.IssueUtils;
-import org.apache.maven.plugin.issues.IssuesReportGenerator;
-import org.apache.maven.plugin.issues.IssuesReportHelper;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.changes.AbstractChangesReport;
+import org.apache.maven.plugins.changes.ProjectUtils;
+import org.apache.maven.plugins.issues.Issue;
+import org.apache.maven.plugins.issues.IssueUtils;
+import org.apache.maven.plugins.issues.IssuesReportGenerator;
+import org.apache.maven.plugins.issues.IssuesReportHelper;
import org.apache.maven.reporting.MavenReportException;
import org.apache.maven.settings.Settings;
diff --git a/src/main/java/org/apache/maven/plugin/issues/AbstractIssueManagementSystem.java b/src/main/java/org/apache/maven/plugins/issues/AbstractIssueManagementSystem.java
similarity index 86%
rename from src/main/java/org/apache/maven/plugin/issues/AbstractIssueManagementSystem.java
rename to src/main/java/org/apache/maven/plugins/issues/AbstractIssueManagementSystem.java
index 669132a..05dbb58 100644
--- a/src/main/java/org/apache/maven/plugin/issues/AbstractIssueManagementSystem.java
+++ b/src/main/java/org/apache/maven/plugins/issues/AbstractIssueManagementSystem.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.issues;
+package org.apache.maven.plugins.issues;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -23,14 +23,14 @@
import java.util.Map;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.changes.IssueType;
+import org.apache.maven.plugins.changes.IssueType;
/**
* Historically, this plugin started out working against an IMS-neutral XML file, and then added extensive support for
* JIRA with some small snippets of code for other issue management systems. This class is intended to start a cleaner
* modularity for support of multiple systems.<br>
* Initially, all it provides is a structure for mapping from per-IMS issue types to the three categories defined in
- * {@link org.apache.maven.plugin.changes.IssueAdapter}. <br/>
+ * {@link org.apache.maven.plugins.changes.IssueAdapter}. <br>
* Note that the map in here is <strong>not</strong> immutable. It contains the default configuration for an IMS. Users
* are expected to add entries to the map via configuration to reflect their customizations.
*
@@ -48,7 +48,7 @@
/*
* (non-Javadoc)
- * @see org.apache.maven.plugin.issues.IssueManagementSystem#getIssueTypeMap()
+ * @see org.apache.maven.plugins.issues.IssueManagementSystem#getIssueTypeMap()
*/
public Map<String, IssueType> getIssueTypeMap()
{
@@ -57,13 +57,13 @@
/*
* (non-Javadoc)
- * @see org.apache.maven.plugin.issues.IssueManagementSystem#getName()
+ * @see org.apache.maven.plugins.issues.IssueManagementSystem#getName()
*/
public abstract String getName();
/*
* (non-Javadoc)
- * @see org.apache.maven.plugin.issues.IssueManagementSystem#applyConfiguration(java.util.Map)
+ * @see org.apache.maven.plugins.issues.IssueManagementSystem#applyConfiguration(java.util.Map)
*/
public void applyConfiguration( Map<String, String> issueTypes )
throws MojoExecutionException
diff --git a/src/main/java/org/apache/maven/plugin/issues/AbstractIssuesReportGenerator.java b/src/main/java/org/apache/maven/plugins/issues/AbstractIssuesReportGenerator.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/issues/AbstractIssuesReportGenerator.java
rename to src/main/java/org/apache/maven/plugins/issues/AbstractIssuesReportGenerator.java
index 58393b1..cc53b1d 100644
--- a/src/main/java/org/apache/maven/plugin/issues/AbstractIssuesReportGenerator.java
+++ b/src/main/java/org/apache/maven/plugins/issues/AbstractIssuesReportGenerator.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.issues;
+package org.apache.maven.plugins.issues;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/issues/Issue.java b/src/main/java/org/apache/maven/plugins/issues/Issue.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/issues/Issue.java
rename to src/main/java/org/apache/maven/plugins/issues/Issue.java
index 490c1fc..4e42175 100644
--- a/src/main/java/org/apache/maven/plugin/issues/Issue.java
+++ b/src/main/java/org/apache/maven/plugins/issues/Issue.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.issues;
+package org.apache.maven.plugins.issues;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/issues/IssueManagementSystem.java b/src/main/java/org/apache/maven/plugins/issues/IssueManagementSystem.java
similarity index 94%
rename from src/main/java/org/apache/maven/plugin/issues/IssueManagementSystem.java
rename to src/main/java/org/apache/maven/plugins/issues/IssueManagementSystem.java
index 5597e62..46a10a6 100644
--- a/src/main/java/org/apache/maven/plugin/issues/IssueManagementSystem.java
+++ b/src/main/java/org/apache/maven/plugins/issues/IssueManagementSystem.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.issues;
+package org.apache.maven.plugins.issues;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -22,11 +22,11 @@
import java.util.Map;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.changes.IssueType;
+import org.apache.maven.plugins.changes.IssueType;
/**
* An interface for issue management systems.
- * <p/>
+ * <p>
* The plan is to enhance this interface to allow communication with different issue management systems in a consistent
* way.
*
diff --git a/src/main/java/org/apache/maven/plugin/issues/IssueUtils.java b/src/main/java/org/apache/maven/plugins/issues/IssueUtils.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/issues/IssueUtils.java
rename to src/main/java/org/apache/maven/plugins/issues/IssueUtils.java
index bc18512..01d22b2 100644
--- a/src/main/java/org/apache/maven/plugin/issues/IssueUtils.java
+++ b/src/main/java/org/apache/maven/plugins/issues/IssueUtils.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.issues;
+package org.apache.maven.plugins.issues;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/issues/IssuesReportGenerator.java b/src/main/java/org/apache/maven/plugins/issues/IssuesReportGenerator.java
similarity index 99%
rename from src/main/java/org/apache/maven/plugin/issues/IssuesReportGenerator.java
rename to src/main/java/org/apache/maven/plugins/issues/IssuesReportGenerator.java
index 5cba012..579cead 100644
--- a/src/main/java/org/apache/maven/plugin/issues/IssuesReportGenerator.java
+++ b/src/main/java/org/apache/maven/plugins/issues/IssuesReportGenerator.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.issues;
+package org.apache.maven.plugins.issues;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/issues/IssuesReportHelper.java b/src/main/java/org/apache/maven/plugins/issues/IssuesReportHelper.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/issues/IssuesReportHelper.java
rename to src/main/java/org/apache/maven/plugins/issues/IssuesReportHelper.java
index a52c56b..11c171c 100644
--- a/src/main/java/org/apache/maven/plugin/issues/IssuesReportHelper.java
+++ b/src/main/java/org/apache/maven/plugins/issues/IssuesReportHelper.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.issues;
+package org.apache.maven.plugins.issues;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/jira/AbstractJiraDownloader.java b/src/main/java/org/apache/maven/plugins/jira/AbstractJiraDownloader.java
similarity index 95%
rename from src/main/java/org/apache/maven/plugin/jira/AbstractJiraDownloader.java
rename to src/main/java/org/apache/maven/plugins/jira/AbstractJiraDownloader.java
index eccd51b..0025051 100644
--- a/src/main/java/org/apache/maven/plugin/jira/AbstractJiraDownloader.java
+++ b/src/main/java/org/apache/maven/plugins/jira/AbstractJiraDownloader.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,13 +20,14 @@
*/
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.issues.Issue;
-import org.apache.maven.plugin.issues.IssueUtils;
import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.issues.Issue;
+import org.apache.maven.plugins.issues.IssueUtils;
import org.apache.maven.project.MavenProject;
import org.apache.maven.settings.Proxy;
import org.apache.maven.settings.Settings;
import org.apache.maven.wagon.proxy.ProxyInfo;
+import org.apache.maven.wagon.proxy.ProxyUtils;
import java.io.File;
import java.net.MalformedURLException;
@@ -180,11 +181,7 @@
jiraHost = url.getHost();
}
- // Validation of proxy method copied from org.apache.maven.wagon.proxy.ProxyUtils.
- // @todo Can use original when maven-changes-plugin requires a more recent version of Maven
-
- // if ( ProxyUtils.validateNonProxyHosts( proxyInfo, jiraHost ) )
- if ( JiraHelper.validateNonProxyHosts( proxyInfo, jiraHost ) )
+ if ( ProxyUtils.validateNonProxyHosts( proxyInfo, jiraHost ) )
{
return;
}
diff --git a/src/main/java/org/apache/maven/plugin/jira/AdaptiveJiraDownloader.java b/src/main/java/org/apache/maven/plugins/jira/AdaptiveJiraDownloader.java
similarity index 97%
rename from src/main/java/org/apache/maven/plugin/jira/AdaptiveJiraDownloader.java
rename to src/main/java/org/apache/maven/plugins/jira/AdaptiveJiraDownloader.java
index 0587afe..64b099d 100644
--- a/src/main/java/org/apache/maven/plugin/jira/AdaptiveJiraDownloader.java
+++ b/src/main/java/org/apache/maven/plugins/jira/AdaptiveJiraDownloader.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,7 +20,7 @@
*/
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.issues.Issue;
+import org.apache.maven.plugins.issues.Issue;
import java.util.List;
diff --git a/src/main/java/org/apache/maven/plugin/jira/ClassicJiraDownloader.java b/src/main/java/org/apache/maven/plugins/jira/ClassicJiraDownloader.java
similarity index 99%
rename from src/main/java/org/apache/maven/plugin/jira/ClassicJiraDownloader.java
rename to src/main/java/org/apache/maven/plugins/jira/ClassicJiraDownloader.java
index 809ba51..596edfd 100644
--- a/src/main/java/org/apache/maven/plugin/jira/ClassicJiraDownloader.java
+++ b/src/main/java/org/apache/maven/plugins/jira/ClassicJiraDownloader.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -33,7 +33,7 @@
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.issues.Issue;
+import org.apache.maven.plugins.issues.Issue;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
diff --git a/src/main/java/org/apache/maven/plugin/jira/JIRAIssueManagmentSystem.java b/src/main/java/org/apache/maven/plugins/jira/JIRAIssueManagmentSystem.java
similarity index 90%
rename from src/main/java/org/apache/maven/plugin/jira/JIRAIssueManagmentSystem.java
rename to src/main/java/org/apache/maven/plugins/jira/JIRAIssueManagmentSystem.java
index 4f9e16d..b4ef21d 100644
--- a/src/main/java/org/apache/maven/plugin/jira/JIRAIssueManagmentSystem.java
+++ b/src/main/java/org/apache/maven/plugins/jira/JIRAIssueManagmentSystem.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,8 +19,8 @@
* under the License.
*/
-import org.apache.maven.plugin.changes.IssueType;
-import org.apache.maven.plugin.issues.AbstractIssueManagementSystem;
+import org.apache.maven.plugins.changes.IssueType;
+import org.apache.maven.plugins.issues.AbstractIssueManagementSystem;
/**
* The JIRA issue management system.
diff --git a/src/main/java/org/apache/maven/plugin/jira/JiraHelper.java b/src/main/java/org/apache/maven/plugins/jira/JiraHelper.java
similarity index 81%
rename from src/main/java/org/apache/maven/plugin/jira/JiraHelper.java
rename to src/main/java/org/apache/maven/plugins/jira/JiraHelper.java
index 1a2e9a6..9f97eae 100644
--- a/src/main/java/org/apache/maven/plugin/jira/JiraHelper.java
+++ b/src/main/java/org/apache/maven/plugins/jira/JiraHelper.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -23,12 +23,10 @@
import java.text.ParsePosition;
import java.util.HashMap;
import java.util.Map;
-import java.util.StringTokenizer;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.wagon.proxy.ProxyInfo;
/**
* A helper class with common JIRA related functionality.
@@ -144,47 +142,6 @@
return jiraId;
}
- /**
- * Check if the specified host is in the list of non proxy hosts.
- * <p/>
- * Method copied from org.apache.maven.wagon.proxy.ProxyUtils. Can be deleted when maven-changes-plugin references a
- * more recent version of maven-project
- *
- * @param proxy the proxy info object contains set of properties.
- * @param targetHost the target hostname
- * @return true if the hostname is in the list of non proxy hosts, false otherwise.
- */
- public static boolean validateNonProxyHosts( ProxyInfo proxy, String targetHost )
- {
- String tHost = targetHost;
- if ( tHost == null )
- {
- tHost = "";
- }
- if ( proxy == null )
- {
- return false;
- }
- String nonProxyHosts = proxy.getNonProxyHosts();
- if ( nonProxyHosts == null )
- {
- return false;
- }
-
- StringTokenizer tokenizer = new StringTokenizer( nonProxyHosts, "|" );
-
- while ( tokenizer.hasMoreTokens() )
- {
- String pattern = tokenizer.nextToken();
- pattern = pattern.replaceAll( "\\.", "\\\\." ).replaceAll( "\\*", ".*" );
- if ( tHost.matches( pattern ) )
- {
- return true;
- }
- }
- return false;
- }
-
private JiraHelper()
{
// utility class
@@ -237,6 +194,8 @@
}
/**
+ * @param url URL.
+ * @return the base URL.
* @since 2.8
*/
public static String getBaseUrl( String url )
diff --git a/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java b/src/main/java/org/apache/maven/plugins/jira/JiraMojo.java
similarity index 97%
rename from src/main/java/org/apache/maven/plugin/jira/JiraMojo.java
rename to src/main/java/org/apache/maven/plugins/jira/JiraMojo.java
index 4b02740..4777ee2 100644
--- a/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java
+++ b/src/main/java/org/apache/maven/plugins/jira/JiraMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -27,14 +27,14 @@
import java.util.ResourceBundle;
import org.apache.commons.lang.StringUtils;
-import org.apache.maven.plugin.changes.AbstractChangesReport;
-import org.apache.maven.plugin.changes.ProjectUtils;
-import org.apache.maven.plugin.issues.Issue;
-import org.apache.maven.plugin.issues.IssueUtils;
-import org.apache.maven.plugin.issues.IssuesReportGenerator;
-import org.apache.maven.plugin.issues.IssuesReportHelper;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.changes.AbstractChangesReport;
+import org.apache.maven.plugins.changes.ProjectUtils;
+import org.apache.maven.plugins.issues.Issue;
+import org.apache.maven.plugins.issues.IssueUtils;
+import org.apache.maven.plugins.issues.IssuesReportGenerator;
+import org.apache.maven.plugins.issues.IssuesReportHelper;
import org.apache.maven.reporting.MavenReportException;
import org.apache.maven.settings.Settings;
diff --git a/src/main/java/org/apache/maven/plugin/jira/JiraQueryBuilder.java b/src/main/java/org/apache/maven/plugins/jira/JiraQueryBuilder.java
similarity index 97%
rename from src/main/java/org/apache/maven/plugin/jira/JiraQueryBuilder.java
rename to src/main/java/org/apache/maven/plugins/jira/JiraQueryBuilder.java
index 264d09e..dbe1e5d 100644
--- a/src/main/java/org/apache/maven/plugin/jira/JiraQueryBuilder.java
+++ b/src/main/java/org/apache/maven/plugins/jira/JiraQueryBuilder.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/jira/JiraXML.java b/src/main/java/org/apache/maven/plugins/jira/JiraXML.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/jira/JiraXML.java
rename to src/main/java/org/apache/maven/plugins/jira/JiraXML.java
index 93d9e6b..1bb2e22 100644
--- a/src/main/java/org/apache/maven/plugin/jira/JiraXML.java
+++ b/src/main/java/org/apache/maven/plugins/jira/JiraXML.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -34,8 +34,8 @@
import javax.xml.parsers.SAXParserFactory;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.issues.Issue;
import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.issues.Issue;
import org.codehaus.plexus.util.IOUtil;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
@@ -94,7 +94,7 @@
* Parse the given xml file. The list of issues can then be retrieved with {@link #getIssueList()}.
*
* @param xmlPath the file to pares.
- * @throws MojoExecutionException
+ * @throws MojoExecutionException in case of errors.
* @since 2.4
*/
public void parseXML( File xmlPath )
diff --git a/src/main/java/org/apache/maven/plugin/jira/JqlQueryBuilder.java b/src/main/java/org/apache/maven/plugins/jira/JqlQueryBuilder.java
similarity index 98%
rename from src/main/java/org/apache/maven/plugin/jira/JqlQueryBuilder.java
rename to src/main/java/org/apache/maven/plugins/jira/JqlQueryBuilder.java
index b257d28..d607d6c 100644
--- a/src/main/java/org/apache/maven/plugin/jira/JqlQueryBuilder.java
+++ b/src/main/java/org/apache/maven/plugins/jira/JqlQueryBuilder.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -111,7 +111,7 @@
* with a JQL query that is valid, but returns nothing. Unless they both only reference the same fixVersion
*
* @param fixVersion a single fix version
- * @return
+ * @return the builder.
*/
public JiraQueryBuilder fixVersion( String fixVersion )
{
@@ -124,7 +124,7 @@
* with a JQL query that is valid, but returns nothing. Unless they both only reference the same fixVersion
*
* @param fixVersionIds a comma-separated list of version ids.
- * @return
+ * @return the builder.
*/
public JiraQueryBuilder fixVersionIds( String fixVersionIds )
{
@@ -136,7 +136,7 @@
* Add a sequence of version IDs already in a list.
*
* @param fixVersionIds the version ids.
- * @return
+ * @return the builder.
*/
public JiraQueryBuilder fixVersionIds( List<String> fixVersionIds )
{
diff --git a/src/main/java/org/apache/maven/plugin/jira/ParameterQueryBuilder.java b/src/main/java/org/apache/maven/plugins/jira/ParameterQueryBuilder.java
similarity index 99%
rename from src/main/java/org/apache/maven/plugin/jira/ParameterQueryBuilder.java
rename to src/main/java/org/apache/maven/plugins/jira/ParameterQueryBuilder.java
index 666a7e0..074d449 100644
--- a/src/main/java/org/apache/maven/plugin/jira/ParameterQueryBuilder.java
+++ b/src/main/java/org/apache/maven/plugins/jira/ParameterQueryBuilder.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/jira/RestJiraDownloader.java b/src/main/java/org/apache/maven/plugins/jira/RestJiraDownloader.java
similarity index 85%
rename from src/main/java/org/apache/maven/plugin/jira/RestJiraDownloader.java
rename to src/main/java/org/apache/maven/plugins/jira/RestJiraDownloader.java
index 08f4bb5..bfe3dd3 100644
--- a/src/main/java/org/apache/maven/plugin/jira/RestJiraDownloader.java
+++ b/src/main/java/org/apache/maven/plugins/jira/RestJiraDownloader.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -36,7 +36,7 @@
import org.apache.cxf.transports.http.configuration.ProxyServerType;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.issues.Issue;
+import org.apache.maven.plugins.issues.Issue;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
@@ -84,6 +84,8 @@
public static class NoRest
extends Exception
{
+ private static final long serialVersionUID = 6970088805270319624L;
+
public NoRest()
{
// blank on purpose.
@@ -116,65 +118,55 @@
String jiraUrl = urlMap.get( "url" );
jiraProject = urlMap.get( "project" );
- // This classloader juggling is a workaround for a classic Maven 2 class loader management bug.
- ClassLoader ccl = Thread.currentThread().getContextClassLoader();
- try
+ WebClient client = setupWebClient( jiraUrl );
+
+ // We use version 2 of the REST API, that first appeared in JIRA 5
+ // Check if version 2 of the REST API is supported
+ // http://docs.atlassian.com/jira/REST/5.0/
+ // Note that serverInfo can always be accessed without authentication
+ client.replacePath( "/rest/api/2/serverInfo" );
+ client.accept( MediaType.APPLICATION_JSON );
+ Response siResponse = client.get();
+ if ( siResponse.getStatus() != Response.Status.OK.getStatusCode() )
{
- Thread.currentThread().setContextClassLoader( WebClient.class.getClassLoader() );
- WebClient client = setupWebClient( jiraUrl );
-
- // We use version 2 of the REST API, that first appeared in JIRA 5
- // Check if version 2 of the REST API is supported
- // http://docs.atlassian.com/jira/REST/5.0/
- // Note that serverInfo can always be accessed without authentication
- client.replacePath( "/rest/api/2/serverInfo" );
- client.accept( MediaType.APPLICATION_JSON );
- Response siResponse = client.get();
- if ( siResponse.getStatus() != Response.Status.OK.getStatusCode() )
- {
- throw new NoRest( "This JIRA server does not support version 2 of the REST API, "
- + "which maven-changes-plugin requires." );
- }
-
- doSessionAuth( client );
-
- resolveIds( client, jiraProject );
-
- // CHECKSTYLE_OFF: LineLength
- String jqlQuery =
- new JqlQueryBuilder( log ).urlEncode( false ).project( jiraProject ).fixVersion( getFixFor() ).fixVersionIds( resolvedFixVersionIds ).statusIds( resolvedStatusIds ).priorityIds( resolvedPriorityIds ).resolutionIds( resolvedResolutionIds ).components( resolvedComponentIds ).typeIds( resolvedTypeIds ).sortColumnNames( sortColumnNames ).filter( filter ).build();
- // CHECKSTYLE_ON: LineLength
-
- StringWriter searchParamStringWriter = new StringWriter();
- JsonGenerator gen = jsonFactory.createGenerator( searchParamStringWriter );
- gen.writeStartObject();
- gen.writeStringField( "jql", jqlQuery );
- gen.writeNumberField( "maxResults", nbEntriesMax );
- gen.writeArrayFieldStart( "fields" );
- // Retrieve all fields. If that seems slow, we can reconsider.
- gen.writeString( "*all" );
- gen.writeEndArray();
- gen.writeEndObject();
- gen.close();
- client.replacePath( "/rest/api/2/search" );
- client.type( MediaType.APPLICATION_JSON_TYPE );
- client.accept( MediaType.APPLICATION_JSON_TYPE );
- Response searchResponse = client.post( searchParamStringWriter.toString() );
- if ( searchResponse.getStatus() != Response.Status.OK.getStatusCode() )
- {
- reportErrors( searchResponse );
- }
-
- JsonNode issueTree = getResponseTree( searchResponse );
- assert issueTree.isObject();
- JsonNode issuesNode = issueTree.get( "issues" );
- assert issuesNode.isArray();
- buildIssues( issuesNode, jiraUrl, jiraProject );
+ throw new NoRest( "This JIRA server does not support version 2 of the REST API, "
+ + "which maven-changes-plugin requires." );
}
- finally
+
+ doSessionAuth( client );
+
+ resolveIds( client, jiraProject );
+
+ // CHECKSTYLE_OFF: LineLength
+ String jqlQuery =
+ new JqlQueryBuilder( log ).urlEncode( false ).project( jiraProject ).fixVersion( getFixFor() ).fixVersionIds( resolvedFixVersionIds ).statusIds( resolvedStatusIds ).priorityIds( resolvedPriorityIds ).resolutionIds( resolvedResolutionIds ).components( resolvedComponentIds ).typeIds( resolvedTypeIds ).sortColumnNames( sortColumnNames ).filter( filter ).build();
+ // CHECKSTYLE_ON: LineLength
+
+ StringWriter searchParamStringWriter = new StringWriter();
+ JsonGenerator gen = jsonFactory.createGenerator( searchParamStringWriter );
+ gen.writeStartObject();
+ gen.writeStringField( "jql", jqlQuery );
+ gen.writeNumberField( "maxResults", nbEntriesMax );
+ gen.writeArrayFieldStart( "fields" );
+ // Retrieve all fields. If that seems slow, we can reconsider.
+ gen.writeString( "*all" );
+ gen.writeEndArray();
+ gen.writeEndObject();
+ gen.close();
+ client.replacePath( "/rest/api/2/search" );
+ client.type( MediaType.APPLICATION_JSON_TYPE );
+ client.accept( MediaType.APPLICATION_JSON_TYPE );
+ Response searchResponse = client.post( searchParamStringWriter.toString() );
+ if ( searchResponse.getStatus() != Response.Status.OK.getStatusCode() )
{
- Thread.currentThread().setContextClassLoader( ccl );
+ reportErrors( searchResponse );
}
+
+ JsonNode issueTree = getResponseTree( searchResponse );
+ assert issueTree.isObject();
+ JsonNode issuesNode = issueTree.get( "issues" );
+ assert issuesNode.isArray();
+ buildIssues( issuesNode, jiraUrl, jiraProject );
}
private JsonNode getResponseTree( Response response )
diff --git a/src/main/java/org/apache/maven/plugin/jira/UrlBuilder.java b/src/main/java/org/apache/maven/plugins/jira/UrlBuilder.java
similarity index 97%
rename from src/main/java/org/apache/maven/plugin/jira/UrlBuilder.java
rename to src/main/java/org/apache/maven/plugins/jira/UrlBuilder.java
index a1681dd..90e63b5 100644
--- a/src/main/java/org/apache/maven/plugin/jira/UrlBuilder.java
+++ b/src/main/java/org/apache/maven/plugins/jira/UrlBuilder.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/resource/loader/ProjectResourceLoader.java b/src/main/java/org/apache/maven/plugins/resource/loader/ProjectResourceLoader.java
similarity index 99%
rename from src/main/java/org/apache/maven/plugin/resource/loader/ProjectResourceLoader.java
rename to src/main/java/org/apache/maven/plugins/resource/loader/ProjectResourceLoader.java
index 47583ec..1f4bc60 100644
--- a/src/main/java/org/apache/maven/plugin/resource/loader/ProjectResourceLoader.java
+++ b/src/main/java/org/apache/maven/plugins/resource/loader/ProjectResourceLoader.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.resource.loader;
+package org.apache.maven.plugins.resource.loader;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/main/java/org/apache/maven/plugin/trac/TracDownloader.java b/src/main/java/org/apache/maven/plugins/trac/TracDownloader.java
similarity index 87%
rename from src/main/java/org/apache/maven/plugin/trac/TracDownloader.java
rename to src/main/java/org/apache/maven/plugins/trac/TracDownloader.java
index a23662d..c32ebae 100644
--- a/src/main/java/org/apache/maven/plugin/trac/TracDownloader.java
+++ b/src/main/java/org/apache/maven/plugins/trac/TracDownloader.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.trac;
+package org.apache.maven.plugins.trac;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,7 +19,7 @@
* under the License.
*/
-import org.apache.maven.plugin.issues.Issue;
+import org.apache.maven.plugins.issues.Issue;
import org.apache.maven.project.MavenProject;
import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.client.XmlRpcClient;
@@ -73,25 +73,26 @@
issue.setUpdated( parseDate( String.valueOf( ticketObj[2] ) ) );
- Map attributes = (Map) ticketObj[3];
+ @SuppressWarnings( "unchecked" )
+ Map<String, String> attributes = (Map<String, String>) ticketObj[3];
- issue.setType( (String) attributes.get( "type" ) );
+ issue.setType( attributes.get( "type" ) );
- issue.setSummary( (String) attributes.get( "summary" ) );
+ issue.setSummary( attributes.get( "summary" ) );
- issue.setStatus( (String) attributes.get( "status" ) );
+ issue.setStatus( attributes.get( "status" ) );
- issue.setResolution( (String) attributes.get( "resolution" ) );
+ issue.setResolution( attributes.get( "resolution" ) );
- issue.setAssignee( (String) attributes.get( "owner" ) );
+ issue.setAssignee( attributes.get( "owner" ) );
- issue.addFixVersion( (String) attributes.get( "milestone" ) );
+ issue.addFixVersion( attributes.get( "milestone" ) );
- issue.setPriority( (String) attributes.get( "priority" ) );
+ issue.setPriority( attributes.get( "priority" ) );
- issue.setReporter( (String) attributes.get( "reporter" ) );
+ issue.setReporter( attributes.get( "reporter" ) );
- issue.addComponent( (String) attributes.get( "component" ) );
+ issue.addComponent( attributes.get( "component" ) );
return issue;
}
diff --git a/src/main/java/org/apache/maven/plugin/trac/TracIssueManagmentSystem.java b/src/main/java/org/apache/maven/plugins/trac/TracIssueManagmentSystem.java
similarity index 90%
rename from src/main/java/org/apache/maven/plugin/trac/TracIssueManagmentSystem.java
rename to src/main/java/org/apache/maven/plugins/trac/TracIssueManagmentSystem.java
index 59c8fc4..3febc29 100644
--- a/src/main/java/org/apache/maven/plugin/trac/TracIssueManagmentSystem.java
+++ b/src/main/java/org/apache/maven/plugins/trac/TracIssueManagmentSystem.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.trac;
+package org.apache.maven.plugins.trac;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,8 +19,8 @@
* under the License.
*/
-import org.apache.maven.plugin.changes.IssueType;
-import org.apache.maven.plugin.issues.AbstractIssueManagementSystem;
+import org.apache.maven.plugins.changes.IssueType;
+import org.apache.maven.plugins.issues.AbstractIssueManagementSystem;
/**
* The Trac issue management system.
diff --git a/src/main/java/org/apache/maven/plugin/trac/TracMojo.java b/src/main/java/org/apache/maven/plugins/trac/TracMojo.java
similarity index 92%
rename from src/main/java/org/apache/maven/plugin/trac/TracMojo.java
rename to src/main/java/org/apache/maven/plugins/trac/TracMojo.java
index 2813a71..48dac11 100644
--- a/src/main/java/org/apache/maven/plugin/trac/TracMojo.java
+++ b/src/main/java/org/apache/maven/plugins/trac/TracMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.trac;
+package org.apache.maven.plugins.trac;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -26,13 +26,13 @@
import java.util.Map;
import java.util.ResourceBundle;
-import org.apache.maven.plugin.changes.AbstractChangesReport;
-import org.apache.maven.plugin.changes.ProjectUtils;
-import org.apache.maven.plugin.issues.Issue;
-import org.apache.maven.plugin.issues.IssuesReportGenerator;
-import org.apache.maven.plugin.issues.IssuesReportHelper;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.changes.AbstractChangesReport;
+import org.apache.maven.plugins.changes.ProjectUtils;
+import org.apache.maven.plugins.issues.Issue;
+import org.apache.maven.plugins.issues.IssuesReportGenerator;
+import org.apache.maven.plugins.issues.IssuesReportHelper;
import org.apache.maven.reporting.MavenReportException;
import org.apache.xmlrpc.XmlRpcException;
@@ -50,14 +50,12 @@
/**
* Deprecated Trac columns.
*/
- @SuppressWarnings( "checkstyle:staticvariablename" )
- private static Map<String, Integer> DEPRECATED_TRAC_COLUMNS = new HashMap<String, Integer>();
+ private static final Map<String, Integer> DEPRECATED_TRAC_COLUMNS = new HashMap<String, Integer>();
/**
* Valid Trac columns.
*/
- @SuppressWarnings( "checkstyle:staticvariablename" )
- private static Map<String, Integer> TRAC_COLUMNS = new HashMap<String, Integer>();
+ private static final Map<String, Integer> TRAC_COLUMNS = new HashMap<String, Integer>();
static
{
diff --git a/src/main/resources/META-INF/plexus/components.xml b/src/main/resources/META-INF/plexus/components.xml
index 5b08948..3c7408c 100644
--- a/src/main/resources/META-INF/plexus/components.xml
+++ b/src/main/resources/META-INF/plexus/components.xml
@@ -35,7 +35,7 @@
</property>
<property>
<name>file.resource.loader.class</name>
- <value>org.apache.maven.plugin.resource.loader.ProjectResourceLoader</value>
+ <value>org.apache.maven.plugins.resource.loader.ProjectResourceLoader</value>
</property>
</properties>
</configuration>
diff --git a/src/main/resources/org/apache/maven/plugin/announcement/announcement.vm b/src/main/resources/org/apache/maven/plugins/announcement/announcement.vm
similarity index 100%
rename from src/main/resources/org/apache/maven/plugin/announcement/announcement.vm
rename to src/main/resources/org/apache/maven/plugins/announcement/announcement.vm
diff --git a/src/main/resources/org/apache/maven/plugin/changes/images/add.gif b/src/main/resources/org/apache/maven/plugins/changes/images/add.gif
similarity index 100%
rename from src/main/resources/org/apache/maven/plugin/changes/images/add.gif
rename to src/main/resources/org/apache/maven/plugins/changes/images/add.gif
Binary files differ
diff --git a/src/main/resources/org/apache/maven/plugin/changes/images/fix.gif b/src/main/resources/org/apache/maven/plugins/changes/images/fix.gif
similarity index 100%
rename from src/main/resources/org/apache/maven/plugin/changes/images/fix.gif
rename to src/main/resources/org/apache/maven/plugins/changes/images/fix.gif
Binary files differ
diff --git a/src/main/resources/org/apache/maven/plugin/changes/images/icon_help_sml.gif b/src/main/resources/org/apache/maven/plugins/changes/images/icon_help_sml.gif
similarity index 100%
rename from src/main/resources/org/apache/maven/plugin/changes/images/icon_help_sml.gif
rename to src/main/resources/org/apache/maven/plugins/changes/images/icon_help_sml.gif
Binary files differ
diff --git a/src/main/resources/org/apache/maven/plugin/changes/images/remove.gif b/src/main/resources/org/apache/maven/plugins/changes/images/remove.gif
similarity index 100%
rename from src/main/resources/org/apache/maven/plugin/changes/images/remove.gif
rename to src/main/resources/org/apache/maven/plugins/changes/images/remove.gif
Binary files differ
diff --git a/src/main/resources/org/apache/maven/plugin/changes/images/rss.png b/src/main/resources/org/apache/maven/plugins/changes/images/rss.png
similarity index 100%
rename from src/main/resources/org/apache/maven/plugin/changes/images/rss.png
rename to src/main/resources/org/apache/maven/plugins/changes/images/rss.png
Binary files differ
diff --git a/src/main/resources/org/apache/maven/plugin/changes/images/update.gif b/src/main/resources/org/apache/maven/plugins/changes/images/update.gif
similarity index 100%
rename from src/main/resources/org/apache/maven/plugin/changes/images/update.gif
rename to src/main/resources/org/apache/maven/plugins/changes/images/update.gif
Binary files differ
diff --git a/src/site/apt/examples/include-announcement-file.apt.vm b/src/site/apt/examples/include-announcement-file.apt.vm
index c3402e6..ed98d52 100644
--- a/src/site/apt/examples/include-announcement-file.apt.vm
+++ b/src/site/apt/examples/include-announcement-file.apt.vm
@@ -57,7 +57,7 @@
</goals>
<configuration>
<announcementFile>CHANGES.txt</announcementFile>
- <outputDirectory>\${project.build.outputDirectory}/META-INF</outputDirectory>
+ <announcementDirectory>\${project.build.outputDirectory}/META-INF</announcementDirectory>
</configuration>
</execution>
</executions>
diff --git a/src/site/apt/examples/using-a-custom-announcement-template.apt.vm b/src/site/apt/examples/using-a-custom-announcement-template.apt.vm
index e249663..d632395 100644
--- a/src/site/apt/examples/using-a-custom-announcement-template.apt.vm
+++ b/src/site/apt/examples/using-a-custom-announcement-template.apt.vm
@@ -68,7 +68,7 @@
Next you want to create your own template. A wise thing is to start with the
default one that is included in the plugin. You can download it from
Subversion
- {{{http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-changes-plugin/src/main/resources/org/apache/maven/plugin/announcement/announcement.vm}here}}.
+ {{{http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-changes-plugin/src/main/resources/org/apache/maven/plugins/announcement/announcement.vm}here}}.
It will provide you with examples on how to iterate over the actions of a
release among other things.
diff --git a/src/test/java/org/apache/maven/plugin/announcement/AnnouncementMojoTest.java b/src/test/java/org/apache/maven/plugins/announcement/AnnouncementMojoTest.java
similarity index 95%
rename from src/test/java/org/apache/maven/plugin/announcement/AnnouncementMojoTest.java
rename to src/test/java/org/apache/maven/plugins/announcement/AnnouncementMojoTest.java
index a6d16e6..8dedfc6 100644
--- a/src/test/java/org/apache/maven/plugin/announcement/AnnouncementMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/announcement/AnnouncementMojoTest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.announcement;
+package org.apache.maven.plugins.announcement;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -22,6 +22,7 @@
import java.io.File;
import java.io.FileReader;
+import org.apache.maven.plugins.announcement.AnnouncementMojo;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
@@ -57,7 +58,7 @@
setVariableValueToObject( mojo, "version", "1.1" );
setVariableValueToObject( mojo, "template", "announcement.vm" );
setVariableValueToObject( mojo, "templateDirectory",
- "/src/main/resources/org/apache/maven/plugin/announcement/" );
+ "/src/main/resources/org/apache/maven/plugins/announcement/" );
setVariableValueToObject( mojo, "basedir", getBasedir() );
setVariableValueToObject( mojo, "introduction", "Nice library" );
mojo.execute();
diff --git a/src/test/java/org/apache/maven/plugin/changes/ActionTest.java b/src/test/java/org/apache/maven/plugins/changes/ActionTest.java
similarity index 97%
rename from src/test/java/org/apache/maven/plugin/changes/ActionTest.java
rename to src/test/java/org/apache/maven/plugins/changes/ActionTest.java
index b731c62..e622cde 100644
--- a/src/test/java/org/apache/maven/plugin/changes/ActionTest.java
+++ b/src/test/java/org/apache/maven/plugins/changes/ActionTest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/test/java/org/apache/maven/plugin/changes/ChangesCheckMojoTestCase.java b/src/test/java/org/apache/maven/plugins/changes/ChangesCheckMojoTestCase.java
similarity index 97%
rename from src/test/java/org/apache/maven/plugin/changes/ChangesCheckMojoTestCase.java
rename to src/test/java/org/apache/maven/plugins/changes/ChangesCheckMojoTestCase.java
index b0ec627..204a5c8 100644
--- a/src/test/java/org/apache/maven/plugin/changes/ChangesCheckMojoTestCase.java
+++ b/src/test/java/org/apache/maven/plugins/changes/ChangesCheckMojoTestCase.java
@@ -1,4 +1,6 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
+
+import org.apache.maven.plugins.changes.ChangesCheckMojo;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/test/java/org/apache/maven/plugin/changes/ChangesValidatorMojoTest.java b/src/test/java/org/apache/maven/plugins/changes/ChangesValidatorMojoTest.java
similarity index 96%
rename from src/test/java/org/apache/maven/plugin/changes/ChangesValidatorMojoTest.java
rename to src/test/java/org/apache/maven/plugins/changes/ChangesValidatorMojoTest.java
index 252f57a..9f6cb3d 100644
--- a/src/test/java/org/apache/maven/plugin/changes/ChangesValidatorMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/changes/ChangesValidatorMojoTest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -22,6 +22,7 @@
import java.io.File;
import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.changes.ChangesValidatorMojo;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
/**
diff --git a/src/test/java/org/apache/maven/plugin/changes/ChangesXMLTest.java b/src/test/java/org/apache/maven/plugins/changes/ChangesXMLTest.java
similarity index 93%
rename from src/test/java/org/apache/maven/plugin/changes/ChangesXMLTest.java
rename to src/test/java/org/apache/maven/plugins/changes/ChangesXMLTest.java
index eb3ce5a..2807023 100644
--- a/src/test/java/org/apache/maven/plugin/changes/ChangesXMLTest.java
+++ b/src/test/java/org/apache/maven/plugins/changes/ChangesXMLTest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,6 +20,8 @@
*/
import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.changes.ChangesXML;
+import org.apache.maven.plugins.changes.ChangesXMLRuntimeException;
import org.apache.maven.plugins.changes.model.Action;
import org.apache.maven.plugins.changes.model.Release;
import org.codehaus.plexus.PlexusTestCase;
@@ -138,11 +140,10 @@
assertNotNull( changesXML.getChangesDocument() );
assertEquals( "Changes report Project", changesXML.getTitle() );
- List releases = changesXML.getReleaseList();
+ List<Release> releases = changesXML.getReleaseList();
assertEquals( 2, releases.size() );
- for ( Object release1 : releases )
+ for ( Release release : releases )
{
- Release release = (Release) release1;
if ( "1.0".equals( release.getVersion() ) )
{
Action action = release.getActions().get( 0 );
@@ -160,7 +161,7 @@
try
{
- ChangesXML changesXML = new ChangesXML( changesFile, new MockLog() );
+ new ChangesXML( changesFile, new MockLog() );
fail( "Should have thrown a ChangesXMLRuntimeException due to the invalid changes.xml file" );
}
catch ( ChangesXMLRuntimeException e )
diff --git a/src/test/java/org/apache/maven/plugin/changes/FeedGeneratorTest.java b/src/test/java/org/apache/maven/plugins/changes/FeedGeneratorTest.java
similarity index 97%
rename from src/test/java/org/apache/maven/plugin/changes/FeedGeneratorTest.java
rename to src/test/java/org/apache/maven/plugins/changes/FeedGeneratorTest.java
index 19be34b..a700a4f 100644
--- a/src/test/java/org/apache/maven/plugin/changes/FeedGeneratorTest.java
+++ b/src/test/java/org/apache/maven/plugins/changes/FeedGeneratorTest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -29,6 +29,7 @@
import junit.framework.TestCase;
+import org.apache.maven.plugins.changes.FeedGenerator;
import org.apache.maven.plugins.changes.model.Release;
/**
diff --git a/src/test/java/org/apache/maven/plugin/changes/IssueAdapterTest.java b/src/test/java/org/apache/maven/plugins/changes/IssueAdapterTest.java
similarity index 91%
rename from src/test/java/org/apache/maven/plugin/changes/IssueAdapterTest.java
rename to src/test/java/org/apache/maven/plugins/changes/IssueAdapterTest.java
index c224769..4b5aee2 100644
--- a/src/test/java/org/apache/maven/plugin/changes/IssueAdapterTest.java
+++ b/src/test/java/org/apache/maven/plugins/changes/IssueAdapterTest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -9,7 +9,7 @@
* "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
+ * 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
@@ -19,10 +19,12 @@
* under the License.
*/
-import org.apache.maven.plugin.issues.Issue;
-import org.apache.maven.plugin.issues.IssueManagementSystem;
-import org.apache.maven.plugin.jira.JIRAIssueManagmentSystem;
+import org.apache.maven.plugins.changes.IssueAdapter;
+import org.apache.maven.plugins.changes.IssueType;
import org.apache.maven.plugins.changes.model.Action;
+import org.apache.maven.plugins.issues.Issue;
+import org.apache.maven.plugins.issues.IssueManagementSystem;
+import org.apache.maven.plugins.jira.JIRAIssueManagmentSystem;
import junit.framework.TestCase;
diff --git a/src/test/java/org/apache/maven/plugin/changes/ReleaseTest.java b/src/test/java/org/apache/maven/plugins/changes/ReleaseTest.java
similarity index 92%
rename from src/test/java/org/apache/maven/plugin/changes/ReleaseTest.java
rename to src/test/java/org/apache/maven/plugins/changes/ReleaseTest.java
index 7f40906..ec07095 100644
--- a/src/test/java/org/apache/maven/plugin/changes/ReleaseTest.java
+++ b/src/test/java/org/apache/maven/plugins/changes/ReleaseTest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -26,6 +26,7 @@
import junit.framework.TestCase;
import junit.framework.TestSuite;
+import org.apache.maven.plugins.changes.model.Action;
import org.apache.maven.plugins.changes.model.Release;
public class ReleaseTest
@@ -71,7 +72,7 @@
public void testGetSetAction()
{
- List actionList = new ArrayList();
+ List<Action> actionList = new ArrayList<Action>();
release.setActions( actionList );
diff --git a/src/test/java/org/apache/maven/plugin/changes/ReleaseUtilsTestCase.java b/src/test/java/org/apache/maven/plugins/changes/ReleaseUtilsTestCase.java
similarity index 96%
rename from src/test/java/org/apache/maven/plugin/changes/ReleaseUtilsTestCase.java
rename to src/test/java/org/apache/maven/plugins/changes/ReleaseUtilsTestCase.java
index f2f673d..39b470d 100644
--- a/src/test/java/org/apache/maven/plugin/changes/ReleaseUtilsTestCase.java
+++ b/src/test/java/org/apache/maven/plugins/changes/ReleaseUtilsTestCase.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.changes;
+package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -24,8 +24,9 @@
import junit.framework.TestCase;
import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.plugin.testing.SilentLog;
+import org.apache.maven.plugins.changes.ReleaseUtils;
import org.apache.maven.plugins.changes.model.Release;
+import org.apache.maven.plugin.testing.SilentLog;
/**
* @author Dennis Lundberg
diff --git a/src/test/java/org/apache/maven/plugin/github/GitHubDownloaderTestCase.java b/src/test/java/org/apache/maven/plugins/github/GitHubDownloaderTestCase.java
similarity index 93%
rename from src/test/java/org/apache/maven/plugin/github/GitHubDownloaderTestCase.java
rename to src/test/java/org/apache/maven/plugins/github/GitHubDownloaderTestCase.java
index 9311cee..42ce82d 100644
--- a/src/test/java/org/apache/maven/plugin/github/GitHubDownloaderTestCase.java
+++ b/src/test/java/org/apache/maven/plugins/github/GitHubDownloaderTestCase.java
@@ -11,11 +11,12 @@
* specific language governing permissions and limitations under the License.
*/
-package org.apache.maven.plugin.github;
+package org.apache.maven.plugins.github;
import junit.framework.TestCase;
import org.apache.maven.model.IssueManagement;
-import org.apache.maven.plugin.issues.Issue;
+import org.apache.maven.plugins.github.GitHubDownloader;
+import org.apache.maven.plugins.issues.Issue;
import org.apache.maven.project.MavenProject;
import org.eclipse.egit.github.core.User;
diff --git a/src/test/java/org/apache/maven/plugin/issues/IssueManagementSystemTest.java b/src/test/java/org/apache/maven/plugins/issues/IssueManagementSystemTest.java
similarity index 95%
rename from src/test/java/org/apache/maven/plugin/issues/IssueManagementSystemTest.java
rename to src/test/java/org/apache/maven/plugins/issues/IssueManagementSystemTest.java
index 4a77c57..b714a28 100644
--- a/src/test/java/org/apache/maven/plugin/issues/IssueManagementSystemTest.java
+++ b/src/test/java/org/apache/maven/plugins/issues/IssueManagementSystemTest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.issues;
+package org.apache.maven.plugins.issues;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -23,6 +23,7 @@
import java.util.Map;
import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.issues.AbstractIssueManagementSystem;
import junit.framework.TestCase;
diff --git a/src/test/java/org/apache/maven/plugin/issues/IssueTestCase.java b/src/test/java/org/apache/maven/plugins/issues/IssueTestCase.java
similarity index 95%
rename from src/test/java/org/apache/maven/plugin/issues/IssueTestCase.java
rename to src/test/java/org/apache/maven/plugins/issues/IssueTestCase.java
index 8b8ec5c..4870e8f 100644
--- a/src/test/java/org/apache/maven/plugin/issues/IssueTestCase.java
+++ b/src/test/java/org/apache/maven/plugins/issues/IssueTestCase.java
@@ -1,4 +1,6 @@
-package org.apache.maven.plugin.issues;
+package org.apache.maven.plugins.issues;
+
+import org.apache.maven.plugins.issues.Issue;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/test/java/org/apache/maven/plugin/issues/IssueUtilsTestCase.java b/src/test/java/org/apache/maven/plugins/issues/IssueUtilsTestCase.java
similarity index 92%
rename from src/test/java/org/apache/maven/plugin/issues/IssueUtilsTestCase.java
rename to src/test/java/org/apache/maven/plugins/issues/IssueUtilsTestCase.java
index 431ae8c..9fae6bb 100644
--- a/src/test/java/org/apache/maven/plugin/issues/IssueUtilsTestCase.java
+++ b/src/test/java/org/apache/maven/plugins/issues/IssueUtilsTestCase.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.issues;
+package org.apache.maven.plugins.issues;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -21,6 +21,8 @@
import junit.framework.TestCase;
import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.issues.Issue;
+import org.apache.maven.plugins.issues.IssueUtils;
import java.util.ArrayList;
import java.util.List;
@@ -51,7 +53,7 @@
issueList.add( issue_1 );
issueList.add( issue_2 );
- List filteredIssues;
+ List<Issue> filteredIssues;
try
{
filteredIssues = IssueUtils.filterIssuesWithVersionPrefix( issueList, null );
diff --git a/src/test/java/org/apache/maven/plugin/jira/JiraHelperTestCase.java b/src/test/java/org/apache/maven/plugins/jira/JiraHelperTestCase.java
similarity index 96%
rename from src/test/java/org/apache/maven/plugin/jira/JiraHelperTestCase.java
rename to src/test/java/org/apache/maven/plugins/jira/JiraHelperTestCase.java
index e55a62e..bb580ed 100644
--- a/src/test/java/org/apache/maven/plugin/jira/JiraHelperTestCase.java
+++ b/src/test/java/org/apache/maven/plugins/jira/JiraHelperTestCase.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -23,6 +23,8 @@
import java.util.Map;
+import org.apache.maven.plugins.jira.JiraHelper;
+
/**
* Tests for the JiraHelper class.
*
diff --git a/src/test/java/org/apache/maven/plugin/jira/JiraMojoTest.java b/src/test/java/org/apache/maven/plugins/jira/JiraMojoTest.java
similarity index 94%
rename from src/test/java/org/apache/maven/plugin/jira/JiraMojoTest.java
rename to src/test/java/org/apache/maven/plugins/jira/JiraMojoTest.java
index c2fbbf3..ff01c01 100644
--- a/src/test/java/org/apache/maven/plugin/jira/JiraMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/jira/JiraMojoTest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.maven.plugins.jira.JiraMojo;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
/**
diff --git a/src/test/java/org/apache/maven/plugin/jira/JiraUnicodeTestCase.java b/src/test/java/org/apache/maven/plugins/jira/JiraUnicodeTestCase.java
similarity index 75%
rename from src/test/java/org/apache/maven/plugin/jira/JiraUnicodeTestCase.java
rename to src/test/java/org/apache/maven/plugins/jira/JiraUnicodeTestCase.java
index c3ad1af..9d799da 100644
--- a/src/test/java/org/apache/maven/plugin/jira/JiraUnicodeTestCase.java
+++ b/src/test/java/org/apache/maven/plugins/jira/JiraUnicodeTestCase.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -24,6 +24,11 @@
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
+import org.apache.maven.plugins.jira.JiraMojo;
+import org.apache.maven.project.MavenProject;
+import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
+import org.sonatype.aether.util.DefaultRepositorySystemSession;
+import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
/**
@@ -47,6 +52,12 @@
assertTrue( pom.exists() );
JiraMojo mojo = (JiraMojo) lookupMojo( "jira-report", pom );
+ MavenProject project = new JiraUnicodeTestProjectStub();
+ MavenSession session = newMavenSession( project );
+ DefaultRepositorySystemSession repoSession = (DefaultRepositorySystemSession) session.getRepositorySession();
+ repoSession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( "target/local-repo" ) );
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "mavenSession", session );
InputStream testJiraXmlStream = JiraUnicodeTestCase.class.getResourceAsStream( "unicode-jira-results.xml" );
String jiraXml = null;
try {
diff --git a/src/test/java/org/apache/maven/plugin/jira/JiraUnicodeTestProjectStub.java b/src/test/java/org/apache/maven/plugins/jira/JiraUnicodeTestProjectStub.java
similarity index 67%
rename from src/test/java/org/apache/maven/plugin/jira/JiraUnicodeTestProjectStub.java
rename to src/test/java/org/apache/maven/plugins/jira/JiraUnicodeTestProjectStub.java
index 7ec0d2d..d863ea3 100644
--- a/src/test/java/org/apache/maven/plugin/jira/JiraUnicodeTestProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/jira/JiraUnicodeTestProjectStub.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -23,7 +23,8 @@
import java.util.List;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.MavenArtifactRepository;
import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
@@ -38,8 +39,11 @@
@Override
public List<ArtifactRepository> getRemoteArtifactRepositories()
{
- ArtifactRepository repository =
- new DefaultArtifactRepository( "central", "http://repo1.maven.org/maven2", new DefaultRepositoryLayout() );
+ ArtifactRepositoryPolicy policy =
+ new ArtifactRepositoryPolicy( true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
+ ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE );
+ ArtifactRepository repository = new MavenArtifactRepository( "central", "http://repo1.maven.org/maven2",
+ new DefaultRepositoryLayout(), policy, policy );
return Collections.singletonList( repository );
}
diff --git a/src/test/java/org/apache/maven/plugin/jira/JqlQueryBuilderTestCase.java b/src/test/java/org/apache/maven/plugins/jira/JqlQueryBuilderTestCase.java
similarity index 97%
rename from src/test/java/org/apache/maven/plugin/jira/JqlQueryBuilderTestCase.java
rename to src/test/java/org/apache/maven/plugins/jira/JqlQueryBuilderTestCase.java
index 6588b8a..5ee9907 100644
--- a/src/test/java/org/apache/maven/plugin/jira/JqlQueryBuilderTestCase.java
+++ b/src/test/java/org/apache/maven/plugins/jira/JqlQueryBuilderTestCase.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -21,6 +21,8 @@
import junit.framework.TestCase;
import org.apache.maven.plugin.logging.SystemStreamLog;
+import org.apache.maven.plugins.jira.JiraQueryBuilder;
+import org.apache.maven.plugins.jira.JqlQueryBuilder;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
diff --git a/src/test/java/org/apache/maven/plugin/jira/MockJiraDownloader.java b/src/test/java/org/apache/maven/plugins/jira/MockJiraDownloader.java
similarity index 90%
rename from src/test/java/org/apache/maven/plugin/jira/MockJiraDownloader.java
rename to src/test/java/org/apache/maven/plugins/jira/MockJiraDownloader.java
index 6cda8fb..8e2a5c3 100644
--- a/src/test/java/org/apache/maven/plugin/jira/MockJiraDownloader.java
+++ b/src/test/java/org/apache/maven/plugins/jira/MockJiraDownloader.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -23,7 +23,9 @@
import java.util.List;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.issues.Issue;
+import org.apache.maven.plugins.issues.Issue;
+import org.apache.maven.plugins.jira.AbstractJiraDownloader;
+import org.apache.maven.plugins.jira.JiraXML;
import org.xml.sax.InputSource;
/**
diff --git a/src/test/java/org/apache/maven/plugin/jira/UrlBuilderTestCase.java b/src/test/java/org/apache/maven/plugins/jira/UrlBuilderTestCase.java
similarity index 95%
rename from src/test/java/org/apache/maven/plugin/jira/UrlBuilderTestCase.java
rename to src/test/java/org/apache/maven/plugins/jira/UrlBuilderTestCase.java
index e257785..8ce3ee7 100644
--- a/src/test/java/org/apache/maven/plugin/jira/UrlBuilderTestCase.java
+++ b/src/test/java/org/apache/maven/plugins/jira/UrlBuilderTestCase.java
@@ -1,4 +1,6 @@
-package org.apache.maven.plugin.jira;
+package org.apache.maven.plugins.jira;
+
+import org.apache.maven.plugins.jira.UrlBuilder;
/*
* Licensed to the Apache Software Foundation (ASF) under one
diff --git a/src/test/resources/org/apache/maven/plugin/announcement/announcement.vm b/src/test/resources/org/apache/maven/plugins/announcement/announcement.vm
similarity index 100%
rename from src/test/resources/org/apache/maven/plugin/announcement/announcement.vm
rename to src/test/resources/org/apache/maven/plugins/announcement/announcement.vm
diff --git a/src/test/resources/org/apache/maven/plugin/jira/unicode-jira-results.xml b/src/test/resources/org/apache/maven/plugins/jira/unicode-jira-results.xml
similarity index 100%
rename from src/test/resources/org/apache/maven/plugin/jira/unicode-jira-results.xml
rename to src/test/resources/org/apache/maven/plugins/jira/unicode-jira-results.xml
diff --git a/src/test/unit/jira-plugin-config.xml b/src/test/unit/jira-plugin-config.xml
index faec73e..7c79a0a 100644
--- a/src/test/unit/jira-plugin-config.xml
+++ b/src/test/unit/jira-plugin-config.xml
@@ -25,10 +25,8 @@
<plugin>
<artifactId>maven-changes-plugin</artifactId>
<configuration>
- <localRepository>${localRepository}</localRepository>
- <project implementation="org.apache.maven.plugin.jira.JiraUnicodeTestProjectStub"/>
- <outputDirectory>target/jira-test-output</outputDirectory>
- <columnNames>Key,Summary,Status,Resolution,Assignee,Description</columnNames>
+ <outputDirectory>target/jira-test-output</outputDirectory>
+ <columnNames>Key,Summary,Status,Resolution,Assignee,Description</columnNames>
</configuration>
</plugin>
</plugins>