Back to the almost empty tree.
Test: n/a

Change-Id: Id8a952488e1690e67b1b5dd9f6d65b67743e01fe
diff --git a/bundle2installable/Android.mk b/bundle2installable/Android.mk
deleted file mode 100644
index b9e9f72..0000000
--- a/bundle2installable/Android.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-## bundletool script
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := bundle2installable
-LOCAL_MODULE_TAG := optional
-LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_IS_HOST_MODULE := true
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/bundle2installable$(COMMON_JAVA_PACKAGE_SUFFIX)
-$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/bundle2installable | $(ACP)
-	@echo "Copy: $(PRIVATE_MODULE) ($@)"
-	$(copy-file-to-new-target)
-	$(hide) chmod 755 $@
-
-## proto library
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := bundle2installable-protos
-LOCAL_MODULE_TAG := optional
-
-LOCAL_PROTOC_OPTIMIZE_TYPE := full
-LOCAL_SRC_FILES := $(call all-proto-files-under, src)
-LOCAL_STATIC_JAVA_LIBRARIES := host-libprotobuf-java-full
-
-include $(BUILD_HOST_JAVA_LIBRARY)
-
-## tool jar
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := bundle2installable
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_IS_HOST_MODULE := true
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_STATIC_JAVA_LIBRARIES := bundle2installable-protos jsr305lib
-
-LOCAL_JAR_MANIFEST := manifest.txt
-
-include $(BUILD_HOST_JAVA_LIBRARY)
-
-
diff --git a/bundle2installable/bundle2installable.iml b/bundle2installable/bundle2installable.iml
deleted file mode 100644
index 7df2ab0..0000000
--- a/bundle2installable/bundle2installable.iml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
-    </content>
-    <content url="file://$MODULE_DIR$/../../../out/target/common/obj/APPS/bundle2installable_intermediates/src">
-      <sourceFolder url="file://$MODULE_DIR$/../../../out/target/common/obj/APPS/bundle2installable_intermediates/src" isTestSource="false" />
-    </content>
-
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" module-name="jsr305" />
-    <orderEntry type="library" module-name="protobuf" />
-
-  </component>
-</module>
-
diff --git a/bundle2installable/e2e.sh b/bundle2installable/e2e.sh
deleted file mode 100755
index 36cf8cc..0000000
--- a/bundle2installable/e2e.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-TOOL_CMD=../../../out/host/linux-x86/bin/bundle2installable
-
-# set up directories
-mkdir -p output/
-mkdir -p output-splits/
-mkdir -p output-deliverables/
-
-# clean up
-rm -fr output/*
-rm -fr output-splits/*
-rm -fr output-deliverables/*
-
-echo "--------------------------------------------------------------------"
-echo "Generating module zips"
-echo "--------------------------------------------------------------------"
-$TOOL_CMD generate example/bundle/bundle.zip output
-echo "--------------------------------------------------------------------"
-
-for MODULEZIP in `ls output`;
-do
-  echo "Splitting module: $MODULEZIP"
-  echo "--------------------------------------------------------------------"
-  $TOOL_CMD split-module output/$MODULEZIP output-splits/
-  echo "--------------------------------------------------------------------"
-done
-
-echo "Linking deliverable: x86,res-default,gl1"
-echo "--------------------------------------------------------------------"
-$TOOL_CMD link output-deliverables/deliverable.zip output-splits --modules=module1,module2,module3 --splits=x86,res-default,gl1
-
diff --git a/bundle2installable/etc/bundle2installable b/bundle2installable/etc/bundle2installable
deleted file mode 100644
index ac7cac3..0000000
--- a/bundle2installable/etc/bundle2installable
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2017 The Android Open Source Project
-#
-# Licensed 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.
-
-# Set up prog to be the path of this script, including following symlinks,
-# and set up progdir to be the fully-qualified pathname of its directory.
-prog="$0"
-while [ -h "${prog}" ]; do
-    newProg=`/bin/ls -ld "${prog}"`
-    newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
-    if expr "x${newProg}" : 'x/' >/dev/null; then
-        prog="${newProg}"
-    else
-        progdir=`dirname "${prog}"`
-        prog="${progdir}/${newProg}"
-    fi
-done
-oldwd=`pwd`
-progdir=`dirname "${prog}"`
-cd "${progdir}"
-progdir=`pwd`
-prog="${progdir}"/`basename "${prog}"`
-cd "${oldwd}"
-
-jarfile=bundletool.jar
-libdir="$progdir"
-
-if [ ! -r "$libdir/$jarfile" ]; then
-    # set bundletool.jar location for the SDK case
-    libdir="$libdir/lib"
-fi
-
-
-if [ ! -r "$libdir/$jarfile" ]; then
-    # set bundletool.jar location for the Android tree case
-    libdir=`dirname "$progdir"`/framework
-fi
-
-if [ ! -r "$libdir/$jarfile" ]; then
-    echo `basename "$prog"`": can't find $jarfile"
-    exit 1
-fi
-
-# By default, give bundletool a max heap size of 1 gig. This can be overridden
-# by using a "-J" option (see below).
-defaultMx="-Xmx1024M"
-
-# The following will extract any initial parameters of the form
-# "-J<stuff>" from the command line and pass them to the Java
-# invocation (instead of to bundletool). This makes it possible for you to add
-# a command-line parameter such as "-JXmx256M" in your scripts, for
-# example. "java" (with no args) and "java -X" give a summary of
-# available options.
-
-javaOpts=""
-
-while expr "x$1" : 'x-J' >/dev/null; do
-    opt=`expr "x$1" : 'x-J\(.*\)'`
-    javaOpts="${javaOpts} -${opt}"
-    if expr "x${opt}" : "xXmx[0-9]" >/dev/null; then
-        defaultMx="no"
-    fi
-    shift
-done
-
-if [ "${defaultMx}" != "no" ]; then
-    javaOpts="${javaOpts} ${defaultMx}"
-fi
-
-if [ "$OSTYPE" = "cygwin" ]; then
-    # For Cygwin, convert the jarfile path into native Windows style.
-    jarpath=`cygpath -w "$libdir/$jarfile"`
-else
-    jarpath="$libdir/$jarfile"
-fi
-
-exec java $javaOpts -jar "$jarpath" "$@"
diff --git a/bundle2installable/etc/bundle2installable.bat b/bundle2installable/etc/bundle2installable.bat
deleted file mode 100644
index 09a9d36..0000000
--- a/bundle2installable/etc/bundle2installable.bat
+++ /dev/null
@@ -1,88 +0,0 @@
-@echo off↵
-REM Copyright (C) 2017 The Android Open Source Project↵
-REM↵
-REM Licensed under the Apache License, Version 2.0 (the "License");↵
-REM you may not use this file except in compliance with the License.↵
-REM You may obtain a copy of the License at↵
-REM↵
-REM     http://www.apache.org/licenses/LICENSE-2.0↵
-REM↵
-REM Unless required by applicable law or agreed to in writing, software↵
-REM distributed under the License is distributed on an "AS IS" BASIS,↵
-REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.↵
-REM See the License for the specific language governing permissions and↵
-REM limitations under the License.↵
-↵
-REM don't modify the caller's environment↵
-setlocal↵
-↵
-REM Locate bundletool.jar in the directory where bundletool.bat was found and start it.↵
-↵
-REM Set up prog to be the path of this script, including following symlinks,↵
-REM and set up progdir to be the fully-qualified pathname of its directory.↵
-set prog=%~f0↵
-↵
-rem Check we have a valid Java.exe in the path.↵
-set java_exe=↵
-if exist    "%~dp0..\tools\lib\find_java.bat" call    "%~dp0..\tools\lib\find_java.bat"↵
-if exist "%~dp0..\..\tools\lib\find_java.bat" call "%~dp0..\..\tools\lib\find_java.bat"↵
-if not defined java_exe goto :EOF↵
-↵
-set jarfile=bundletool.jar↵
-set "frameworkdir=%~dp0"↵
-rem frameworkdir must not end with a dir sep.↵
-set "frameworkdir=%frameworkdir:~0,-1%"↵
-↵
-if exist "%frameworkdir%\%jarfile%" goto JarFileOk↵
-    set "frameworkdir=%~dp0lib"↵
-↵
-if exist "%frameworkdir%\%jarfile%" goto JarFileOk↵
-    set "frameworkdir=%~dp0..\framework"↵
-↵
-:JarFileOk↵
-↵
-set "jarpath=%frameworkdir%\%jarfile%"↵
-↵
-set javaOpts=↵
-set args=↵
-↵
-REM By default, give bundletool a max heap size of 1 gig and a stack size of 1meg.↵
-rem This can be overridden by using "-JXmx..." and "-JXss..." options below.↵
-set defaultXmx=-Xmx1024M↵
-set defaultXss=-Xss1m↵
-↵
-REM Capture all arguments that are not -J options.↵
-REM Note that when reading the input arguments with %1, the cmd.exe↵
-REM automagically converts --name=value arguments into 2 arguments "--name"↵
-REM followed by "value". Dx has been changed to know how to deal with that.↵
-set params=↵
-↵
-:firstArg↵
-if [%1]==[] goto endArgs↵
-set a=%~1↵
-↵
-    if [%defaultXmx%]==[] goto notXmx↵
-    if %a:~0,5% NEQ -JXmx goto notXmx↵
-        set defaultXmx=↵
-    :notXmx↵
-↵
-    if [%defaultXss%]==[] goto notXss↵
-    if %a:~0,5% NEQ -JXss goto notXss↵
-        set defaultXss=↵
-    :notXss↵
-↵
-    if %a:~0,2% NEQ -J goto notJ↵
-        set javaOpts=%javaOpts% -%a:~2%↵
-        shift /1↵
-        goto firstArg↵
-↵
-    :notJ↵
-    set params=%params% %1↵
-    shift /1↵
-    goto firstArg↵
-↵
-:endArgs↵
-↵
-set javaOpts=%javaOpts% %defaultXmx% %defaultXss%↵
-call "%java_exe%" %javaOpts% -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params%↵
-↵
diff --git a/bundle2installable/example/bundle/bundle.zip b/bundle2installable/example/bundle/bundle.zip
deleted file mode 100644
index 21cb2f2..0000000
--- a/bundle2installable/example/bundle/bundle.zip
+++ /dev/null
Binary files differ
diff --git a/bundle2installable/example/bundle/module1/assets/some_file.txt b/bundle2installable/example/bundle/module1/assets/some_file.txt
deleted file mode 100644
index a984be3..0000000
--- a/bundle2installable/example/bundle/module1/assets/some_file.txt
+++ /dev/null
@@ -1 +0,0 @@
-Some asset.
diff --git a/bundle2installable/example/bundle/module1/format.textpb b/bundle2installable/example/bundle/module1/format.textpb
deleted file mode 100644
index 7b0ecc5..0000000
--- a/bundle2installable/example/bundle/module1/format.textpb
+++ /dev/null
@@ -1,4 +0,0 @@
-packages {
-  package_id: 128
-  package_name: "mainPackage"
-}
diff --git a/bundle2installable/example/bundle/module1/res/drawable/hdpi/res1.jpg b/bundle2installable/example/bundle/module1/res/drawable/hdpi/res1.jpg
deleted file mode 100644
index 769a602..0000000
--- a/bundle2installable/example/bundle/module1/res/drawable/hdpi/res1.jpg
+++ /dev/null
@@ -1 +0,0 @@
-hdpi jpeg
diff --git a/bundle2installable/example/bundle/module1/res/drawable/mdpi/res1.jpg b/bundle2installable/example/bundle/module1/res/drawable/mdpi/res1.jpg
deleted file mode 100644
index ffa7a30..0000000
--- a/bundle2installable/example/bundle/module1/res/drawable/mdpi/res1.jpg
+++ /dev/null
@@ -1 +0,0 @@
-Mpdi jpeg
diff --git a/bundle2installable/example/bundle/module1/res/drawable/mdpi/res2.jpg b/bundle2installable/example/bundle/module1/res/drawable/mdpi/res2.jpg
deleted file mode 100644
index 9f4d332..0000000
--- a/bundle2installable/example/bundle/module1/res/drawable/mdpi/res2.jpg
+++ /dev/null
@@ -1 +0,0 @@
-mdpi res2
diff --git a/bundle2installable/example/bundle/module2/format.textpb b/bundle2installable/example/bundle/module2/format.textpb
deleted file mode 100644
index 7b0ecc5..0000000
--- a/bundle2installable/example/bundle/module2/format.textpb
+++ /dev/null
@@ -1,4 +0,0 @@
-packages {
-  package_id: 128
-  package_name: "mainPackage"
-}
diff --git a/bundle2installable/example/bundle/module2/native/arm64-v8/alibrary.so b/bundle2installable/example/bundle/module2/native/arm64-v8/alibrary.so
deleted file mode 100644
index 3391b8b..0000000
--- a/bundle2installable/example/bundle/module2/native/arm64-v8/alibrary.so
+++ /dev/null
@@ -1 +0,0 @@
-arm64-v8 library
diff --git a/bundle2installable/example/bundle/module2/native/x86/alibrary.so b/bundle2installable/example/bundle/module2/native/x86/alibrary.so
deleted file mode 100644
index d758c3d..0000000
--- a/bundle2installable/example/bundle/module2/native/x86/alibrary.so
+++ /dev/null
@@ -1 +0,0 @@
-x86 library
diff --git a/bundle2installable/example/bundle/module2/res/drawable/hdpi/a.jpg b/bundle2installable/example/bundle/module2/res/drawable/hdpi/a.jpg
deleted file mode 100644
index 1d83daf..0000000
--- a/bundle2installable/example/bundle/module2/res/drawable/hdpi/a.jpg
+++ /dev/null
@@ -1 +0,0 @@
-hdpi a.jpg
diff --git a/bundle2installable/example/bundle/module2/res/drawable/mdpi/a.jpg b/bundle2installable/example/bundle/module2/res/drawable/mdpi/a.jpg
deleted file mode 100644
index 94213bf..0000000
--- a/bundle2installable/example/bundle/module2/res/drawable/mdpi/a.jpg
+++ /dev/null
@@ -1 +0,0 @@
-mdpi a.jpg
diff --git a/bundle2installable/example/bundle/module2/res/drawable/xhdpi/a.jpg b/bundle2installable/example/bundle/module2/res/drawable/xhdpi/a.jpg
deleted file mode 100644
index 40fb343..0000000
--- a/bundle2installable/example/bundle/module2/res/drawable/xhdpi/a.jpg
+++ /dev/null
@@ -1 +0,0 @@
-xhdpi a.jpg
diff --git a/bundle2installable/example/bundle/module3/assets/gl1/textures.etc1 b/bundle2installable/example/bundle/module3/assets/gl1/textures.etc1
deleted file mode 100644
index 2849ff7..0000000
--- a/bundle2installable/example/bundle/module3/assets/gl1/textures.etc1
+++ /dev/null
@@ -1 +0,0 @@
-textures for gl1
diff --git a/bundle2installable/example/bundle/module3/assets/gl2/textures.etc1 b/bundle2installable/example/bundle/module3/assets/gl2/textures.etc1
deleted file mode 100644
index 2c853ce..0000000
--- a/bundle2installable/example/bundle/module3/assets/gl2/textures.etc1
+++ /dev/null
@@ -1 +0,0 @@
-textures for gl2
diff --git a/bundle2installable/example/bundle/module3/assets/gl3/textures.etc1 b/bundle2installable/example/bundle/module3/assets/gl3/textures.etc1
deleted file mode 100644
index cf30c2c..0000000
--- a/bundle2installable/example/bundle/module3/assets/gl3/textures.etc1
+++ /dev/null
@@ -1 +0,0 @@
-textures for gl3
diff --git a/bundle2installable/example/bundle/module3/format.textpb b/bundle2installable/example/bundle/module3/format.textpb
deleted file mode 100644
index 7b0ecc5..0000000
--- a/bundle2installable/example/bundle/module3/format.textpb
+++ /dev/null
@@ -1,4 +0,0 @@
-packages {
-  package_id: 128
-  package_name: "mainPackage"
-}
diff --git a/bundle2installable/example/bundle/module3/native/arm64-v8/lib1.so b/bundle2installable/example/bundle/module3/native/arm64-v8/lib1.so
deleted file mode 100644
index 826009f..0000000
--- a/bundle2installable/example/bundle/module3/native/arm64-v8/lib1.so
+++ /dev/null
@@ -1 +0,0 @@
-module3 arm64-v8 lib1.so
diff --git a/bundle2installable/example/bundle/module3/native/x86/lib1.so b/bundle2installable/example/bundle/module3/native/x86/lib1.so
deleted file mode 100644
index 90e549c..0000000
--- a/bundle2installable/example/bundle/module3/native/x86/lib1.so
+++ /dev/null
@@ -1 +0,0 @@
-module3 lib1.so x86
diff --git a/bundle2installable/example/bundle/module3/res/drawable/hdpi/a.jpg b/bundle2installable/example/bundle/module3/res/drawable/hdpi/a.jpg
deleted file mode 100644
index 2a2f661..0000000
--- a/bundle2installable/example/bundle/module3/res/drawable/hdpi/a.jpg
+++ /dev/null
@@ -1 +0,0 @@
-module3 hdpi a.jpg
diff --git a/bundle2installable/example/bundle/module3/res/drawable/mdpi/a.jpg b/bundle2installable/example/bundle/module3/res/drawable/mdpi/a.jpg
deleted file mode 100644
index 2b04ec0..0000000
--- a/bundle2installable/example/bundle/module3/res/drawable/mdpi/a.jpg
+++ /dev/null
@@ -1 +0,0 @@
-module3 mdpi a.jpg
diff --git a/bundle2installable/example/module/assets/gl1/textures.etc1 b/bundle2installable/example/module/assets/gl1/textures.etc1
deleted file mode 100644
index 4fa3fae..0000000
--- a/bundle2installable/example/module/assets/gl1/textures.etc1
+++ /dev/null
@@ -1 +0,0 @@
-gl1-textures
diff --git a/bundle2installable/example/module/assets/gl2/textures.etc1 b/bundle2installable/example/module/assets/gl2/textures.etc1
deleted file mode 100644
index 7bd0987..0000000
--- a/bundle2installable/example/module/assets/gl2/textures.etc1
+++ /dev/null
@@ -1 +0,0 @@
-gl2-textures
diff --git a/bundle2installable/example/module/assets/gl3/textures.etc1 b/bundle2installable/example/module/assets/gl3/textures.etc1
deleted file mode 100644
index d88e8a7..0000000
--- a/bundle2installable/example/module/assets/gl3/textures.etc1
+++ /dev/null
@@ -1 +0,0 @@
-gl3-textures
diff --git a/bundle2installable/example/module/assets/textures.etc1 b/bundle2installable/example/module/assets/textures.etc1
deleted file mode 100644
index 3b6f771..0000000
--- a/bundle2installable/example/module/assets/textures.etc1
+++ /dev/null
@@ -1 +0,0 @@
-no-variant-textures
diff --git a/bundle2installable/example/module/format.textpb b/bundle2installable/example/module/format.textpb
deleted file mode 100644
index 7b0ecc5..0000000
--- a/bundle2installable/example/module/format.textpb
+++ /dev/null
@@ -1,4 +0,0 @@
-packages {
-  package_id: 128
-  package_name: "mainPackage"
-}
diff --git a/bundle2installable/example/module/module.zip b/bundle2installable/example/module/module.zip
deleted file mode 100644
index 7b00859..0000000
--- a/bundle2installable/example/module/module.zip
+++ /dev/null
Binary files differ
diff --git a/bundle2installable/example/module/native/arm64-v8/library.so b/bundle2installable/example/module/native/arm64-v8/library.so
deleted file mode 100644
index 3391b8b..0000000
--- a/bundle2installable/example/module/native/arm64-v8/library.so
+++ /dev/null
@@ -1 +0,0 @@
-arm64-v8 library
diff --git a/bundle2installable/example/module/native/x86/library.so b/bundle2installable/example/module/native/x86/library.so
deleted file mode 100644
index ffc9498..0000000
--- a/bundle2installable/example/module/native/x86/library.so
+++ /dev/null
@@ -1 +0,0 @@
-x86-library
diff --git a/bundle2installable/example/module/res/drawable-hdpi/picture.png b/bundle2installable/example/module/res/drawable-hdpi/picture.png
deleted file mode 100644
index 520659f..0000000
--- a/bundle2installable/example/module/res/drawable-hdpi/picture.png
+++ /dev/null
@@ -1 +0,0 @@
-hdpi
diff --git a/bundle2installable/example/module/res/drawable-mdpi/picture.png b/bundle2installable/example/module/res/drawable-mdpi/picture.png
deleted file mode 100644
index d3e3b70..0000000
--- a/bundle2installable/example/module/res/drawable-mdpi/picture.png
+++ /dev/null
@@ -1 +0,0 @@
-mdpi
diff --git a/bundle2installable/example/module/res/drawable/picture.png b/bundle2installable/example/module/res/drawable/picture.png
deleted file mode 100644
index 55cb19a..0000000
--- a/bundle2installable/example/module/res/drawable/picture.png
+++ /dev/null
@@ -1 +0,0 @@
-fallback
diff --git a/bundle2installable/manifest.txt b/bundle2installable/manifest.txt
deleted file mode 100644
index b00d463..0000000
--- a/bundle2installable/manifest.txt
+++ /dev/null
@@ -1 +0,0 @@
-Main-Class: com.android.bundle.tool.Bundle2InstallableMain
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/AssetsProcessor.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/AssetsProcessor.java
deleted file mode 100644
index 1cbd5cb..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/AssetsProcessor.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable;
-
-import static com.android.tools.appbundle.bundle2installable.util.PathUtils.getFilePathWithoutTopLevel;
-import static com.android.tools.appbundle.bundle2installable.util.PathUtils.getFilePathWithoutVariant;
-
-import com.android.tools.appbundle.bundle2installable.util.Pair;
-import com.android.tools.appbundle.bundle2installable.util.PathUtils;
-import com.android.tools.appbundle.bundle2installable.util.ZipWalker;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * Assets directory variant processor.
- *
- * Currently, scans the directory in the assets directory of the module zip. Every directory name
- * is considered a variant name, and the final split will contain files from the variant directory
- * with that directory elided: all goes directly in the assets directory. Each variant will include
- * files that are directly in the assets root directory.
- */
-public class AssetsProcessor implements ZipWalker.ZipEntryListener, VariantProcessor {
-
-  private static final String ASSETS_DIR = "assets";
-
-  private Map<String, List<ZipEntry>> variantAssetsMap;
-  private List<ZipEntry> nonVariantAssets;
-
-  public AssetsProcessor() {
-    this.variantAssetsMap = new HashMap<>();
-    this.nonVariantAssets = new ArrayList<>();
-  }
-
-  public void notify(ZipFile bundle, ZipEntry entry) throws IOException {
-    // TODO(b/64285122): fix the asset variants detection when there is only non-variant data.
-    Path p = Paths.get(entry.getName());
-    if (PathUtils.isInsideTopDirectory(p, ASSETS_DIR)) {
-      String variant = PathUtils.resolveVariant(p);
-      if (variant != null) { // inside the variant directory
-        if (!variantAssetsMap.containsKey(variant)) {
-          variantAssetsMap.put(variant, new ArrayList<>());
-        }
-        variantAssetsMap.get(variant).add(entry);
-      } else { // inside the assets directory
-        System.out.println("Entry name: " + entry.getName());
-        if (!entry.isDirectory()) {
-          System.out.println("..is not a directory");
-          nonVariantAssets.add(entry);
-        }
-      }
-    }
-  }
-
-  public List<Pair<ZipEntry, String>> generateForVariant(String variant) {
-    List<Pair<ZipEntry, String>> res = new ArrayList<>();
-    Set<String> coveredFiles = new HashSet<>();
-    if (!variantAssetsMap.containsKey(variant)) {
-      System.out.println(
-          String.format("Warning! The '%s' variant has no dedicated assets.",
-              variant));
-    } else {
-      for (ZipEntry entry : variantAssetsMap.get(variant)) {
-        String pathWithoutVariant = getFilePathWithoutVariant(entry.getName());
-        coveredFiles.add(pathWithoutVariant);
-        res.add(Pair.of(entry, Paths.get(ASSETS_DIR, pathWithoutVariant).toString()));
-      }
-    }
-    for (ZipEntry entry : nonVariantAssets) {
-      String pathWithoutVariant = getFilePathWithoutTopLevel(entry.getName());
-      if (!coveredFiles.contains(pathWithoutVariant)) {
-        res.add(Pair.of(entry, Paths.get(ASSETS_DIR, pathWithoutVariant).toString()));
-      }
-    }
-    return res;
-  }
-
-  public List<String> getAllVariants() {
-    return new ArrayList<>(variantAssetsMap.keySet());
-  }
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/Bundle2InstallableMain.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/Bundle2InstallableMain.java
deleted file mode 100644
index 71b1111..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/Bundle2InstallableMain.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Main entry point of the bundle2installable tool
- */
-public class Bundle2InstallableMain {
-
-  public static void main(String[] args) throws IOException {
-    if (args.length < 1) {
-      throw new IllegalStateException(
-          "Incorrect number of args. Use bundle2installable [command] ...");
-    }
-    String command = args[0];
-    switch (command) {
-      case "split-module":
-        ModuleSplitter.doSplitModule(args);
-        break;
-      case "generate":
-        ModuleZipMaker.generateModuleZips(args[1], args[2]);
-        break;
-      case "link":
-        DeliverableLinker.makeDeliverable(args[1], args[2], makeList(args[3]),
-            makeList(args[4]));
-        break;
-    }
-  }
-
-  private static List<String> makeList(String flag) {
-    String[] equal = flag.split("=");
-    String equalVal = equal[0];
-    if (equal.length > 1) { // assignment
-      equalVal = equal[1];
-    }
-    return Arrays.asList(equalVal.split(","));
-  }
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/DeliverableLinker.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/DeliverableLinker.java
deleted file mode 100644
index b42910b..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/DeliverableLinker.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable;
-
-import com.android.tools.appbundle.bundle2installable.util.PathUtils;
-import com.android.tools.appbundle.bundle2installable.util.ZipUtils;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.List;
-import java.util.zip.ZipOutputStream;
-
-/**
- * A linker that can create an installable from the module splits.
- */
-public class DeliverableLinker {
-
-  public static void makeDeliverable(String deliverablePath, String splitDirectory,
-      List<String> modules, List<String> splits) throws IOException {
-    ZipOutputStream outputStream = new ZipOutputStream(new FileOutputStream(deliverablePath));
-    for (String module : modules) {
-      for (String split : splits) {
-        Path p = Paths.get(splitDirectory, PathUtils.makeSplitName(module, split));
-        if (Files.isRegularFile(p)) {
-          System.out.println(String.format("Linking %s", p.toString()));
-          ZipUtils.writeEntry(PathUtils.stripDirectories(p.toString()), outputStream,
-              new FileInputStream(p.toString()));
-        }
-      }
-    }
-    outputStream.close();
-  }
-
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/ModuleSplitter.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/ModuleSplitter.java
deleted file mode 100644
index b15bb35..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/ModuleSplitter.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable;
-
-import com.android.tools.appbundle.bundle2installable.util.PathUtils;
-import com.android.tools.appbundle.bundle2installable.util.ZipWalker;
-import java.io.IOException;
-
-/**
- * Implementation of the split-module command.
- */
-public class ModuleSplitter {
-
-  public static void doSplitModule(String[] args) throws IOException {
-    if (args.length < 3) {
-      throw new IllegalStateException(
-          "Incorrect number of args. Use bundle2installable split-module [module.zip] [output-dir]");
-    }
-    String moduleFilename = args[1];
-    String outputFilename = args[2];
-
-    ZipWalker visitor = new ZipWalker(moduleFilename);
-    ResourcesProcessor resourcesProcessor = new ResourcesProcessor();
-    AssetsProcessor assetsProcessor = new AssetsProcessor();
-    NativeProcessor nativeProcessor = new NativeProcessor();
-    visitor.addListener(resourcesProcessor);
-    visitor.addListener(assetsProcessor);
-    visitor.addListener(nativeProcessor);
-    visitor.walk();
-
-    System.out.println("Detected asset variants: " + assetsProcessor.getAllVariants().toString());
-    System.out.println("Detected native variants: " + nativeProcessor.getAllVariants().toString());
-    System.out
-        .println("Detected resource variants: " + resourcesProcessor.getAllVariants().toString());
-
-    for (String variant : assetsProcessor.getAllVariants()) {
-      String splitName = outputFilename + "/" + PathUtils
-          .stripExtension(PathUtils.stripDirectories(moduleFilename)) + "-" + variant + ".zip";
-      PreSplitGenerator outGen = new PreSplitGenerator(splitName);
-      outGen.writePreSplit(visitor.getZipFile(), assetsProcessor.generateForVariant(variant));
-    }
-    for (String variant : nativeProcessor.getAllVariants()) {
-      String splitName = outputFilename + "/" + PathUtils
-          .stripExtension(PathUtils.stripDirectories(moduleFilename)) + "-" + variant + ".zip";
-      PreSplitGenerator outGen = new PreSplitGenerator(splitName);
-      outGen.writePreSplit(visitor.getZipFile(), nativeProcessor.generateForVariant(variant));
-    }
-    for (String variant : resourcesProcessor.getAllVariants()) {
-      String splitName = outputFilename + "/" + PathUtils
-          .stripExtension(PathUtils.stripDirectories(moduleFilename)) + "-res-" + variant + ".zip";
-      PreSplitGenerator outGen = new PreSplitGenerator(splitName);
-      outGen.writePreSplit(visitor.getZipFile(), resourcesProcessor.generateForVariant(variant));
-    }
-  }
-
-
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/ModuleZipMaker.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/ModuleZipMaker.java
deleted file mode 100644
index 0b5643a..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/ModuleZipMaker.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable;
-
-import com.android.tools.appbundle.bundle2installable.util.PathUtils;
-import com.android.tools.appbundle.bundle2installable.util.ZipUtils;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipOutputStream;
-
-/**
- * Class that takes a bundle and outputs the zipped modules from it.
- *
- * As modules are being processed separately, this will put them in the right
- * input format.
- *
- * By default it outputs all modules contained in the bundle.
- */
-public class ModuleZipMaker {
-
-  public static void generateModuleZips(String bundleFile, String outputDirectory)
-      throws IOException {
-    ZipFile bundleZip = new ZipFile(bundleFile);
-    Enumeration<? extends ZipEntry> e = bundleZip.entries();
-    Map<String, List<ZipEntry>> moduleEntries = new HashMap<>();
-    ZipEntry entry;
-    while (e.hasMoreElements()) {
-      entry = e.nextElement();
-      System.out.println(String.format("Entry: %s", entry.getName()));
-      Path p = Paths.get(entry.getName());
-      if (p.getNameCount() > 1) {
-        String moduleName = p.getName(0).toString();
-        if (!moduleEntries.containsKey(moduleName)) {
-          moduleEntries.put(moduleName, new ArrayList<ZipEntry>());
-        }
-        if (!entry.isDirectory()) {
-          moduleEntries.get(moduleName).add(entry);
-        }
-      }
-    }
-    for (String moduleDirectory : moduleEntries.keySet()) {
-      System.out.println(String.format("Module: %s", moduleDirectory));
-      for (ZipEntry moduleEntry : moduleEntries.get(moduleDirectory)) {
-        System.out.println(String.format("Entry : %s", moduleEntry.getName()));
-      }
-      deflateModule(Paths.get(outputDirectory, moduleDirectory + ".zip").toString(),
-          bundleZip, moduleEntries.get(moduleDirectory));
-    }
-  }
-
-  private static void deflateModule(String moduleZipOutput, ZipFile bundleFile,
-      List<ZipEntry> entries) throws IOException {
-    ZipOutputStream outputStream = new ZipOutputStream(new FileOutputStream(moduleZipOutput));
-    for (ZipEntry entry : entries) {
-      ZipUtils.writeEntry(PathUtils.getFilePathWithoutTopLevel(entry.getName()), outputStream,
-          bundleFile.getInputStream(entry));
-    }
-    outputStream.close();
-  }
-
-  private static boolean isModuleDirectory(ZipEntry entry) {
-    throw new UnsupportedOperationException("Not implemented yet");
-  }
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/NativeProcessor.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/NativeProcessor.java
deleted file mode 100644
index e742621..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/NativeProcessor.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable;
-
-import com.android.tools.appbundle.bundle2installable.util.Pair;
-import com.android.tools.appbundle.bundle2installable.util.PathUtils;
-import com.android.tools.appbundle.bundle2installable.util.ZipWalker;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * Processes native library directory and discovers cpu variants.
- *
- * Currently, expects ABI to be expressed as a subdirectory name inside "native" directory.
- * The libraries are outputted to the "lib" directory as per APK standard.
- */
-public class NativeProcessor implements ZipWalker.ZipEntryListener, VariantProcessor {
-
-  private static final String NATIVE_DIR = "native";
-  private static final String DESTINATION_DIR = "lib";
-
-  private Map<String, List<ZipEntry>> variantLibsMap;
-  private List<ZipEntry> nonVariantLibs;
-
-  public NativeProcessor() {
-    this.variantLibsMap = new HashMap<>();
-    this.nonVariantLibs = new ArrayList<>();
-  }
-
-  public void notify(ZipFile bundle, ZipEntry entry) throws IOException {
-    Path p = Paths.get(entry.getName());
-    if (PathUtils.isInsideTopDirectory(p, NATIVE_DIR)) {
-      String variant = PathUtils.resolveVariant(p);
-      if (variant != null) {
-        if (!variantLibsMap.containsKey(variant)) {
-          variantLibsMap.put(variant, new ArrayList<>());
-        }
-        variantLibsMap.get(variant).add(entry);
-      } else { // inside the libs directory
-        if (!entry.isDirectory()) {
-          // aapt2 doesn't strip any files in libs/ top-level. So we should
-          // include them in each variant as well.
-          nonVariantLibs.add(entry);
-        }
-      }
-    }
-  }
-
-  public List<String> getAllVariants() {
-    return new ArrayList<>(variantLibsMap.keySet());
-  }
-
-  /**
-   * Returns pair of zip entries and the destination path in the split for the variant
-   */
-  public List<Pair<ZipEntry, String>> generateForVariant(String variant) {
-    List<Pair<ZipEntry, String>> res = new ArrayList<>();
-    Set<String> coveredFiles = new HashSet<>();
-    if (!variantLibsMap.containsKey(variant)) {
-      throw new IllegalStateException(
-          String.format("Variant '%s' doesn't exist for the native libraries.", variant));
-    } else {
-      for (ZipEntry entry : variantLibsMap.get(variant)) {
-        String pathWithoutVariant = PathUtils.getFilePathWithoutVariant(entry.getName());
-        coveredFiles.add(pathWithoutVariant);
-        // our destination path needs to include architecture/variant though
-        Path destinationPath = Paths.get(DESTINATION_DIR, variant, pathWithoutVariant);
-        res.add(Pair.of(entry, destinationPath.toString()));
-      }
-    }
-    for (ZipEntry entry : nonVariantLibs) {
-      String pathWithoutVariant = PathUtils.getFilePathWithoutTopLevel(entry.getName());
-      if (!coveredFiles.contains(pathWithoutVariant)) {
-        res.add(Pair.of(entry, Paths.get(DESTINATION_DIR, pathWithoutVariant).toString()));
-      }
-    }
-    return res;
-  }
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/PreSplitGenerator.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/PreSplitGenerator.java
deleted file mode 100644
index b646ef9..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/PreSplitGenerator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable;
-
-import com.android.tools.appbundle.bundle2installable.util.Pair;
-import com.android.tools.appbundle.bundle2installable.util.ZipUtils;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipOutputStream;
-
-/**
- * Generates a zip file with assets, resources and libs in a correct place.
- *
- * This is not yet APK split as it has to be processed by the aapt2.
- */
-public class PreSplitGenerator {
-
-  private ZipOutputStream outputStream;
-
-  PreSplitGenerator(String outputFile) throws FileNotFoundException {
-    this.outputStream = new ZipOutputStream(new FileOutputStream(outputFile));
-  }
-
-  public void writePreSplit(ZipFile moduleZip, List<Pair<ZipEntry, String>> entriesToWrite)
-      throws IOException, FileNotFoundException {
-    for (Pair<ZipEntry, String> entry : entriesToWrite) {
-      ZipUtils.writeEntry(entry.getSecond(), outputStream,
-          moduleZip.getInputStream(entry.getFirst()));
-    }
-    outputStream.close();
-  }
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/ResourcesProcessor.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/ResourcesProcessor.java
deleted file mode 100644
index ffd7264..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/ResourcesProcessor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable;
-
-import com.android.tools.appbundle.bundle2installable.util.Pair;
-import com.android.tools.appbundle.bundle2installable.util.ProtoUtils;
-import com.android.tools.appbundle.bundle2installable.util.ZipWalker;
-import com.android.tools.aapt2.FormatProto;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * Detects variants in the res directory of the module zip.
- *
- * Currently, this class detects only one variant that will contain all resources.
- */
-public class ResourcesProcessor implements ZipWalker.ZipEntryListener, VariantProcessor {
-
-  public static final String FORMAT_PROTO_NAME = "format.textpb";
-  public static final String RES_DIRECTORY = "res/";
-
-  /**
-   * For now we just copy all resources
-   */
-  private List<ZipEntry> allVariants;
-
-  public ResourcesProcessor() {
-    this.allVariants = new ArrayList<ZipEntry>();
-  }
-
-  public void notify(ZipFile bundle, ZipEntry entry) throws IOException {
-    if (entry.getName().equals(FORMAT_PROTO_NAME)) {
-      FormatProto.ResourceTable resourceProto = ProtoUtils.extractResourceProto(bundle, entry);
-      // ... processing
-    }
-    if (entry.getName().startsWith(RES_DIRECTORY)) {
-      if (!entry.isDirectory()) {
-        allVariants.add(entry);
-      }
-    }
-  }
-
-  /**
-   * For now, just generate everything
-   */
-  public List<Pair<ZipEntry, String>> generateForVariant(String variant) {
-    List<Pair<ZipEntry, String>> res = new ArrayList<>();
-    for (ZipEntry entry : allVariants) {
-      res.add(Pair.of(entry, entry.getName()));
-    }
-    return res;
-  }
-
-  /**
-   * Recognizes only one default variant
-   */
-  public List<String> getAllVariants() {
-    return Arrays.asList("default");
-  }
-
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/VariantProcessor.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/VariantProcessor.java
deleted file mode 100644
index c7bde25..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/VariantProcessor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable;
-
-import com.android.tools.appbundle.bundle2installable.util.Pair;
-import java.util.List;
-import java.util.zip.ZipEntry;
-
-/**
- * Interface that describes ability to generate a set of files in the resulting split APK for a
- * given variant. Currently, the notion of a variant is very simplified: one dimension, and a
- * string.
- */
-public interface VariantProcessor {
-
-  /**
-   * Returns the list of files from the module zip to be included in the split for a variant.
-   *
-   * @param variant a simple string representing a variant, currently we support only one
-   * dimension.
-   * @return A list of pairs: {@code ZipEntry} from the module zip to be included in the split,
-   * {@code string} destination path in the split.
-   */
-  List<Pair<ZipEntry, String>> generateForVariant(String variant);
-
-  /**
-   * Returns list of all variants detected by this processor.
-   */
-  List<String> getAllVariants();
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/Pair.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/Pair.java
deleted file mode 100644
index 26b7e72..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/Pair.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable.util;
-
-/**
- * Pair of two elements.
- */
-public final class Pair<A, B> {
-
-  private final A mFirst;
-  private final B mSecond;
-
-  private Pair(A first, B second) {
-    mFirst = first;
-    mSecond = second;
-  }
-
-  public static <A, B> Pair<A, B> of(A first, B second) {
-    return new Pair<A, B>(first, second);
-  }
-
-  public A getFirst() {
-    return mFirst;
-  }
-
-  public B getSecond() {
-    return mSecond;
-  }
-
-  @Override
-  public int hashCode() {
-    final int prime = 31;
-    int result = 1;
-    result = prime * result + ((mFirst == null) ? 0 : mFirst.hashCode());
-    result = prime * result + ((mSecond == null) ? 0 : mSecond.hashCode());
-    return result;
-  }
-
-  @Override
-  public boolean equals(Object obj) {
-    if (this == obj) {
-      return true;
-    }
-    if (obj == null) {
-      return false;
-    }
-    if (getClass() != obj.getClass()) {
-      return false;
-    }
-    @SuppressWarnings("rawtypes")
-    Pair other = (Pair) obj;
-    if (mFirst == null) {
-      if (other.mFirst != null) {
-        return false;
-      }
-    } else if (!mFirst.equals(other.mFirst)) {
-      return false;
-    }
-    if (mSecond == null) {
-      if (other.mSecond != null) {
-        return false;
-      }
-    } else if (!mSecond.equals(other.mSecond)) {
-      return false;
-    }
-    return true;
-  }
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/PathUtils.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/PathUtils.java
deleted file mode 100644
index 0169525..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/PathUtils.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable.util;
-
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import javax.annotation.Nullable;
-
-/**
- * Various utilities for path processing.
- */
-public class PathUtils {
-
-  private static final int TOP_LEVEL = 0;
-  private static final int VARIANT_LEVEL = 1;
-  private static final int LEVEL_IN_VARIANT = 2;
-  private static final int LEVEL_IN_DEFAULT = 1;
-
-  public static String stripExtension(String filename) {
-    return filename.substring(0, filename.lastIndexOf('.'));
-  }
-
-  public static String makeSplitName(String module, String split) {
-    return module + "-" + split + ".zip";
-  }
-
-  public static String stripDirectories(String fullPath) {
-    Path p = Paths.get(fullPath);
-    return p.getName(p.getNameCount() - 1).toString();
-  }
-
-  public static boolean isInsideTopDirectory(Path p, String directoryName) {
-    return p.getNameCount() > 1 && p.getName(TOP_LEVEL).toString().equals(directoryName);
-  }
-
-  @Nullable
-  public static String resolveVariant(Path p) {
-    if (p.getNameCount() > 2) { // inside the variant directory
-      return p.getName(VARIANT_LEVEL).toString();
-    }
-    return null;
-  }
-
-  public static String getFilePathWithoutVariant(String entryPath) {
-    return removeTopLevelPath(entryPath, LEVEL_IN_VARIANT);
-  }
-
-  public static String getFilePathWithoutTopLevel(String entryPath) {
-    return removeTopLevelPath(entryPath, LEVEL_IN_DEFAULT);
-  }
-
-  public static String removeTopLevelPath(String entryPath, int numLevels) {
-    Path p = Paths.get(entryPath);
-    System.out.println(entryPath);
-    return p.subpath(numLevels, p.getNameCount()).toString();
-  }
-
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/ProtoUtils.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/ProtoUtils.java
deleted file mode 100644
index 6d0c787..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/ProtoUtils.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable.util;
-
-import com.android.tools.aapt2.FormatProto;
-import com.google.protobuf.TextFormat;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * Protobuf utility functions used throughout the tool.
- */
-public class ProtoUtils {
-
-  /**
-   * Reads format.proto from the aapt2 output. For now using the textproto format.
-   */
-  public static FormatProto.ResourceTable extractResourceProto(ZipFile bundle, ZipEntry entry)
-      throws IOException {
-    System.out.println(String.format("Extracting %s", entry.getName()));
-
-    FormatProto.ResourceTable.Builder tableBuilder = FormatProto.ResourceTable.newBuilder();
-    TextFormat.merge(new InputStreamReader(bundle.getInputStream(entry)), tableBuilder);
-    return tableBuilder.build();
-  }
-
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/ZipUtils.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/ZipUtils.java
deleted file mode 100644
index ae4b5ac..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/ZipUtils.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-/**
- * Various zip utilities to avoid code duplication.
- */
-public class ZipUtils {
-
-  private static final int BUFFER = 2048;
-
-  public static void writeEntry(String entryName, ZipOutputStream outputStream,
-      InputStream inputStream) throws IOException {
-    outputStream.putNextEntry(new ZipEntry(entryName));
-    byte data[] = new byte[BUFFER];
-    int count;
-    while ((count = inputStream.read(data, 0, BUFFER)) != -1) {
-      outputStream.write(data, 0, count);
-    }
-    inputStream.close();
-    outputStream.closeEntry();
-  }
-}
diff --git a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/ZipWalker.java b/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/ZipWalker.java
deleted file mode 100644
index 71c3060..0000000
--- a/bundle2installable/src/java/com/android/tools/appbundle/bundle2installable/util/ZipWalker.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed 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
- */
-
-package com.android.tools.appbundle.bundle2installable.util;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-public class ZipWalker {
-
-  private String zipFilename;
-  private List<ZipEntryListener> listeners;
-  private ZipFile zipFile;
-
-  public ZipWalker(String zipFilename) {
-    this.zipFilename = zipFilename;
-    this.listeners = new ArrayList<ZipEntryListener>();
-    this.zipFile = null;
-  }
-
-  public void walk() throws IOException {
-    zipFile = new ZipFile(zipFilename);
-    Enumeration<? extends ZipEntry> e = zipFile.entries();
-    ZipEntry entry;
-    while (e.hasMoreElements()) {
-      entry = e.nextElement();
-      System.out.println(String.format("Entry : %s", entry.getName()));
-      for (ZipEntryListener listener : listeners) {
-        listener.notify(zipFile, entry);
-      }
-    }
-  }
-
-  public void addListener(ZipEntryListener listener) {
-    listeners.add(listener);
-  }
-
-  public ZipFile getZipFile() {
-    return zipFile;
-  }
-
-  public interface ZipEntryListener {
-
-    void notify(ZipFile bundle, ZipEntry entry) throws IOException;
-  }
-}
diff --git a/bundle2installable/src/proto/Format.proto b/bundle2installable/src/proto/Format.proto
deleted file mode 100644
index 8b0f81d..0000000
--- a/bundle2installable/src/proto/Format.proto
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed 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.
- */
-
-syntax = "proto2";
-
-// option optimize_for = LITE_RUNTIME;
-
-package aapt.pb;
-
-option java_package = "com.android.tools.aapt2";
-option java_outer_classname = "FormatProto";
-
-message ConfigDescription {
-	optional bytes data = 1;
-	optional string product = 2;
-}
-
-message StringPool {
-	optional bytes data = 1;
-}
-
-message CompiledFile {
-	message Symbol {
-		optional string resource_name = 1;
-		optional uint32 line_no = 2;
-	}
-
-	optional string resource_name = 1;
-	optional ConfigDescription config = 2;
-	optional string source_path = 3;
-	repeated Symbol exported_symbols = 4;
-}
-
-message ResourceTable {
-	optional StringPool string_pool = 1;
-	optional StringPool source_pool = 2;
-	optional StringPool symbol_pool = 3;
-	repeated Package packages = 4;
-}
-
-message Package {
-	optional uint32 package_id = 1;
-	optional string package_name = 2;
-	repeated Type types = 3;
-}
-
-message Type {	
-	optional uint32 id = 1;
-	optional string name = 2;
-	repeated Entry entries = 3;
-}
-
-message SymbolStatus {
-	enum Visibility {
-		Unknown = 0;
-		Private = 1;
-		Public = 2;
-	}
-	optional Visibility visibility = 1;
-	optional Source source = 2;
-	optional string comment = 3;
-	optional bool allow_new = 4;
-}
-
-message Entry {
-	optional uint32 id = 1;
-	optional string name = 2;
-	optional SymbolStatus symbol_status = 3;
-	repeated ConfigValue config_values = 4;
-}
-
-message ConfigValue {
-	optional ConfigDescription config = 1;
-	optional Value value = 2;
-}
-
-message Source {
-	optional uint32 path_idx = 1;
-	optional uint32 line_no = 2;
-	optional uint32 col_no = 3;
-}
-
-message Reference {
-	enum Type {
-		Ref = 0;
-		Attr = 1;
-	}
-	optional Type type = 1;
-	optional uint32 id = 2;
-	optional uint32 symbol_idx = 3;
-	optional bool private = 4;
-}
-
-message Id {
-}
-
-message XString {
-	optional uint32 idx = 1;
-}
-
-message RawString {
-	optional uint32 idx = 1;
-}
-
-message FileReference {
-	optional uint32 path_idx = 1;
-}
-
-message Primitive {
-	optional uint32 type = 1;
-	optional uint32 data = 2;
-}
-
-message Attribute {
-	message Symbol {
-		optional Source source = 1;
-		optional string comment = 2;
-		optional Reference name = 3;
-		optional uint32 value = 4;
-	}
-	optional uint32 format_flags = 1;
-	optional int32 min_int = 2;
-	optional int32 max_int = 3;
-	repeated Symbol symbols = 4;
-}
-
-message Style {
-	message Entry {
-		optional Source source = 1;
-		optional string comment = 2;
-		optional Reference key = 3;
-		optional Item item = 4;
-	}
-
-	optional Reference parent = 1;
-	optional Source parent_source = 2;
-	repeated Entry entries = 3;
-}
-
-message Styleable {
-	message Entry {
-		optional Source source = 1;
-		optional string comment = 2;
-		optional Reference attr = 3;
-	}
-	repeated Entry entries = 1;
-}
-
-message Array {
-	message Entry {
-		optional Source source = 1;
-		optional string comment = 2;
-		optional Item item = 3;
-	}
-	repeated Entry entries = 1;
-}
-
-message Plural {
-	enum Arity {
-		Zero = 0;
-		One = 1;
-		Two = 2;
-		Few = 3;
-		Many = 4;
-		Other = 5;
-	}
-		
-	message Entry {
-		optional Source source = 1;
-		optional string comment = 2;
-		optional Arity arity = 3;
-		optional Item item = 4;
-	}
-	repeated Entry entries = 1;
-}
-
-message Item {
-	optional Reference ref = 1;
-	optional XString str = 2;
-	optional RawString raw_str = 3;
-	optional FileReference file = 4;
-	optional Id id = 5;
-	optional Primitive prim = 6;
-}
-
-message CompoundValue {
-	optional Attribute attr = 1;
-	optional Style style = 2;
-	optional Styleable styleable = 3;
-	optional Array array = 4;
-	optional Plural plural = 5;
-}
-
-message Value {
-	optional Source source = 1;
-	optional string comment = 2;
-	optional bool weak = 3;
-	
-	optional Item item = 4;
-	optional CompoundValue compound_value = 5;	
-}