View Javadoc
1   package org.codehaus.mojo.truezip;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import java.util.Iterator;
23  
24  import org.apache.maven.plugin.MojoExecutionException;
25  import org.apache.maven.plugin.MojoFailureException;
26  
27  /**
28   * Remove a set of files from an existing archive.
29   * 
30   * @goal remove
31   * @phase process-resources
32   * @version $Id: $
33   */
34  public class RemoveMojo
35      extends AbstractManipulateArchiveMojo
36  {
37  
38      public void execute()
39          throws MojoExecutionException, MojoFailureException
40      {
41          if ( skip )
42          {
43              this.getLog().info( "Skip this execution" );
44              return;
45          }
46  
47          super.execute();
48  
49          intitializeArchiveDectector();
50  
51          if ( this.fileset != null )
52          {
53              this.filesets.add( this.fileset );
54              this.fileset = null;
55          }
56  
57          for ( Iterator<Fileset> it = filesets.iterator(); it.hasNext(); )
58          {
59              Fileset oneFileSet = it.next();
60  
61              try
62              {
63                  this.resolveRelativePath( oneFileSet );
64                  this.truezip.remove( oneFileSet );
65              }
66              catch ( Exception e )
67              {
68                  throw new MojoExecutionException( "Remove fileset fails", e );
69              }
70  
71          }
72  
73          this.tryImmediateUpdate();
74      }
75  
76  }