You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2019/08/22 21:39:21 UTC

[maven-indexer] branch MINDEXER-120 created (now d8dd1ba)

This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a change to branch MINDEXER-120
in repository https://gitbox.apache.org/repos/asf/maven-indexer.git.


      at d8dd1ba  [MINDEXER-120] Remove TrueZip

This branch includes the following new commits:

     new d8dd1ba  [MINDEXER-120] Remove TrueZip

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-indexer] 01/01: [MINDEXER-120] Remove TrueZip

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MINDEXER-120
in repository https://gitbox.apache.org/repos/asf/maven-indexer.git

commit d8dd1bafcfa801ebef2ce56b7487ee10fc57a5aa
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sun Jun 23 23:23:45 2019 +0200

    [MINDEXER-120] Remove TrueZip
---
 indexer-cli/pom.xml                                |  19 ----
 indexer-core/pom.xml                               |  18 ----
 .../org/apache/maven/index/ArtifactContext.java    |  14 +--
 .../index/creator/JarFileContentsIndexCreator.java |  27 ++---
 .../MavenArchetypeArtifactInfoIndexCreator.java    |  22 +---
 .../MavenPluginArtifactInfoIndexCreator.java       |  33 ++----
 .../index/creator/OsgiArtifactIndexCreator.java    |  35 ++-----
 .../maven/index/util/zip/AbstractZipHandle.java    |  44 --------
 .../maven/index/util/zip/EntryNameFilter.java      |  25 -----
 .../maven/index/util/zip/JavaZipFileHandle.java    | 110 --------------------
 .../maven/index/util/zip/TrueZipZipFileHandle.java | 112 ---------------------
 .../org/apache/maven/index/util/zip/ZipFacade.java |  76 --------------
 .../org/apache/maven/index/util/zip/ZipHandle.java |  75 --------------
 pom.xml                                            |  32 ------
 14 files changed, 33 insertions(+), 609 deletions(-)

diff --git a/indexer-cli/pom.xml b/indexer-cli/pom.xml
index 033c972..c999610 100644
--- a/indexer-cli/pom.xml
+++ b/indexer-cli/pom.xml
@@ -77,16 +77,6 @@ under the License.
       <version>1.2</version>
     </dependency>
 
-    <!-- ZipFacade -->
-    <dependency>
-      <groupId>de.schlichtherle.truezip</groupId>
-      <artifactId>truezip-file</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>de.schlichtherle.truezip</groupId>
-      <artifactId>truezip-driver-zip</artifactId>
-    </dependency>
-
     <!-- Test -->
     <dependency>
       <groupId>junit</groupId>
@@ -132,15 +122,6 @@ under the License.
                   <mainClass>org.apache.maven.index.cli.NexusIndexerCli</mainClass>
                 </transformer>
               </transformers>
-              <filters>
-                <filter>
-                  <artifact>org.bouncycastle:*</artifact>
-                  <excludes>
-                    <exclude>META-INF/BCKEY.SF</exclude>
-                    <exclude>META-INF/BCKEY.DSA</exclude>
-                  </excludes>
-                </filter>
-              </filters>
             </configuration>
           </execution>
         </executions>
diff --git a/indexer-core/pom.xml b/indexer-core/pom.xml
index 1618823..d6f6fdc 100644
--- a/indexer-core/pom.xml
+++ b/indexer-core/pom.xml
@@ -135,19 +135,6 @@ under the License.
       <optional>true</optional>
     </dependency>
 
-    <!-- ZipFacade (as optional, who wants to use it should include TrueZip) -->
-    <dependency>
-      <groupId>de.schlichtherle.truezip</groupId>
-      <artifactId>truezip-file</artifactId>
-      <optional>true</optional>
-    </dependency>
-
-    <dependency>
-      <groupId>de.schlichtherle.truezip</groupId>
-      <artifactId>truezip-driver-zip</artifactId>
-      <optional>true</optional>
-    </dependency>
-
     <!-- Test -->
     <dependency>
       <groupId>junit</groupId>
