You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2021/03/16 16:08:46 UTC

[lucene-solr] branch branch_8x updated: LUCENE-9836: Fix 8.x Maven Validation and publication to work with Maven Central and HTTPS again; remove pure Maven build (did not work anymore) (#2469)

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

uschindler pushed a commit to branch branch_8x
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/branch_8x by this push:
     new 7521cba  LUCENE-9836: Fix 8.x Maven Validation and publication to work with Maven Central and HTTPS again; remove pure Maven build (did not work anymore) (#2469)
7521cba is described below

commit 7521cbae963241d32083705054a2f2d41ed92053
Author: Uwe Schindler <us...@apache.org>
AuthorDate: Tue Mar 16 17:07:31 2021 +0100

    LUCENE-9836: Fix 8.x Maven Validation and publication to work with Maven Central and HTTPS again; remove pure Maven build (did not work anymore) (#2469)
---
 build.xml                                          |  12 +-
 dev-tools/maven/README.maven                       |  93 ------
 .../maven/lucene/analysis/common/pom.xml.template  |  40 ---
 .../maven/lucene/analysis/icu/pom.xml.template     |  27 --
 .../lucene/analysis/kuromoji/pom.xml.template      |  27 --
 .../lucene/analysis/morfologik/pom.xml.template    |  30 --
 .../maven/lucene/analysis/nori/pom.xml.template    |  27 --
 .../maven/lucene/analysis/opennlp/pom.xml.template |  34 +--
 .../lucene/analysis/phonetic/pom.xml.template      |  27 --
 dev-tools/maven/lucene/analysis/pom.xml.template   |  11 -
 .../maven/lucene/analysis/smartcn/pom.xml.template |  27 --
 .../maven/lucene/analysis/stempel/pom.xml.template |  27 --
 .../maven/lucene/backward-codecs/pom.xml.template  |  40 ---
 dev-tools/maven/lucene/benchmark/pom.xml.template  |  40 ---
 .../maven/lucene/classification/pom.xml.template   |  22 --
 dev-tools/maven/lucene/codecs/pom.xml.template     |  36 +--
 .../maven/lucene/codecs/src/java/pom.xml.template  |  85 ------
 .../maven/lucene/codecs/src/test/pom.xml.template  |  84 -----
 dev-tools/maven/lucene/core/pom.xml.template       |  34 +--
 .../maven/lucene/core/src/java/pom.xml.template    |  79 -----
 .../maven/lucene/core/src/test/pom.xml.template    |  84 -----
 dev-tools/maven/lucene/demo/pom.xml.template       |  39 ---
 .../maven/lucene/expressions/pom.xml.template      |  19 --
 dev-tools/maven/lucene/facet/pom.xml.template      |  27 --
 dev-tools/maven/lucene/grouping/pom.xml.template   |  22 --
 .../maven/lucene/highlighter/pom.xml.template      |  22 --
 dev-tools/maven/lucene/join/pom.xml.template       |  22 --
 dev-tools/maven/lucene/memory/pom.xml.template     |  22 --
 dev-tools/maven/lucene/misc/pom.xml.template       |  22 --
 dev-tools/maven/lucene/monitor/pom.xml.template    |  22 --
 dev-tools/maven/lucene/pom.xml.template            |  60 ----
 dev-tools/maven/lucene/queries/pom.xml.template    |  22 --
 .../maven/lucene/queryparser/pom.xml.template      |  40 ---
 dev-tools/maven/lucene/replicator/pom.xml.template |  28 --
 dev-tools/maven/lucene/sandbox/pom.xml.template    |  27 --
 .../maven/lucene/spatial-extras/pom.xml.template   |  26 --
 dev-tools/maven/lucene/spatial3d/pom.xml.template  |  27 --
 dev-tools/maven/lucene/suggest/pom.xml.template    |  27 --
 .../maven/lucene/test-framework/pom.xml.template   |  50 ---
 dev-tools/maven/pom.xml.template                   | 337 +--------------------
 .../solr/contrib/analysis-extras/pom.xml.template  |  39 ---
 .../maven/solr/contrib/analytics/pom.xml.template  |  36 +--
 .../dataimporthandler-extras/pom.xml.template      |  39 ---
 .../contrib/dataimporthandler/pom.xml.template     |  45 ---
 .../maven/solr/contrib/extraction/pom.xml.template |  32 --
 .../jaegertracer-configurator/pom.xml.template     |  36 +--
 .../maven/solr/contrib/langid/pom.xml.template     |  37 ---
 dev-tools/maven/solr/contrib/ltr/pom.xml.template  |  36 +--
 dev-tools/maven/solr/contrib/pom.xml.template      |  11 -
 .../contrib/prometheus-exporter/pom.xml.template   |  36 +--
 .../maven/solr/contrib/velocity/pom.xml.template   |  43 ---
 dev-tools/maven/solr/core/pom.xml.template         |  34 +--
 .../maven/solr/core/src/java/pom.xml.template      |  84 -----
 .../maven/solr/core/src/test/pom.xml.template      | 155 ----------
 dev-tools/maven/solr/pom.xml.template              |  97 ------
 dev-tools/maven/solr/solrj/pom.xml.template        |  34 +--
 .../maven/solr/solrj/src/java/pom.xml.template     |  78 -----
 .../maven/solr/solrj/src/test/pom.xml.template     | 122 --------
 .../maven/solr/test-framework/pom.xml.template     |  49 ---
 lucene/CHANGES.txt                                 |  11 +-
 lucene/codecs/build.xml                            |   4 -
 lucene/common-build.xml                            |  93 ++----
 lucene/core/build.xml                              |   4 -
 .../dependencies/GetMavenDependenciesTask.java     |  17 +-
 solr/core/build.xml                                |   4 -
 solr/solrj/build.xml                               |   4 -
 66 files changed, 114 insertions(+), 2813 deletions(-)

diff --git a/build.xml b/build.xml
index 03e103a..9fe422f 100755
--- a/build.xml
+++ b/build.xml
@@ -183,16 +183,6 @@
     </subant>
   </target>
 
-  <target name="get-maven-poms" depends="resolve" 
-          description="Copy Maven POMs from dev-tools/maven/ to maven-build/">
-    <ant dir="lucene" target="-get-maven-poms" inheritall="false"/>
-  </target>
-
-  <target name="clean-maven-build"
-          description="Clean up Maven POMs in working copy">
-    <delete failonerror="true" dir="${maven-build-dir}/"/>
-  </target>
-
   <target name="generate-maven-artifacts" depends="resolve,resolve-groovy,resolve-markdown,install-maven-tasks"
           description="Generate Maven Artifacts for Lucene and Solr">
     <property name="maven.dist.dir"  location="dist/maven" />
@@ -663,7 +653,7 @@ Test args: [${args}]</echo>
     </antcall>
   </target>
 
-  <target name="jenkins-maven-nightly" depends="-print-java-info,clean,clean-maven-build,resolve-groovy,resolve-markdown,install-maven-tasks">
+  <target name="jenkins-maven-nightly" depends="-print-java-info,clean,resolve-groovy,resolve-markdown,install-maven-tasks">
     <!-- build, install, validate and publish ANT-generated maven artifacts: -->
     <antcall>
       <param name="is.jenkins.build" value="true"/>
diff --git a/dev-tools/maven/README.maven b/dev-tools/maven/README.maven
index e214190..6414577 100644
--- a/dev-tools/maven/README.maven
+++ b/dev-tools/maven/README.maven
@@ -7,7 +7,6 @@ Contents:
 A. How to use nightly Jenkins-built Lucene/Solr Maven artifacts
 B. How to generate Maven artifacts
 C. How to deploy Maven artifacts to a repository
-D. How to use Maven to build Lucene/Solr
 
 -----
 
@@ -65,95 +64,3 @@ C. How to deploy Maven artifacts to a repository
    <https://maven.apache.org/settings.html#Servers> for more information.
    (Note that as of version 2.1.3, Maven Ant Tasks cannot handle encrypted
    passwords.)
-
-
-D. How to use Maven to build Lucene/Solr
-
-   In summary, to enable Maven builds, perform the following:
-
-         ant get-maven-poms
-         cd maven-build
-
-   The details, followed by some example Maven commands:
-
-   1. Prerequisites: JDK 1.8+ and Maven 2.2.1 or 3.X
-
-   2. Make sure your sources are up to date.
-
-   3. Copy the Maven POM templates from under dev-tools/maven/ to the
-      maven-build/ directory using the following command from the top-level
-      directory:
-
-         ant get-maven-poms
-
-      Note that you will need to do this whenever changes to the POM
-      templates are committed.  For this reason, it's a good idea run
-      "ant get-maven-poms" after you update from origin.
-
-      The above command copies all of the POM templates from dev-tools/maven/,
-      filling in the project version with the default "X.X-SNAPSHOT".  If you
-      want the POMs and the Maven-built artifacts to have a version other than
-      the default, you can supply an alternate version on the command line
-      with the above command, e.g. "my-special-version":
-
-         ant -Dversion=my-special-version get-maven-poms
-
-      or to append "my-special-version" to the current base version, e.g. 5.0,
-      resulting in version "5.0-my-special-version":
-
-         ant -Ddev.version.suffix=my-special-version get-maven-poms
-
-      Note: if you change the version in the POMs, there is one test method
-      that will fail under maven-surefire-plugin:
-      o.a.l.index.TestCheckIndex#testLuceneConstantVersion().  It's safe to
-      @Ignore this test method, since it's just comparing the value of the
-      lucene.version system property (set in the maven-surefire-plugin
-      configuration in the lucene-core POM) against a hard-wired official
-      version (o.a.l.util.Constants.LUCENE_MAIN_VERSION).
-
-   4. To remove the maven-build/ directory and its contents, use the following
-      command from the top-level directory:
-
-         ant clean-maven-build
-
-   5. Please keep in mind that this is just a minimal Maven build. The resulting
-      artifacts are not the same as those created by the native Ant-based build.
-      It should be fine to enable Lucene builds in several Maven-based IDEs,
-      but should never be used for Lucene/Solr production usage, as they may lack
-      optimized class files (e.g., Java 9 MR-JAR support). To install Lucene/Solr
-      in your local repository, see instructions above.
-
-
-   Some example Maven commands you can use after you perform the above
-   preparatory steps:
-
-   - Compile, package, and install all binary artifacts to your local
-     repository:
-
-         mvn install
-
-     After compiling and packaging, but before installing each module's 
-     artifact, the above command will also run all the module's tests.
-     
-     The resulting artifacts are not the same as those created by the native
-     Ant-based build. They should never be used for Lucene/Solr production
-     usage, as they may lack optimized class files (e.g., Java 9 MR-JAR
-     support).
-
-   - Compile, package, and install all binary artifacts to your local
-     repository, without running any tests:
-
-         mvn -DskipTests install
-
-   - Compile, package, and install all binary and source artifacts to your
-     local repository, without running any tests:
-
-         mvn -DskipTests source:jar-no-fork install
-
-   - Run all tests:
-
-         mvn test
-
-   - Run all test methods defined in a test class:
-
-         mvn -Dtest=TestClassName test
diff --git a/dev-tools/maven/lucene/analysis/common/pom.xml.template b/dev-tools/maven/lucene/analysis/common/pom.xml.template
index 86d8202..10045bf 100644
--- a/dev-tools/maven/lucene/analysis/common/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/common/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Additional Analyzers</description>
   <properties>
     <module-directory>lucene/analysis/common</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,45 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-analyzers-common.internal.dependencies@
 @lucene-analyzers-common.external.dependencies@
-@lucene-analyzers-common.internal.test.dependencies@
-@lucene-analyzers-common.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/analysis/icu/pom.xml.template b/dev-tools/maven/lucene/analysis/icu/pom.xml.template
index 34c343e..43ebaa0 100644
--- a/dev-tools/maven/lucene/analysis/icu/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/icu/pom.xml.template
@@ -36,8 +36,6 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/icu</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -45,32 +43,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>${project.groupId}</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-analyzers-icu.internal.dependencies@
 @lucene-analyzers-icu.external.dependencies@
-@lucene-analyzers-icu.internal.test.dependencies@
-@lucene-analyzers-icu.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/analysis/kuromoji/pom.xml.template b/dev-tools/maven/lucene/analysis/kuromoji/pom.xml.template
index 21d92f7..0f1549c 100644
--- a/dev-tools/maven/lucene/analysis/kuromoji/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/kuromoji/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/kuromoji</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,32 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-analyzers-kuromoji.internal.dependencies@
 @lucene-analyzers-kuromoji.external.dependencies@
-@lucene-analyzers-kuromoji.internal.test.dependencies@
-@lucene-analyzers-kuromoji.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/analysis/morfologik/pom.xml.template b/dev-tools/maven/lucene/analysis/morfologik/pom.xml.template
index bd63d3a..fb2a912 100644
--- a/dev-tools/maven/lucene/analysis/morfologik/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/morfologik/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/morfologik</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,35 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-analyzers-morfologik.internal.dependencies@
 @lucene-analyzers-morfologik.external.dependencies@
-@lucene-analyzers-morfologik.internal.test.dependencies@
-@lucene-analyzers-morfologik.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/analysis/nori/pom.xml.template b/dev-tools/maven/lucene/analysis/nori/pom.xml.template
index ac37a08..fe8199e 100644
--- a/dev-tools/maven/lucene/analysis/nori/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/nori/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/nori</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,32 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-analyzers-nori.internal.dependencies@
 @lucene-analyzers-nori.external.dependencies@
-@lucene-analyzers-nori.internal.test.dependencies@
-@lucene-analyzers-nori.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/analysis/opennlp/pom.xml.template b/dev-tools/maven/lucene/analysis/opennlp/pom.xml.template
index 4109a0a..0d46f6b 100644
--- a/dev-tools/maven/lucene/analysis/opennlp/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/opennlp/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/opennlp</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,35 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    @lucene-analyzers-opennlp.internal.dependencies@
-    @lucene-analyzers-opennlp.external.dependencies@
-    @lucene-analyzers-opennlp.internal.test.dependencies@
-    @lucene-analyzers-opennlp.external.test.dependencies@
+@lucene-analyzers-opennlp.internal.dependencies@
+@lucene-analyzers-opennlp.external.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/analysis/phonetic/pom.xml.template b/dev-tools/maven/lucene/analysis/phonetic/pom.xml.template
index a8e8e93..29df99e 100644
--- a/dev-tools/maven/lucene/analysis/phonetic/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/phonetic/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/phonetic</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,32 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-analyzers-phonetic.internal.dependencies@
 @lucene-analyzers-phonetic.external.dependencies@
-@lucene-analyzers-phonetic.internal.test.dependencies@
-@lucene-analyzers-phonetic.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/analysis/pom.xml.template b/dev-tools/maven/lucene/analysis/pom.xml.template
index f41aa06..1127f0a 100644
--- a/dev-tools/maven/lucene/analysis/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/pom.xml.template
@@ -41,15 +41,4 @@
     <module>smartcn</module>
     <module>stempel</module>
   </modules>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/analysis/smartcn/pom.xml.template b/dev-tools/maven/lucene/analysis/smartcn/pom.xml.template
index a795b76..b22d742 100644
--- a/dev-tools/maven/lucene/analysis/smartcn/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/smartcn/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Smart Chinese Analyzer</description>
   <properties>
     <module-directory>lucene/analysis/smartcn</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,32 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-analyzers-smartcn.internal.dependencies@
 @lucene-analyzers-smartcn.external.dependencies@
-@lucene-analyzers-smartcn.internal.test.dependencies@
-@lucene-analyzers-smartcn.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/analysis/stempel/pom.xml.template b/dev-tools/maven/lucene/analysis/stempel/pom.xml.template
index f32e067..8255a41 100644
--- a/dev-tools/maven/lucene/analysis/stempel/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/stempel/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Stempel Analyzer</description>
   <properties>
     <module-directory>lucene/analysis/stempel</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,32 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-analyzers-stempel.internal.dependencies@
 @lucene-analyzers-stempel.external.dependencies@
-@lucene-analyzers-stempel.internal.test.dependencies@
-@lucene-analyzers-stempel.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/backward-codecs/pom.xml.template b/dev-tools/maven/lucene/backward-codecs/pom.xml.template
index 271276d..8a92434 100644
--- a/dev-tools/maven/lucene/backward-codecs/pom.xml.template
+++ b/dev-tools/maven/lucene/backward-codecs/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>lucene/backward-codecs</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,45 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-backward-codecs.internal.dependencies@
 @lucene-backward-codecs.external.dependencies@
-@lucene-backward-codecs.internal.test.dependencies@
-@lucene-backward-codecs.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/benchmark/pom.xml.template b/dev-tools/maven/lucene/benchmark/pom.xml.template
index 6c4a245..2ff2daf 100644
--- a/dev-tools/maven/lucene/benchmark/pom.xml.template
+++ b/dev-tools/maven/lucene/benchmark/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Lucene Benchmarking Module</description>
   <properties>
     <module-directory>lucene/benchmark</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,45 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-benchmark.internal.dependencies@
 @lucene-benchmark.external.dependencies@
-@lucene-benchmark.internal.test.dependencies@
-@lucene-benchmark.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-      <testResource>
-        <directory>${module-path}</directory>
-        <includes>
-          <include>conf/**/*</include>
-        </includes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>lucene-shared-check-sysout-forbidden-apis</id>
-            <phase>none</phase>  <!-- Block inherited execution -->
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/classification/pom.xml.template b/dev-tools/maven/lucene/classification/pom.xml.template
index 397d07d..9780fc3 100644
--- a/dev-tools/maven/lucene/classification/pom.xml.template
+++ b/dev-tools/maven/lucene/classification/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Lucene Classification</description>
   <properties>
     <module-directory>lucene/classification</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,27 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-classification.internal.dependencies@
 @lucene-classification.external.dependencies@
-@lucene-classification.internal.test.dependencies@
-@lucene-classification.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/codecs/pom.xml.template b/dev-tools/maven/lucene/codecs/pom.xml.template
index 269c23c..6c36964 100644
--- a/dev-tools/maven/lucene/codecs/pom.xml.template
+++ b/dev-tools/maven/lucene/codecs/pom.xml.template
@@ -27,22 +27,22 @@
     <relativePath>../pom.xml</relativePath>
   </parent>
   <groupId>org.apache.lucene</groupId>
-  <artifactId>lucene-codecs-aggregator</artifactId>
-  <packaging>pom</packaging>
-  <name>Lucene codecs aggregator POM</name>
-  <modules>
-    <module>src/java</module>
-    <module>src/test</module>
-  </modules>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
+  <artifactId>lucene-codecs</artifactId>
+  <packaging>jar</packaging>
+  <name>Lucene codecs</name>
+  <description>
+    Codecs and postings formats for Apache Lucene.
+  </description>
+  <properties>
+    <module-directory>lucene/codecs</module-directory>
+  </properties>
+  <scm>
+    <connection>scm:git:${vc-anonymous-base-url}</connection>
+    <developerConnection>scm:git:${vc-dev-base-url}</developerConnection>
+    <url>${vc-browse-base-url};f=${module-directory}</url>
+  </scm>
+  <dependencies>
+@lucene-codecs.internal.dependencies@
+@lucene-codecs.external.dependencies@
+  </dependencies>
 </project>
diff --git a/dev-tools/maven/lucene/codecs/src/java/pom.xml.template b/dev-tools/maven/lucene/codecs/src/java/pom.xml.template
deleted file mode 100644
index 4d2f027..0000000
--- a/dev-tools/maven/lucene/codecs/src/java/pom.xml.template
+++ /dev/null
@@ -1,85 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<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.apache.lucene</groupId>
-    <artifactId>lucene-parent</artifactId>
-    <version>@version@</version>
-    <relativePath>../../../pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.lucene</groupId>
-  <artifactId>lucene-codecs</artifactId>
-  <packaging>jar</packaging>
-  <name>Lucene codecs</name>
-  <description>
-    Codecs and postings formats for Apache Lucene.
-  </description>
-  <properties>
-    <module-directory>lucene/codecs</module-directory>
-    <relative-top-level>../../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}/src/java</module-path>
-  </properties>
-  <scm>
-    <connection>scm:git:${vc-anonymous-base-url}</connection>
-    <developerConnection>scm:git:${vc-dev-base-url}</developerConnection>
-    <url>${vc-browse-base-url};f=${module-directory}</url>
-  </scm>
-  <dependencies>
-@lucene-codecs.internal.dependencies@
-@lucene-codecs.external.dependencies@
-  </dependencies>
-  <build>
-    <sourceDirectory>${module-path}</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/../resources</directory>
-      </resource>
-    </resources>
-    <testSourceDirectory/>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <skip>true</skip> <!-- Tests are run from lucene-codecs-tests module -->
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <skip>true</skip> <!-- This skips test compilation - tests are run from lucene-codecs-tests module -->
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>lucene-shared-test-check-forbidden-apis</id>
-            <phase>none</phase>  <!-- Block inherited execution -->
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/dev-tools/maven/lucene/codecs/src/test/pom.xml.template b/dev-tools/maven/lucene/codecs/src/test/pom.xml.template
deleted file mode 100644
index d64f899..0000000
--- a/dev-tools/maven/lucene/codecs/src/test/pom.xml.template
+++ /dev/null
@@ -1,84 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<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.apache.lucene</groupId>
-    <artifactId>lucene-parent</artifactId>
-    <version>@version@</version>
-    <relativePath>../../../pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.lucene</groupId>
-  <artifactId>lucene-codecs-tests</artifactId>
-  <name>Lucene codecs tests</name>
-  <packaging>jar</packaging>
-  <properties>
-    <module-directory>lucene/codecs</module-directory>
-    <relative-top-level>../../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}/src/test</module-path>
-  </properties>
-  <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-codecs</artifactId>
-      <scope>test</scope>
-    </dependency>
-@lucene-codecs.internal.test.dependencies@
-@lucene-codecs.external.test.dependencies@
-  </dependencies>
-  <build>
-    <sourceDirectory/>
-    <testSourceDirectory>${module-path}</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>lucene-shared-check-forbidden-apis</id>
-            <phase>none</phase> <!-- Block inherited execution -->
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/dev-tools/maven/lucene/core/pom.xml.template b/dev-tools/maven/lucene/core/pom.xml.template
index f06e1e2..4541e58 100644
--- a/dev-tools/maven/lucene/core/pom.xml.template
+++ b/dev-tools/maven/lucene/core/pom.xml.template
@@ -27,22 +27,20 @@
     <relativePath>../pom.xml</relativePath>
   </parent>
   <groupId>org.apache.lucene</groupId>
-  <artifactId>lucene-core-aggregator</artifactId>
-  <packaging>pom</packaging>
-  <name>Lucene Core aggregator POM</name>
-  <modules>
-    <module>src/java</module>
-    <module>src/test</module>
-  </modules>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
+  <artifactId>lucene-core</artifactId>
+  <packaging>jar</packaging>
+  <name>Lucene Core</name>
+  <description>Apache Lucene Java Core</description>
+  <properties>
+    <module-directory>lucene/core</module-directory>
+  </properties>
+  <scm>
+    <connection>scm:git:${vc-anonymous-base-url}</connection>
+    <developerConnection>scm:git:${vc-dev-base-url}</developerConnection>
+    <url>${vc-browse-base-url};f=${module-directory}</url>
+  </scm>
+  <dependencies>
+@lucene-core.internal.dependencies@
+@lucene-core.external.dependencies@
+  </dependencies>
 </project>
diff --git a/dev-tools/maven/lucene/core/src/java/pom.xml.template b/dev-tools/maven/lucene/core/src/java/pom.xml.template
deleted file mode 100644
index 89cdfe8..0000000
--- a/dev-tools/maven/lucene/core/src/java/pom.xml.template
+++ /dev/null
@@ -1,79 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<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.apache.lucene</groupId>
-    <artifactId>lucene-parent</artifactId>
-    <version>@version@</version>
-    <relativePath>../../../pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.lucene</groupId>
-  <artifactId>lucene-core</artifactId>
-  <packaging>jar</packaging>
-  <name>Lucene Core</name>
-  <description>Apache Lucene Java Core</description>
-  <properties>
-    <module-directory>lucene/core</module-directory>
-    <relative-top-level>../../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}/src/java</module-path>
-  </properties>
-  <scm>
-    <connection>scm:git:${vc-anonymous-base-url}</connection>
-    <developerConnection>scm:git:${vc-dev-base-url}</developerConnection>
-    <url>${vc-browse-base-url};f=${module-directory}</url>
-  </scm>
-  <build>
-    <sourceDirectory>${module-path}</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/../resources</directory>
-      </resource>
-    </resources>
-    <testSourceDirectory/>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <skip>true</skip> <!-- Tests are run from lucene-codecs-tests module -->
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <skip>true</skip> <!-- This skips test compilation - tests are run from lucene-codecs-tests module -->
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>lucene-shared-test-check-forbidden-apis</id>
-            <phase>none</phase>  <!-- Block inherited execution -->
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/dev-tools/maven/lucene/core/src/test/pom.xml.template b/dev-tools/maven/lucene/core/src/test/pom.xml.template
deleted file mode 100644
index d50e7e6..0000000
--- a/dev-tools/maven/lucene/core/src/test/pom.xml.template
+++ /dev/null
@@ -1,84 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<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.apache.lucene</groupId>
-    <artifactId>lucene-parent</artifactId>
-    <version>@version@</version>
-    <relativePath>../../../pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.lucene</groupId>
-  <artifactId>lucene-core-tests</artifactId>
-  <name>Lucene Core tests</name>
-  <packaging>jar</packaging>
-  <properties>
-    <module-directory>lucene/core</module-directory>
-    <relative-top-level>../../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}/src/test</module-path>
-  </properties>
-  <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-@lucene-core.internal.test.dependencies@
-@lucene-core.external.test.dependencies@
-  </dependencies>
-  <build>
-    <sourceDirectory/>
-    <testSourceDirectory>${module-path}</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>lucene-shared-check-forbidden-apis</id>
-            <phase>none</phase> <!-- Block inherited execution -->
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/dev-tools/maven/lucene/demo/pom.xml.template b/dev-tools/maven/lucene/demo/pom.xml.template
index fc550ad..0df7407 100644
--- a/dev-tools/maven/lucene/demo/pom.xml.template
+++ b/dev-tools/maven/lucene/demo/pom.xml.template
@@ -33,8 +33,6 @@
   <description>This is the demo for Apache Lucene Java</description>
   <properties>
     <module-directory>lucene/demo</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,44 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-demo.internal.dependencies@
 @lucene-demo.external.dependencies@
