maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Fox (JIRA)" <j...@codehaus.org>
Subject [jira] Closed: (MENFORCER-67) RequiresFileSize rule does not use the confiugred file list
Date Sat, 28 Nov 2009 17:55:55 GMT

     [ http://jira.codehaus.org/browse/MENFORCER-67?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Brian Fox closed MENFORCER-67.
------------------------------

    Resolution: Fixed

This appears to have been fixed in:
Revision: 729228
Author: brianf
Date: 11:51:14 PM, Tuesday, December 23, 2008
Message:
MENFORCER-56 - enhanced to cover the RequireFilesDontExist and RequireFilesSize rules. Also
MENFORCER-46: added ITs for the RequireFilesSize rule (it was completely broken before)


> RequiresFileSize rule does not use the confiugred file list
> -----------------------------------------------------------
>
>                 Key: MENFORCER-67
>                 URL: http://jira.codehaus.org/browse/MENFORCER-67
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Bug
>          Components: Standard Rules
>    Affects Versions: 1.0-alpha-4
>         Environment: Windows XP, Maven 2.0.9
>            Reporter: Balazs Tothfalussy
>
> I tried to use the requireFilesSize standard rule to validate the filesize of the build
output file, my configuration:
> <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-enforcer-plugin</artifactId>
>         <version>1.0-alpha-4</version>
>         <executions>
>           <execution>
>             <id>enforce-ear-filesize</id>
>             <!-- Default phase is validate, but we need a verify after the build is
done -->
>             <phase>verify</phase>
>             <goals>
>               <goal>enforce</goal>
>             </goals>
>             <configuration>
>               <rules>
> 	              <requireFilesExist>
> 	                  <files>
> 	                   <file>${project.build.directory}/${project.build.finalName}.ear</file>
> 	                  </files>
> 	                </requireFilesExist>
> 	                <requireFilesSize>
> 	                	<!-- Size in bytes -->
> 	                  	<maxsize>5000000</maxsize>
> 	                  	<files>
> 	                   		<file>${project.build.directory}/${project.build.finalName}.ear</file>
> 	                  	</files>
> 	               </requireFilesSize>
>                </rules>
>             </configuration>
>           </execution>
>         </executions>
> </plugin>
> I experienced, that whatever I configure in the pom of my project, nothing happens, although
Maven writes out in debug mode, that the rule has been run
> I checked the code in enforcer-rules project, and in the execute method I found:
> if ( files.length == 0 )
>         {
>             try
>             {
>                 MavenProject project = (MavenProject) helper.evaluate( "${project}" );
>                 files[0] = project.getArtifact().getFile();
>                 this.log = helper.getLog();
>                 super.execute( helper );
>             }
>             catch ( ExpressionEvaluationException e )
>             {
>                 throw new EnforcerRuleException( "Unable to retrieve the project.", e
);
>             }
>         }
> This code calls super.execute only if the configured file list contains no files, in
the above configuration requiresFilesExits works, as the execute of AbstractRequireFiles runs
> So I propose a fix, which implements the else branch to call super.execute(helper) which
will call checkFile for every defined file:
>  if ( files.length == 0 )
>         {
>             try
>             {
>                 MavenProject project = (MavenProject) helper.evaluate( "${project}" );
>                 files[0] = project.getArtifact().getFile();
>                 this.log = helper.getLog();
>                 super.execute( helper );
>             }
>             catch ( ExpressionEvaluationException e )
>             {
>                 throw new EnforcerRuleException( "Unable to retrieve the project.", e
);
>             }
>         }
>         else {
>         	super.execute(helper);
>         }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message