@@ -230,10 +217,6 @@ under the License.
                   <shadedPattern>org.apache.maven.index_shaded.lucene</shadedPattern>
                 </relocation>
                 <relocation>
-                  <pattern>org.bouncycastle</pattern>
-                  <shadedPattern>org.apache.maven.index_shaded.lucene</shadedPattern>
-                </relocation>
-                <relocation>
                   <pattern>org.apache.commons.compress</pattern>
                   <shadedPattern>org.apache.maven.index_shaded.lucene</shadedPattern>
                 </relocation>
@@ -249,7 +232,6 @@ under the License.
                   <exclude>org.apache.maven.archetype:*</exclude>
                   <exclude>org.apache.maven.wagon:*</exclude>
                   <exclude>org.codehaus.*:*</exclude>
-                  <exclude>de.schlichtherle.truezip:*</exclude>
                   <exclude>org.apache.maven.resolver:*</exclude>
                   <exclude>org.apache.maven:maven-model</exclude>
                   <exclude>org.apache.commons:*</exclude>
diff --git a/indexer-core/src/main/java/org/apache/maven/index/ArtifactContext.java b/indexer-core/src/main/java/org/apache/maven/index/ArtifactContext.java
index 18a5e94..8803654 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/ArtifactContext.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/ArtifactContext.java
@@ -25,6 +25,8 @@ import java.io.InputStream;
 import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
@@ -32,8 +34,6 @@ import org.apache.lucene.document.StoredField;
 import org.apache.maven.index.artifact.Gav;
 import org.apache.maven.index.context.IndexCreator;
 import org.apache.maven.index.context.IndexingContext;