-@lucene-demo.internal.test.dependencies@
-@lucene-demo.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>lucene-shared-check-sysout-forbidden-apis</id>
-            <phase>none</phase>  <!-- Block inherited execution -->
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/expressions/pom.xml.template b/dev-tools/maven/lucene/expressions/pom.xml.template
index 18ea18a..a48760b 100644
--- a/dev-tools/maven/lucene/expressions/pom.xml.template
+++ b/dev-tools/maven/lucene/expressions/pom.xml.template
@@ -35,28 +35,9 @@
   </description>
   <properties>
     <module-directory>lucene/expressions</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-expressions.internal.dependencies@
 @lucene-expressions.external.dependencies@
-@lucene-expressions.internal.test.dependencies@
-@lucene-expressions.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/facet/pom.xml.template b/dev-tools/maven/lucene/facet/pom.xml.template
index 9d6d80d..f9aca28 100644
--- a/dev-tools/maven/lucene/facet/pom.xml.template
+++ b/dev-tools/maven/lucene/facet/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>lucene/facet</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,32 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-facet.internal.dependencies@
 @lucene-facet.external.dependencies@
-@lucene-facet.internal.test.dependencies@
-@lucene-facet.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/grouping/pom.xml.template b/dev-tools/maven/lucene/grouping/pom.xml.template
index 6314b72..4648efa 100644
--- a/dev-tools/maven/lucene/grouping/pom.xml.template
+++ b/dev-tools/maven/lucene/grouping/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Lucene Grouping Module</description>
   <properties>
     <module-directory>lucene/grouping</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,27 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-grouping.internal.dependencies@
 @lucene-grouping.external.dependencies@
