[ 
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

        

Reply via email to