You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2013/02/18 03:37:45 UTC

svn commit: r1447125 [1/2] - in /lucene/dev/branches/lucene4765: ./ dev-tools/ dev-tools/maven/ dev-tools/maven/lucene/ dev-tools/maven/lucene/analysis/common/ dev-tools/maven/lucene/analysis/icu/ dev-tools/maven/lucene/analysis/kuromoji/ dev-tools/mav...

Author: rmuir
Date: Mon Feb 18 02:37:43 2013
New Revision: 1447125

URL: http://svn.apache.org/r1447125
Log:
Merged /lucene/dev/trunk:r1446984-1447123

Added:
    lucene/dev/branches/lucene4765/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java
      - copied unchanged from r1447123, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java
Modified:
    lucene/dev/branches/lucene4765/   (props changed)
    lucene/dev/branches/lucene4765/dev-tools/   (props changed)
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/common/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/icu/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/kuromoji/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/morfologik/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/phonetic/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/smartcn/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/stempel/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/uima/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/benchmark/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/classification/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/codecs/src/java/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/codecs/src/test/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/core/src/java/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/core/src/test/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/demo/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/facet/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/grouping/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/highlighter/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/join/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/memory/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/misc/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/queries/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/queryparser/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/sandbox/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/spatial/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/suggest/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/lucene/test-framework/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/clustering/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/extraction/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/langid/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/uima/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/velocity/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/core/src/java/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/core/src/test/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/solrj/src/java/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/solrj/src/test/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/test-framework/pom.xml.template
    lucene/dev/branches/lucene4765/dev-tools/maven/solr/webapp/pom.xml.template
    lucene/dev/branches/lucene4765/lucene/   (props changed)
    lucene/dev/branches/lucene4765/lucene/core/   (props changed)
    lucene/dev/branches/lucene4765/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java
    lucene/dev/branches/lucene4765/lucene/test-framework/   (props changed)
    lucene/dev/branches/lucene4765/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
    lucene/dev/branches/lucene4765/solr/   (props changed)
    lucene/dev/branches/lucene4765/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/lucene4765/solr/core/   (props changed)
    lucene/dev/branches/lucene4765/solr/core/src/java/org/apache/solr/core/SolrCore.java
    lucene/dev/branches/lucene4765/solr/core/src/java/org/apache/solr/handler/SnapShooter.java
    lucene/dev/branches/lucene4765/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
    lucene/dev/branches/lucene4765/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
    lucene/dev/branches/lucene4765/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
    lucene/dev/branches/lucene4765/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
    lucene/dev/branches/lucene4765/solr/test-framework/   (props changed)
    lucene/dev/branches/lucene4765/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/common/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/common/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/common/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/common/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Additional Analyzers</description>
   <properties>
     <module-directory>lucene/analysis/common</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/icu/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/icu/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/icu/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/icu/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -36,8 +36,8 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/icu</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/kuromoji/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/kuromoji/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/kuromoji/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/kuromoji/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -35,8 +35,8 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/kuromoji</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/morfologik/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/morfologik/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/morfologik/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/morfologik/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -35,8 +35,8 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/morfologik</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/phonetic/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/phonetic/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/phonetic/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/phonetic/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -35,8 +35,8 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/phonetic</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/smartcn/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/smartcn/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/smartcn/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/smartcn/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Smart Chinese Analyzer</description>
   <properties>
     <module-directory>lucene/analysis/smartcn</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/stempel/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/stempel/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/stempel/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/stempel/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Stempel Analyzer</description>
   <properties>
     <module-directory>lucene/analysis/stempel</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -76,5 +76,50 @@
         </excludes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>lucene-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>check-system-out</id> <!-- separate execution to specify excludes -->