-@lucene-grouping.internal.test.dependencies@
-@lucene-grouping.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/highlighter/pom.xml.template b/dev-tools/maven/lucene/highlighter/pom.xml.template
index ea31e63..3638a78 100644
--- a/dev-tools/maven/lucene/highlighter/pom.xml.template
+++ b/dev-tools/maven/lucene/highlighter/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>lucene/highlighter</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,27 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-highlighter.internal.dependencies@
 @lucene-highlighter.external.dependencies@
-@lucene-highlighter.internal.test.dependencies@
-@lucene-highlighter.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/join/pom.xml.template b/dev-tools/maven/lucene/join/pom.xml.template
index 161e558..626291d 100644
--- a/dev-tools/maven/lucene/join/pom.xml.template
+++ b/dev-tools/maven/lucene/join/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Lucene Join Module</description>
   <properties>
     <module-directory>lucene/join</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,27 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-join.internal.dependencies@
 @lucene-join.external.dependencies@
-@lucene-join.internal.test.dependencies@
-@lucene-join.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/memory/pom.xml.template b/dev-tools/maven/lucene/memory/pom.xml.template
index dcaeb12..eaecc6c 100644
--- a/dev-tools/maven/lucene/memory/pom.xml.template
+++ b/dev-tools/maven/lucene/memory/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>lucene/memory</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,27 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-memory.internal.dependencies@
 @lucene-memory.external.dependencies@
-@lucene-memory.internal.test.dependencies@
-@lucene-memory.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/misc/pom.xml.template b/dev-tools/maven/lucene/misc/pom.xml.template
index a4bcac2..9a1d09e 100644
--- a/dev-tools/maven/lucene/misc/pom.xml.template
+++ b/dev-tools/maven/lucene/misc/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Miscellaneous Lucene extensions</description>
   <properties>
     <module-directory>lucene/misc</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,27 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-     <scope>test</scope>
-    </dependency>
 @lucene-misc.internal.dependencies@
 @lucene-misc.external.dependencies@
-@lucene-misc.internal.test.dependencies@
-@lucene-misc.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/monitor/pom.xml.template b/dev-tools/maven/lucene/monitor/pom.xml.template
index 3d915e9..fbd1bd0 100644
--- a/dev-tools/maven/lucene/monitor/pom.xml.template
+++ b/dev-tools/maven/lucene/monitor/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>lucene/monitor</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,27 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-monitor.internal.dependencies@
 @lucene-monitor.external.dependencies@
