[tor-commits] [collector/master] Implements task-20596: use metrics-base and reduced build.xml,

karsten at torproject.org karsten at torproject.org
Thu Jan 5 14:40:32 UTC 2017


commit a3e09288456e51e2fd34394cd65f2af84d8c8cc4
Author: iwakeh <iwakeh at torproject.org>
Date:   Mon Dec 26 13:20:49 2016 +0100

    Implements task-20596: use metrics-base and reduced build.xml,
    added executable bootstrap script, removed metrics_checks.xml.
---
 .gitmodules                                 |   3 +
 build.xml                                   | 318 ++--------------------------
 src/build                                   |   1 +
 src/main/resources/bootstrap-development.sh |  10 +
 src/test/resources/junittest.policy         |  17 --
 src/test/resources/metrics_checks.xml       | 224 --------------------
 6 files changed, 36 insertions(+), 537 deletions(-)

diff --git a/.gitmodules b/.gitmodules
index e69de29..e87aef6 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "src/build"]
+	path = src/build
+	url = https://git.torproject.org/metrics-base
diff --git a/build.xml b/build.xml
index 14e3e2c..2dc6c03 100644
--- a/build.xml
+++ b/build.xml
@@ -1,30 +1,19 @@
-<project default="compile" name="CollecTor" basedir=".">
+<?xml version="1.0"?>
+
+<!DOCTYPE project [
+       <!ENTITY base SYSTEM "src/build/java/base.xml">
+]>
+
+<project default="usage" name="collector" basedir=".">
+
+  <property name="javadoc-title" value="CollecTor API Documentation"/>
+  <property name="implementation-title" value="CollecTor" />
   <property name="release.version" value="1.1.2-dev" />
-  <property name="name" value="CollecTor"/>
+  <property name="project-main-class" value="org.torproject.collector.Main" />
+  <property name="name" value="collector"/>
   <property name="descriptorversion" value="1.5.0" />
-  <property name="source-and-target-java-version" value="1.7" />
-  <property name="sources" value="src/main/java"/>
-  <property name="resources" value="src/main/resources/"/>
-  <property name="webappsources" value="src/main/webapp"/>
-  <property name="generated" value="generated"/>
-  <property name="dist" value="${generated}/dist"/>
-  <property name="signed" value="${dist}/signed"/>
-  <property name="testresult" value="${generated}/test-results"/>
-  <property name="testsources" value="src/test/java"/>
-  <property name="testresources" value="src/test/resources/"/>
-  <property name="coverageresult" value="${generated}/coverage-report/"/>
-  <property name="instrument" value="${generated}/instrument/"/>
-  <property name="classes" value="${generated}/classes/"/>
-  <property name="testclasses" value="${generated}/testclasses/"/>
-  <property name="docs" value="${generated}/javadoc/"/>
-  <property name="libs" value="lib"/>
-  <property name="cobertura.ser.file" value="${basedir}/cobertura.ser" />
-  <property name="jarfile" value="collector-${release.version}.jar" />
-  <property name="jarsourcesfile" value="collector-${release.version}-sources.jar" />
-  <property name="jarjavadocfile" value="collector-${release.version}-javadoc.jar" />
-  <property name="release.tarball"
-            value="${dist}/collector-${release.version}.tar.gz" />
-  <property file="build.properties" />
+  <property name="jarincludes" value="collector.properties logback.xml" />
+
   <patternset id="runtime" >
       <include name="commons-codec-1.9.jar"/>
       <include name="commons-compress-1.9.jar"/>
@@ -35,264 +24,8 @@
       <include name="logback-classic-1.1.2.jar" />
       <include name="slf4j-api-1.7.7.jar" />
   </patternset>