+            <configuration>
+              <bundledSignatures>
+                <bundledSignature>jdk-system-out</bundledSignature>
+              </bundledSignatures>
+              <excludes>
+                <!-- exclude command line tools -->
+                <exclude>org/egothor/stemmer/Compile.class</exclude>
+                <exclude>org/egothor/stemmer/DiffIt.class</exclude>
+              </excludes>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/uima/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/uima/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/uima/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/analysis/uima/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -37,8 +37,8 @@
   </description>
   <properties>
     <module-directory>lucene/analysis/uima</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/benchmark/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/benchmark/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/benchmark/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/benchmark/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Lucene Benchmarking Module</description>
   <properties>
     <module-directory>lucene/benchmark</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -120,5 +120,36 @@
         </includes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>lucene-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+                <!-- Skip jdk-system-out  -->
+                <!-- <bundledSignature>jdk-system-out</bundledSignature> -->
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/classification/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/classification/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/classification/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/classification/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Lucene Classification</description>
   <properties>
     <module-directory>lucene/classification</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/codecs/src/java/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/codecs/src/java/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/codecs/src/java/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/codecs/src/java/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -35,8 +35,8 @@
   </description>
   <properties>
     <module-directory>lucene/codecs</module-directory>
-    <top-level>../../../../..</top-level>
-    <module-path>${top-level}/${module-directory}/src/java</module-path>
+    <relative-top-level>../../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}/src/java</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -73,6 +73,16 @@
           <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-test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase>  <!-- Block inherited execution -->
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/codecs/src/test/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/codecs/src/test/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/codecs/src/test/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/codecs/src/test/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -32,8 +32,8 @@
   <packaging>jar</packaging>
   <properties>
     <module-directory>lucene/codecs</module-directory>
-    <top-level>../../../../..</top-level>
-    <module-path>${top-level}/${module-directory}/src/test</module-path>
+    <relative-top-level>../../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}/src/test</module-path>
   </properties>
   <dependencies>
     <dependency>
@@ -69,6 +69,16 @@
           <skip>true</skip>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>lucene-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/core/src/java/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/core/src/java/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/core/src/java/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/core/src/java/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Apache Lucene Java Core</description>
   <properties>
     <module-directory>lucene/core</module-directory>
-    <top-level>../../../../..</top-level>
-    <module-path>${top-level}/${module-directory}/src/java</module-path>
+    <relative-top-level>../../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}/src/java</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -64,6 +64,57 @@
           <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-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>lucene-test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase>  <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>check-system-out</id> <!-- separate execution to specify excludes -->
+            <configuration>
+              <bundledSignatures>
+                <bundledSignature>jdk-system-out</bundledSignature>
+              </bundledSignatures>
+              <excludes>
+                <!-- exclude command line tools -->
+                <exclude>org/apache/lucene/index/CheckIndex.class</exclude>
+                <exclude>org/apache/lucene/index/IndexUpgrader.class</exclude>
+                <exclude>org/apache/lucene/store/LockVerifyServer.class</exclude>
+                <exclude>org/apache/lucene/store/LockStressTest.class</exclude>
+                <!-- not printing, just checking if it's a system stream -->
+                <exclude>org/apache/lucene/util/PrintStreamInfoStream.class</exclude>
+              </excludes>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/core/src/test/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/core/src/test/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/core/src/test/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/core/src/test/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -32,8 +32,8 @@
   <packaging>jar</packaging>
   <properties>
     <module-directory>lucene/core</module-directory>
-    <top-level>../../../../..</top-level>
-    <module-path>${top-level}/${module-directory}/src/test</module-path>
+    <relative-top-level>../../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}/src/test</module-path>
   </properties>
   <dependencies>
     <dependency>
@@ -88,6 +88,16 @@
           </systemPropertyVariables>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>lucene-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/demo/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/demo/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/demo/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/demo/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>This is the demo for Apache Lucene Java</description>
   <properties>
     <module-directory>lucene/demo</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -91,5 +91,36 @@
         </excludes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>lucene-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+                <!-- demo has mostly command-line programs, so don't do the jdk-system-out check -->