-@lucene-monitor.internal.test.dependencies@
-@lucene-monitor.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/pom.xml.template b/dev-tools/maven/lucene/pom.xml.template
index 1093bc4..b5c564c 100644
--- a/dev-tools/maven/lucene/pom.xml.template
+++ b/dev-tools/maven/lucene/pom.xml.template
@@ -64,64 +64,4 @@
     <module>spatial3d</module>
     <module>suggest</module>
   </modules>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>lucene-shared-check-forbidden-apis</id>
-            <configuration>
-              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
-              <bundledSignatures>
-                <bundledSignature>jdk-unsafe</bundledSignature>
-                <bundledSignature>jdk-deprecated</bundledSignature>
-                <bundledSignature>jdk-non-portable</bundledSignature>
-                <bundledSignature>jdk-reflection</bundledSignature>
-              </bundledSignatures>
-              <signaturesFiles>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/base.txt</signaturesFile>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/lucene.txt</signaturesFile>
-              </signaturesFiles>
-            </configuration>
-            <goals>
-              <goal>check</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>lucene-shared-check-sysout-forbidden-apis</id>
-            <configuration>
-              <bundledSignatures>
-                <bundledSignature>jdk-system-out</bundledSignature>
-              </bundledSignatures>
-            </configuration>
-            <goals>
-              <goal>check</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>lucene-shared-test-check-forbidden-apis</id>
-            <configuration>
-              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
-              <bundledSignatures>
-                <bundledSignature>jdk-unsafe</bundledSignature>
-                <bundledSignature>jdk-deprecated</bundledSignature>
-                <bundledSignature>jdk-non-portable</bundledSignature>
-                <bundledSignature>jdk-reflection</bundledSignature>
-              </bundledSignatures>
-              <signaturesFiles>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/tests.txt</signaturesFile>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/base.txt</signaturesFile>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/lucene.txt</signaturesFile>
-              </signaturesFiles>
-            </configuration>
-            <goals>
-              <goal>testCheck</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/queries/pom.xml.template b/dev-tools/maven/lucene/queries/pom.xml.template
index 778d75c..c71ff59 100644
--- a/dev-tools/maven/lucene/queries/pom.xml.template
+++ b/dev-tools/maven/lucene/queries/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Lucene Queries Module</description>
   <properties>
     <module-directory>lucene/queries</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,27 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-queries.internal.dependencies@
 @lucene-queries.external.dependencies@
-@lucene-queries.internal.test.dependencies@
-@lucene-queries.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/queryparser/pom.xml.template b/dev-tools/maven/lucene/queryparser/pom.xml.template
index 3f42d23..f5bd27e 100644
--- a/dev-tools/maven/lucene/queryparser/pom.xml.template
+++ b/dev-tools/maven/lucene/queryparser/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Lucene QueryParsers module</description>
   <properties>
     <module-directory>lucene/queryparser</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,45 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-queryparser.internal.dependencies@
 @lucene-queryparser.external.dependencies@
-@lucene-queryparser.internal.test.dependencies@
-@lucene-queryparser.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/replicator/pom.xml.template b/dev-tools/maven/lucene/replicator/pom.xml.template
index 3fbeb09..cfd4129 100644
--- a/dev-tools/maven/lucene/replicator/pom.xml.template
+++ b/dev-tools/maven/lucene/replicator/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Lucene Replicator Module</description>
   <properties>
     <module-directory>lucene/replicator</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,33 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-replicator.internal.dependencies@
 @lucene-replicator.external.dependencies@
-@lucene-replicator.internal.test.dependencies@
-@lucene-replicator.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/sandbox/pom.xml.template b/dev-tools/maven/lucene/sandbox/pom.xml.template
index a59187b..599c983 100644
--- a/dev-tools/maven/lucene/sandbox/pom.xml.template
+++ b/dev-tools/maven/lucene/sandbox/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Lucene Sandbox</description>
   <properties>
     <module-directory>lucene/sandbox</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,32 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-sandbox.internal.dependencies@
 @lucene-sandbox.external.dependencies@
-@lucene-sandbox.internal.test.dependencies@
-@lucene-sandbox.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/spatial-extras/pom.xml.template b/dev-tools/maven/lucene/spatial-extras/pom.xml.template
index 9100ab4..cda9efe 100644
--- a/dev-tools/maven/lucene/spatial-extras/pom.xml.template
+++ b/dev-tools/maven/lucene/spatial-extras/pom.xml.template
@@ -35,35 +35,9 @@
   </description>
   <properties>
     <module-directory>lucene/spatial-extras</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-spatial3d</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
 @lucene-spatial-extras.internal.dependencies@
 @lucene-spatial-extras.external.dependencies@
-@lucene-spatial-extras.internal.test.dependencies@
-@lucene-spatial-extras.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/spatial3d/pom.xml.template b/dev-tools/maven/lucene/spatial3d/pom.xml.template
index 43b29a8..cceabc9 100644
--- a/dev-tools/maven/lucene/spatial3d/pom.xml.template
+++ b/dev-tools/maven/lucene/spatial3d/pom.xml.template
@@ -35,36 +35,9 @@
   </description>
   <properties>
     <module-directory>lucene/spatial3d</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-spatial3d.internal.dependencies@
 @lucene-spatial3d.external.dependencies@
-@lucene-spatial3d.internal.test.dependencies@
-@lucene-spatial3d.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/suggest/pom.xml.template b/dev-tools/maven/lucene/suggest/pom.xml.template
index f48f264..dccafe0 100644
--- a/dev-tools/maven/lucene/suggest/pom.xml.template
+++ b/dev-tools/maven/lucene/suggest/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Lucene Suggest Module</description>
   <properties>
     <module-directory>lucene/suggest</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,32 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency> 
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @lucene-suggest.internal.dependencies@
 @lucene-suggest.external.dependencies@
-@lucene-suggest.internal.test.dependencies@
-@lucene-suggest.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/lucene/test-framework/pom.xml.template b/dev-tools/maven/lucene/test-framework/pom.xml.template
index df8a7bd..f0818b1 100644
--- a/dev-tools/maven/lucene/test-framework/pom.xml.template
+++ b/dev-tools/maven/lucene/test-framework/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Apache Lucene Java Test Framework</description>
   <properties>
     <module-directory>lucene/test-framework</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,55 +42,7 @@
   <dependencies>
 @lucene-test-framework.internal.dependencies@
 @lucene-test-framework.external.dependencies@
