Move file based artifact management into separate package
diff --git a/src/main/java/org/apache/sling/feature/applicationbuilder/impl/Main.java b/src/main/java/org/apache/sling/feature/applicationbuilder/impl/Main.java
index a898a61..1a68482 100644
--- a/src/main/java/org/apache/sling/feature/applicationbuilder/impl/Main.java
+++ b/src/main/java/org/apache/sling/feature/applicationbuilder/impl/Main.java
@@ -38,11 +38,9 @@
 import org.apache.sling.feature.builder.BuilderContext;
 import org.apache.sling.feature.builder.FeatureBuilder;
 import org.apache.sling.feature.builder.FeatureProvider;
-import org.apache.sling.feature.io.ArtifactHandler;
-import org.apache.sling.feature.io.ArtifactManager;
-import org.apache.sling.feature.io.DefaultArtifactManagerConfig;
-import org.apache.sling.feature.io.DefaultArtifactManager;
-import org.apache.sling.feature.io.IOUtils;
+import org.apache.sling.feature.io.file.ArtifactHandler;
+import org.apache.sling.feature.io.file.ArtifactManager;
+import org.apache.sling.feature.io.file.ArtifactManagerConfig;
 import org.apache.sling.feature.io.json.FeatureJSONReader;
 import org.apache.sling.feature.io.json.FeatureJSONWriter;
 import org.slf4j.Logger;
@@ -128,7 +126,7 @@
     }
 
     private static ArtifactManager getArtifactManager() {
-        final DefaultArtifactManagerConfig amConfig = new DefaultArtifactManagerConfig();
+        final ArtifactManagerConfig amConfig = new ArtifactManagerConfig();
         if ( repoUrls != null ) {
             amConfig.setRepositoryUrls(repoUrls.split(","));
         }
@@ -136,7 +134,7 @@
             amConfig.setCacheDirectory(cacheDir);
         }
         try {
-            return DefaultArtifactManager.getArtifactManager(amConfig);
+            return ArtifactManager.getArtifactManager(amConfig);
         } catch ( IOException ioe) {
             LOGGER.error("Unable to create artifact manager " + ioe.getMessage(), ioe);
             System.exit(1);
@@ -216,8 +214,11 @@
         {
             try
             {
-                final Feature f = IOUtils.getFeature(initFile, artifactManager);
-                features.add(f);
+                final ArtifactHandler featureArtifact = artifactManager.getArtifactHandler(initFile);
+                try (final FileReader r = new FileReader(featureArtifact.getFile())) {
+                    final Feature f = FeatureJSONReader.read(r, featureArtifact.getUrl());
+                    features.add(f);
+                }
             }
             catch (Exception ex)
             {