+                <!-- <bundledSignature>jdk-system-out</bundledSignature> -->
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/facet/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/facet/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/facet/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/facet/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -35,8 +35,8 @@
   </description>
   <properties>
     <module-directory>lucene/facet</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -78,5 +78,49 @@
         </excludes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>lucene-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>check-system-out</id> <!-- separate execution to specify excludes -->
+            <configuration>
+              <bundledSignatures>
+                <bundledSignature>jdk-system-out</bundledSignature>
+              </bundledSignatures>
+              <excludes>
+                <!-- exclude command line tools -->
+                <exclude>org/apache/lucene/facet/util/PrintTaxonomyStats.class</exclude>
+              </excludes>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/grouping/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/grouping/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/grouping/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/grouping/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Lucene Grouping Module</description>
   <properties>
     <module-directory>lucene/grouping</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/highlighter/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/highlighter/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/highlighter/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/highlighter/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -35,8 +35,8 @@
   </description>
   <properties>
     <module-directory>lucene/highlighter</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/join/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/join/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/join/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/join/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Lucene Join Module</description>
   <properties>
     <module-directory>lucene/join</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/memory/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/memory/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/memory/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/memory/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -35,8 +35,8 @@
   </description>
   <properties>
     <module-directory>lucene/memory</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/misc/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/misc/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/misc/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/misc/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Miscellaneous Lucene extensions</description>
   <properties>
     <module-directory>lucene/misc</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -66,5 +66,54 @@
         </excludes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>lucene-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>check-system-out</id>
+            <configuration>
+              <bundledSignatures>
+                <bundledSignature>jdk-system-out</bundledSignature>
+              </bundledSignatures>
+              <excludes>
+                <!-- exclude command line tools -->
+                <exclude>org/apache/lucene/index/CompoundFileExtractor.class</exclude>
+                <exclude>org/apache/lucene/index/IndexSplitter.class</exclude>
+                <exclude>org/apache/lucene/index/MultiPassIndexSplitter.class</exclude>
+                <exclude>org/apache/lucene/misc/GetTermInfo.class</exclude>
+                <exclude>org/apache/lucene/misc/HighFreqTerms.class</exclude>
+                <exclude>org/apache/lucene/misc/IndexMergeTool.class</exclude>
+              </excludes>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -59,4 +59,47 @@
     <module>spatial</module>
     <module>suggest</module>
   </modules>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>lucene-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+                <bundledSignature>jdk-system-out</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>lucene-test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/tests.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>testCheck</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/queries/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/queries/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/queries/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/queries/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Lucene Queries Module</description>
   <properties>
     <module-directory>lucene/queries</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/queryparser/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/queryparser/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/queryparser/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/queryparser/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Lucene QueryParsers module</description>
   <properties>
     <module-directory>lucene/queryparser</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -81,5 +81,51 @@
         </excludes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>lucene-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>check-system-out</id>
+            <configuration>
+              <bundledSignatures>
+                <bundledSignature>jdk-system-out</bundledSignature>
+              </bundledSignatures>
+              <excludes>
+                <!-- not printing, just generated code from javacc -->
+                <exclude>org/apache/lucene/queryparser/classic/QueryParserTokenManager.class</exclude>
+                <exclude>org/apache/lucene/queryparser/flexible/standard/parser/StandardSyntaxParserTokenManager.class</exclude>
+                <exclude>org/apache/lucene/queryparser/surround/parser/QueryParserTokenManager.class</exclude>
+              </excludes>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/sandbox/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/sandbox/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/sandbox/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/sandbox/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Lucene Sandbox</description>
   <properties>
     <module-directory>lucene/sandbox</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/spatial/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/spatial/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/spatial/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/spatial/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -35,8 +35,8 @@
   </description>
   <properties>
     <module-directory>lucene/spatial</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <dependencies>
     <dependency> 

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/suggest/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/suggest/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/suggest/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/suggest/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Lucene Suggest Module</description>
   <properties>
     <module-directory>lucene/suggest</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/lucene/test-framework/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/lucene/test-framework/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/lucene/test-framework/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/lucene/test-framework/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Apache Lucene Java Test Framework</description>
   <properties>
     <module-directory>lucene/test-framework</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -82,6 +82,35 @@
           <skip>true</skip>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>lucene-check-forbidden-executors-and-jdk-unsafe-deprecated-and-system-out</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>lucene-test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/tests.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal> <!-- NOT testCheck -->
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
   <repositories>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -38,7 +38,6 @@
     <module>solr</module>
   </modules>
   <properties>