-import org.apache.maven.index.util.zip.ZipFacade;
-import org.apache.maven.index.util.zip.ZipHandle;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -103,16 +103,16 @@ public class ArtifactContext
         // Otherwise, check for pom contained in maven generated artifact
         else if ( getArtifact() != null && getArtifact().isFile() )
         {
-            File artifact = getArtifact();
-            try ( ZipHandle handle = ZipFacade.getZipHandle( artifact ) )
+            try ( ZipFile zipFile = new ZipFile( artifact ) )
             {
-
                 final String embeddedPomPath =
                     "META-INF/maven/" + getGav().getGroupId() + "/" + getGav().getArtifactId() + "/pom.xml";
 
-                if ( handle.hasEntry( embeddedPomPath ) )
+                ZipEntry zipEntry = zipFile.getEntry( embeddedPomPath );
+
+                if ( zipEntry != null )
                 {
-                    try ( InputStream inputStream = handle.getEntryContent( embeddedPomPath ) )
+                    try ( InputStream inputStream = zipFile.getInputStream( zipEntry ) )
                     {
                         return new MavenXpp3Reader().read( inputStream, false );
                     }
diff --git a/indexer-core/src/main/java/org/apache/maven/index/creator/JarFileContentsIndexCreator.java b/indexer-core/src/main/java/org/apache/maven/index/creator/JarFileContentsIndexCreator.java
index 3b1fe06..4659f85 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/creator/JarFileContentsIndexCreator.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/creator/JarFileContentsIndexCreator.java
@@ -25,7 +25,9 @@ import java.io.File;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.List;
+import java.util.Enumeration;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
 
 import org.apache.lucene.document.Document;
 import org.apache.maven.index.ArtifactContext;
@@ -33,8 +35,6 @@ import org.apache.maven.index.ArtifactInfo;
 import org.apache.maven.index.IndexerField;
 import org.apache.maven.index.IndexerFieldVersion;
 import org.apache.maven.index.MAVEN;
-import org.apache.maven.index.util.zip.ZipFacade;
-import org.apache.maven.index.util.zip.ZipHandle;
 import org.codehaus.plexus.util.StringUtils;
 
 /**
@@ -158,18 +158,16 @@ public class JarFileContentsIndexCreator
     private void updateArtifactInfo( final ArtifactInfo ai, final File f, final String strippedPrefix )
         throws IOException
     {
-        ZipHandle handle = null;
 
-        try
+        try ( ZipFile zipFile = new ZipFile( f ) )
         {
-            handle = ZipFacade.getZipHandle( f );
-
-            final List<String> entries = handle.getEntries();
+            final Enumeration<? extends ZipEntry> entries = zipFile.entries();
 
             final StringBuilder sb = new StringBuilder();
 
-            for ( String name : entries )
+            while ( entries.hasMoreElements() )
             {
+                String name = entries.nextElement().getName();
                 if ( name.endsWith( ".class" ) )
                 {
                     // TODO verify if class is public or protected
@@ -210,17 +208,6 @@ public class JarFileContentsIndexCreator
                 ai.setClassNames( null );
             }
         }
-        finally
-        {
-            try
-            {
-                ZipFacade.close( handle );
-            }
-            catch ( Exception e )
-            {
-                getLogger().error( "Could not close jar file properly.", e );
-            }
-        }
     }
 
     @Override
diff --git a/indexer-core/src/main/java/org/apache/maven/index/creator/MavenArchetypeArtifactInfoIndexCreator.java b/indexer-core/src/main/java/org/apache/maven/index/creator/MavenArchetypeArtifactInfoIndexCreator.java
index bd6c759..cb2b2b7 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/creator/MavenArchetypeArtifactInfoIndexCreator.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/creator/MavenArchetypeArtifactInfoIndexCreator.java
@@ -22,17 +22,15 @@ package org.apache.maven.index.creator;
 import javax.inject.Named;
 import javax.inject.Singleton;
 import java.io.File;
-import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.zip.ZipFile;
 
 import org.apache.lucene.document.Document;
 import org.apache.maven.index.ArtifactContext;
 import org.apache.maven.index.ArtifactInfo;
 import org.apache.maven.index.IndexerField;
-import org.apache.maven.index.util.zip.ZipFacade;
-import org.apache.maven.index.util.zip.ZipHandle;
 
 /**
  * A Maven Archetype index creator used to detect and correct the artifact packaging to "maven-archetype" if the
@@ -85,15 +83,11 @@ public class MavenArchetypeArtifactInfoIndexCreator
      */
     private void checkMavenArchetype( ArtifactInfo ai, File artifact )
     {
-        ZipHandle handle = null;
-
-        try
+        try ( ZipFile zipFile = new ZipFile( artifact ) )
         {
-            handle = ZipFacade.getZipHandle( artifact );
-
             for ( String path : ARCHETYPE_XML_LOCATIONS )
             {
-                if ( handle.hasEntry( path ) )
+                if ( zipFile.getEntry( path ) != null )
                 {
                     ai.setPackaging( MAVEN_ARCHETYPE_PACKAGING );
 
@@ -114,16 +108,6 @@ public class MavenArchetypeArtifactInfoIndexCreator
                     "Failed to parse Maven artifact " + artifact.getAbsolutePath() + " due to " + e.getMessage() );
             }
         }
-        finally
-        {
-            try
-            {
-                ZipFacade.close( handle );
-            }
-            catch ( IOException ex )
-            {
-            }
-        }
     }
 
     public void updateDocument( ArtifactInfo ai, Document doc )
diff --git a/indexer-core/src/main/java/org/apache/maven/index/creator/MavenPluginArtifactInfoIndexCreator.java b/indexer-core/src/main/java/org/apache/maven/index/creator/MavenPluginArtifactInfoIndexCreator.java
index 694ad1a..dad2b32 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/creator/MavenPluginArtifactInfoIndexCreator.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/creator/MavenPluginArtifactInfoIndexCreator.java
@@ -23,12 +23,13 @@ import javax.inject.Named;
 import javax.inject.Singleton;
 import java.io.BufferedInputStream;
 import java.io.File;
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
 
 import org.apache.lucene.document.Document;
 import org.apache.maven.index.ArtifactContext;
@@ -36,8 +37,6 @@ import org.apache.maven.index.ArtifactInfo;
 import org.apache.maven.index.IndexerField;
 import org.apache.maven.index.IndexerFieldVersion;
 import org.apache.maven.index.MAVEN;
-import org.apache.maven.index.util.zip.ZipFacade;
-import org.apache.maven.index.util.zip.ZipHandle;
 import org.codehaus.plexus.configuration.PlexusConfiguration;
 import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
 import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
@@ -88,19 +87,13 @@ public class MavenPluginArtifactInfoIndexCreator
 
     private void checkMavenPlugin( ArtifactInfo ai, File artifact )
     {
-        ZipHandle handle = null;
-
-        try
+        try ( ZipFile zipFile = new ZipFile( artifact ) )
         {
-            handle = ZipFacade.getZipHandle( artifact );
-
             final String pluginDescriptorPath = "META-INF/maven/plugin.xml";
-
-            if ( handle.hasEntry( pluginDescriptorPath ) )
+            ZipEntry zipEntry = zipFile.getEntry( pluginDescriptorPath );
+            if ( zipEntry != null )
             {
-                InputStream is = new BufferedInputStream( handle.getEntryContent( pluginDescriptorPath ) );
-
-                try
+                try ( InputStream is = new BufferedInputStream( zipFile.getInputStream( zipEntry ) ) )
                 {
                     // here the reader is closed
                     PlexusConfiguration plexusConfig =
@@ -117,10 +110,6 @@ public class MavenPluginArtifactInfoIndexCreator
                         ai.getGoals().add( mojoConfig.getChild( "goal" ).getValue() );
                     }
                 }
-                finally
-                {
-                    is.close();
-                }
             }
         }
         catch ( Exception e )
@@ -136,16 +125,6 @@ public class MavenPluginArtifactInfoIndexCreator
                     "Failed to parse Maven artifact " + artifact.getAbsolutePath() + " due to " + e.getMessage() );
             }
         }
