You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tomáš Zilvar (JIRA)" <ji...@apache.org> on 2015/07/15 10:24:04 UTC
[jira] [Created] (ARCHETYPE-483) Building a new 2.X archetype with
JarMojo writes out a nonsensical warning
Tomáš Zilvar created ARCHETYPE-483:
--------------------------------------
Summary: Building a new 2.X archetype with JarMojo writes out a nonsensical warning
Key: ARCHETYPE-483
URL: https://issues.apache.org/jira/browse/ARCHETYPE-483
Project: Maven Archetype
Issue Type: Bug
Components: Plugin
Affects Versions: 2.3
Reporter: Tomáš Zilvar
Priority: Trivial
When packaging a new style 2.0 custom archetype JAR with JarMojo, the build issues a counter-intuitive warning:
{noformat}
[WARNING] Building an Old (1.x) Archetype: consider migrating it to current 2.x Archetype.
{noformat}
I suppose that it is because of an inverted if condition in JarMojo.checkArchetypeFile(File file)
{code:title=JarMojo.java}
package org.apache.maven.archetype.mojos;
//...
/**
* Build a JAR from the current Archetype project.
*
* @author rafale
*/
@Mojo( name = "jar", defaultPhase = LifecyclePhase.PACKAGE, requiresProject = true )
public class JarMojo extends AbstractMojo
{
//...
private void checkArchetypeFile( File jarFile ) throws MojoExecutionException
{
try
{
if ( archetypeArtifactManager.isFileSetArchetype( jarFile ) )
{
checkFileSetArchetypeFile( jarFile );
}
else if ( !archetypeArtifactManager.isOldArchetype( jarFile ) )
{
getLog().warn( "Building an Old (1.x) Archetype: consider migrating it to current 2.x Archetype." );
}
else
{
throw new MojoExecutionException( "The current project does not built an archetype" );
}
}
catch ( UnknownArchetype ua )
{
throw new MojoExecutionException( ua.getMessage(), ua );
}
}
//...
}
{code}
The condition {{!archetypeArtifactManager.isOldArchetype( jarFile )}} is negated, therefore it issues the warning if the jar *is not* an old archetype, which makes it downright confusing for new users trying to build a new archetype. On the other hand, when the archetype actually *is* old, it does not warn at all.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)