-    <top-level>..</top-level>
     <vc-anonymous-base-url>http://svn.apache.org/repos/asf/lucene/dev/trunk</vc-anonymous-base-url>
     <vc-dev-base-url>https://svn.apache.org/repos/asf/lucene/dev/trunk</vc-dev-base-url>
     <vc-browse-base-url>http://svn.apache.org/viewvc/lucene/dev/trunk</vc-browse-base-url>
@@ -49,6 +48,7 @@
     <slf4j.version>1.6.4</slf4j.version>
     <tika.version>1.2</tika.version>
     <httpcomponents.version>4.2.3</httpcomponents.version>
+    <commons-io.version>2.1</commons-io.version>
 
     <!-- RandomizedTesting library system properties -->
     <tests.iters>1</tests.iters>
@@ -178,7 +178,7 @@
       <dependency>
         <groupId>commons-io</groupId>
         <artifactId>commons-io</artifactId>
-        <version>2.1</version>
+        <version>${commons-io.version}</version>
       </dependency>
       <dependency>
         <groupId>org.apache.httpcomponents</groupId>
@@ -459,6 +459,19 @@
     <pluginManagement>
       <plugins>
         <plugin>
+          <groupId>de.thetaphi</groupId>
+          <artifactId>forbiddenapis</artifactId>
+          <version>1.2</version>
+          <configuration>
+            <!--
+              This is the default setting, we don't support Java 8 at the moment.
+              The checker simply passes by default and only prints a warning.
+             -->
+            <failOnUnsupportedJava>false</failOnUnsupportedJava>
+            <targetVersion>${java.compat.version}</targetVersion>
+          </configuration>
+        </plugin>
+        <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-antrun-plugin</artifactId>
           <version>1.7</version>
@@ -626,7 +639,7 @@
         <artifactId>gmaven-plugin</artifactId>
         <executions>
           <execution>
-            <id>generate-timestamps</id>
+            <id>generate-timestamps-and-get-top-level-basedir</id>
             <phase>validate</phase>
             <goals>
               <goal>execute</goal>
@@ -636,6 +649,7 @@
                 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>
@@ -680,8 +694,8 @@
                   <message>Maven 2.2.1+ is required.</message>
                   <version>[2.2.1,)</version>
                 </requireMavenVersion>
-                <requirePluginVersions/>           
-              </rules>    
+                <requirePluginVersions/>
+              </rules>
             </configuration>
           </execution>
         </executions>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,9 +33,8 @@
   <description>Apache Solr Analysis Extras</description>
   <properties>
     <module-directory>solr/contrib/analysis-extras</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
-    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -99,16 +98,5 @@
         </includes>
       </testResource>
     </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
-      </plugin>
-    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/clustering/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/clustering/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/clustering/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/clustering/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,9 +33,8 @@
   <description>Apache Solr Clustering</description>
   <properties>
     <module-directory>solr/contrib/clustering</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
-    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -140,16 +139,5 @@
         </includes>
       </testResource>
     </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
-      </plugin>
-    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,9 +33,8 @@
   <description>Apache Solr DataImportHandler Extras</description>
   <properties>
     <module-directory>solr/contrib/dataimporthandler-extras</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
-    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -102,16 +101,5 @@
         </includes>
       </testResource>
     </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