-  <path id="classpath">
-    <pathelement path="${classes}"/>
-    <fileset dir="${libs}">
-      <patternset refid="runtime" />
-    </fileset>
-  </path>
-  <path id="checkstyle.classpath" >
-    <fileset dir="${libs}">
-      <include name="checkstyle-6.17-all.jar" />
-    </fileset>
-  </path>
-  <path id="cobertura.classpath">
-    <fileset dir="${libs}">
-      <include name="descriptor-${descriptorversion}.jar"/>
-      <include name="cobertura-2.1.1.jar" />
-      <include name="slf4j-api-1.7.7.jar" />
-      <include name="commons-lang3-3.3.2.jar" />
-      <include name="asm4-5.0.3.jar" />
-      <include name="asm4-util-5.0.3.jar" />
-      <include name="asm4-tree-5.0.3.jar" />
-      <include name="asm4-commons-5.0.3.jar" />
-      <include name="asm4-analysis-5.0.3.jar" />
-      <include name="oro-2.0.8.jar" />
-      <include name="logback-core-1.1.2.jar" />
-      <include name="logback-classic-1.1.2.jar" />
-    </fileset>
-  </path>
-  <path id="cobertura.test.classpath">
-    <path location="${instrument}" />
-    <path refid="test.classpath" />
-    <path refid="cobertura.classpath" />
-  </path>
-  <path id="test.classpath">
-    <pathelement path="${classes}"/>
-    <pathelement path="${testclasses}"/>
-    <pathelement path="${resources}"/>
-    <pathelement path="${testresources}"/>
-    <fileset dir="${libs}">
-      <patternset refid="runtime" />
-    </fileset>
-    <fileset dir="${libs}">
-      <include name="junit4-4.11.jar"/>
-      <include name="hamcrest-all-1.3.jar"/>
-    </fileset>
-  </path>
-  <target name="init">
-    <mkdir dir="${classes}"/>
-    <mkdir dir="${testclasses}"/>
-    <mkdir dir="${docs}"/>
-    <mkdir dir="${testresult}"/>
-    <mkdir dir="${instrument}"/>
-    <mkdir dir="${dist}"/>
-    <mkdir dir="${signed}"/>
-  </target>
-  <target name="clean">
-    <delete includeEmptyDirs="true" quiet="true">
-      <fileset dir="${generated}" defaultexcludes="false" includes="**" />
-    </delete>
-    <delete file="${cobertura.ser.file}" quiet="true"/>
-  </target>
-  <target name="compile" depends="init">
-    <javac srcdir="${sources}"
-           destdir="${classes}"
-           source="${source-and-target-java-version}"
-           target="${source-and-target-java-version}"
-           debug="true" debuglevel="lines,source"
-           deprecation="true"
-           optimize="false"
-           failonerror="true"
-           includeantruntime="false">
-      <classpath refid="classpath"/>
-    </javac>
-  </target>
-  <target name="compile-tests" depends="compile">
-    <javac destdir="${testclasses}"
-            srcdir="${testsources}"
-            source="${source-and-target-java-version}"
-            target="${source-and-target-java-version}"
-            debug="true" debuglevel="lines,source"
-            deprecation="true"
-            optimize="false"
-            failonerror="true"
-            includeantruntime="false">
-      <classpath refid="classpath"/>
-      <classpath refid="test.classpath"/>
-    </javac>
-  </target>
-  <target name="docs">
-    <mkdir dir="${docs}"/>
-    <javadoc destdir="${docs}"
-             footer="&copy; 2016 The Tor Project"
-             doctitle="CollecTor Documentation"
-             use="true"
-             windowtitle="CollecTor Documentation">
-      <classpath refid="classpath"/>
-      <fileset dir="${sources}/" includes="**/*.java" />
-    </javadoc>
-  </target>
-  <target name="jar" depends="compile,docs">
-    <exec executable="git" outputproperty="git.revision">
-      <arg value="rev-parse" />
-      <arg value="--short" />
-      <arg value="HEAD" />
-    </exec>
-    <jar destfile="${dist}/${jarfile}"
-         basedir="${classes}">
-      <fileset dir="${resources}" >
-        <include name="collector.properties"/>
-        <include name="logback.xml"/>
-      </fileset>
-      <restrict>
-        <not>
-          <name name="META-INF/*" />
-        </not>
-        <archives>
-          <zips>
-            <fileset dir="${libs}">
-              <patternset refid="runtime" />
-            </fileset>
-          </zips>
-        </archives>
-      </restrict>
-      <manifest>
-        <attribute name="Created-By" value="The Tor Project" />
-        <attribute name="Implementation-Title" value="${name}"/>
-        <attribute name="Implementation-Version"
-                   value="${release.version}-${git.revision}"/>
-        <attribute name="Main-Class"
-                   value="org.torproject.collector.Main" />
-      </manifest>
-    </jar>
-    <jar destfile="${dist}/${jarsourcesfile}">
-      <fileset dir="${sources}" />
-      <fileset dir="${testsources}" />
-      <manifest>
-        <attribute name="Created-By" value="The Tor Project" />
-        <attribute name="Implementation-Title" value="${name}"/>
-        <attribute name="Implementation-Version"
-                   value="${release.version}-${git.revision}"/>
-      </manifest>
-    </jar>
-    <jar destfile="${dist}/${jarjavadocfile}">
-      <fileset dir="${docs}" />
-      <manifest>
-        <attribute name="Created-By" value="The Tor Project" />
-        <attribute name="Implementation-Title" value="${name}"/>
-        <attribute name="Implementation-Version"
-                   value="${release.version}-${git.revision}"/>
-      </manifest>
-    </jar>
-  </target>
-  <target name="signjar" depends="jar">
-    <signjar alias="${jarsigner.alias}"
-             storepass="${jarsigner.storepass}"
-             sigalg="SHA256withRSA"
-             destdir="${signed}"
-             digestalg="SHA-256"
-             tsaurl="http://timestamp.digicert.com">
-      <path>
-        <fileset dir="${dist}"
-                 includes="${jarfile} ${jarsourcesfile} ${jarjavadocfile}"/>
-      </path>
-    </signjar>
-    <fail message="Signing failed." >
-      <condition>
-        <not>
-          <and>
-            <issigned file="${signed}/${jarfile}"/>
-            <issigned file="${signed}/${jarsourcesfile}"/>
-            <issigned file="${signed}/${jarjavadocfile}"/>
-          </and>
-        </not>
-      </condition>
-    </fail>
-  </target>
-  <target name="tar" depends="signjar">
-    <tar destfile="${release.tarball}" compression="gzip">
-      <tarfileset dir="." prefix="collector-${release.version}">
-        <include name="${signed}/${jarfile}" />
-        <include name="${signed}/${jarsourcesfile}" />
-        <include name="${signed}/${jarjavadocfile}" />
-        <include name="build.xml" />
-        <include name="LICENSE" />
-        <include name="CERT" />
-        <include name="*.md" />
-      </tarfileset>
-      <tarfileset dir="${sources}"
-                  prefix="collector-${release.version}/${sources}" />
-      <tarfileset dir="${resources}"
-                  prefix="collector-${release.version}/${resources}" />
-      <tarfileset dir="${webappsources}"
-                  prefix="collector-${release.version}/${webappsources}" />
-      <tarfileset dir="${testsources}"
-                  prefix="collector-${release.version}/${testsources}" />
-      <tarfileset dir="${testresources}"
-                  prefix="collector-${release.version}/${testresources}" />
-      <tarfileset dir="${libs}"
-                  prefix="collector-${release.version}/${libs}" />
-    </tar>
-  </target>
-  <taskdef resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties">
-    <classpath refid="checkstyle.classpath" />
-  </taskdef>
-  <target name="checks" depends="compile,compile-tests">
-    <checkstyle config="${testresources}/metrics_checks.xml">
-      <fileset dir="${testsources}"
-               includes="**/*.java" />
-      <fileset dir="${sources}"
-               includes="**/*.java" />
-      <classpath>
-        <path refid="classpath" />
-        <path refid="checkstyle.classpath" />
-      </classpath>
-      <formatter type="plain"
-                 toFile="${generated}/checkstyle_report.txt"/>
-    </checkstyle>
-    <exec executable="cat" outputproperty="checkstyle.result">
-      <arg value="${generated}/checkstyle_report.txt" />
-    </exec>
-    <fail message="Checkstyle complaints: ${checkstyle.result}" >
-      <condition>
-        <not>
-          <length string="${checkstyle.result}"
-                  length="29" />
-        </not>
-      </condition>
-    </fail>
-  </target>
-  <taskdef classpathref="cobertura.classpath" resource="tasks.properties" />
-  <target name="coverage" depends="compile,compile-tests">
-    <copy todir="${instrument}" >
-      <fileset dir="${classes}" >
-       <include name="**/*"/>
-      </fileset>
-    </copy>
-    <cobertura-instrument ignoreTrivial="true">
-      <fileset dir="${instrument}">
-        <include name="**/**/*.class" />
-      </fileset>
-    </cobertura-instrument>
-    <junit fork="true" haltonfailure="false" printsummary="on">
-      <sysproperty key="net.sourceforge.cobertura.datafile"
-                   file="${cobertura.ser.file}" />
-      <!-- The following jvmargs prevent test access to the network. -->
-      <jvmarg value="-Djava.security.policy=${testresources}/junittest.policy"/>
-      <jvmarg value="-Djava.security.manager"/>
-      <jvmarg value="-DLOGBASE=${generated}/testcoverage-logs"/>
-      <classpath refid="cobertura.test.classpath" />
-      <formatter type="xml" />
-      <batchtest toDir="${testresult}" >
-        <fileset dir="${testclasses}" includes="**/*Test.class" />
-      </batchtest>
-    </junit>
-    <cobertura-report format="html" destdir="${coverageresult}" >
-      <fileset dir="${sources}">
-        <include name="**/*.java" />
-      </fileset>
-    </cobertura-report>
+
+  <target name="coverage-check">
     <cobertura-check totallinerate="31" totalbranchrate="26" >
       <regex pattern="org.torproject.collector.bridgedescs"
              branchrate="87" linerate="73"/>
