diff --git a/common/offline-m2/com/android/databinding/baseLibrary/2.2.0-alpha1/baseLibrary-2.2.0-alpha1.jar b/common/offline-m2/com/android/databinding/baseLibrary/2.2.0-alpha1/baseLibrary-2.2.0-alpha1.jar
deleted file mode 100644
index ae31583..0000000
--- a/common/offline-m2/com/android/databinding/baseLibrary/2.2.0-alpha1/baseLibrary-2.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/databinding/baseLibrary/2.2.0-alpha1/baseLibrary-2.2.0-alpha1.pom b/common/offline-m2/com/android/databinding/baseLibrary/2.2.0-alpha1/baseLibrary-2.2.0-alpha1.pom
deleted file mode 100644
index aa0204b..0000000
--- a/common/offline-m2/com/android/databinding/baseLibrary/2.2.0-alpha1/baseLibrary-2.2.0-alpha1.pom
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.databinding</groupId>
-  <artifactId>baseLibrary</artifactId>
-  <version>2.2.0-alpha1</version>
-  <name>Data Binding Base Library</name>
-  <description>Shared library between Data Binding runtime lib and compiler</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/databinding/compiler/2.2.0-alpha1/compiler-2.2.0-alpha1.jar b/common/offline-m2/com/android/databinding/compiler/2.2.0-alpha1/compiler-2.2.0-alpha1.jar
deleted file mode 100644
index 1edede8..0000000
--- a/common/offline-m2/com/android/databinding/compiler/2.2.0-alpha1/compiler-2.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/databinding/compiler/2.2.0-alpha1/compiler-2.2.0-alpha1.pom b/common/offline-m2/com/android/databinding/compiler/2.2.0-alpha1/compiler-2.2.0-alpha1.pom
deleted file mode 100644
index 257f041..0000000
--- a/common/offline-m2/com/android/databinding/compiler/2.2.0-alpha1/compiler-2.2.0-alpha1.pom
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.databinding</groupId>
-  <artifactId>compiler</artifactId>
-  <version>2.2.0-alpha1</version>
-  <name>Data Binding Annotation Processor</name>
-  <description>The annotation processor for Data Binding. Generates binding classes for runtime.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.databinding</groupId>
-      <artifactId>baseLibrary</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.juniversalchardet</groupId>
-      <artifactId>juniversalchardet</artifactId>
-      <version>1.0.3</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/databinding/compilerCommon/2.2.0-alpha1/compilerCommon-2.2.0-alpha1.jar b/common/offline-m2/com/android/databinding/compilerCommon/2.2.0-alpha1/compilerCommon-2.2.0-alpha1.jar
deleted file mode 100644
index 215f54f..0000000
--- a/common/offline-m2/com/android/databinding/compilerCommon/2.2.0-alpha1/compilerCommon-2.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/databinding/compilerCommon/2.2.0-alpha1/compilerCommon-2.2.0-alpha1.pom b/common/offline-m2/com/android/databinding/compilerCommon/2.2.0-alpha1/compilerCommon-2.2.0-alpha1.pom
deleted file mode 100644
index dfc1b13..0000000
--- a/common/offline-m2/com/android/databinding/compilerCommon/2.2.0-alpha1/compilerCommon-2.2.0-alpha1.pom
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.databinding</groupId>
-  <artifactId>compilerCommon</artifactId>
-  <version>2.2.0-alpha1</version>
-  <name>Data Binding Compiler Common</name>
-  <description>Common library that can be shared between different build tools</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>org.antlr</groupId>
-      <artifactId>antlr4</artifactId>
-      <version>4.5.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.databinding</groupId>
-      <artifactId>baseLibrary</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>17.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.juniversalchardet</groupId>
-      <artifactId>juniversalchardet</artifactId>
-      <version>1.0.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>annotations</artifactId>
-      <version>24.5.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>2.4</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/annotations/24.5.0/NOTICE b/common/offline-m2/com/android/tools/annotations/24.5.0/NOTICE
deleted file mode 100644
index d645695..0000000
--- a/common/offline-m2/com/android/tools/annotations/24.5.0/NOTICE
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   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.
diff --git a/common/offline-m2/com/android/tools/annotations/25.2.0-alpha1/annotations-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/annotations/25.2.0-alpha1/annotations-25.2.0-alpha1.jar
deleted file mode 100644
index 453e830..0000000
--- a/common/offline-m2/com/android/tools/annotations/25.2.0-alpha1/annotations-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/annotations/25.2.0-alpha1/annotations-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/annotations/25.2.0-alpha1/annotations-25.2.0-alpha1.pom
deleted file mode 100644
index 77fb2ec..0000000
--- a/common/offline-m2/com/android/tools/annotations/25.2.0-alpha1/annotations-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools</groupId>
-  <artifactId>annotations</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Tools Annotations library</name>
-  <description>annotations used throughout the Android tools libraries.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-</project>
diff --git a/common/offline-m2/com/android/tools/build/builder-model/2.2.0-alpha1/builder-model-2.2.0-alpha1.jar b/common/offline-m2/com/android/tools/build/builder-model/2.2.0-alpha1/builder-model-2.2.0-alpha1.jar
deleted file mode 100644
index f350069..0000000
--- a/common/offline-m2/com/android/tools/build/builder-model/2.2.0-alpha1/builder-model-2.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/build/builder-model/2.2.0-alpha1/builder-model-2.2.0-alpha1.pom b/common/offline-m2/com/android/tools/build/builder-model/2.2.0-alpha1/builder-model-2.2.0-alpha1.pom
deleted file mode 100644
index d21ac45..0000000
--- a/common/offline-m2/com/android/tools/build/builder-model/2.2.0-alpha1/builder-model-2.2.0-alpha1.pom
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.build</groupId>
-  <artifactId>builder-model</artifactId>
-  <version>2.2.0-alpha1</version>
-  <name>Android Builder Model library</name>
-  <description>Model for the Builder library.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>annotations</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/build/builder-test-api/2.2.0-alpha1/builder-test-api-2.2.0-alpha1.jar b/common/offline-m2/com/android/tools/build/builder-test-api/2.2.0-alpha1/builder-test-api-2.2.0-alpha1.jar
deleted file mode 100644
index c083bfe..0000000
--- a/common/offline-m2/com/android/tools/build/builder-test-api/2.2.0-alpha1/builder-test-api-2.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/build/builder-test-api/2.2.0-alpha1/builder-test-api-2.2.0-alpha1.pom b/common/offline-m2/com/android/tools/build/builder-test-api/2.2.0-alpha1/builder-test-api-2.2.0-alpha1.pom
deleted file mode 100644
index af57ded..0000000
--- a/common/offline-m2/com/android/tools/build/builder-test-api/2.2.0-alpha1/builder-test-api-2.2.0-alpha1.pom
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.build</groupId>
-  <artifactId>builder-test-api</artifactId>
-  <version>2.2.0-alpha1</version>
-  <name>Android Builder Test API library</name>
-  <description>API for the Test extension point in the Builder library.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.ddms</groupId>
-      <artifactId>ddmlib</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/build/builder/2.2.0-alpha1/builder-2.2.0-alpha1.jar b/common/offline-m2/com/android/tools/build/builder/2.2.0-alpha1/builder-2.2.0-alpha1.jar
deleted file mode 100644
index cf1b2b3..0000000
--- a/common/offline-m2/com/android/tools/build/builder/2.2.0-alpha1/builder-2.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/build/builder/2.2.0-alpha1/builder-2.2.0-alpha1.pom b/common/offline-m2/com/android/tools/build/builder/2.2.0-alpha1/builder-2.2.0-alpha1.pom
deleted file mode 100644
index 6fc606f..0000000
--- a/common/offline-m2/com/android/tools/build/builder/2.2.0-alpha1/builder-2.2.0-alpha1.pom
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.build</groupId>
-  <artifactId>builder</artifactId>
-  <version>2.2.0-alpha1</version>
-  <name>Android Builder library</name>
-  <description>Library to build Android applications.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>sdk-common</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm</artifactId>
-      <version>5.0.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm-tree</artifactId>
-      <version>5.0.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.jack</groupId>
-      <artifactId>jack-api</artifactId>
-      <version>0.10.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.ddms</groupId>
-      <artifactId>ddmlib</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>sdklib</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>builder-test-api</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>common</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>manifest-merger</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>builder-model</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.truth</groupId>
-      <artifactId>truth</artifactId>
-      <version>0.28</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.squareup</groupId>
-      <artifactId>javawriter</artifactId>
-      <version>2.5.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.jill</groupId>
-      <artifactId>jill-api</artifactId>
-      <version>0.10.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.bouncycastle</groupId>
-      <artifactId>bcprov-jdk15on</artifactId>
-      <version>1.48</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>testutils</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.bouncycastle</groupId>
-      <artifactId>bcpkix-jdk15on</artifactId>
-      <version>1.48</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-all</artifactId>
-      <version>1.9.5</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/build/gradle-api/2.2.0-alpha1/gradle-api-2.2.0-alpha1.jar b/common/offline-m2/com/android/tools/build/gradle-api/2.2.0-alpha1/gradle-api-2.2.0-alpha1.jar
deleted file mode 100644
index 26375d4..0000000
--- a/common/offline-m2/com/android/tools/build/gradle-api/2.2.0-alpha1/gradle-api-2.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/build/gradle-api/2.2.0-alpha1/gradle-api-2.2.0-alpha1.pom b/common/offline-m2/com/android/tools/build/gradle-api/2.2.0-alpha1/gradle-api-2.2.0-alpha1.pom
deleted file mode 100644
index 6797693..0000000
--- a/common/offline-m2/com/android/tools/build/gradle-api/2.2.0-alpha1/gradle-api-2.2.0-alpha1.pom
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.build</groupId>
-  <artifactId>gradle-api</artifactId>
-  <version>2.2.0-alpha1</version>
-  <name>Android Gradle API</name>
-  <description>APIs to customize Android Gradle Builds</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>17.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>builder-model</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/build/gradle-core/2.2.0-alpha1/gradle-core-2.2.0-alpha1.jar b/common/offline-m2/com/android/tools/build/gradle-core/2.2.0-alpha1/gradle-core-2.2.0-alpha1.jar
deleted file mode 100644
index 7be70d6..0000000
--- a/common/offline-m2/com/android/tools/build/gradle-core/2.2.0-alpha1/gradle-core-2.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/build/gradle-core/2.2.0-alpha1/gradle-core-2.2.0-alpha1.pom b/common/offline-m2/com/android/tools/build/gradle-core/2.2.0-alpha1/gradle-core-2.2.0-alpha1.pom
deleted file mode 100644
index 2bd7afa..0000000
--- a/common/offline-m2/com/android/tools/build/gradle-core/2.2.0-alpha1/gradle-core-2.2.0-alpha1.pom
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.build</groupId>
-  <artifactId>gradle-core</artifactId>
-  <version>2.2.0-alpha1</version>
-  <name>Core Library for Android Gradle Plug-in</name>
-  <description>Core library to build Android Gradle plugin.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>org.jsoup</groupId>
-      <artifactId>jsoup</artifactId>
-      <version>1.6.3</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.lint</groupId>
-      <artifactId>lint</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm</artifactId>
-      <version>5.0.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jacoco</groupId>
-      <artifactId>org.jacoco.report</artifactId>
-      <version>0.7.4.201502262128</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>tools.base.instant-run</groupId>
-      <artifactId>instant-run-annotations</artifactId>
-      <version>unspecified</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm-commons</artifactId>
-      <version>5.0.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>builder</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>tools.base.instant-run</groupId>
-      <artifactId>instant-run-runtime</artifactId>
-      <version>unspecified</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>tools.base</groupId>
-      <artifactId>project-test-lib</artifactId>
-      <version>unspecified</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>transform-api</artifactId>
-      <version>2.0.0-deprecated-use-gradle-api</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>17.0</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.jopt-simple</groupId>
-      <artifactId>jopt-simple</artifactId>
-      <version>4.9</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>gradle-api</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.proguard</groupId>
-      <artifactId>proguard-gradle</artifactId>
-      <version>5.2.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.truth</groupId>
-      <artifactId>truth</artifactId>
-      <version>0.28</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.databinding</groupId>
-      <artifactId>compilerCommon</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jacoco</groupId>
-      <artifactId>org.jacoco.core</artifactId>
-      <version>0.7.4.201502262128</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>testutils</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-all</artifactId>
-      <version>1.9.5</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/build/gradle-experimental/0.8.0-alpha1/gradle-experimental-0.8.0-alpha1.jar b/common/offline-m2/com/android/tools/build/gradle-experimental/0.8.0-alpha1/gradle-experimental-0.8.0-alpha1.jar
deleted file mode 100644
index 876dd26..0000000
--- a/common/offline-m2/com/android/tools/build/gradle-experimental/0.8.0-alpha1/gradle-experimental-0.8.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/build/gradle-experimental/0.8.0-alpha1/gradle-experimental-0.8.0-alpha1.pom b/common/offline-m2/com/android/tools/build/gradle-experimental/0.8.0-alpha1/gradle-experimental-0.8.0-alpha1.pom
deleted file mode 100644
index 9c81fbe..0000000
--- a/common/offline-m2/com/android/tools/build/gradle-experimental/0.8.0-alpha1/gradle-experimental-0.8.0-alpha1.pom
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.build</groupId>
-  <artifactId>gradle-experimental</artifactId>
-  <version>0.8.0-alpha1</version>
-  <name>Gradle Plug-in for Android Using Component Model</name>
-  <description>Gradle plug-in to build Android applications.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>gradle-core</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>tools.base</groupId>
-      <artifactId>project-test-lib</artifactId>
-      <version>unspecified</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/build/gradle/2.2.0-alpha1/gradle-2.2.0-alpha1.jar b/common/offline-m2/com/android/tools/build/gradle/2.2.0-alpha1/gradle-2.2.0-alpha1.jar
deleted file mode 100644
index 6cd26b1..0000000
--- a/common/offline-m2/com/android/tools/build/gradle/2.2.0-alpha1/gradle-2.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/build/gradle/2.2.0-alpha1/gradle-2.2.0-alpha1.pom b/common/offline-m2/com/android/tools/build/gradle/2.2.0-alpha1/gradle-2.2.0-alpha1.pom
deleted file mode 100644
index 900451d..0000000
--- a/common/offline-m2/com/android/tools/build/gradle/2.2.0-alpha1/gradle-2.2.0-alpha1.pom
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.build</groupId>
-  <artifactId>gradle</artifactId>
-  <version>2.2.0-alpha1</version>
-  <name>Gradle Plug-in for Android</name>
-  <description>Gradle plug-in to build Android applications.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>gradle-core</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>tools.base</groupId>
-      <artifactId>project-test-lib</artifactId>
-      <version>unspecified</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/build/manifest-merger/25.2.0-alpha1/manifest-merger-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/build/manifest-merger/25.2.0-alpha1/manifest-merger-25.2.0-alpha1.jar
deleted file mode 100644
index 04d8707..0000000
--- a/common/offline-m2/com/android/tools/build/manifest-merger/25.2.0-alpha1/manifest-merger-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/build/manifest-merger/25.2.0-alpha1/manifest-merger-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/build/manifest-merger/25.2.0-alpha1/manifest-merger-25.2.0-alpha1.pom
deleted file mode 100644
index 615c80b..0000000
--- a/common/offline-m2/com/android/tools/build/manifest-merger/25.2.0-alpha1/manifest-merger-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.build</groupId>
-  <artifactId>manifest-merger</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Tools Manifest Merger library</name>
-  <description>A Library to merge Android manifests.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>common</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>sdk-common</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.kxml</groupId>
-      <artifactId>kxml2</artifactId>
-      <version>2.3.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>sdklib</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.code.gson</groupId>
-      <artifactId>gson</artifactId>
-      <version>2.2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-all</artifactId>
-      <version>1.9.5</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar b/common/offline-m2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar
index 284e6e1..8e68c97 100644
--- a/common/offline-m2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar
+++ b/common/offline-m2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar
Binary files differ
diff --git a/common/offline-m2/com/android/tools/common/25.2.0-alpha1/common-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/common/25.2.0-alpha1/common-25.2.0-alpha1.jar
deleted file mode 100644
index 6c38fa9..0000000
--- a/common/offline-m2/com/android/tools/common/25.2.0-alpha1/common-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/common/25.2.0-alpha1/common-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/common/25.2.0-alpha1/common-25.2.0-alpha1.pom
deleted file mode 100644
index 8fc4b68..0000000
--- a/common/offline-m2/com/android/tools/common/25.2.0-alpha1/common-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools</groupId>
-  <artifactId>common</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Tools common library</name>
-  <description>common library used by other Android tools libraries.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>annotations</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>17.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.truth</groupId>
-      <artifactId>truth</artifactId>
-      <version>0.28</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/ddms/ddmlib/25.2.0-alpha1/ddmlib-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/ddms/ddmlib/25.2.0-alpha1/ddmlib-25.2.0-alpha1.jar
deleted file mode 100644
index 6b517bb..0000000
--- a/common/offline-m2/com/android/tools/ddms/ddmlib/25.2.0-alpha1/ddmlib-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/ddms/ddmlib/25.2.0-alpha1/ddmlib-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/ddms/ddmlib/25.2.0-alpha1/ddmlib-25.2.0-alpha1.pom
deleted file mode 100644
index b671df1..0000000
--- a/common/offline-m2/com/android/tools/ddms/ddmlib/25.2.0-alpha1/ddmlib-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.ddms</groupId>
-  <artifactId>ddmlib</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Tools ddmlib</name>
-  <description>Library providing APIs to talk to Android devices</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>common</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.kxml</groupId>
-      <artifactId>kxml2</artifactId>
-      <version>2.3.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <version>3.1</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/dvlib/25.2.0-alpha1/dvlib-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/dvlib/25.2.0-alpha1/dvlib-25.2.0-alpha1.jar
deleted file mode 100644
index 1482c2c..0000000
--- a/common/offline-m2/com/android/tools/dvlib/25.2.0-alpha1/dvlib-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/dvlib/25.2.0-alpha1/dvlib-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/dvlib/25.2.0-alpha1/dvlib-25.2.0-alpha1.pom
deleted file mode 100644
index 8ba71be..0000000
--- a/common/offline-m2/com/android/tools/dvlib/25.2.0-alpha1/dvlib-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools</groupId>
-  <artifactId>dvlib</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Tools dvlib</name>
-  <description>A Library to manage the Android device database XML files.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>common</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/external/com-intellij/NOTICE b/common/offline-m2/com/android/tools/external/com-intellij/NOTICE
deleted file mode 100644
index 1768561..0000000
--- a/common/offline-m2/com/android/tools/external/com-intellij/NOTICE
+++ /dev/null
@@ -1,205 +0,0 @@
-This software includes code from IntelliJ IDEA Community Edition
-Copyright (C) JetBrains s.r.o.
-https://www.jetbrains.com/idea/
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   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.
diff --git a/common/offline-m2/com/android/tools/external/com-intellij/uast/145.597.3/uast-145.597.3.jar b/common/offline-m2/com/android/tools/external/com-intellij/uast/145.597.3/uast-145.597.3.jar
deleted file mode 100644
index 0668baa..0000000
--- a/common/offline-m2/com/android/tools/external/com-intellij/uast/145.597.3/uast-145.597.3.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/external/com-intellij/uast/145.597.3/uast-145.597.3.pom b/common/offline-m2/com/android/tools/external/com-intellij/uast/145.597.3/uast-145.597.3.pom
deleted file mode 100644
index b314f6d..0000000
--- a/common/offline-m2/com/android/tools/external/com-intellij/uast/145.597.3/uast-145.597.3.pom
+++ /dev/null
@@ -1,20 +0,0 @@
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http\
-://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>com.android.tools.external.com-intellij</groupId>
-    <artifactId>uast</artifactId>
-    <version>145.597.3</version>
-    <packaging>jar</packaging>
-    <name>uast</name>
-    <url>http://www.jetbrains.com/idea</url>
-    <description>A subset of IntelliJ IDEA's AST APIs and implementation,
-    focusing on the read-only aspects, intended for use by Android Lint
-    when running outside of the IDE (typically from Gradle.)
-    </description>
-    <licenses>
-      <license>
-        <name>Apache License, Version 2.0</name>
-        <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      </license>
-    </licenses>
-</project>
\ No newline at end of file
diff --git a/common/offline-m2/com/android/tools/jack/jack-api/0.10.0/jack-api-0.10.0.jar b/common/offline-m2/com/android/tools/jack/jack-api/0.10.0/jack-api-0.10.0.jar
index 19fdb50..935bdaf 100644
--- a/common/offline-m2/com/android/tools/jack/jack-api/0.10.0/jack-api-0.10.0.jar
+++ b/common/offline-m2/com/android/tools/jack/jack-api/0.10.0/jack-api-0.10.0.jar
Binary files differ
diff --git a/common/offline-m2/com/android/tools/jill/jill-api/0.10.0/jill-api-0.10.0.jar b/common/offline-m2/com/android/tools/jill/jill-api/0.10.0/jill-api-0.10.0.jar
index 4f16689..f6ecdca 100644
--- a/common/offline-m2/com/android/tools/jill/jill-api/0.10.0/jill-api-0.10.0.jar
+++ b/common/offline-m2/com/android/tools/jill/jill-api/0.10.0/jill-api-0.10.0.jar
Binary files differ
diff --git a/common/offline-m2/com/android/tools/layoutlib/layoutlib-api/25.2.0-alpha1/layoutlib-api-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/layoutlib/layoutlib-api/25.2.0-alpha1/layoutlib-api-25.2.0-alpha1.jar
deleted file mode 100644
index aac615c..0000000
--- a/common/offline-m2/com/android/tools/layoutlib/layoutlib-api/25.2.0-alpha1/layoutlib-api-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/layoutlib/layoutlib-api/25.2.0-alpha1/layoutlib-api-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/layoutlib/layoutlib-api/25.2.0-alpha1/layoutlib-api-25.2.0-alpha1.pom
deleted file mode 100644
index f793b81..0000000
--- a/common/offline-m2/com/android/tools/layoutlib/layoutlib-api/25.2.0-alpha1/layoutlib-api-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.layoutlib</groupId>
-  <artifactId>layoutlib-api</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Tools layoutlib-api</name>
-  <description>Library to use the rendering library for Android layouts: layoutlib</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>common</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>annotations</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.kxml</groupId>
-      <artifactId>kxml2</artifactId>
-      <version>2.3.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.intellij</groupId>
-      <artifactId>annotations</artifactId>
-      <version>12.0</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/lint/lint-api/25.2.0-alpha1/lint-api-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/lint/lint-api/25.2.0-alpha1/lint-api-25.2.0-alpha1.jar
deleted file mode 100644
index ea3844c..0000000
--- a/common/offline-m2/com/android/tools/lint/lint-api/25.2.0-alpha1/lint-api-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/lint/lint-api/25.2.0-alpha1/lint-api-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/lint/lint-api/25.2.0-alpha1/lint-api-25.2.0-alpha1.pom
deleted file mode 100644
index 304002a..0000000
--- a/common/offline-m2/com/android/tools/lint/lint-api/25.2.0-alpha1/lint-api-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.lint</groupId>
-  <artifactId>lint-api</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Tools Lint API</name>
-  <description>API to build lint checks</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>sdk-common</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm</artifactId>
-      <version>5.0.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>builder-model</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.external.lombok</groupId>
-      <artifactId>lombok-ast</artifactId>
-      <version>0.2.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm-tree</artifactId>
-      <version>5.0.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.external.com-intellij</groupId>
-      <artifactId>uast</artifactId>
-      <version>145.597.3</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/lint/lint-checks/25.2.0-alpha1/lint-checks-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/lint/lint-checks/25.2.0-alpha1/lint-checks-25.2.0-alpha1.jar
deleted file mode 100644
index 88dec9c..0000000
--- a/common/offline-m2/com/android/tools/lint/lint-checks/25.2.0-alpha1/lint-checks-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/lint/lint-checks/25.2.0-alpha1/lint-checks-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/lint/lint-checks/25.2.0-alpha1/lint-checks-25.2.0-alpha1.pom
deleted file mode 100644
index c70497f..0000000
--- a/common/offline-m2/com/android/tools/lint/lint-checks/25.2.0-alpha1/lint-checks-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.lint</groupId>
-  <artifactId>lint-checks</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Lint Checks</name>
-  <description>Checks for Android Lint</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm-analysis</artifactId>
-      <version>5.0.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.lint</groupId>
-      <artifactId>lint-api</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/lint/lint/25.2.0-alpha1/lint-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/lint/lint/25.2.0-alpha1/lint-25.2.0-alpha1.jar
deleted file mode 100644
index be68b6f..0000000
--- a/common/offline-m2/com/android/tools/lint/lint/25.2.0-alpha1/lint-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/lint/lint/25.2.0-alpha1/lint-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/lint/lint/25.2.0-alpha1/lint-25.2.0-alpha1.pom
deleted file mode 100644
index 7bdd629..0000000
--- a/common/offline-m2/com/android/tools/lint/lint/25.2.0-alpha1/lint-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools.lint</groupId>
-  <artifactId>lint</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Lint Tool</name>
-  <description>Lint tools. Both a Command line tool and a library to add lint features to other tools</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.tools.lint</groupId>
-      <artifactId>lint-checks</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jdt.core.compiler</groupId>
-      <artifactId>ecj</artifactId>
-      <version>4.5.1</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/repository/25.2.0-alpha1/repository-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/repository/25.2.0-alpha1/repository-25.2.0-alpha1.jar
deleted file mode 100644
index 23d1806..0000000
--- a/common/offline-m2/com/android/tools/repository/25.2.0-alpha1/repository-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/repository/25.2.0-alpha1/repository-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/repository/25.2.0-alpha1/repository-25.2.0-alpha1.pom
deleted file mode 100644
index 28dbf30..0000000
--- a/common/offline-m2/com/android/tools/repository/25.2.0-alpha1/repository-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools</groupId>
-  <artifactId>repository</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Tools repository</name>
-  <description>A library for downloading and managing package repositories</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>common</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-compress</artifactId>
-      <version>1.8.1</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/sdk-common/25.2.0-alpha1/sdk-common-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/sdk-common/25.2.0-alpha1/sdk-common-25.2.0-alpha1.jar
deleted file mode 100644
index 393447e..0000000
--- a/common/offline-m2/com/android/tools/sdk-common/25.2.0-alpha1/sdk-common-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/sdk-common/25.2.0-alpha1/sdk-common-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/sdk-common/25.2.0-alpha1/sdk-common-25.2.0-alpha1.pom
deleted file mode 100644
index 57865f7..0000000
--- a/common/offline-m2/com/android/tools/sdk-common/25.2.0-alpha1/sdk-common-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools</groupId>
-  <artifactId>sdk-common</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Tools sdk-common library</name>
-  <description>sdk-common library used by other Android tools libraries.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>builder-model</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.truth</groupId>
-      <artifactId>truth</artifactId>
-      <version>0.28</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>sdklib</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.bouncycastle</groupId>
-      <artifactId>bcprov-jdk15on</artifactId>
-      <version>1.48</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>testutils</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <version>3.3</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.bouncycastle</groupId>
-      <artifactId>bcpkix-jdk15on</artifactId>
-      <version>1.48</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-all</artifactId>
-      <version>1.9.5</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.build</groupId>
-      <artifactId>builder-test-api</artifactId>
-      <version>2.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/com/android/tools/sdklib/25.2.0-alpha1/sdklib-25.2.0-alpha1.jar b/common/offline-m2/com/android/tools/sdklib/25.2.0-alpha1/sdklib-25.2.0-alpha1.jar
deleted file mode 100644
index 8210117..0000000
--- a/common/offline-m2/com/android/tools/sdklib/25.2.0-alpha1/sdklib-25.2.0-alpha1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/com/android/tools/sdklib/25.2.0-alpha1/sdklib-25.2.0-alpha1.pom b/common/offline-m2/com/android/tools/sdklib/25.2.0-alpha1/sdklib-25.2.0-alpha1.pom
deleted file mode 100644
index 8b04b90..0000000
--- a/common/offline-m2/com/android/tools/sdklib/25.2.0-alpha1/sdklib-25.2.0-alpha1.pom
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.android.tools</groupId>
-  <artifactId>sdklib</artifactId>
-  <version>25.2.0-alpha1</version>
-  <name>Android Tools sdklib</name>
-  <description>A library to parse and download the Android SDK.</description>
-  <url>http://tools.android.com</url>
-  <inceptionYear>2007</inceptionYear>
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>The Android Open Source Project</name>
-    </developer>
-  </developers>
-  <scm>
-    <connection>git://android.googlesource.com/platform/tools/base.git</connection>
-    <url>https://android.googlesource.com/platform/tools/base</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpclient</artifactId>
-      <version>4.1.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>dvlib</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools</groupId>
-      <artifactId>repository</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.android.tools.layoutlib</groupId>
-      <artifactId>layoutlib-api</artifactId>
-      <version>25.2.0-alpha1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.code.gson</groupId>
-      <artifactId>gson</artifactId>
-      <version>2.2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-compress</artifactId>
-      <version>1.8.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpmime</artifactId>
-      <version>4.1</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/common/offline-m2/net/sf/jopt-simple/NOTICE b/common/offline-m2/net/sf/jopt-simple/NOTICE
deleted file mode 100644
index a370530..0000000
--- a/common/offline-m2/net/sf/jopt-simple/NOTICE
+++ /dev/null
@@ -1,8 +0,0 @@
-The MIT License
-Copyright © 2009 - 2013 Jonathan Hedley (jonathan@hedley.net)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/common/offline-m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar b/common/offline-m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar
deleted file mode 100644
index 7c580a9..0000000
--- a/common/offline-m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.pom b/common/offline-m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.pom
deleted file mode 100644
index 6ea5c22..0000000
--- a/common/offline-m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.pom
+++ /dev/null
@@ -1,344 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.sonatype.oss</groupId>
-        <artifactId>oss-parent</artifactId>
-        <version>7</version>
-    </parent>
-    <groupId>net.sf.jopt-simple</groupId>
-    <artifactId>jopt-simple</artifactId>
-    <version>4.9</version>
-    <packaging>jar</packaging>
-    <name>JOpt Simple</name>
-    <url>http://pholser.github.com/jopt-simple</url>
-    <description>A Java library for parsing command line options</description>
-    <licenses>
-        <license>
-            <name>The MIT License</name>
-            <url>http://www.opensource.org/licenses/mit-license.php</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <scm>
-        <connection>scm:git:git://github.com/pholser/jopt-simple.git</connection>
-        <developerConnection>scm:git:ssh://git@github.com/pholser/jopt-simple.git</developerConnection>
-        <url>http://github.com/pholser/jopt-simple</url>
-    </scm>
-    <issueManagement>
-        <system>GitHub</system>
-        <url>http://github.com/pholser/jopt-simple/issues</url>
-    </issueManagement>
-    <developers>
-        <developer>
-            <id>pholser</id>
-            <name>Paul Holser</name>
-            <email>pholser@alumni.rice.edu</email>
-            <url>http://www.pholser.com</url>
-        </developer>
-    </developers>
-    <properties>
-        <project.build.outputEncoding>UTF-8</project.build.outputEncoding>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.project.outputEncoding>UTF-8</project.project.outputEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>joda-time</groupId>
-            <artifactId>joda-time</artifactId>
-            <version>2.3</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant</artifactId>
-            <version>1.8.4</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <!-- Must precede junit
-            See http://jmockit.googlecode.com/svn/trunk/www/tutorial/RunningTests.html -->
-            <groupId>com.googlecode.jmockit</groupId>
-            <artifactId>jmockit</artifactId>
-            <version>1.6</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest-all</artifactId>
-            <version>1.3</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.infinitest</groupId>
-            <artifactId>continuous-testing-toolkit</artifactId>
-            <version>1.0</version>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.hamcrest</groupId>
-                    <artifactId>hamcrest-all</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-    </dependencies>
-    <build>
-        <extensions>
-            <extension>
-                <groupId>org.apache.maven.scm</groupId>
-                <artifactId>maven-scm-provider-gitexe</artifactId>
-                <version>1.9.2</version>
-            </extension>
-            <extension>
-                <groupId>org.apache.maven.scm</groupId>
-                <artifactId>maven-scm-manager-plexus</artifactId>
-                <version>1.9.2</version>
-            </extension>
-            <extension>
-                <groupId>org.kathrynhuxtable.maven.wagon</groupId>
-                <artifactId>wagon-gitsite</artifactId>
-                <version>0.3.1</version>
-            </extension>
-        </extensions>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.2</version>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>animal-sniffer-maven-plugin</artifactId>
-                <version>1.13</version>
-                <configuration>
-                    <signature>
-                        <groupId>org.codehaus.mojo.signature</groupId>
-                        <artifactId>java15</artifactId>
-                        <version>1.0</version>
-                    </signature>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>check-signature</id>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                    <!-- Needs updated version of animal sniffer plugin
-                    <execution>
-                        <id>check-test-signature</id>
-                        <goals>
-                            <goal>test-check</goal>
-                        </goals>
-                    </execution>
-                    -->
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
-                        <Bundle-Name>${project.artifactId}</Bundle-Name>
-                        <Bundle-Version>${project.version}</Bundle-Version>
-                        <Bundle-Vendor>${project.name}</Bundle-Vendor>
-                        <Export-Package>joptsimple,joptsimple.util</Export-Package>
-                        <Private-Package>joptsimple.internal</Private-Package>
-                    </instructions>
-                </configuration>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>bundle</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>cobertura-maven-plugin</artifactId>
-                <version>2.4</version>
-                <configuration>
-                    <check>
-                        <haltOnFailure>true</haltOnFailure>
-                        <totalBranchRate>97</totalBranchRate>
-                        <totalLineRate>99</totalLineRate>
-                    </check>
-                </configuration>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>clean</goal>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-pmd-plugin</artifactId>
-                <version>3.4</version>
-                <configuration>
-                    <minimumTokens>40</minimumTokens>
-                    <targetJdk>1.5</targetJdk>
-                </configuration>
-                <executions>
-                    <execution>
-                        <phase>compile</phase>
-                        <goals>
-                            <goal>cpd-check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <version>1.8</version>
-                <executions>
-                    <execution>
-                        <id>paste-examples</id>
-                        <phase>post-site</phase>
-                        <configuration>
-                            <tasks>
-                                <property name="java.io.tmpdir" value="${java.io.tmpdir}" />
-                                <property name="example.src.dir" value="src/test/java" />
-                                <property name="example.class.path" refid="maven.test.classpath" />
-                                <property name="website.staging.dir" value="${project.build.directory}/site" />
-                                <ant antfile="paste-examples.xml" target="-paste-examples" />
-                            </tasks>
-                        </configuration>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>3.3</version>
-                <configuration>
-                    <outputEncoding>UTF-8</outputEncoding>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.pitest</groupId>
-                <artifactId>pitest-maven</artifactId>
-                <version>1.1.4</version>
-                <configuration>
-                    <targetClasses>
-                        <param>joptsimple*</param>
-                    </targetClasses>
-                    <targetTests>
-                        <param>*Test</param>
-                    </targetTests>
-                    <excludedMethods>
-                        <param>equals</param>
-                        <param>hashCode</param>
-                    </excludedMethods>
-                    <excludedClasses>
-                        <param>joptsimple.examples*</param>
-                        <param>*EqualsHash*Test</param>
-                        <param>*TestCase</param>
-                        <param>*Fixture</param>
-                        <param>*Harness</param>
-                        <param>*Matchers</param>
-                        <param>*Ctor</param>
-                        <param>*Problematic</param>
-                        <param>*ValueOfHaver</param>
-                    </excludedClasses>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>2.9.1</version>
-                <configuration>
-                    <additionalparam>${disable-doclint}</additionalparam>
-                    <source>1.5</source>
-                    <show>public</show>
-                    <excludePackageNames>joptsimple.examples:joptsimple.internal:joptsimple.internal.*</excludePackageNames>
-                    <links>
-                        <link>http://download.oracle.com/javase/1.5.0/docs/api</link>
-                    </links>
-                    <bottom><![CDATA[<i>&copy; Copyright 2004-2015 Paul R. Holser, Jr.  All rights reserved. Licensed under The MIT License. pholser@alumni.rice.edu</i>]]></bottom>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <reports>
-                            <report>javadoc</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>javancss-maven-plugin</artifactId>
-                <version>2.0</version>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>cobertura-maven-plugin</artifactId>
-                <version>2.4</version>
-                <configuration>
-                    <formats>
-                        <format>xml</format>
-                        <format>html</format>
-                    </formats>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>findbugs-maven-plugin</artifactId>
-                <version>2.5.5</version>
-                <configuration>
-                    <threshold>Low</threshold>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-pmd-plugin</artifactId>
-                <version>3.4</version>
-                <configuration>
-                    <minimumTokens>40</minimumTokens>
-                    <targetJdk>1.5</targetJdk>
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-    <distributionManagement>
-        <site>
-            <id>github-project-site</id>
-            <url>gitsite:git@github.com/pholser/jopt-simple.git</url>
-        </site>
-    </distributionManagement>
-    <profiles>
-        <profile>
-            <!-- TODO: Workaround for JDK8 - avoid javadoc bug on HTML kbd tag -->
-            <id>javadoc-8-broken</id>
-            <activation>
-                <jdk>1.8</jdk>
-            </activation>
-            <properties>
-                <disable-doclint>-Xdoclint:none</disable-doclint>
-            </properties>
-        </profile>
-    </profiles>
-</project>
diff --git a/common/offline-m2/org/antlr/antlr4-master/4.5.3/antlr4-master-4.5.3.pom b/common/offline-m2/org/antlr/antlr4-master/4.5.3/antlr4-master-4.5.3.pom
deleted file mode 100644
index 2fcbe8b..0000000
--- a/common/offline-m2/org/antlr/antlr4-master/4.5.3/antlr4-master-4.5.3.pom
+++ /dev/null
@@ -1,125 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.sonatype.oss</groupId>
-    <artifactId>oss-parent</artifactId>
-    <version>9</version>
-  </parent>
-  <groupId>org.antlr</groupId>
-  <artifactId>antlr4-master</artifactId>
-  <version>4.5.3</version>
-  <packaging>pom</packaging>
-
-  <name>ANTLR 4</name>
-  <description>ANTLR 4 Master Build POM</description>
-  <url>http://www.antlr.org</url>
-  <inceptionYear>1992</inceptionYear>
-  <organization>
-    <name>ANTLR</name>
-    <url>http://www.antlr.org</url>
-  </organization>
-
-  <licenses>
-    <license>
-      <name>The BSD License</name>
-      <url>http://www.antlr.org/license.html</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-
-  <developers>
-    <developer>
-      <name>Terence Parr</name>
-      <url>http://antlr.org/wiki/display/~admin/Home</url>
-      <roles>
-        <role>Project lead - ANTLR</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Sam Harwell</name>
-      <url>http://tunnelvisionlabs.com</url>
-      <roles>
-        <role>Developer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Eric Vergnaud</name>
-      <roles>
-        <role>Developer - JavaScript, C#, Python 2, Python 3</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Jim Idle</name>
-      <email>jimi@idle.ws</email>
-      <url>http://www.linkedin.com/in/jimidle</url>
-      <roles>
-        <role>Developer - Maven Plugin</role>
-      </roles>
-    </developer>
-  </developers>
-
-  <modules>
-    <module>runtime/Java</module>
-    <module>tool</module>
-    <module>antlr4-maven-plugin</module>
-    <module>tool-testsuite</module>
-    <module>runtime-testsuite</module>
-  </modules>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    <antlr.testinprocess>true</antlr.testinprocess>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
-  </properties>
-
-  <mailingLists>
-    <mailingList>
-      <name>antlr-discussion</name>
-      <archive>https://groups.google.com/forum/?fromgroups#!forum/antlr-discussion</archive>
-    </mailingList>
-  </mailingLists>
-
-  <issueManagement>
-    <system>GitHub Issues</system>
-    <url>https://github.com/antlr/antlr4/issues</url>
-  </issueManagement>
-
-  <scm>
-    <url>https://github.com/antlr/antlr4/tree/master</url>
-    <connection>scm:git:git://github.com/antlr/antlr4.git</connection>
-    <developerConnection>scm:git:git@github.com:antlr/antlr4.git</developerConnection>
-    <tag>HEAD</tag>
-  </scm>
-
-  <build>
-    <resources>
-      <resource>
-        <directory>resources</directory>
-      </resource>
-    </resources>
-    <testSourceDirectory>test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>test</directory>
-      </testResource>
-    </testResources>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <configuration>
-            <source>${maven.compiler.source}</source>
-            <target>${maven.compiler.target}</target>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-javadoc-plugin</artifactId>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-</project>
diff --git a/common/offline-m2/org/antlr/antlr4/4.5.3/NOTICE b/common/offline-m2/org/antlr/antlr4/4.5.3/NOTICE
deleted file mode 100644
index 95d0a25..0000000
--- a/common/offline-m2/org/antlr/antlr4/4.5.3/NOTICE
+++ /dev/null
@@ -1,26 +0,0 @@
-[The "BSD license"]
-Copyright (c) 2015 Terence Parr, Sam Harwell
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
-    derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/common/offline-m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar b/common/offline-m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar
deleted file mode 100644
index 8203e15..0000000
--- a/common/offline-m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom b/common/offline-m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom
deleted file mode 100644
index 9f17f9a..0000000
--- a/common/offline-m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <artifactId>antlr4-master</artifactId>
-    <groupId>org.antlr</groupId>
-    <version>4.5.3</version>
-    <relativePath>../../pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>antlr4</artifactId>
-  <name>ANTLR 4 Tool</name>
-  <description>The ANTLR 4 grammar compiler.</description>
-  <build>
-    <sourceDirectory>src</sourceDirectory>
-    <testSourceDirectory>test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>test</directory>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>2.6</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.antlr</groupId>
-        <artifactId>antlr3-maven-plugin</artifactId>
-        <version>3.5.2</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>antlr</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <sourceDirectory>src</sourceDirectory>
-          <verbose>true</verbose>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-shade-plugin</artifactId>
-        <version>2.3</version>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-              <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
-              <transformers>
-                <transformer>
-                  <manifestEntries>
-                    <Main-Class>org.antlr.v4.Tool</Main-Class>
-                  </manifestEntries>
-                </transformer>
-              </transformers>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.11</version>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <artifactId>hamcrest-core</artifactId>
-          <groupId>org.hamcrest</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.seleniumhq.selenium</groupId>
-      <artifactId>selenium-java</artifactId>
-      <version>2.44.0</version>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <artifactId>selenium-chrome-driver</artifactId>
-          <groupId>org.seleniumhq.selenium</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>selenium-htmlunit-driver</artifactId>
-          <groupId>org.seleniumhq.selenium</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>selenium-firefox-driver</artifactId>
-          <groupId>org.seleniumhq.selenium</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>selenium-ie-driver</artifactId>
-          <groupId>org.seleniumhq.selenium</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>selenium-safari-driver</artifactId>
-          <groupId>org.seleniumhq.selenium</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>selenium-support</artifactId>
-          <groupId>org.seleniumhq.selenium</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>webbit</artifactId>
-          <groupId>org.webbitserver</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-server</artifactId>
-      <version>8.1.16.v20140903</version>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <artifactId>javax.servlet</artifactId>
-          <groupId>org.eclipse.jetty.orbit</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>jetty-continuation</artifactId>
-          <groupId>org.eclipse.jetty</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>jetty-http</artifactId>
-          <groupId>org.eclipse.jetty</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-  </dependencies>
-</project>
-
diff --git a/common/offline-m2/org/eclipse/jdt/core/compiler/ecj/4.5.1/NOTICE b/common/offline-m2/org/eclipse/jdt/core/compiler/ecj/4.5.1/NOTICE
deleted file mode 100644
index 0d347ab..0000000
--- a/common/offline-m2/org/eclipse/jdt/core/compiler/ecj/4.5.1/NOTICE
+++ /dev/null
@@ -1,224 +0,0 @@
-
-    Eclipse Public License - v 1.0
-
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
-THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
-*1. DEFINITIONS*
-
-"Contribution" means:
-
-a) in the case of the initial Contributor, the initial code and
-documentation distributed under this Agreement, and
-
-b) in the case of each subsequent Contributor:
-
-i) changes to the Program, and
-
-ii) additions to the Program;
-
-where such changes and/or additions to the Program originate from and
-are distributed by that particular Contributor. A Contribution
-'originates' from a Contributor if it was added to the Program by such
-Contributor itself or anyone acting on such Contributor's behalf.
-Contributions do not include additions to the Program which: (i) are
-separate modules of software distributed in conjunction with the Program
-under their own license agreement, and (ii) are not derivative works of
-the Program.
-
-"Contributor" means any person or entity that distributes the Program.
-
-"Licensed Patents" mean patent claims licensable by a Contributor which
-are necessarily infringed by the use or sale of its Contribution alone
-or when combined with the Program.
-
-"Program" means the Contributions distributed in accordance with this
-Agreement.
-
-"Recipient" means anyone who receives the Program under this Agreement,
-including all Contributors.
-
-*2. GRANT OF RIGHTS*
-
-a) Subject to the terms of this Agreement, each Contributor hereby
-grants Recipient a non-exclusive, worldwide, royalty-free copyright
-license to reproduce, prepare derivative works of, publicly display,
-publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and
-object code form.
-
-b) Subject to the terms of this Agreement, each Contributor hereby
-grants Recipient a non-exclusive, worldwide, royalty-free patent license
-under Licensed Patents to make, use, sell, offer to sell, import and
-otherwise transfer the Contribution of such Contributor, if any, in
-source code and object code form. This patent license shall apply to the
-combination of the Contribution and the Program if, at the time the
-Contribution is added by the Contributor, such addition of the
-Contribution causes such combination to be covered by the Licensed
-Patents. The patent license shall not apply to any other combinations
-which include the Contribution. No hardware per se is licensed hereunder.
-
-c) Recipient understands that although each Contributor grants the
-licenses to its Contributions set forth herein, no assurances are
-provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.
-
-d) Each Contributor represents that to its knowledge it has sufficient
-copyright rights in its Contribution, if any, to grant the copyright
-license set forth in this Agreement.
-
-*3. REQUIREMENTS*
-
-A Contributor may choose to distribute the Program in object code form
-under its own license agreement, provided that:
-
-a) it complies with the terms and conditions of this Agreement; and
-
-b) its license agreement:
-
-i) effectively disclaims on behalf of all Contributors all warranties
-and conditions, express and implied, including warranties or conditions
-of title and non-infringement, and implied warranties or conditions of
-merchantability and fitness for a particular purpose;
-
-ii) effectively excludes on behalf of all Contributors all liability for
-damages, including direct, indirect, special, incidental and
-consequential damages, such as lost profits;
-
-iii) states that any provisions which differ from this Agreement are
-offered by that Contributor alone and not by any other party; and
-
-iv) states that source code for the Program is available from such
-Contributor, and informs licensees how to obtain it in a reasonable
-manner on or through a medium customarily used for software exchange.
-
-When the Program is made available in source code form:
-
-a) it must be made available under this Agreement; and
-
-b) a copy of this Agreement must be included with each copy of the Program.
-
-Contributors may not remove or alter any copyright notices contained
-within the Program.
-
-Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.
-
-*4. COMMERCIAL DISTRIBUTION*
-
-Commercial distributors of software may accept certain responsibilities
-with respect to end users, business partners and the like. While this
-license is intended to facilitate the commercial use of the Program, the
-Contributor who includes the Program in a commercial product offering
-should do so in a manner which does not create potential liability for
-other Contributors. Therefore, if a Contributor includes the Program in
-a commercial product offering, such Contributor ("Commercial
-Contributor") hereby agrees to defend and indemnify every other
-Contributor ("Indemnified Contributor") against any losses, damages and
-costs (collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified
-Contributor to the extent caused by the acts or omissions of such
-Commercial Contributor in connection with its distribution of the
-Program in a commercial product offering. The obligations in this
-section do not apply to any claims or Losses relating to any actual or
-alleged intellectual property infringement. In order to qualify, an
-Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial
-Contributor to control, and cooperate with the Commercial Contributor
-in, the defense and any related settlement negotiations. The Indemnified
-Contributor may participate in any such claim at its own expense.
-
-For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.
-
-*5. NO WARRANTY*
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
-ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES
-OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR
-A PARTICULAR PURPOSE. Each Recipient is solely responsible for
-determining the appropriateness of using and distributing the Program
-and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program
-errors, compliance with applicable laws, damage to or loss of data,
-programs or equipment, and unavailability or interruption of operations.
-
-*6. DISCLAIMER OF LIABILITY*
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
-ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-*7. GENERAL*
-
-If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.
-
-If Recipient institutes patent litigation against any entity (including
-a cross-claim or counterclaim in a lawsuit) alleging that the Program
-itself (excluding combinations of the Program with other software or
-hardware) infringes such Recipient's patent(s), then such Recipient's
-rights granted under Section 2(b) shall terminate as of the date such
-litigation is filed.
-
-All Recipient's rights under this Agreement shall terminate if it fails
-to comply with any of the material terms or conditions of this Agreement
-and does not cure such failure in a reasonable period of time after
-becoming aware of such noncompliance. If all Recipient's rights under
-this Agreement terminate, Recipient agrees to cease use and distribution
-of the Program as soon as reasonably practicable. However, Recipient's
-obligations under this Agreement and any licenses granted by Recipient
-relating to the Program shall continue and survive.
-
-Everyone is permitted to copy and distribute copies of this Agreement,
-but in order to avoid inconsistency the Agreement is copyrighted and may
-only be modified in the following manner. The Agreement Steward reserves
-the right to publish new versions (including revisions) of this
-Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the
-initial Agreement Steward. The Eclipse Foundation may assign the
-responsibility to serve as the Agreement Steward to a suitable separate
-entity. Each new version of the Agreement will be given a distinguishing
-version number. The Program (including Contributions) may always be
-distributed subject to the version of the Agreement under which it was
-received. In addition, after a new version of the Agreement is
-published, Contributor may elect to distribute the Program (including
-its Contributions) under the new version. Except as expressly stated in
-Sections 2(a) and 2(b) above, Recipient receives no rights or licenses
-to the intellectual property of any Contributor under this Agreement,
-whether expressly, by implication, estoppel or otherwise. All rights in
-the Program not expressly granted under this Agreement are reserved.
-
-This Agreement is governed by the laws of the State of New York and the
-intellectual property laws of the United States of America. No party to
-this Agreement will bring a legal action under this Agreement more than
-one year after the cause of action arose. Each party waives its rights
-to a jury trial in any resulting litigation.
-
diff --git a/common/offline-m2/org/eclipse/jdt/core/compiler/ecj/4.5.1/ecj-4.5.1.jar b/common/offline-m2/org/eclipse/jdt/core/compiler/ecj/4.5.1/ecj-4.5.1.jar
deleted file mode 100644
index f2aad99..0000000
--- a/common/offline-m2/org/eclipse/jdt/core/compiler/ecj/4.5.1/ecj-4.5.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/org/eclipse/jdt/core/compiler/ecj/4.5.1/ecj-4.5.1.pom b/common/offline-m2/org/eclipse/jdt/core/compiler/ecj/4.5.1/ecj-4.5.1.pom
deleted file mode 100644
index e843b7a..0000000
--- a/common/offline-m2/org/eclipse/jdt/core/compiler/ecj/4.5.1/ecj-4.5.1.pom
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<!-- 
-           Originally downloaded here:
-           http://download.eclipse.org/eclipse/downloads/drops4/R-4.5.1-201509040015/#JDTCORE
-	-->
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>org.eclipse.jdt.core.compiler</groupId>
-	<artifactId>ecj</artifactId>
-	<version>4.5.1</version>
-	<packaging>jar</packaging>
-	<name>Eclipse ECJ</name>
-	<description>Eclipse JDT Core Batch Compiler</description>
-	<url>http://www.eclipse.org/jdt/</url>
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-		<maven.compiler.source>1.7</maven.compiler.source>
-		<maven.compiler.target>1.7</maven.compiler.target>
-	</properties>
-	<licenses>
-		<license>
-			<name>Eclipse Public License v1.0</name>
-			<url>http://www.eclipse.org/org/documents/epl-v10.php</url>
-			<distribution>repo</distribution>
-		</license>
-	</licenses>
-	<scm>
-		<url>http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/</url>
-		<connection>:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse</connection>
-	</scm>
-	<developers>
-		<!-- I didn't develop ECJ, but the Central Sync Requirements mandate a developer in the POM:
-			https://docs.sonatype.org/display/Repository/Central+Sync+Requirements
-		-->
-		<developer>
-			<name>Ralph Schaer</name>
-			<email>ralphschaer@gmail.com</email>
-		</developer>
-	</developers>
-	
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.ant</groupId>
-			<artifactId>ant</artifactId>
-			<version>1.9.4</version>
-			<optional>true</optional>
-		</dependency>
-	</dependencies>	
-	
-	<build>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-javadoc-plugin</artifactId>
-		  <version>2.10.3</version>
-          <configuration>
-            <additionalparam>-Xdoclint:none</additionalparam>
-          </configuration>
-        </plugin>
-      </plugins>	
-	</build>
-	
-</project>
diff --git a/common/offline-m2/org/jacoco/org.jacoco.report/0.7.4.201502262128/NOTICE b/common/offline-m2/org/jacoco/org.jacoco.report/0.7.4.201502262128/NOTICE
deleted file mode 100644
index f13bf7f..0000000
--- a/common/offline-m2/org/jacoco/org.jacoco.report/0.7.4.201502262128/NOTICE
+++ /dev/null
@@ -1,10 +0,0 @@
-Copyright (c) 2009, 2015 Mountainminds GmbH & Co. KG and Contributors
-
-The JaCoCo Java Code Coverage Library and all included documentation is made
-available by Mountainminds GmbH & Co. KG, Munich. Except indicated below, the
-Content is provided to you under the terms and conditions of the Eclipse Public
-License Version 1.0 ("EPL"). A copy of the EPL is available at
-http://www.eclipse.org/legal/epl-v10.html.
-
-Please visit http://www.eclemma.org/jacoco/trunk/doc/license.html for the
-complete license information including third party licenses and trademarks.
diff --git a/common/offline-m2/org/jacoco/org.jacoco.report/0.7.4.201502262128/org.jacoco.report-0.7.4.201502262128.jar b/common/offline-m2/org/jacoco/org.jacoco.report/0.7.4.201502262128/org.jacoco.report-0.7.4.201502262128.jar
deleted file mode 100644
index b718b46..0000000
--- a/common/offline-m2/org/jacoco/org.jacoco.report/0.7.4.201502262128/org.jacoco.report-0.7.4.201502262128.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/org/jacoco/org.jacoco.report/0.7.4.201502262128/org.jacoco.report-0.7.4.201502262128.pom b/common/offline-m2/org/jacoco/org.jacoco.report/0.7.4.201502262128/org.jacoco.report-0.7.4.201502262128.pom
deleted file mode 100644
index 1567ca3..0000000
--- a/common/offline-m2/org/jacoco/org.jacoco.report/0.7.4.201502262128/org.jacoco.report-0.7.4.201502262128.pom
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Copyright (c) 2009, 2015 Mountainminds GmbH & Co. KG and Contributors
-   All rights reserved. This program and the accompanying materials
-   are made available under the terms of the Eclipse Public License v1.0
-   which accompanies this distribution, and is available at
-   http://www.eclipse.org/legal/epl-v10.html
-
-   Contributors:
-      Evgeny Mandrikov - initial API and implementation
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.jacoco</groupId>
-    <artifactId>org.jacoco.build</artifactId>
-    <version>0.7.4.201502262128</version>
-    <relativePath>../org.jacoco.build</relativePath>
-  </parent>
-
-  <artifactId>org.jacoco.report</artifactId>
-
-  <name>JaCoCo :: Report</name>
-  <description>JaCoCo Reporting</description>
-
-  <dependencies>
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>org.jacoco.core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm-debug-all</artifactId>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <sourceDirectory>src</sourceDirectory>
-  </build>
-</project>
diff --git a/common/offline-m2/org/ow2/asm/asm-analysis/5.0.4/NOTICE b/common/offline-m2/org/ow2/asm/asm-analysis/5.0.4/NOTICE
deleted file mode 100644
index 9496b17..0000000
--- a/common/offline-m2/org/ow2/asm/asm-analysis/5.0.4/NOTICE
+++ /dev/null
@@ -1,28 +0,0 @@
-
- ASM: a very small and fast Java bytecode manipulation framework
- Copyright (c) 2000-2005 INRIA, France Telecom
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
- 3. Neither the name of the copyright holders nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/common/offline-m2/org/ow2/asm/asm-analysis/5.0.4/asm-analysis-5.0.4.jar b/common/offline-m2/org/ow2/asm/asm-analysis/5.0.4/asm-analysis-5.0.4.jar
deleted file mode 100644
index dbd1e9e..0000000
--- a/common/offline-m2/org/ow2/asm/asm-analysis/5.0.4/asm-analysis-5.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/org/ow2/asm/asm-analysis/5.0.4/asm-analysis-5.0.4.pom b/common/offline-m2/org/ow2/asm/asm-analysis/5.0.4/asm-analysis-5.0.4.pom
deleted file mode 100644
index eca5ea8..0000000
--- a/common/offline-m2/org/ow2/asm/asm-analysis/5.0.4/asm-analysis-5.0.4.pom
+++ /dev/null
@@ -1,51 +0,0 @@
-<!--
- ! ASM: a very small and fast Java bytecode manipulation framework
- ! Copyright (c) 2000-2011 INRIA, France Telecom
- ! All rights reserved.
- !
- ! Redistribution and use in source and binary forms, with or without
- ! modification, are permitted provided that the following conditions
- ! are met:
- ! 1. Redistributions of source code must retain the above copyright
- !    notice, this list of conditions and the following disclaimer.
- ! 2. Redistributions in binary form must reproduce the above copyright
- !    notice, this list of conditions and the following disclaimer in the
- !    documentation and/or other materials provided with the distribution.
- ! 3. Neither the name of the copyright holders nor the names of its
- !    contributors may be used to endorse or promote products derived from
- !    this software without specific prior written permission.
- !
- ! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- ! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- ! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- ! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- ! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- ! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- ! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- ! THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <artifactId>asm-parent</artifactId>
-    <groupId>org.ow2.asm</groupId>
-    <version>5.0.4</version>
-  </parent>
-
-  <name>ASM Analysis</name>
-  <artifactId>asm-analysis</artifactId>
-  <packaging>jar</packaging>
-  
-  <dependencies>
-    <dependency>
-      <artifactId>asm-tree</artifactId>
-      <groupId>org.ow2.asm</groupId>
-    </dependency>
-  </dependencies>
-
-</project>
diff --git a/common/offline-m2/org/ow2/asm/asm-commons/5.0.4/NOTICE b/common/offline-m2/org/ow2/asm/asm-commons/5.0.4/NOTICE
deleted file mode 100644
index 9496b17..0000000
--- a/common/offline-m2/org/ow2/asm/asm-commons/5.0.4/NOTICE
+++ /dev/null
@@ -1,28 +0,0 @@
-
- ASM: a very small and fast Java bytecode manipulation framework
- Copyright (c) 2000-2005 INRIA, France Telecom
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
- 3. Neither the name of the copyright holders nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/common/offline-m2/org/ow2/asm/asm-commons/5.0.4/asm-commons-5.0.4.jar b/common/offline-m2/org/ow2/asm/asm-commons/5.0.4/asm-commons-5.0.4.jar
deleted file mode 100644
index e89265f..0000000
--- a/common/offline-m2/org/ow2/asm/asm-commons/5.0.4/asm-commons-5.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/org/ow2/asm/asm-commons/5.0.4/asm-commons-5.0.4.pom b/common/offline-m2/org/ow2/asm/asm-commons/5.0.4/asm-commons-5.0.4.pom
deleted file mode 100644
index 8f52be3..0000000
--- a/common/offline-m2/org/ow2/asm/asm-commons/5.0.4/asm-commons-5.0.4.pom
+++ /dev/null
@@ -1,51 +0,0 @@
-<!--
- ! ASM: a very small and fast Java bytecode manipulation framework
- ! Copyright (c) 2000-2011 INRIA, France Telecom
- ! All rights reserved.
- !
- ! Redistribution and use in source and binary forms, with or without
- ! modification, are permitted provided that the following conditions
- ! are met:
- ! 1. Redistributions of source code must retain the above copyright
- !    notice, this list of conditions and the following disclaimer.
- ! 2. Redistributions in binary form must reproduce the above copyright
- !    notice, this list of conditions and the following disclaimer in the
- !    documentation and/or other materials provided with the distribution.
- ! 3. Neither the name of the copyright holders nor the names of its
- !    contributors may be used to endorse or promote products derived from
- !    this software without specific prior written permission.
- !
- ! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- ! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- ! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- ! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- ! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- ! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- ! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- ! THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <artifactId>asm-parent</artifactId>
-    <groupId>org.ow2.asm</groupId>
-    <version>5.0.4</version>
-  </parent>
-
-  <name>ASM Commons</name>
-  <artifactId>asm-commons</artifactId>
-  <packaging>jar</packaging>
-  
-  <dependencies>
-    <dependency>
-      <artifactId>asm-tree</artifactId>
-      <groupId>org.ow2.asm</groupId>
-    </dependency>
-  </dependencies>
-
-</project>
diff --git a/common/offline-m2/org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4.pom b/common/offline-m2/org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4.pom
deleted file mode 100644
index 123213f..0000000
--- a/common/offline-m2/org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4.pom
+++ /dev/null
@@ -1,163 +0,0 @@
-<!--
- ! ASM: a very small and fast Java bytecode manipulation framework
- ! Copyright (c) 2000-2011 INRIA, France Telecom
- ! All rights reserved.
- !
- ! Redistribution and use in source and binary forms, with or without
- ! modification, are permitted provided that the following conditions
- ! are met:
- ! 1. Redistributions of source code must retain the above copyright
- !    notice, this list of conditions and the following disclaimer.
- ! 2. Redistributions in binary form must reproduce the above copyright
- !    notice, this list of conditions and the following disclaimer in the
- !    documentation and/or other materials provided with the distribution.
- ! 3. Neither the name of the copyright holders nor the names of its
- !    contributors may be used to endorse or promote products derived from
- !    this software without specific prior written permission.
- !
- ! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- ! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- ! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- ! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- ! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- ! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- ! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- ! THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                        http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <parent>
-    <artifactId>ow2</artifactId>
-    <groupId>org.ow2</groupId>
-    <version>1.3</version>
-  </parent>
- 
-  <modelVersion>4.0.0</modelVersion>
-
-  <artifactId>asm-parent</artifactId>
-  <groupId>org.ow2.asm</groupId>
-  <version>5.0.4</version>
-  <packaging>pom</packaging>
-
-  <name>ASM</name>
-  <description>A very small and fast Java bytecode manipulation framework</description>
-  <url>http://asm.objectweb.org/</url>
-  
-  <organization>
-    <name>ObjectWeb</name>
-    <url>http://www.objectweb.org/</url>
-  </organization>
-  <inceptionYear>2000</inceptionYear>
-  
-  <licenses>
-    <license>
-      <name>BSD</name>
-      <url>http://asm.objectweb.org/license.html</url>
-    </license>
-  </licenses>
-
-  <developers>
-    <developer>
-      <name>Eric Bruneton</name>
-      <id>ebruneton</id>
-      <email>ebruneton@free.fr</email>
-      <roles>
-        <role>Creator</role>
-        <role>Java Developer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Eugene Kuleshov</name>
-      <id>eu</id>
-      <email>eu@javatx.org</email>
-      <roles>
-        <role>Java Developer</role>
-      </roles>
-    </developer>
-    <developer>
-      <name>Remi Forax</name>
-      <id>forax</id>
-      <email>forax@univ-mlv.fr</email>
-      <roles>
-        <role>Java Developer</role>
-      </roles>
-    </developer>
-  </developers>
-
-  <scm>
-    <connection>scm:svn:svn://svn.forge.objectweb.org/svnroot/asm/trunk</connection>
-    <developerConnection>scm:svn:svn+ssh://${maven.username}@svn.forge.objectweb.org/svnroot/asm/trunk</developerConnection>
-    <url>http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/asm/trunk/</url>
-  </scm>
-  
-  <issueManagement>
-    <url>http://forge.objectweb.org/tracker/?group_id=23</url>
-  </issueManagement>
-
-  <dependencyManagement>
-    <dependencies>
-
-      <dependency>
-        <artifactId>asm</artifactId>
-        <groupId>${project.groupId}</groupId>
-        <version>${project.version}</version>
-      </dependency>
-
-      <dependency>
-        <artifactId>asm-tree</artifactId>
-        <groupId>${project.groupId}</groupId>
-        <version>${project.version}</version>
-      </dependency>
-
-      <dependency>
-        <artifactId>asm-analysis</artifactId>
-        <groupId>${project.groupId}</groupId>
-        <version>${project.version}</version>
-      </dependency>
-
-      <dependency>
-        <artifactId>asm-commons</artifactId>
-        <groupId>${project.groupId}</groupId>
-        <version>${project.version}</version>
-      </dependency>
-
-      <dependency>
-        <artifactId>asm-util</artifactId>
-        <groupId>${project.groupId}</groupId>
-        <version>${project.version}</version>
-      </dependency>
-
-      <dependency>
-        <artifactId>asm-xml</artifactId>
-        <groupId>${project.groupId}</groupId>
-        <version>${project.version}</version>
-      </dependency>
-
-    </dependencies>
-  </dependencyManagement>
-
-  <mailingLists>
-    <mailingList>
-      <name>ASM Users List</name>
-      <subscribe>sympa@objectweb.org?subject=subscribe%20asm</subscribe>
-      <unsubscribe>sympa@objectweb.org?subject=unsubscribe%20asm</unsubscribe>
-      <post>asm@objectweb.org</post>
-      <archive>http://www.objectweb.org/wws/arc/asm</archive>
-    </mailingList>
-    <mailingList>
-      <name>ASM Team List</name>
-      <subscribe>sympa@objectweb.org?subject=subscribe%20asm-team</subscribe>
-      <unsubscribe>sympa@objectweb.org?subject=unsubscribe%20asm-team</unsubscribe>
-      <post>asm-team@objectweb.org</post>
-      <archive>http://www.objectweb.org/wws/arc/asm-team</archive>
-    </mailingList>
-  </mailingLists>
-
-</project>
diff --git a/common/offline-m2/org/ow2/asm/asm-tree/5.0.4/NOTICE b/common/offline-m2/org/ow2/asm/asm-tree/5.0.4/NOTICE
deleted file mode 100644
index 9496b17..0000000
--- a/common/offline-m2/org/ow2/asm/asm-tree/5.0.4/NOTICE
+++ /dev/null
@@ -1,28 +0,0 @@
-
- ASM: a very small and fast Java bytecode manipulation framework
- Copyright (c) 2000-2005 INRIA, France Telecom
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
- 3. Neither the name of the copyright holders nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/common/offline-m2/org/ow2/asm/asm-tree/5.0.4/asm-tree-5.0.4.jar b/common/offline-m2/org/ow2/asm/asm-tree/5.0.4/asm-tree-5.0.4.jar
deleted file mode 100644
index ac68a32..0000000
--- a/common/offline-m2/org/ow2/asm/asm-tree/5.0.4/asm-tree-5.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/org/ow2/asm/asm-tree/5.0.4/asm-tree-5.0.4.pom b/common/offline-m2/org/ow2/asm/asm-tree/5.0.4/asm-tree-5.0.4.pom
deleted file mode 100644
index ee62d24..0000000
--- a/common/offline-m2/org/ow2/asm/asm-tree/5.0.4/asm-tree-5.0.4.pom
+++ /dev/null
@@ -1,51 +0,0 @@
-<!--
- ! ASM: a very small and fast Java bytecode manipulation framework
- ! Copyright (c) 2000-2011 INRIA, France Telecom
- ! All rights reserved.
- !
- ! Redistribution and use in source and binary forms, with or without
- ! modification, are permitted provided that the following conditions
- ! are met:
- ! 1. Redistributions of source code must retain the above copyright
- !    notice, this list of conditions and the following disclaimer.
- ! 2. Redistributions in binary form must reproduce the above copyright
- !    notice, this list of conditions and the following disclaimer in the
- !    documentation and/or other materials provided with the distribution.
- ! 3. Neither the name of the copyright holders nor the names of its
- !    contributors may be used to endorse or promote products derived from
- !    this software without specific prior written permission.
- !
- ! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- ! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- ! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- ! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- ! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- ! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- ! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- ! THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <artifactId>asm-parent</artifactId>
-    <groupId>org.ow2.asm</groupId>
-    <version>5.0.4</version>
-  </parent>
-
-  <name>ASM Tree</name>
-  <artifactId>asm-tree</artifactId>
-  <packaging>jar</packaging>
-  
-  <dependencies>
-    <dependency>
-      <artifactId>asm</artifactId>
-      <groupId>org.ow2.asm</groupId>
-    </dependency>
-  </dependencies>
-
-</project>
diff --git a/common/offline-m2/org/ow2/asm/asm/5.0.4/NOTICE b/common/offline-m2/org/ow2/asm/asm/5.0.4/NOTICE
deleted file mode 100644
index 9496b17..0000000
--- a/common/offline-m2/org/ow2/asm/asm/5.0.4/NOTICE
+++ /dev/null
@@ -1,28 +0,0 @@
-
- ASM: a very small and fast Java bytecode manipulation framework
- Copyright (c) 2000-2005 INRIA, France Telecom
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
- 3. Neither the name of the copyright holders nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/common/offline-m2/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar b/common/offline-m2/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar
deleted file mode 100644
index cdb283d..0000000
--- a/common/offline-m2/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/common/offline-m2/org/ow2/asm/asm/5.0.4/asm-5.0.4.pom b/common/offline-m2/org/ow2/asm/asm/5.0.4/asm-5.0.4.pom
deleted file mode 100644
index 3f1bbff..0000000
--- a/common/offline-m2/org/ow2/asm/asm/5.0.4/asm-5.0.4.pom
+++ /dev/null
@@ -1,44 +0,0 @@
-<!--
- ! ASM: a very small and fast Java bytecode manipulation framework
- ! Copyright (c) 2000-2011 INRIA, France Telecom
- ! All rights reserved.
- !
- ! Redistribution and use in source and binary forms, with or without
- ! modification, are permitted provided that the following conditions
- ! are met:
- ! 1. Redistributions of source code must retain the above copyright
- !    notice, this list of conditions and the following disclaimer.
- ! 2. Redistributions in binary form must reproduce the above copyright
- !    notice, this list of conditions and the following disclaimer in the
- !    documentation and/or other materials provided with the distribution.
- ! 3. Neither the name of the copyright holders nor the names of its
- !    contributors may be used to endorse or promote products derived from
- !    this software without specific prior written permission.
- !
- ! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- ! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- ! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- ! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- ! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- ! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- ! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- ! THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <artifactId>asm-parent</artifactId>
-    <groupId>org.ow2.asm</groupId>
-    <version>5.0.4</version>
-  </parent>
-
-  <name>ASM Core</name>
-  <artifactId>asm</artifactId>
-  <packaging>jar</packaging>
-  
-</project>