-      </plugin>
-    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,9 +33,8 @@
   <description>Apache Solr DataImportHandler</description>
   <properties>
     <module-directory>solr/contrib/dataimporthandler</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
-    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -105,15 +104,6 @@
           </execution>
         </executions>
       </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
-      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/extraction/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/extraction/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/extraction/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/extraction/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -36,9 +36,8 @@
   </description>
   <properties>
     <module-directory>solr/contrib/extraction</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
-    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -101,13 +100,21 @@
     </testResources>
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>test-check-forbidden-servlet-api</id>
+            <configuration>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>testCheck</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
     </plugins>
   </build>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/langid/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/langid/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/langid/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/langid/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -37,9 +37,8 @@
   </description>
   <properties>
     <module-directory>solr/contrib/langid</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
-    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -107,13 +106,21 @@
     </testResources>
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>test-check-forbidden-servlet-api</id>
+            <configuration>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>testCheck</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
     </plugins>
   </build>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/uima/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/uima/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/uima/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/uima/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,9 +33,8 @@
   <description>Apache Solr - UIMA integration</description>
   <properties>
     <module-directory>solr/contrib/uima</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
-    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -126,13 +125,21 @@
     </testResources>
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>test-check-forbidden-servlet-api</id>
+            <configuration>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>testCheck</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
     </plugins>
   </build>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/velocity/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/velocity/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/velocity/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/contrib/velocity/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,9 +33,8 @@
   <description>Apache Solr Velocity</description>
   <properties>
     <module-directory>solr/contrib/velocity</module-directory>
-    <top-level>../../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
-    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
+    <relative-top-level>../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -142,13 +141,21 @@
     </testResources>
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>test-check-forbidden-servlet-api</id>
+            <configuration>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>testCheck</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
     </plugins>
   </build>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/core/src/java/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/core/src/java/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/core/src/java/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/core/src/java/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Apache Solr Core</description>
   <properties>
     <module-directory>solr/core</module-directory>
-    <top-level>../../../../..</top-level>
-    <module-path>${top-level}/${module-directory}/src/java</module-path>
+    <relative-top-level>../../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}/src/java</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -216,6 +216,39 @@
           <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-check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>solr-test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>check-forbidden-executors-and-servlet-api-and-jdk-unsafe-and-deprecated-and-commons-io-unsafe</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+                <bundledSignature>commons-io-unsafe-${commons-io.version}</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/core/src/test/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/core/src/test/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/core/src/test/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/core/src/test/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -32,9 +32,8 @@
   <packaging>jar</packaging>
   <properties>
     <module-directory>solr/core</module-directory>
-    <top-level>../../../../..</top-level>
-    <module-path>${top-level}/${module-directory}/src/test</module-path>
-    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
+    <relative-top-level>../../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}/src/test</module-path>
   </properties>
   <dependencies>
     <dependency>
@@ -115,13 +114,53 @@
         </configuration>
       </plugin>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>solr-check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>solr-test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>test-check-forbidden-servlet-api-and-jdk-unsafe-and-deprecated-and-commons-io-unsafe</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+                <bundledSignature>commons-io-unsafe-${commons-io.version}</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>testCheck</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>test-check-forbidden-test-apis</id>
+            <configuration>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/tests.txt</signaturesFile>
+              </signaturesFiles>
+              <excludes>
+                <!-- not actually a test -->
+                <exclude>org/apache/solr/search/DocSetPerf.class</exclude>
+                <!-- imported code -->
+                <exclude>org/apache/solr/internal/**/*.class</exclude>
+              </excludes>
+            </configuration>
+            <goals>
+              <goal>testCheck</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
     </plugins>
   </build>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -110,5 +110,54 @@
         </plugin>
       </plugins>
     </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>solr-check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>solr-test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <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>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/solrj/src/java/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/solrj/src/java/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/solrj/src/java/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/solrj/src/java/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Apache Solr Solrj</description>
   <properties>
     <module-directory>solr/solrj</module-directory>