@@ -304,18 +37,11 @@
              branchrate="100" linerate="91" />
     </cobertura-check>
   </target>
-  <target name="test" depends="compile,compile-tests">
-    <junit fork="true" haltonfailure="true" printsummary="off">
-      <!-- The following two jvmargs prevent test access to the network. -->
-      <jvmarg value="-Djava.security.policy=${testresources}/junittest.policy"/>
-      <jvmarg value="-Djava.security.manager"/>
-      <jvmarg value="-DLOGBASE=${generated}/test-logs"/>
-      <classpath refid="test.classpath"/>
-      <formatter type="plain" usefile="false"/>
-      <batchtest>
-        <fileset dir="${testclasses}" includes="**/*Test.class" />
-      </batchtest>
-    </junit>
-  </target>
+
+  <!-- The following line adds the common targets and properties
+       for Metrics' Java Projects.
+  -->
+  &base;
+
 </project>
 
diff --git a/src/build b/src/build
new file mode 160000
index 0000000..7a01d68
--- /dev/null
+++ b/src/build
@@ -0,0 +1 @@
+Subproject commit 7a01d68f813cb5ae2904e73dbc81999ce0622eca
diff --git a/src/main/resources/bootstrap-development.sh b/src/main/resources/bootstrap-development.sh
new file mode 100755
index 0000000..33a1a50
--- /dev/null
+++ b/src/main/resources/bootstrap-development.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+#
+# Copyright 2016 The Tor Project
+# See LICENSE for licensing information
+#
+# Use for submodule initialization and checkout.
+# Only necessary after very first checkout without recursion.
+#
+git submodule update --init --remote
+
diff --git a/src/test/resources/junittest.policy b/src/test/resources/junittest.policy
deleted file mode 100644
index e2f4a26..0000000
--- a/src/test/resources/junittest.policy
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Prevent tests from bothering production servers. */
-
-grant {
-  permission java.io.FilePermission "<<ALL FILES>>", "read, write, delete, execute";
-  permission java.util.PropertyPermission "*", "read, write";
-  permission java.lang.RuntimePermission "setIO";
-  permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.fs";
-  permission java.lang.RuntimePermission "accessDeclaredMembers";
-  permission java.lang.RuntimePermission "getFileStoreAttributes";
-  permission java.lang.RuntimePermission "getStackTrace";
-  permission java.lang.RuntimePermission "modifyThread";
-  permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
-  permission java.lang.RuntimePermission "shutdownHooks";
-  permission java.lang.RuntimePermission "accessClassInPackage.sun.reflect";
-  permission java.lang.RuntimePermission "accessClassInPackage.sun.net.www.protocol.http";
-  permission java.lang.RuntimePermission "accessClassInPackage.sun.net.www.http";
-};
diff --git a/src/test/resources/metrics_checks.xml b/src/test/resources/metrics_checks.xml
deleted file mode 100644
index 918e6c5..0000000
--- a/src/test/resources/metrics_checks.xml
+++ /dev/null
@@ -1,224 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE module PUBLIC
-          "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
-          "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
-
-<!--
-    Checkstyle configuration that checks the Google coding conventions from Google Java Style
-    that can be found at https://google.github.io/styleguide/javaguide.html with the following
-    modifications:
-
-     - Replaced com.google with org.torproject in import statement ordering
-       [CustomImportOrder].
-
-     - Relaxed requirement that catch parameters must be at least two
-       characters long [CatchParameterName].
-
-     - Enabled suppression of warnings using annotations.
-
-     - Added a check for unused imports [UnusedImports].
-
-    Checkstyle is very configurable. Be sure to read the documentation at
-    http://checkstyle.sf.net (or in your downloaded distribution).
-
-    To completely disable a check, just comment it out or delete it from the file.
-
-    Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
- -->
-
-<module name = "Checker">
-    <property name="charset" value="UTF-8"/>
-
-    <property name="severity" value="warning"/>
-
-    <property name="fileExtensions" value="java, properties, xml"/>
-    <!-- Checks for whitespace                               -->
-    <!-- See http://checkstyle.sf.net/config_whitespace.html -->
-        <module name="FileTabCharacter">
-            <property name="eachLine" value="true"/>
-        </module>
-
-        <module name="SuppressWarningsFilter" />
-    <module name="TreeWalker">
-        <module name="OuterTypeFilename"/>
-        <module name="IllegalTokenText">
-            <property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
-            <property name="format" value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
-            <property name="message" value="Avoid using corresponding octal or Unicode escape."/>
-        </module>
-        <module name="AvoidEscapedUnicodeCharacters">
-            <property name="allowEscapesForControlCharacters" value="true"/>
-            <property name="allowByTailComment" value="true"/>
-            <property name="allowNonPrintableEscapes" value="true"/>
-        </module>
-        <module name="LineLength">
-            <property name="max" value="100"/>
-            <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
-        </module>
-        <module name="AvoidStarImport"/>
-        <module name="OneTopLevelClass"/>
-        <module name="NoLineWrap"/>
-        <module name="EmptyBlock">
-            <property name="option" value="TEXT"/>
-            <property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
-        </module>
-        <module name="NeedBraces"/>
-        <module name="UnusedImports"/>
-        <module name="LeftCurly">
-            <property name="maxLineLength" value="100"/>
-        </module>
-        <module name="RightCurly"/>
-        <module name="RightCurly">
-            <property name="option" value="alone"/>
-            <property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT"/>
-        </module>
-        <module name="WhitespaceAround">
-            <property name="allowEmptyConstructors" value="true"/>
-            <property name="allowEmptyMethods" value="true"/>
-            <property name="allowEmptyTypes" value="true"/>
-            <property name="allowEmptyLoops" value="true"/>
-            <message key="ws.notFollowed"
-             value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
-             <message key="ws.notPreceded"
-             value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
-        </module>
-        <module name="OneStatementPerLine"/>
-        <module name="MultipleVariableDeclarations"/>
-        <module name="ArrayTypeStyle"/>
-        <module name="MissingSwitchDefault"/>
-        <module name="FallThrough"/>
-        <module name="UpperEll"/>
-        <module name="ModifierOrder"/>
-        <module name="EmptyLineSeparator">
-            <property name="allowNoEmptyLineBetweenFields" value="true"/>
-        </module>
-        <module name="SeparatorWrap">
-            <property name="tokens" value="DOT"/>
-            <property name="option" value="nl"/>
-        </module>
-        <module name="SeparatorWrap">
-            <property name="tokens" value="COMMA"/>
-            <property name="option" value="EOL"/>
-        </module>
-        <module name="PackageName">
-            <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
-            <message key="name.invalidPattern"
-             value="Package name ''{0}'' must match pattern ''{1}''."/>
-        </module>
-        <module name="TypeName">
-            <message key="name.invalidPattern"
-             value="Type name ''{0}'' must match pattern ''{1}''."/>
-        </module>
-        <module name="MemberName">
-            <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
-            <message key="name.invalidPattern"
-             value="Member name ''{0}'' must match pattern ''{1}''."/>
-        </module>
-        <module name="ParameterName">
-            <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
-            <message key="name.invalidPattern"
-             value="Parameter name ''{0}'' must match pattern ''{1}''."/>
-        </module>
-        <module name="CatchParameterName">
-            <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
-            <message key="name.invalidPattern"
-             value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
-        </module>
-        <module name="LocalVariableName">
-            <property name="tokens" value="VARIABLE_DEF"/>
-            <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
-            <property name="allowOneCharVarInForLoop" value="true"/>
-            <message key="name.invalidPattern"
-             value="Local variable name ''{0}'' must match pattern ''{1}''."/>
-        </module>
-        <module name="ClassTypeParameterName">
-            <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
-            <message key="name.invalidPattern"
-             value="Class type name ''{0}'' must match pattern ''{1}''."/>
-        </module>
-        <module name="MethodTypeParameterName">
-            <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
-            <message key="name.invalidPattern"
-             value="Method type name ''{0}'' must match pattern ''{1}''."/>
-        </module>
-        <module name="InterfaceTypeParameterName">
-            <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
-            <message key="name.invalidPattern"
-             value="Interface type name ''{0}'' must match pattern ''{1}''."/>
-        </module>
-        <module name="NoFinalizer"/>
-        <module name="GenericWhitespace">
-            <message key="ws.followed"
-             value="GenericWhitespace ''{0}'' is followed by whitespace."/>
-             <message key="ws.preceded"
-             value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
-             <message key="ws.illegalFollow"
-             value="GenericWhitespace ''{0}'' should followed by whitespace."/>
-             <message key="ws.notPreceded"
-             value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
-        </module>
-        <module name="Indentation">
-            <property name="basicOffset" value="2"/>
-            <property name="braceAdjustment" value="0"/>
-            <property name="caseIndent" value="2"/>
-            <property name="throwsIndent" value="4"/>
-            <property name="lineWrappingIndentation" value="4"/>
-            <property name="arrayInitIndent" value="2"/>
-        </module>
-        <module name="AbbreviationAsWordInName">
-            <property name="ignoreFinal" value="false"/>
-            <property name="allowedAbbreviationLength" value="1"/>
-        </module>
-        <module name="OverloadMethodsDeclarationOrder"/>
-        <module name="VariableDeclarationUsageDistance"/>
-        <module name="CustomImportOrder">
-            <property name="specialImportsRegExp" value="org.torproject"/>
-            <property name="sortImportsInGroupAlphabetically" value="true"/>
-            <property name="customImportOrderRules" value="STATIC###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE###STANDARD_JAVA_PACKAGE"/>
-        </module>
-        <module name="MethodParamPad"/>
-        <module name="OperatorWrap">
-            <property name="option" value="NL"/>
-            <property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "/>
-        </module>
-        <module name="AnnotationLocation">
-            <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
-        </module>
-        <module name="AnnotationLocation">
-            <property name="tokens" value="VARIABLE_DEF"/>
-            <property name="allowSamelineMultipleAnnotations" value="true"/>
-        </module>
-        <module name="NonEmptyAtclauseDescription"/>
-        <module name="JavadocTagContinuationIndentation"/>
-        <module name="SummaryJavadoc">
-            <property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
-        </module>
-        <module name="JavadocParagraph"/>
-        <module name="AtclauseOrder">
-            <property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
-            <property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
-        </module>
-        <module name="JavadocMethod">
-            <property name="scope" value="public"/>
-            <property name="allowMissingParamTags" value="true"/>
-            <property name="allowMissingThrowsTags" value="true"/>
-            <property name="allowMissingReturnTag" value="true"/>
-            <property name="minLineCount" value="2"/>
-            <property name="allowedAnnotations" value="Override, Test"/>
-            <property name="allowThrowsTagsForSubclasses" value="true"/>
-        </module>
-        <module name="MethodName">
-            <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
-            <message key="name.invalidPattern"
-             value="Method name ''{0}'' must match pattern ''{1}''."/>
-        </module>
-        <module name="SingleLineJavadoc">
-            <property name="ignoreInlineTags" value="false"/>
-        </module>
-        <module name="EmptyCatchBlock">
-            <property name="exceptionVariableName" value="expected"/>
-        </module>
-        <module name="CommentsIndentation"/>
-        <module name="SuppressWarningsHolder" />
-    </module>
-</module>





More information about the tor-commits mailing list