diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index aa9c2b9..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright (C) 2008 The Android Open Source Project
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<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>
-
-  <groupId>com.googlesource.gerrit.plugins.phabricator</groupId>
-  <artifactId>its-phabricator</artifactId>
-  <version>2.11-SNAPSHOT</version>
-
-  <name>Gerrit - Phabricator support</name>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <Gerrit-ApiType>plugin</Gerrit-ApiType>
-    <Gerrit-ReloadMode>reload</Gerrit-ReloadMode>
-    <Gerrit-Module>com.googlesource.gerrit.plugins.its.phabricator.PhabricatorModule</Gerrit-Module>
-    <easymockVersion>3.1</easymockVersion>
-    <powermockVersion>1.5</powermockVersion>
-    <slf4jVersion>1.6.2</slf4jVersion>
-  </properties>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>2.3.2</version>
-        <configuration>
-          <source>1.7</source>
-          <target>1.7</target>
-          <encoding>UTF-8</encoding>
-        </configuration>
-      </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-shade-plugin</artifactId>
-          <version>1.6</version>
-          <configuration>
-            <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
-            <artifactSet>
-              <excludes>
-                <exclude>com.google.gerrit:*</exclude>
-                <exclude>org.bouncycastle:*</exclude>
-                <exclude>org.slf4j:*</exclude>
-                <exclude>com.google.guava:*</exclude>
-                <exclude>org.eclipse.jgit:*</exclude>
-              </excludes>
-            </artifactSet>
-            <transformers>
-              <transformer
-                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                <manifestEntries>
-                  <Implementation-Vendor>Wikimedia Foundation, Inc.</Implementation-Vendor>
-                  <Implementation-URL>https://www.wikimediafoundation.org/</Implementation-URL>
-                  <Implementation-Title>Plugin ${project.artifactId}</Implementation-Title>
-                  <Implementation-Version>${project.version}</Implementation-Version>
-                  <Gerrit-ApiType>${Gerrit-ApiType}</Gerrit-ApiType>
-                  <Gerrit-ApiVersion>${project.version}</Gerrit-ApiVersion>
-                  <Gerrit-ReloadMode>${Gerrit-ReloadMode}</Gerrit-ReloadMode>
-                  <Gerrit-PluginName>${Gerrit-PluginName}</Gerrit-PluginName>
-                  <Gerrit-InitStep>${Gerrit-InitStep}</Gerrit-InitStep>
-                  <Gerrit-Module>${Gerrit-Module}</Gerrit-Module>
-                </manifestEntries>
-              </transformer>
-            </transformers>
-          </configuration>
-          <executions>
-            <execution>
-              <phase>package</phase>
-              <goals>
-                <goal>shade</goal>
-              </goals>
-            </execution>
-          </executions>
-        </plugin>
-    </plugins>
-  </build>
-
-  <dependencies>
-    <dependency>
-      <groupId>com.googlesource.gerrit.plugins.its</groupId>
-      <artifactId>its-base</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpclient</artifactId>
-      <version>4.3.4</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.code.gson</groupId>
-      <artifactId>gson</artifactId>
-      <version>2.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
-      <version>${slf4jVersion}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <version>${easymockVersion}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.powermock</groupId>
-      <artifactId>powermock-module-junit4</artifactId>
-      <version>${powermockVersion}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.powermock</groupId>
-      <artifactId>powermock-api-easymock</artifactId>
-      <version>${powermockVersion}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <repositories>
-    <repository>
-      <id>gerrit-maven</id>
-      <url>https://gerrit-maven.commondatastorage.googleapis.com</url>
-    </repository>
-  </repositories>
-
-</project>
diff --git a/src/main/resources/Documentation/build.md b/src/main/resources/Documentation/build.md
index 34b36bb..6a40483 100644
--- a/src/main/resources/Documentation/build.md
+++ b/src/main/resources/Documentation/build.md
@@ -33,22 +33,6 @@
   buck test --all --include @PLUGIN@
 ```
 
-Note that for compatibility reasons a Maven build is provided, but is
-considered to be deprecated and will be removed in a future version of
-this plugin.
-
-To build with Maven, change directory to the plugin folder and issue the
-command:
-
-```
-  mvn clean package
-```
-
-When building with Maven, the Gerrit Plugin API must be available.
-
-How to build the Gerrit Plugin API is described in the [Gerrit
-documentation](../../../Documentation/dev-buck.html#_extension_and_plugin_api_jar_files).
-
 [Back to @PLUGIN@ documentation index][index]
 
 [index]: index.html
\ No newline at end of file