-    <top-level>../../../../..</top-level>
-    <module-path>${top-level}/${module-directory}/src/java</module-path>
+    <relative-top-level>../../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}/src/java</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -132,6 +132,40 @@
           <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-check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>solr-test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>check-forbidden-executors-and-jdk-unsafe-and-deprecated-and-commons-io-unsafe</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+                <bundledSignature>commons-io-unsafe-${commons-io.version}</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/executors.txt</signaturesFile>
+                <!-- Solr-J does NOT depend on servlet-api -->
+                <!-- <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile> -->
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/solrj/src/test/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/solrj/src/test/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/solrj/src/test/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/solrj/src/test/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -32,9 +32,8 @@
   <packaging>jar</packaging>
   <properties>
     <module-directory>solr/solrj</module-directory>
-    <top-level>../../../../..</top-level>
-    <module-path>${top-level}/${module-directory}/src/test</module-path>
-    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
+    <relative-top-level>../../../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}/src/test</module-path>
   </properties>
   <dependencies>
     <dependency>
@@ -104,13 +103,51 @@
         </configuration>
       </plugin>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
-          </systemPropertyVariables>
-        </configuration>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>solr-check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>solr-test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>test-check-forbidden-servlet-api</id>
+            <configuration>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile>
+              </signaturesFiles>
+              <excludes>
+                <!-- violates the servlet-api restrictions, but it is safe to do so in this test: -->
+                <exclude>org/apache/solr/client/solrj/impl/BasicHttpSolrServerTest$DebugServlet.class</exclude>
+              </excludes>
+            </configuration>
+            <goals>
+              <goal>testCheck</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated-and-commons-io-unsafe</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+                <bundledSignature>commons-io-unsafe-${commons-io.version}</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/tests.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>testCheck</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
     </plugins>
   </build>

Modified: lucene/dev/branches/lucene4765/dev-tools/maven/solr/test-framework/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4765/dev-tools/maven/solr/test-framework/pom.xml.template?rev=1447125&r1=1447124&r2=1447125&view=diff
==============================================================================
--- lucene/dev/branches/lucene4765/dev-tools/maven/solr/test-framework/pom.xml.template (original)
+++ lucene/dev/branches/lucene4765/dev-tools/maven/solr/test-framework/pom.xml.template Mon Feb 18 02:37:43 2013
@@ -33,8 +33,8 @@
   <description>Apache Solr Test Framework</description>
   <properties>
     <module-directory>solr/test-framework</module-directory>
-    <top-level>../../..</top-level>
-    <module-path>${top-level}/${module-directory}</module-path>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -104,6 +104,38 @@
           <skip>true</skip>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>de.thetaphi</groupId>
+        <artifactId>forbiddenapis</artifactId>
+        <executions>
+          <execution>
+            <id>solr-check-forbidden-executors-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>solr-test-check-forbidden-test-apis-and-jdk-unsafe-and-deprecated</id>
+            <phase>none</phase> <!-- Block inherited execution -->
+          </execution>
+          <execution>
+            <id>check-forbidden-test-apis-and-servlet-api-and-jdk-unsafe-and-deprecated</id>
+            <configuration>
+              <!-- disallow undocumented classes like sun.misc.Unsafe: -->
+              <internalRuntimeForbidden>true</internalRuntimeForbidden>
+              <bundledSignatures>
+                <bundledSignature>jdk-unsafe</bundledSignature>
+                <bundledSignature>jdk-deprecated</bundledSignature>
+              </bundledSignatures>
+              <signaturesFiles>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/servlet-api.txt</signaturesFile>
+                <signaturesFile>${top-level}/lucene/tools/forbiddenApis/tests.txt</signaturesFile>
+              </signaturesFiles>
+            </configuration>
+            <goals>
+              <goal>check</goal>  <!-- NOT testcheck -->
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>