-@lucene-test-framework.internal.test.dependencies@
-@lucene-test-framework.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-      <resource>
-        <directory>${project.build.sourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </resource>
-    </resources>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>lucene-shared-check-forbidden-apis</id>
-            <phase>none</phase> <!-- Block inherited execution -->
-          </execution>
-          <execution>
-            <id>lucene-shared-test-check-forbidden-apis</id>
-            <goals>
-              <goal>check</goal>
-              <goal>testCheck</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>lucene-shared-check-sysout-forbidden-apis</id>
-            <phase>none</phase>  <!-- Block inherited execution -->
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
   <repositories>
     <repository>
       <id>sonatype.releases</id>
diff --git a/dev-tools/maven/pom.xml.template b/dev-tools/maven/pom.xml.template
index 2f08ebf..53a1a44 100644
--- a/dev-tools/maven/pom.xml.template
+++ b/dev-tools/maven/pom.xml.template
@@ -41,32 +41,6 @@
     <vc-anonymous-base-url>https://gitbox.apache.org/repos/asf/lucene-solr.git</vc-anonymous-base-url>
     <vc-dev-base-url>https://gitbox.apache.org/repos/asf/lucene-solr.git</vc-dev-base-url>
     <vc-browse-base-url>https://gitbox.apache.org/repos/asf?p=lucene-solr.git</vc-browse-base-url>
-    <specification.version>@spec.version@</specification.version>
-    <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
-    <java.compat.version>8</java.compat.version>
-    <!-- HACK: the enforce plugin does not like new versioning: -->
-    <java.legacy-compat.version>1.${java.compat.version}</java.legacy-compat.version>
-    <jetty.version>9.3.8.v20160314</jetty.version>
-
-    <!-- RandomizedTesting library system properties -->
-    <tests.iters>1</tests.iters>
-    <tests.seed/>
-    <tests.nightly/>
-    <tests.weekly/>
-    <tests.awaitsfix/>
-    <tests.slow/>
-
-    <!-- Lucene/Solr-specific test system properties -->
-    <tests.codec>random</tests.codec>
-    <tests.directory>random</tests.directory>
-    <tests.locale>random</tests.locale>
-    <tests.luceneMatchVersion>@version.base@</tests.luceneMatchVersion>
-    <tests.multiplier>1</tests.multiplier>
-    <tests.nightly>false</tests.nightly>
-    <tests.postingsformat>random</tests.postingsformat>
-    <tests.timezone>random</tests.timezone>
-    <tests.verbose>false</tests.verbose>
-    <tests.infostream>${tests.verbose}</tests.infostream>
   </properties>
   <issueManagement>
     <system>JIRA</system>
@@ -143,330 +117,27 @@
   <prerequisites>
     <maven>2.2.1</maven>
   </prerequisites>
-  <dependencies>
-    <dependency> 
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.carrotsearch.randomizedtesting</groupId>
-      <artifactId>randomizedtesting-runner</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
   <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>de.thetaphi</groupId>
-          <artifactId>forbiddenapis</artifactId>
-          <version>3.1</version>
-          <configuration>
-            <!--
-              This is the default setting, we don't support too new Java versions.
-              The checker simply passes by default and only prints a warning.
-             -->
-            <failOnUnsupportedJava>false</failOnUnsupportedJava>
-            <targetVersion>${java.compat.version}</targetVersion>
-            <suppressAnnotations>
-              <suppressAnnotation>**.SuppressForbidden</suppressAnnotation>
-            </suppressAnnotations>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-antrun-plugin</artifactId>
-          <version>1.7</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-clean-plugin</artifactId>
-          <version>2.5</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.1</version>
-          <configuration>
-            <source>${java.compat.version}</source>
-            <target>${java.compat.version}</target>
-            <compilerArgs>
-              <!-- -proc:none was added because of LOG4J2-1925, JDK-8186647, https://github.com/apache/zookeeper/pull/317, JDK-8055048 -->
-              <arg>-proc:none</arg>
-            </compilerArgs>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-dependency-plugin</artifactId>
-          <version>2.8</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-deploy-plugin</artifactId>
-          <version>2.7</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-enforcer-plugin</artifactId>
-          <version>1.3</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-install-plugin</artifactId>
-          <version>2.4</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-jar-plugin</artifactId>
-          <version>2.4</version>
-          <configuration>
-            <archive>
-              <manifest>
-                <addDefaultSpecificationEntries>false</addDefaultSpecificationEntries>
-                <addDefaultImplementationEntries>false</addDefaultImplementationEntries>
-              </manifest>
-            </archive>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-javadoc-plugin</artifactId>
-          <version>2.9.1</version>
-          <configuration>
-            <quiet>true</quiet>
-            <additionalparam>-Xdoclint:all</additionalparam>
-            <additionalparam>-Xdoclint:-missing</additionalparam>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-resources-plugin</artifactId>
-          <version>2.6</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-site-plugin</artifactId>
-          <version>3.3</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.17</version>
-          <configuration>
-            <runOrder>random</runOrder>
-            <reportFormat>plain</reportFormat>
-            <workingDirectory>${project.build.directory}/test</workingDirectory>
-            <redirectTestOutputToFile>true</redirectTestOutputToFile>
-            <argLine>-Xmx512M</argLine>
-            <systemPropertyVariables>
-              <tempDir>.</tempDir>
-              <java.awt.headless>true</java.awt.headless>
-
-              <!-- See <https://cwiki.apache.org/confluence/display/lucene/RunningTests>
-                   for a description of the tests.* system properties. -->
-
-              <!-- RandomizedTesting library system properties -->
-              <tests.iters>${tests.iters}</tests.iters>
-              <tests.seed>${tests.seed}</tests.seed>
-              <tests.nightly>${tests.nightly}</tests.nightly>
-              <tests.weekly>${tests.weekly}</tests.weekly>
-              <tests.awaitsfix>${tests.awaitsfix}</tests.awaitsfix>
-              <tests.slow>${tests.slow}</tests.slow>
-
-              <!-- Lucene/Solr-specific test system properties -->
-              <jetty.testMode>1</jetty.testMode>
-              <tests.codec>${tests.codec}</tests.codec>
-              <tests.directory>${tests.directory}</tests.directory>
-              <tests.infostream>${tests.infostream}</tests.infostream>
-              <tests.locale>${tests.locale}</tests.locale>
-              <tests.luceneMatchVersion>${tests.luceneMatchVersion}</tests.luceneMatchVersion>
-              <tests.multiplier>${tests.multiplier}</tests.multiplier>
-              <tests.postingsformat>${tests.postingsformat}</tests.postingsformat>
-              <tests.timezone>${tests.timezone}</tests.timezone>
-              <tests.verbose>${tests.verbose}</tests.verbose>
-              <java.security.egd>file:/dev/./urandom</java.security.egd>
-            </systemPropertyVariables>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-war-plugin</artifactId>
-          <version>2.3</version>
-          <configuration>
-            <archive>
-              <!-- This section should be *exactly* the same under -->
-              <!-- maven-bundle-plugin and maven-war-plugin.          -->
-              <!-- If you make changes here, make the same changes -->
-              <!-- in the other location as well.                  -->
-              <manifestEntries>
-                <Extension-Name>${project.groupId}</Extension-Name>
-                <Implementation-Title>${project.groupId}</Implementation-Title>
-                <Specification-Title>${project.name}</Specification-Title>
-                <Specification-Version>${specification.version}</Specification-Version>
-                <Specification-Vendor>The Apache Software Foundation</Specification-Vendor>
-                <!-- impl version can be any string -->
-                <Implementation-Version>${project.version} ${checkoutid} - ${user.name} - ${now.timestamp}</Implementation-Version>
-                <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
-                <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id>
-                <X-Compile-Source-JDK>${java.compat.version}</X-Compile-Source-JDK>
-                <X-Compile-Target-JDK>${java.compat.version}</X-Compile-Target-JDK>
-              </manifestEntries>
-            </archive>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>build-helper-maven-plugin</artifactId>
-          <version>1.8</version>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>buildnumber-maven-plugin</artifactId>
-          <version>1.2</version>
-        </plugin>
-        <plugin>
-          <groupId>org.mortbay.jetty</groupId>
-          <artifactId>jetty-maven-plugin</artifactId>
-          <version>${jetty.version}</version>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.gmaven</groupId>
-          <artifactId>gmaven-plugin</artifactId>
-          <version>1.5</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
     <plugins>
       <plugin>
-        <groupId>org.codehaus.gmaven</groupId>
-        <artifactId>gmaven-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>generate-timestamps-and-get-top-level-basedir</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>execute</goal>
-            </goals>
-            <configuration>
-              <source>
-                project.properties['now.timestamp'] = "${maven.build.timestamp}"
-                project.properties['now.version'] = ("${maven.build.timestamp}" =~ /[- :]/).replaceAll(".")
-                project.properties['now.year'] = "${maven.build.timestamp}".substring(0, 4)
-                project.properties['top-level'] = (project.basedir.getAbsolutePath() =~ /[\\\\\/]maven-build.*/).replaceAll("")
-              </source>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>buildnumber-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <phase>validate</phase>
-            <goals>
-              <goal>create</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <doCheck>false</doCheck>
-          <doUpdate>false</doUpdate>
-          <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
-          <revisionOnScmFailure>NO-REVISION-AVAILABLE</revisionOnScmFailure>
-          <buildNumberPropertyName>checkoutid</buildNumberPropertyName>
-          <scmDirectory>${top-level}</scmDirectory>
-        </configuration>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-enforcer-plugin</artifactId>
         <executions>
           <execution>
-            <id>enforce-java-compat-version-and-maven-2.2.1</id>
             <goals>
               <goal>enforce</goal>
             </goals>
             <configuration>
               <rules>
-                <requireJavaVersion>
-                  <message>Java ${java.compat.version}+ is required.</message>
-                  <version>[${java.legacy-compat.version},)</version>
-                </requireJavaVersion>
-                <requireMavenVersion>
-                  <message>Maven 2.2.1+ is required.</message>
-                  <version>[2.2.1,)</version>
-                </requireMavenVersion>
-                <requirePluginVersions/>
+                <AlwaysFail>
+                  <message>Apache Lucene/Solr cannot be built from source using Maven. The POM files are only for deployment to Maven Central.</message>
+                </AlwaysFail>
               </rules>
+              <fail>true</fail>
             </configuration>
           </execution>
         </executions>
       </plugin>
-      
-      <!-- Adding OSGI metadata to the JAR without changing the packaging type. -->
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <configuration>
-          <archive>
-            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-          </archive>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.5.3</version>
-        <configuration>
-          <instructions>
-            <Export-Package>*;-split-package:=merge-first</Export-Package>
-            
-            <!-- This section should be *exactly* the same under -->
-            <!-- maven-bundle-plugin and maven-war-plugin.          -->
-            <!-- If you make changes here, make the same changes -->
-            <!-- in the other location as well.                  -->
-            <Extension-Name>${project.groupId}</Extension-Name>
-            <Implementation-Title>${project.groupId}</Implementation-Title>
-            <Specification-Title>${project.name}</Specification-Title>
-            <Specification-Version>${specification.version}</Specification-Version>
-            <Specification-Vendor>The Apache Software Foundation</Specification-Vendor>
-            <!-- impl version can be any string -->
-            <Implementation-Version>${project.version} ${checkoutid} - ${user.name} - ${now.timestamp}</Implementation-Version>
-            <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
-            <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id>
-            <X-Compile-Source-JDK>${java.compat.version}</X-Compile-Source-JDK>
-            <X-Compile-Target-JDK>${java.compat.version}</X-Compile-Target-JDK>
-          </instructions>
-        </configuration>
-        <executions>
-          <execution>
-            <id>bundle-manifest</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>manifest</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
     </plugins>
   </build>
-  <profiles>
-    <profile>
-      <!-- Although currently a no-op, this profile remains here to reserve
-           the ability to perform Maven build initialization tasks. -->
-      <id>bootstrap</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-install-plugin</artifactId>
-            <executions>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
 </project>
diff --git a/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template b/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
index a0b3702..510923c 100644
--- a/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Apache Solr Analysis Extras</description>
   <properties>
     <module-directory>solr/contrib/analysis-extras</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,44 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-analyzers-common</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @solr-analysis-extras.internal.dependencies@
 @solr-analysis-extras.external.dependencies@
-@solr-analysis-extras.internal.test.dependencies@
-@solr-analysis-extras.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/contrib/analytics/pom.xml.template b/dev-tools/maven/solr/contrib/analytics/pom.xml.template
index afd53c1..88bf90f 100644
--- a/dev-tools/maven/solr/contrib/analytics/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/analytics/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>solr/contrib/analytics</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,37 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    @solr-analytics.internal.dependencies@
-    @solr-analytics.external.dependencies@
-    @solr-analytics.internal.test.dependencies@
-    @solr-analytics.external.test.dependencies@
+@solr-analytics.internal.dependencies@
+@solr-analytics.external.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template b/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template
index 21ccf5e..c069ec2 100644
--- a/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Apache Solr DataImportHandler Extras</description>
   <properties>
     <module-directory>solr/contrib/dataimporthandler-extras</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,44 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-dataimporthandler</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
 @solr-dataimporthandler-extras.internal.dependencies@
 @solr-dataimporthandler-extras.external.dependencies@
-@solr-dataimporthandler-extras.internal.test.dependencies@
-@solr-dataimporthandler-extras.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template b/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
index 3992f9d..c7a371a 100644
--- a/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Apache Solr DataImportHandler</description>
   <properties>
     <module-directory>solr/contrib/dataimporthandler</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,50 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @solr-dataimporthandler.internal.dependencies@
 @solr-dataimporthandler.external.dependencies@
-@solr-dataimporthandler.internal.test.dependencies@
-@solr-dataimporthandler.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/contrib/extraction/pom.xml.template b/dev-tools/maven/solr/contrib/extraction/pom.xml.template
index 3ceaabe..f56d3fd 100644
--- a/dev-tools/maven/solr/contrib/extraction/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/extraction/pom.xml.template
@@ -36,8 +36,6 @@
   </description>
   <properties>
     <module-directory>solr/contrib/extraction</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -45,37 +43,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @solr-cell.internal.dependencies@
 @solr-cell.external.dependencies@
-@solr-cell.internal.test.dependencies@
-@solr-cell.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/contrib/jaegertracer-configurator/pom.xml.template b/dev-tools/maven/solr/contrib/jaegertracer-configurator/pom.xml.template
index 7234185..8b1622c 100644
--- a/dev-tools/maven/solr/contrib/jaegertracer-configurator/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/jaegertracer-configurator/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>solr/contrib/jaegertracer-configurator</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,37 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    @solr-jaegertracer-configurator.internal.dependencies@
-    @solr-jaegertracer-configurator.external.dependencies@
-    @solr-jaegertracer-configurator.internal.test.dependencies@
-    @solr-jaegertracer-configurator.external.test.dependencies@
+@solr-jaegertracer-configurator.internal.dependencies@
+@solr-jaegertracer-configurator.external.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/contrib/langid/pom.xml.template b/dev-tools/maven/solr/contrib/langid/pom.xml.template
index 6543481..b2c8ed0 100644
--- a/dev-tools/maven/solr/contrib/langid/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/langid/pom.xml.template
@@ -37,8 +37,6 @@
   </description>
   <properties>
     <module-directory>solr/contrib/langid</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -46,42 +44,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @solr-langid.internal.dependencies@
 @solr-langid.external.dependencies@
-@solr-langid.internal.test.dependencies@
-@solr-langid.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/contrib/ltr/pom.xml.template b/dev-tools/maven/solr/contrib/ltr/pom.xml.template
index 9506cb4..b25d7ba 100644
--- a/dev-tools/maven/solr/contrib/ltr/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/ltr/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>solr/contrib/ltr</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,37 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    @solr-ltr.internal.dependencies@
-    @solr-ltr.external.dependencies@
-    @solr-ltr.internal.test.dependencies@
-    @solr-ltr.external.test.dependencies@
+@solr-ltr.internal.dependencies@
+@solr-ltr.external.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/contrib/pom.xml.template b/dev-tools/maven/solr/contrib/pom.xml.template
index a26bc4c..c856729 100644
--- a/dev-tools/maven/solr/contrib/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/pom.xml.template
@@ -42,15 +42,4 @@
     <module>prometheus-exporter</module>
     <module>velocity</module>
   </modules>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/contrib/prometheus-exporter/pom.xml.template b/dev-tools/maven/solr/contrib/prometheus-exporter/pom.xml.template
index 1d2d508..817c522 100644
--- a/dev-tools/maven/solr/contrib/prometheus-exporter/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/prometheus-exporter/pom.xml.template
@@ -35,8 +35,6 @@
   </description>
   <properties>
     <module-directory>solr/contrib/prometheus-exporter</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -44,37 +42,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    @solr-prometheus-exporter.internal.dependencies@
-    @solr-prometheus-exporter.external.dependencies@
-    @solr-prometheus-exporter.internal.test.dependencies@
-    @solr-prometheus-exporter.external.test.dependencies@
+@solr-prometheus-exporter.internal.dependencies@
+@solr-prometheus-exporter.external.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/contrib/velocity/pom.xml.template b/dev-tools/maven/solr/contrib/velocity/pom.xml.template
index 82f12ee..ece349f 100644
--- a/dev-tools/maven/solr/contrib/velocity/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/velocity/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Apache Solr Velocity</description>
   <properties>
     <module-directory>solr/contrib/velocity</module-directory>
-    <relative-top-level>../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,48 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
 @solr-velocity.internal.dependencies@
 @solr-velocity.external.dependencies@
-@solr-velocity.internal.test.dependencies@
-@solr-velocity.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${module-path}/src/test</directory>
-        <includes>
-          <include>velocity/*.properties</include>
-        </includes>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-  </build>
 </project>
diff --git a/dev-tools/maven/solr/core/pom.xml.template b/dev-tools/maven/solr/core/pom.xml.template
index 7c4942a..a69e080 100644
--- a/dev-tools/maven/solr/core/pom.xml.template
+++ b/dev-tools/maven/solr/core/pom.xml.template
@@ -27,22 +27,20 @@
     <relativePath>../pom.xml</relativePath>
   </parent>
   <groupId>org.apache.solr</groupId>
-  <artifactId>solr-core-aggregator</artifactId>
-  <packaging>pom</packaging>
-  <name>Apache Solr Core aggregator POM</name>
-  <modules>
-    <module>src/java</module>
-    <module>src/test</module>
-  </modules>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
+  <artifactId>solr-core</artifactId>
+  <packaging>jar</packaging>
+  <name>Apache Solr Core</name>
+  <description>Apache Solr Core</description>
+  <properties>
+    <module-directory>solr/core</module-directory>
+  </properties>
+  <scm>
+    <connection>scm:git:${vc-anonymous-base-url}</connection>
+    <developerConnection>scm:git:${vc-dev-base-url}</developerConnection>
+    <url>${vc-browse-base-url};f=${module-directory}</url>
+  </scm>
+  <dependencies>
+@solr-core.internal.dependencies@
+@solr-core.external.dependencies@
+  </dependencies>
 </project>
diff --git a/dev-tools/maven/solr/core/src/java/pom.xml.template b/dev-tools/maven/solr/core/src/java/pom.xml.template
deleted file mode 100644
index 5c63aef..0000000
--- a/dev-tools/maven/solr/core/src/java/pom.xml.template
+++ /dev/null
@@ -1,84 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<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.apache.solr</groupId>
-    <artifactId>solr-parent</artifactId>
-    <version>@version@</version>
-    <relativePath>../../../pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.solr</groupId>
-  <artifactId>solr-core</artifactId>
-  <packaging>jar</packaging>
-  <name>Apache Solr Core</name>
-  <description>Apache Solr Core</description>
-  <properties>
-    <module-directory>solr/core</module-directory>
-    <relative-top-level>../../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}/src/java</module-path>
-  </properties>
-  <scm>
-    <connection>scm:git:${vc-anonymous-base-url}</connection>
-    <developerConnection>scm:git:${vc-dev-base-url}</developerConnection>
-    <url>${vc-browse-base-url};f=${module-directory}</url>
-  </scm>
-  <dependencies>
-@solr-core.internal.dependencies@
-@solr-core.external.dependencies@
-  </dependencies>
-  <build>
-    <sourceDirectory>${module-path}</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/../resources</directory>
-      </resource>
-    </resources>
-    <testSourceDirectory/>
-    <testResources/>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <skip>true</skip> <!-- Tests are run from solr-core-tests module -->
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <skip>true</skip> <!-- This skips test compilation - tests are run from solr-core-tests module -->
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>solr-shared-test-check-forbidden-apis</id>
-            <phase>none</phase> <!-- Block inherited execution -->
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/dev-tools/maven/solr/core/src/test/pom.xml.template b/dev-tools/maven/solr/core/src/test/pom.xml.template
deleted file mode 100644
index 154f904..0000000
--- a/dev-tools/maven/solr/core/src/test/pom.xml.template
+++ /dev/null
@@ -1,155 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<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.apache.solr</groupId>
-    <artifactId>solr-parent</artifactId>
-    <version>@version@</version>
-    <relativePath>../../../pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.solr</groupId>
-  <artifactId>solr-core-tests</artifactId>
-  <name>Apache Solr Core tests</name>
-  <packaging>jar</packaging>
-  <properties>
-    <module-directory>solr/core</module-directory>
-    <relative-top-level>../../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}/src/test</module-path>
-  </properties>
-  <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-queryparser</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-backward-codecs</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-@solr-core.internal.test.dependencies@
-@solr-core.external.test.dependencies@
-  </dependencies>
-  <build>
-    <sourceDirectory/>
-    <!-- Instead of depending on solr-core module, use its output directory -->
-    <outputDirectory>../java/target/classes</outputDirectory>
-    <testSourceDirectory>${module-path}</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/../test-files</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-      <testResource>
-        <directory>${project.build.testSourceDirectory}</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>default-jar</id>
-            <!-- Skipping by binding the default execution ID to a non-existent phase only works in Maven 3, not 2. -->
-            <phase>none</phase>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-install-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.5.3</version>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>solr-shared-check-forbidden-apis</id>
-            <phase>none</phase> <!-- Block inherited execution -->
-          </execution>
-          <execution>
-            <id>solr-shared-test-check-forbidden-apis</id>
-            <configuration>
-              <excludes>
-                <!-- TODO: remove this - imported code -->
-                <exclude>org/apache/solr/internal/**/*.class</exclude>
-                <exclude>org/apache/hadoop/**</exclude>
-              </excludes>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/dev-tools/maven/solr/pom.xml.template b/dev-tools/maven/solr/pom.xml.template
index 06e485b..37f30c1 100644
--- a/dev-tools/maven/solr/pom.xml.template
+++ b/dev-tools/maven/solr/pom.xml.template
@@ -84,101 +84,4 @@
       </snapshots>
     </repository>
   </repositories>
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-javadoc-plugin</artifactId>
-          <configuration>
-            <overview/>
-            <windowtitle>${project.name} ${project.version} API (${now.version})</windowtitle>
-            <doctitle>${project.name} ${project.version} API (${now.version})</doctitle>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <configuration>
-            <systemPropertyVariables>
-              <tests.disableHdfs>${tests.disableHdfs}</tests.disableHdfs>
-            </systemPropertyVariables>
-          </configuration>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <plugins>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>solr-shared-check-forbidden-apis</id>
-            <configuration>
-              <!-- for simplicty with servlet-api and commons-io checks, disable this: -->
-              <failOnUnresolvableSignatures>false</failOnUnresolvableSignatures>
-              <bundledSignatures>
-                <bundledSignature>jdk-unsafe</bundledSignature>
-                <bundledSignature>jdk-deprecated</bundledSignature>
-                <bundledSignature>jdk-non-portable</bundledSignature>
-                <bundledSignature>jdk-reflection</bundledSignature>
-                <bundledSignature>commons-io-unsafe-@commons-io:commons-io.version@</bundledSignature>
-              </bundledSignatures>
-              <signaturesFiles>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/base.txt</signaturesFile>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/solr.txt</signaturesFile>
-              </signaturesFiles>
-            </configuration>
-            <goals>
-              <goal>check</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>solr-shared-test-check-forbidden-apis</id>
-            <configuration>
-              <!-- for simplicty with servlet-api and commons-io checks, disable this: -->
-              <failOnUnresolvableSignatures>false</failOnUnresolvableSignatures>
-              <bundledSignatures>
-                <bundledSignature>jdk-unsafe</bundledSignature>
-                <bundledSignature>jdk-deprecated</bundledSignature>
-                <bundledSignature>jdk-non-portable</bundledSignature>
-                <bundledSignature>jdk-reflection</bundledSignature>
-                <bundledSignature>commons-io-unsafe-@commons-io:commons-io.version@</bundledSignature>
-              </bundledSignatures>
-              <signaturesFiles>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/base.txt</signaturesFile>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/solr.txt</signaturesFile>
-                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/tests.txt</signaturesFile>
-              </signaturesFiles>
-            </configuration>
-            <goals>
-              <goal>testCheck</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${top-level}/solr/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  <profiles>
-    <profile>
-      <id>windows-tests-disableHdfs</id>
-      <activation>
-        <os><family>windows</family></os>
-      </activation>
-      <properties>
-        <tests.disableHdfs>true</tests.disableHdfs>
-      </properties>
-    </profile>
-  </profiles>
 </project>
diff --git a/dev-tools/maven/solr/solrj/pom.xml.template b/dev-tools/maven/solr/solrj/pom.xml.template
index 8dbccd5..a637ad3 100644
--- a/dev-tools/maven/solr/solrj/pom.xml.template
+++ b/dev-tools/maven/solr/solrj/pom.xml.template
@@ -27,22 +27,20 @@
     <relativePath>../pom.xml</relativePath>
   </parent>
   <groupId>org.apache.solr</groupId>
-  <artifactId>solr-solrj-aggregator</artifactId>
-  <packaging>pom</packaging>
-  <name>Apache Solr Solrj aggregator POM</name>
-  <modules>
-    <module>src/java</module>
-    <module>src/test</module>
-  </modules>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
+  <artifactId>solr-solrj</artifactId>
+  <packaging>jar</packaging>
+  <name>Apache Solr Solrj</name>
+  <description>Apache Solr Solrj</description>
+  <properties>
+    <module-directory>solr/solrj</module-directory>
+  </properties>
+  <scm>
+    <connection>scm:git:${vc-anonymous-base-url}</connection>
+    <developerConnection>scm:git:${vc-dev-base-url}</developerConnection>
+    <url>${vc-browse-base-url};f=${module-directory}</url>
+  </scm>
+  <dependencies>
+@solr-solrj.internal.dependencies@
+@solr-solrj.external.dependencies@
+  </dependencies>
 </project>
diff --git a/dev-tools/maven/solr/solrj/src/java/pom.xml.template b/dev-tools/maven/solr/solrj/src/java/pom.xml.template
deleted file mode 100644
index bb792c4..0000000
--- a/dev-tools/maven/solr/solrj/src/java/pom.xml.template
+++ /dev/null
@@ -1,78 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<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.apache.solr</groupId>
-    <artifactId>solr-parent</artifactId>
-    <version>@version@</version>
-    <relativePath>../../../pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.solr</groupId>
-  <artifactId>solr-solrj</artifactId>
-  <packaging>jar</packaging>
-  <name>Apache Solr Solrj</name>
-  <description>Apache Solr Solrj</description>
-  <properties>
-    <module-directory>solr/solrj</module-directory>
-    <relative-top-level>../../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}/src/java</module-path>
-  </properties>
-  <scm>
-    <connection>scm:git:${vc-anonymous-base-url}</connection>
-    <developerConnection>scm:git:${vc-dev-base-url}</developerConnection>
-    <url>${vc-browse-base-url};f=${module-directory}</url>
-  </scm>
-  <dependencies>
-@solr-solrj.internal.dependencies@
-@solr-solrj.external.dependencies@
-  </dependencies>
-  <build>
-    <sourceDirectory>${module-path}</sourceDirectory>
-    <testSourceDirectory/>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <skip>true</skip> <!-- Tests are run from solr-solrj-tests module -->
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <skip>true</skip> <!-- This skips test compilation - tests are run from solr-solrj-tests module -->
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>solr-shared-test-check-forbidden-apis</id>
-            <phase>none</phase> <!-- Block inherited execution -->
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/dev-tools/maven/solr/solrj/src/test/pom.xml.template b/dev-tools/maven/solr/solrj/src/test/pom.xml.template
deleted file mode 100644
index 93c14b3..0000000
--- a/dev-tools/maven/solr/solrj/src/test/pom.xml.template
+++ /dev/null
@@ -1,122 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<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.apache.solr</groupId>
-    <artifactId>solr-parent</artifactId>
-    <version>@version@</version>
-    <relativePath>../../../pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.solr</groupId>
-  <artifactId>solr-solrj-tests</artifactId>
-  <name>Apache Solr Solrj tests</name>
-  <packaging>jar</packaging>
-  <properties>
-    <module-directory>solr/solrj</module-directory>
-    <relative-top-level>../../../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}/src/test</module-path>
-  </properties>
-  <dependencies>
-    <dependency>
-      <!-- lucene-test-framework dependency must be declared before lucene-core -->
-      <!-- This dependency cannot be put into solr-parent, because local        -->
-      <!-- dependencies are always ordered before inherited dependencies.       -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-test-framework</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-solrj</artifactId>
-      <scope>test</scope>
-    </dependency>
-@solr-solrj.internal.test.dependencies@
-@solr-solrj.external.test.dependencies@
-  </dependencies>
-  <build>
-    <sourceDirectory/>
-    <!-- Instead of depending on solr-solrj module, use its output directory -->
-    <outputDirectory>../java/target/classes</outputDirectory>
-    <testSourceDirectory>${module-path}</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/../test-files</directory>
-      </testResource>
-      <testResource>
-        <directory>${top-level}/dev-tools/maven/solr</directory>
-        <includes>
-          <include>maven.testlogging.properties</include>
-        </includes>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>default-jar</id>
-            <!-- Skipping by binding the default execution ID to a non-existent phase only works in Maven 3, not 2. -->
-            <phase>none</phase>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-install-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.5.3</version>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>solr-shared-check-forbidden-apis</id>
-            <phase>none</phase> <!-- Block inherited execution -->
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/dev-tools/maven/solr/test-framework/pom.xml.template b/dev-tools/maven/solr/test-framework/pom.xml.template
index 3f55647..2f5bc37 100644
--- a/dev-tools/maven/solr/test-framework/pom.xml.template
+++ b/dev-tools/maven/solr/test-framework/pom.xml.template
@@ -33,8 +33,6 @@
   <description>Apache Solr Test Framework</description>
   <properties>
     <module-directory>solr/test-framework</module-directory>
-    <relative-top-level>../../..</relative-top-level>
-    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:git:${vc-anonymous-base-url}</connection>
@@ -42,54 +40,7 @@
     <url>${vc-browse-base-url};f=${module-directory}</url>
   </scm>
   <dependencies>
-    <!-- These dependencies are compile scope because this is a test framework. -->
-    <dependency>
-      <!-- lucene-test-framework dependency must come before lucene-core -->
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-    </dependency>
 @solr-test-framework.internal.dependencies@
 @solr-test-framework.external.dependencies@
-@solr-test-framework.internal.test.dependencies@
-@solr-test-framework.external.test.dependencies@
   </dependencies>
-  <build>
-    <sourceDirectory>${module-path}/src/java</sourceDirectory>
-    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${module-path}/src/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${module-path}/src/test-files</directory>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-       <plugin>
-        <groupId>de.thetaphi</groupId>
-        <artifactId>forbiddenapis</artifactId>
-        <executions>
-          <execution>
-            <id>solr-shared-check-forbidden-apis</id>
-            <phase>none</phase> <!-- Block inherited execution -->
-          </execution>
-          <execution>
-            <id>solr-shared-test-check-forbidden-apis</id>
-            <goals>
-              <goal>check</goal> <!-- NOT testCheck -->
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index b075efb..9e5776c 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -53,8 +53,17 @@ Bug Fixes
 
 Other
 ---------------------
-(No changes)
 
+* LUCENE-9836: Removed the pure Maven build. It is no longer possible to build
+  artifacts using Maven (this feature was no longer working correctly). Due to
+  migration to Gradle for Lucene/Solr 9.0, the maintenance of the Maven build
+  was no longer reasonable. POM files are generated for deployment to Maven
+  Central only. Please use "ant generate-maven-artifacts" to produce and deploy
+  artifacts to any repository.  (Uwe Schindler, Dawid Weiss)
+
+* LUCENE-9836: Migrate Maven tasks to use "maven-resolver-ant-tasks"
+  instead of the no longer maintained "maven-ant-tasks".  (Uwe Schindler)
+  
 ======================= Lucene 8.8.1 =======================
 
 Bug Fixes
diff --git a/lucene/codecs/build.xml b/lucene/codecs/build.xml
index c50af6c..c7f05cf 100644
--- a/lucene/codecs/build.xml
+++ b/lucene/codecs/build.xml
@@ -21,8 +21,4 @@
   </description>
 
   <import file="../module-build.xml"/>
-
-  <target name="-dist-maven" depends="-dist-maven-src-java"/>
-
-  <target name="-install-to-maven-local-repo" depends="-install-src-java-to-maven-local-repo"/>
 </project>
diff --git a/lucene/common-build.xml b/lucene/common-build.xml
index dd0234b..b709f8d 100644
--- a/lucene/common-build.xml
+++ b/lucene/common-build.xml
@@ -17,7 +17,8 @@
     limitations under the License.
  -->
 
-<project name="common" xmlns:artifact="antlib:org.apache.maven.artifact.ant" 
+<project name="common" xmlns:artifact="antlib:org.apache.maven.artifact.ant"
+                       xmlns:resolver="antlib:org.apache.maven.resolver.ant"
                        xmlns:ivy="antlib:org.apache.ivy.ant"
                        xmlns:junit4="antlib:com.carrotsearch.junit4"
                        xmlns:jacoco="antlib:org.jacoco.ant"
@@ -717,18 +718,23 @@
       <element name="excludes" optional="true"/>
       <element name="additional-filters" optional="true"/>
     <sequential>
-      <artifact:dependencies filesetId="maven.fileset" useScope="test" type="jar">
-        <artifact:pom file="@{pom.xml}"/>
-        <remoteRepository id="${maven.repository.id}" url="${ivy_bootstrap_url1}" />
-        <!-- disable completely, so this has no chance to download any updates from anywhere: -->
-        <remoteRepository id="apache.snapshots" url="foobar://disabled/">
-          <snapshots enabled="false"/>
-          <releases enabled="false"/>
-        </remoteRepository>
-      </artifact:dependencies>
+      <echo taskname="m2-validate-dependencies" message="POM file: @{pom.xml}"/>
+      <resources id="maven.jars"/><!-- initialize empty -->
+      <resolver:pom id="maven.project" file="@{pom.xml}">
+        <remoterepo id="apache.snapshots" url="foobar://disabled/" releases="false" snapshots="false"/>
+      </resolver:pom>
+      <resolver:resolve>
+        <dependencies>
+          <pom refid="maven.project"/>
+          <!-- those dependencies are included by jetty using dynamic profiles -
+           depending on the JDK version, not sure what's going on: -->
+          <exclusion groupId="org.eclipse.jetty" artifactId="jetty-alpn-openjdk8-client"/>
+        </dependencies>
+        <files refid="maven.jars" scopes="compile,runtime,test"/>
+      </resolver:resolve>
       <licenses licenseDirectory="@{licenseDirectory}">
         <restrict>
-          <fileset refid="maven.fileset"/>
+          <resources refid="maven.jars"/>
           <rsel:not>
             <excludes/>
           </rsel:not>
@@ -1739,6 +1745,11 @@ ${tests-output}/junit4-*.suites     - per-JVM executed suites
     <taskdef resource="org/apache/maven/artifact/ant/antlib.xml" 
              uri="antlib:org.apache.maven.artifact.ant" 
              classpathref="maven-ant-tasks.classpath"/>
+    <ivy:cachepath organisation="org.apache.maven.resolver" module="maven-resolver-ant-tasks" revision="1.3.0"
+             inline="true" conf="default" pathid="maven-resolver-tasks.classpath"/>
+    <taskdef resource="org/apache/maven/resolver/ant/antlib.xml"
+             uri="antlib:org.apache.maven.resolver.ant"
+             classpathref="maven-resolver-tasks.classpath"/>
   </target>
 
   <target name="-dist-maven" depends="install-maven-tasks, jar-src, javadocs">
@@ -1785,50 +1796,6 @@ ${tests-output}/junit4-*.suites     - per-JVM executed suites
     </sequential>
   </target>
 
-  <target name="-install-src-java-to-maven-local-repo" depends="install-maven-tasks">
-    <sequential>
-      <property name="top.level.dir" location="${common.dir}/.."/>
-      <pathconvert property="pom.xml">
-        <mapper>
-          <chainedmapper>
-            <globmapper from="${top.level.dir}*" to="${filtered.pom.templates.dir}*"/>
-            <globmapper from="*build.xml" to="*/src/java/pom.xml"/>
-          </chainedmapper>
-        </mapper>
-        <path location="${ant.file}"/>
-      </pathconvert>
-      <artifact:pom id="maven.project" file="${pom.xml}">
-        <remoteRepository id="${maven.repository.id}" url="${ivy_bootstrap_url1}" />
-      </artifact:pom>
-      <artifact:install file="${dist.jar.dir.prefix}-${version}/${dist.jar.dir.suffix}/${final.name}.jar">
-        <pom refid="maven.project"/>
-      </artifact:install>
-    </sequential>
-  </target>
-
-  <target name="-dist-maven-src-java" depends="install-maven-tasks, jar-src, javadocs">
-    <sequential>
-      <property name="top.level.dir" location="${common.dir}/.."/>
-      <pathconvert property="pom.xml">
-        <mapper>
-          <chainedmapper>
-            <globmapper from="${top.level.dir}*" to="${filtered.pom.templates.dir}*"/>
-            <globmapper from="*build.xml" to="*/src/java/pom.xml"/>
-          </chainedmapper>
-        </mapper>
-        <path location="${ant.file}"/>
-      </pathconvert>
-      <m2-deploy pom.xml="${pom.xml}">
-        <artifact-attachments>
-          <attach file="${build.dir}/${final.name}-src.jar"
-                  classifier="sources"/>
-          <attach file="${build.dir}/${final.name}-javadoc.jar"
-                  classifier="javadoc"/>
-        </artifact-attachments>
-      </m2-deploy>
-    </sequential>
-  </target>
-  
   <target name="-validate-maven-dependencies.init">
     <!-- find the correct pom.xml path and assigns it to property pom.xml -->
     <property name="top.level.dir" location="${common.dir}/.."/>
@@ -1898,22 +1865,6 @@ ${ant.project.name}.test.dependencies=${test.classpath.list}
         maven.dependencies.filters.file="${maven.dependencies.filters.file}"/>
   </target>
 
-  <target name="-get-maven-poms" depends="-get-maven-dependencies">
-    <property name="maven-build-dir" location="${common.dir}/../maven-build"/>
-    <copy todir="${maven-build-dir}" overwrite="true" encoding="UTF-8">
-      <fileset dir="${common.dir}/../dev-tools/maven"/>
-      <filterset begintoken="@" endtoken="@">
-        <filter token="version" value="${version}"/>
-        <filter token="version.base" value="${version.base}"/>
-        <filter token="spec.version" value="${spec.version}"/>
-      </filterset>
-      <filterset>
-        <filtersfile file="${maven.dependencies.filters.file}"/>
-      </filterset>
-      <globmapper from="*.template" to="*"/>
-    </copy>
-  </target>
-
   <target name="-filter-pom-templates" depends="-get-maven-dependencies">
     <mkdir dir="${filtered.pom.templates.dir}"/>
     <copy todir="${common.dir}/build/poms" overwrite="true" encoding="UTF-8" filtering="on">
diff --git a/lucene/core/build.xml b/lucene/core/build.xml
index a7160b0..ef0adb7 100644
--- a/lucene/core/build.xml
+++ b/lucene/core/build.xml
@@ -70,10 +70,6 @@
     </sequential>
   </target>
 
-  <target name="-dist-maven" depends="-dist-maven-src-java"/>
-
-  <target name="-install-to-maven-local-repo" depends="-install-src-java-to-maven-local-repo"/>
-
   <macrodef name="createLevAutomaton">
       <attribute name="n"/>
       <sequential>
diff --git a/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java b/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java
index 570016c..8b14737 100644
--- a/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java
+++ b/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java
@@ -90,17 +90,11 @@ public class GetMavenDependenciesTask extends Task {
   private static final String DEPENDENCY_MANAGEMENT_PROPERTY = "lucene.solr.dependency.management";
   private static final String IVY_USER_DIR_PROPERTY = "ivy.default.ivy.user.dir";
   private static final Properties allProperties = new Properties();
-  private static final Set<String> modulesWithSeparateCompileAndTestPOMs = new HashSet<>();
 
   private static final Set<String> globalOptionalExternalDependencies = new HashSet<>();
   private static final Map<String,Set<String>> perModuleOptionalExternalDependencies = new HashMap<>();
   private static final Set<String> modulesWithTransitiveDependencies = new HashSet<>();
   static {
-    // Add modules here that have split compile and test POMs
-    // - they need compile-scope deps to also be test-scope deps.
-    modulesWithSeparateCompileAndTestPOMs.addAll
-        (Arrays.asList("lucene-core", "lucene-codecs", "solr-core", "solr-solrj"));
-
     // Add external dependencies here that should be optional for all modules
     // (i.e., not invoke Maven's transitive dependency mechanism).
     // Format is "groupId:artifactId"
@@ -398,13 +392,6 @@ public class GetMavenDependenciesTask extends Task {
           StringBuilder builder = dep.isTestDependency ? testScopeBuilder : compileScopeBuilder;
           appendDependencyXml(builder, dep.groupId, dep.artifactId, "    ", null, 
                               dep.isTestDependency, dep.isOptional, dep.classifier, null);
-          // Test POMs for solrj, solr-core, lucene-codecs and lucene-core modules
-          // need to include all compile-scope dependencies as test-scope dependencies
-          // since we've turned off transitive dependency resolution.
-          if ( ! dep.isTestDependency && modulesWithSeparateCompileAndTestPOMs.contains(module)) {
-            appendDependencyXml(testScopeBuilder, dep.groupId, dep.artifactId, "    ", null,
-                                true, dep.isOptional, dep.classifier, null);
-          }
         }
       }
       if (compileScopeBuilder.length() > 0) {
@@ -669,9 +656,7 @@ public class GetMavenDependenciesTask extends Task {
       }
       StringBuilder newPropertyValue = new StringBuilder();
       for (String dependency : testDeps) {
-        // modules with separate compile-scope and test-scope POMs need their compile-scope deps
-        // included in their test-scope deps.
-        if (modulesWithSeparateCompileAndTestPOMs.contains(module) || ! compileDeps.contains(dependency)) {
+        if ( ! compileDeps.contains(dependency)) {
           int splitPos = dependency.indexOf(':');
           String groupId = dependency.substring(0, splitPos);
           String artifactId = dependency.substring(splitPos + 1);
diff --git a/solr/core/build.xml b/solr/core/build.xml
index 3c3d28a..e1f8f33 100644
--- a/solr/core/build.xml
+++ b/solr/core/build.xml
@@ -60,10 +60,6 @@
      </sequential>
   </target>
 
-  <target name="-dist-maven" depends="-dist-maven-src-java"/>
-
-  <target name="-install-to-maven-local-repo" depends="-install-src-java-to-maven-local-repo"/>
-
   <target name="resolve" depends="ivy-availability-check,ivy-fail,ivy-configure">
     <sequential>
       <ivy:retrieve conf="compile,compile.hadoop" type="jar,bundle" sync="${ivy.sync}" log="download-only" symlink="${ivy.symlink}"/>
diff --git a/solr/solrj/build.xml b/solr/solrj/build.xml
index 3393438..6c8e42d 100644
--- a/solr/solrj/build.xml
+++ b/solr/solrj/build.xml
@@ -81,8 +81,4 @@
       </fileset>
     </copy>
   </target>
-
-  <target name="-dist-maven" depends="-dist-maven-src-java"/>
-
-  <target name="-install-to-maven-local-repo" depends="-install-src-java-to-maven-local-repo"/>
 </project>