-        finally
-        {
-            try
-            {
-                ZipFacade.close( handle );
-            }
-            catch ( IOException e )
-            {
-            }
-        }
     }
 
     public void updateDocument( ArtifactInfo ai, Document doc )
diff --git a/indexer-core/src/main/java/org/apache/maven/index/creator/OsgiArtifactIndexCreator.java b/indexer-core/src/main/java/org/apache/maven/index/creator/OsgiArtifactIndexCreator.java
index 559d2da..7394e9e 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/creator/OsgiArtifactIndexCreator.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/creator/OsgiArtifactIndexCreator.java
@@ -28,8 +28,6 @@ import org.apache.maven.index.ArtifactInfo;
 import org.apache.maven.index.IndexerField;
 import org.apache.maven.index.IndexerFieldVersion;
 import org.apache.maven.index.OSGI;
-import org.apache.maven.index.util.zip.ZipFacade;
-import org.apache.maven.index.util.zip.ZipHandle;
 import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
@@ -40,9 +38,11 @@ import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.List;
+import java.util.Enumeration;
 import java.util.jar.Attributes;
 import java.util.jar.Manifest;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
 
 /**
  * This indexCreator will index some OSGI metadatas.
@@ -419,22 +419,19 @@ public class OsgiArtifactIndexCreator
     private boolean updateArtifactInfo( ArtifactInfo ai, File f )
         throws IOException
     {
-        ZipHandle handle = null;
-
         boolean updated = false;
 
-
-        try
+        try ( ZipFile zipFile = new ZipFile( f ) )
         {
-            handle = ZipFacade.getZipHandle( f );
-
-            final List<String> entries = handle.getEntries();
+            final Enumeration<? extends ZipEntry> entries = zipFile.entries();
 
-            for ( String name : entries )
+            while ( entries.hasMoreElements() )
             {
-                if ( name.equals( "META-INF/MANIFEST.MF" ) )
+                ZipEntry zipEntry = entries.nextElement();
+
+                if ( zipEntry.getName().equals( "META-INF/MANIFEST.MF" ) )
                 {
-                    Manifest manifest = new Manifest( handle.getEntryContent( name ) );
+                    Manifest manifest = new Manifest( zipFile.getInputStream( zipEntry ) );
 
                     Attributes mainAttributes = manifest.getMainAttributes();
 
@@ -596,18 +593,6 @@ public class OsgiArtifactIndexCreator
                     }
                 }
             }
-
-        }
-        finally
-        {
-            try
-            {
-                ZipFacade.close( handle );
-            }
-            catch ( Exception e )
-            {
-                getLogger().error( "Could not close jar file properly.", e );
-            }
         }
 
         // only calculate sha256 digest for if we are indexing a bundle.
diff --git a/indexer-core/src/main/java/org/apache/maven/index/util/zip/AbstractZipHandle.java b/indexer-core/src/main/java/org/apache/maven/index/util/zip/AbstractZipHandle.java
deleted file mode 100644
index 498db6f..0000000
--- a/indexer-core/src/main/java/org/apache/maven/index/util/zip/AbstractZipHandle.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.index.util.zip;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "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    
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-public abstract class AbstractZipHandle
-    implements ZipHandle
-{
-    private final File targetFile;
-
-    public AbstractZipHandle( final File targetFile )
-    {
-        if ( targetFile == null || !targetFile.isFile() )
-        {
-            throw new IllegalArgumentException(
-                "The targetFile may not be null, and has to point to an existing file (not a directory!)" );
-        }
-
-        this.targetFile = targetFile;
-    }
-
-    public File getTargetFile()
-    {
-        return targetFile;
-    }
-}
diff --git a/indexer-core/src/main/java/org/apache/maven/index/util/zip/EntryNameFilter.java b/indexer-core/src/main/java/org/apache/maven/index/util/zip/EntryNameFilter.java
deleted file mode 100644
index 48a3935..0000000
--- a/indexer-core/src/main/java/org/apache/maven/index/util/zip/EntryNameFilter.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.maven.index.util.zip;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "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    
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-public interface EntryNameFilter
-{
-    boolean accepts( String entryName );
-}
diff --git a/indexer-core/src/main/java/org/apache/maven/index/util/zip/JavaZipFileHandle.java b/indexer-core/src/main/java/org/apache/maven/index/util/zip/JavaZipFileHandle.java
deleted file mode 100644
index 1a1f74b..0000000
--- a/indexer-core/src/main/java/org/apache/maven/index/util/zip/JavaZipFileHandle.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.apache.maven.index.util.zip;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "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    
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-public class JavaZipFileHandle
-    extends AbstractZipHandle
-    implements ZipHandle
-{
-    private final ZipFile zipFile;
-
-    public JavaZipFileHandle( final File targetFile )
-        throws IOException
-    {
-        super( targetFile );
-
-        this.zipFile = new ZipFile( targetFile );
-    }
-
-    protected ZipFile getZipFile()
-    {
-        return zipFile;
-    }
-
-    public boolean hasEntry( String path )
-        throws IOException
-    {
-        return getZipFile().getEntry( path ) != null;
-    }
-
-    public List<String> getEntries()
-    {
-        return getEntries( new EntryNameFilter()
-        {
-            public boolean accepts( String entryName )
-            {
-                return true;
-            }
-        } );
-    }
-
-    public List<String> getEntries( EntryNameFilter filter )
-    {
-        ArrayList<String> entries = new ArrayList<String>();
-
-        Enumeration<? extends ZipEntry> en = getZipFile().entries();
-
-        while ( en.hasMoreElements() )
-        {
-            final ZipEntry e = en.nextElement();
-
-            final String name = e.getName();
-
-            if ( filter != null && !filter.accepts( name ) )
-            {
-                continue;
-            }
-
-            entries.add( name );
-        }
-
-        return entries;
-    }
-
-    public InputStream getEntryContent( String path )
-        throws IOException
-    {
-        ZipEntry entry = getZipFile().getEntry( path );
-
-        if ( entry != null )
-        {
-            return getZipFile().getInputStream( entry );
-        }
-        else
-        {
-            return null;
-        }
-    }
-
-    public void close()
-        throws IOException
-    {
-        getZipFile().close();
-    }
-}
diff --git a/indexer-core/src/main/java/org/apache/maven/index/util/zip/TrueZipZipFileHandle.java b/indexer-core/src/main/java/org/apache/maven/index/util/zip/TrueZipZipFileHandle.java
deleted file mode 100644
index 4ca7e8e..0000000
--- a/indexer-core/src/main/java/org/apache/maven/index/util/zip/TrueZipZipFileHandle.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.apache.maven.index.util.zip;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "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    
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-
-import de.schlichtherle.truezip.zip.ZipEntry;
-import de.schlichtherle.truezip.zip.ZipFile;
-
-public class TrueZipZipFileHandle
-    extends AbstractZipHandle
-    implements ZipHandle
-{
-    private final ZipFile zipFile;
-
-    public TrueZipZipFileHandle( final File targetFile )
-        throws IOException
-    {
-        super( targetFile );
-
-        this.zipFile = new ZipFile( targetFile );
-    }
-
-    protected ZipFile getZipFile()
-    {
-        return zipFile;
-    }
-
-    public boolean hasEntry( String path )
-        throws IOException
-    {
-        return getZipFile().getEntry( path ) != null;
-    }
-
-    public List<String> getEntries()
-    {
-        return getEntries( new EntryNameFilter()
-        {
-            public boolean accepts( String entryName )
-            {
-                return true;
-            }
-        } );
-    }
-
-    public List<String> getEntries( EntryNameFilter filter )
-    {
-        ArrayList<String> entries = new ArrayList<String>();
-
-        Enumeration<? extends ZipEntry> en = getZipFile().entries();
-
-        while ( en.hasMoreElements() )
-        {
-            final ZipEntry e = en.nextElement();
-
-            final String name = e.getName();
-
-            if ( filter != null && !filter.accepts( name ) )
-            {
-                continue;
-            }
-
-            entries.add( name );
-        }
-
-        return entries;
-    }
-
-    public InputStream getEntryContent( String path )
-        throws IOException
-    {
-        ZipEntry entry = getZipFile().getEntry( path );
-
-        if ( entry != null )
-        {
-            return getZipFile().getInputStream( entry );
-        }
-        else
-        {
-            return null;
-        }
-    }
-
-    public void close()
-        throws IOException
-    {
-        getZipFile().close();
-    }
-
-}
diff --git a/indexer-core/src/main/java/org/apache/maven/index/util/zip/ZipFacade.java b/indexer-core/src/main/java/org/apache/maven/index/util/zip/ZipFacade.java
deleted file mode 100644
index 1dcae06..0000000
--- a/indexer-core/src/main/java/org/apache/maven/index/util/zip/ZipFacade.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.apache.maven.index.util.zip;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "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    
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-
-public class ZipFacade
-{
-    public static final long MEGABYTE = 1048576L;
-
-    public static final long JAVA_ZIPFILE_SIZE_THRESHOLD = Long.getLong(
-        "org.apache.maven.index.util.zip.ZipFacade.javaZipFileSizeThreshold", 100L * MEGABYTE );
-
-    private static final boolean TRUEZIP_AVAILABLE;
-
-    static
-    {
-        Class<?> clazz;
-
-        try
-        {
-            clazz = Class.forName( "de.schlichtherle.truezip.zip.ZipFile" );
-        }
-        catch ( ClassNotFoundException e )
-        {
-            clazz = null;
-        }
-
-        TRUEZIP_AVAILABLE = clazz != null;
-    }
-
-    public static ZipHandle getZipHandle( File targetFile )
-        throws IOException
-    {
-        if ( targetFile.isFile() )
-        {
-            if ( TRUEZIP_AVAILABLE && targetFile.length() > JAVA_ZIPFILE_SIZE_THRESHOLD )
-            {
-                return new TrueZipZipFileHandle( targetFile );
-            }
-            else
-            {
-                return new JavaZipFileHandle( targetFile );
-            }
-        }
-
-        throw new IOException( "The targetFile should point to an existing ZIP file:" + targetFile );
-    }
-
-    public static void close( ZipHandle handle )
-        throws IOException
-    {
-        if ( handle != null )
-        {
-            handle.close();
-        }
-    }
-}
diff --git a/indexer-core/src/main/java/org/apache/maven/index/util/zip/ZipHandle.java b/indexer-core/src/main/java/org/apache/maven/index/util/zip/ZipHandle.java
deleted file mode 100644
index c278a68..0000000
--- a/indexer-core/src/main/java/org/apache/maven/index/util/zip/ZipHandle.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.apache.maven.index.util.zip;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "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    
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-
-/**
- * A very simplistic approach to hide the underlying mech to deal with ZipFiles, suited for use cases happening in Maven
- * Indexer.
- * 
- * @author cstamas
- */
-public interface ZipHandle
-    extends Closeable
-{
-    /**
-     * Returns true if Zip file this handle is pointing to contains an entry at given path.
-     * 
-     * @param path
-     * @return
-     */
-    boolean hasEntry( String path )
-        throws IOException;
-
-    /**
-     * Returns a list of string, with each string representing a valid path for existing entry in this Zip handle.
-     * 
-     * @return
-     */
-    List<String> getEntries();
-
-    /**
-     * Returns a list of string, with each string representing a valid path for existing entry in this Zip handle.
-     * 
-     * @return
-     */
-    List<String> getEntries( EntryNameFilter filter );
-
-    /**
-     * Returns the "payload" (uncompressed) of the entry at given path, or null if no such path exists in the Zip file
-     * this handle points to.
-     * 
-     * @param path
-     * @return
-     */
-    InputStream getEntryContent( String path )
-        throws IOException;
-
-    /**
-     * Closes the zip handle (performs resource cleanup). This method should be called when this zip handle is not
-     * needed anymore, and calling it should be obligatory to prevent resource leaks.
-     */
-    void close()
-        throws IOException;
-}
diff --git a/pom.xml b/pom.xml
index bff6072..16836f4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -92,7 +92,6 @@ under the License.
     <lucene.version>5.5.5</lucene.version>
     <maven.version>3.5.2</maven.version>
     <resolver.version>1.1.0</resolver.version>
-    <truezip.version>7.7.10</truezip.version>
     <archetype.version>2.4</archetype.version>
     <wagon.version>2.12</wagon.version>
 
@@ -265,37 +264,6 @@ under the License.
         <version>${archetype.version}</version>
       </dependency>
 
-      <!-- ZipFacade -->
-      <dependency>
-        <groupId>de.schlichtherle.truezip</groupId>
-        <artifactId>truezip-kernel</artifactId>
-        <version>${truezip.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>annotations</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-
-      <dependency>
-        <groupId>de.schlichtherle.truezip</groupId>
-        <artifactId>truezip-file</artifactId>
-        <version>${truezip.version}</version>
-      </dependency>
-
-      <dependency>
-        <groupId>de.schlichtherle.truezip</groupId>
-        <artifactId>truezip-driver-zip</artifactId>
-        <version>${truezip.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>de.schlichtherle.truezip</groupId>
-            <artifactId>truezip-swing</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-
       <!-- Test -->
       <dependency>
         <groupId>junit</groupId>