From 021167593b612de5a57e5c7f838ecb879a15eca1 Mon Sep 17 00:00:00 2001 From: Michael Nazario Date: Fri, 21 Oct 2016 14:29:02 -0400 Subject: [PATCH 1/6] Update to Gradle 3.1 (#24) * Update to Gradle 3.1 * Update plugin publish plugin * Update git-version * Bump nebula test version to 4.2.2 for gradle 3 * Update circle.yml to support Gradle 3 --- build.gradle | 6 +-- circle.yml | 6 +-- gradle/wrapper/gradle-wrapper.jar | Bin 52266 -> 52928 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 57 ++++++++++++----------- gradlew.bat | 14 ++---- 6 files changed, 43 insertions(+), 44 deletions(-) diff --git a/build.gradle b/build.gradle index 1fca8d7..4e8c5de 100644 --- a/build.gradle +++ b/build.gradle @@ -16,8 +16,8 @@ plugins { id 'idea' id 'groovy' id 'java-gradle-plugin' - id 'com.gradle.plugin-publish' version '0.9.4' - id 'com.palantir.git-version' version '0.3.0' + id 'com.gradle.plugin-publish' version '0.9.6' + id 'com.palantir.git-version' version '0.5.2' } project.version = gitVersion() @@ -33,7 +33,7 @@ repositories { dependencies { compile gradleApi() - testCompile('com.netflix.nebula:nebula-test:4.0.0') { + testCompile('com.netflix.nebula:nebula-test:4.2.2') { exclude group: 'org.codehaus.groovy' } } diff --git a/circle.yml b/circle.yml index 3f872cb..aa88050 100644 --- a/circle.yml +++ b/circle.yml @@ -12,11 +12,11 @@ deployment: master: branch: [master] commands: - - ./gradlew -Dgradle.publish.key=$GRADLE_PUBLISH_KEY -Dgradle.publish.secret=$GRADLE_PUBLISH_SECRET publishPlugins + - ./gradlew -Dgradle.publish.key="$GRADLE_PUBLISH_KEY" -Dgradle.publish.secret="$GRADLE_PUBLISH_SECRET" publishPlugins test: override: - ./gradlew build post: - - mkdir -p $CIRCLE_TEST_REPORTS/junit/ - - cp build/test-results/*.xml $CIRCLE_TEST_REPORTS/junit/ + - mkdir -p "$CIRCLE_TEST_REPORTS/junit/" + - cp build/test-results/test/*.xml "$CIRCLE_TEST_REPORTS/junit/" diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index b5166dad4d90021f6a0b45268c0755719f1d5cd4..6ffa237849ef3607e39c3b334a92a65367962071 100644 GIT binary patch delta 20599 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 delta 19965 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -30,6 +48,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,31 +59,11 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- -APP_HOME="`pwd -P`" -cd "$SAVED" >&- - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -90,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -114,6 +113,7 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` @@ -161,4 +161,9 @@ function splitJvmOpts() { eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then + cd "$(dirname "$0")" +fi + exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat index aec9973..e95643d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -8,14 +8,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,10 +46,9 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -60,11 +59,6 @@ set _SKIP=2 if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ :execute @rem Setup the command line From d1eabcff986068ff1ee343ab8642cbfc23b4191e Mon Sep 17 00:00:00 2001 From: Michael Nazario Date: Fri, 21 Oct 2016 16:32:07 -0400 Subject: [PATCH 2/6] Add option to specify conda channels (#26) --- .../python/miniconda/MinicondaExtension.groovy | 4 ++++ .../python/miniconda/MinicondaPlugin.groovy | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/groovy/com/palantir/python/miniconda/MinicondaExtension.groovy b/src/main/groovy/com/palantir/python/miniconda/MinicondaExtension.groovy index 134452c..a1c16c6 100644 --- a/src/main/groovy/com/palantir/python/miniconda/MinicondaExtension.groovy +++ b/src/main/groovy/com/palantir/python/miniconda/MinicondaExtension.groovy @@ -20,11 +20,15 @@ package com.palantir.python.miniconda * @author pbiswal */ class MinicondaExtension { + static String DEFAULT_CHANNEL = "https://repo.continuum.io/pkgs/free" + File bootstrapDirectoryPrefix File buildEnvironmentDirectory String minicondaVersion List packages + List channels = [DEFAULT_CHANNEL] + File getBootstrapDirectory() { return new File(bootstrapDirectoryPrefix, minicondaVersion) } diff --git a/src/main/groovy/com/palantir/python/miniconda/MinicondaPlugin.groovy b/src/main/groovy/com/palantir/python/miniconda/MinicondaPlugin.groovy index 8387f48..948bee3 100644 --- a/src/main/groovy/com/palantir/python/miniconda/MinicondaPlugin.groovy +++ b/src/main/groovy/com/palantir/python/miniconda/MinicondaPlugin.groovy @@ -19,6 +19,7 @@ import org.gradle.api.Project import org.gradle.api.tasks.Delete import org.gradle.api.tasks.Exec import org.gradle.util.VersionNumber + /** * Gradle plugin to download Miniconda and set up a Python build environment. * @@ -130,7 +131,8 @@ class MinicondaPlugin implements Plugin { outputs.dir myExt.buildEnvironmentDirectory executable myExt.bootstrapDirectory.toPath().resolve('bin/conda') - args "create", "--yes", "--quiet", "-p", myExt.buildEnvironmentDirectory + args "create", "--yes", "--quiet", "-p", myExt.buildEnvironmentDirectory, "--override-channels" + args convertChannelsToArgs(myExt.channels) args myExt.packages doFirst { @@ -141,4 +143,13 @@ class MinicondaPlugin implements Plugin { } } } + + private static List convertChannelsToArgs(List channels) { + List args = new ArrayList<>(); + for (String channel : channels) { + args.add("--channel"); + args.add(channel); + } + return args; + } } From 6012123d7bd97b306e35386a9e77fc0df2f2440a Mon Sep 17 00:00:00 2001 From: Michael Nazario Date: Mon, 24 Oct 2016 12:00:44 -0400 Subject: [PATCH 3/6] Move to java (#27) --- .../checkstyle/checkstyle-suppressions.xml | 24 + .baseline/checkstyle/checkstyle.xml | 392 +++++++++++++++ .baseline/copyright/apache-2.0.txt | 13 + .baseline/eclipse/dynamic/dotfile.checkstyle | 23 + .../edu.umd.cs.findbugs.core.prefs | 171 +++++++ .baseline/eclipse/org.eclipse.jdt.core.prefs | 313 ++++++++++++ .../edu.umd.cs.findbugs.plugin.eclipse.prefs | 5 + .../dotfile.settings/org.eclipse.jdt.ui.prefs | 66 +++ .baseline/findbugs/excludeFilter.xml | 25 + .../idea/intellij-java-palantir-style.xml | 447 ++++++++++++++++++ build.gradle | 27 +- .../miniconda/MinicondaExtension.groovy | 35 -- .../python/miniconda/MinicondaPlugin.groovy | 155 ------ .../python/miniconda/AfterEvaluateAction.java | 74 +++ .../python/miniconda/MinicondaExtension.java | 109 +++++ .../python/miniconda/MinicondaInstaller.java | 106 +++++ .../python/miniconda/MinicondaPlugin.java | 69 +++ .../tasks/AbstractCleanableExecTask.java | 51 ++ .../miniconda/tasks/BootstrapPython.java | 80 ++++ .../python/miniconda/tasks/SetupPython.java | 81 ++++ .../miniconda/MinicondaFunctionalTest.groovy | 28 +- .../miniconda/MinicondaIntegrationSpec.groovy | 28 +- .../MinicondaPluginProjectSpec.groovy | 28 +- 23 files changed, 2117 insertions(+), 233 deletions(-) create mode 100644 .baseline/checkstyle/checkstyle-suppressions.xml create mode 100644 .baseline/checkstyle/checkstyle.xml create mode 100644 .baseline/copyright/apache-2.0.txt create mode 100644 .baseline/eclipse/dynamic/dotfile.checkstyle create mode 100644 .baseline/eclipse/dynamic/dotfile.settings/edu.umd.cs.findbugs.core.prefs create mode 100644 .baseline/eclipse/org.eclipse.jdt.core.prefs create mode 100644 .baseline/eclipse/static/dotfile.settings/edu.umd.cs.findbugs.plugin.eclipse.prefs create mode 100644 .baseline/eclipse/static/dotfile.settings/org.eclipse.jdt.ui.prefs create mode 100644 .baseline/findbugs/excludeFilter.xml create mode 100644 .baseline/idea/intellij-java-palantir-style.xml delete mode 100644 src/main/groovy/com/palantir/python/miniconda/MinicondaExtension.groovy delete mode 100644 src/main/groovy/com/palantir/python/miniconda/MinicondaPlugin.groovy create mode 100644 src/main/java/com/palantir/python/miniconda/AfterEvaluateAction.java create mode 100644 src/main/java/com/palantir/python/miniconda/MinicondaExtension.java create mode 100644 src/main/java/com/palantir/python/miniconda/MinicondaInstaller.java create mode 100644 src/main/java/com/palantir/python/miniconda/MinicondaPlugin.java create mode 100644 src/main/java/com/palantir/python/miniconda/tasks/AbstractCleanableExecTask.java create mode 100644 src/main/java/com/palantir/python/miniconda/tasks/BootstrapPython.java create mode 100644 src/main/java/com/palantir/python/miniconda/tasks/SetupPython.java diff --git a/.baseline/checkstyle/checkstyle-suppressions.xml b/.baseline/checkstyle/checkstyle-suppressions.xml new file mode 100644 index 0000000..bd14713 --- /dev/null +++ b/.baseline/checkstyle/checkstyle-suppressions.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/.baseline/checkstyle/checkstyle.xml b/.baseline/checkstyle/checkstyle.xml new file mode 100644 index 0000000..ce9cfe8 --- /dev/null +++ b/.baseline/checkstyle/checkstyle.xml @@ -0,0 +1,392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.baseline/copyright/apache-2.0.txt b/.baseline/copyright/apache-2.0.txt new file mode 100644 index 0000000..c12d5ab --- /dev/null +++ b/.baseline/copyright/apache-2.0.txt @@ -0,0 +1,13 @@ +Copyright ${today.year} Palantir Technologies, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/.baseline/eclipse/dynamic/dotfile.checkstyle b/.baseline/eclipse/dynamic/dotfile.checkstyle new file mode 100644 index 0000000..c176af2 --- /dev/null +++ b/.baseline/eclipse/dynamic/dotfile.checkstyle @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.baseline/eclipse/dynamic/dotfile.settings/edu.umd.cs.findbugs.core.prefs b/.baseline/eclipse/dynamic/dotfile.settings/edu.umd.cs.findbugs.core.prefs new file mode 100644 index 0000000..353d91d --- /dev/null +++ b/.baseline/eclipse/dynamic/dotfile.settings/edu.umd.cs.findbugs.core.prefs @@ -0,0 +1,171 @@ +#FindBugs User Preferences +#Sun Mar 02 18:15:35 EST 2014 +cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud +detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true +detectorAtomicityProblem=AtomicityProblem|true +detectorBadAppletConstructor=BadAppletConstructor|false +detectorBadResultSetAccess=BadResultSetAccess|true +detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true +detectorBadUseOfReturnValue=BadUseOfReturnValue|true +detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true +detectorBooleanReturnNull=BooleanReturnNull|true +detectorBuildInterproceduralCallGraph=BuildInterproceduralCallGraph|false +detectorBuildObligationPolicyDatabase=BuildObligationPolicyDatabase|true +detectorCallToUnsupportedMethod=CallToUnsupportedMethod|false +detectorCalledMethods=CalledMethods|true +detectorCheckCalls=CheckCalls|false +detectorCheckExpectedWarnings=CheckExpectedWarnings|false +detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true +detectorCheckRelaxingNullnessAnnotation=CheckRelaxingNullnessAnnotation|true +detectorCheckTypeQualifiers=CheckTypeQualifiers|true +detectorCloneIdiom=CloneIdiom|true +detectorComparatorIdiom=ComparatorIdiom|true +detectorConfusedInheritance=ConfusedInheritance|true +detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true +detectorCovariantArrayAssignment=CovariantArrayAssignment|false +detectorCrossSiteScripting=CrossSiteScripting|true +detectorDefaultEncodingDetector=DefaultEncodingDetector|true +detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true +detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true +detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true +detectorDontUseEnum=DontUseEnum|true +detectorDroppedException=DroppedException|true +detectorDumbMethodInvocations=DumbMethodInvocations|true +detectorDumbMethods=DumbMethods|true +detectorDuplicateBranches=DuplicateBranches|true +detectorEmptyZipFileEntry=EmptyZipFileEntry|true +detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true +detectorExplicitSerialization=ExplicitSerialization|true +detectorFieldItemSummary=FieldItemSummary|true +detectorFinalizerNullsFields=FinalizerNullsFields|true +detectorFindBadCast2=FindBadCast2|true +detectorFindBadForLoop=FindBadForLoop|true +detectorFindBugsSummaryStats=FindBugsSummaryStats|true +detectorFindCircularDependencies=FindCircularDependencies|false +detectorFindComparatorProblems=FindComparatorProblems|true +detectorFindDeadLocalStores=FindDeadLocalStores|true +detectorFindDoubleCheck=FindDoubleCheck|true +detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true +detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true +detectorFindFinalizeInvocations=FindFinalizeInvocations|true +detectorFindFloatEquality=FindFloatEquality|true +detectorFindHEmismatch=FindHEmismatch|true +detectorFindInconsistentSync2=FindInconsistentSync2|true +detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true +detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true +detectorFindMaskedFields=FindMaskedFields|true +detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true +detectorFindNakedNotify=FindNakedNotify|true +detectorFindNonShortCircuit=FindNonShortCircuit|true +detectorFindNullDeref=FindNullDeref|true +detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true +detectorFindOpenStream=FindOpenStream|true +detectorFindPuzzlers=FindPuzzlers|true +detectorFindRefComparison=FindRefComparison|true +detectorFindReturnRef=FindReturnRef|true +detectorFindRoughConstants=FindRoughConstants|true +detectorFindRunInvocations=FindRunInvocations|true +detectorFindSelfComparison=FindSelfComparison|true +detectorFindSelfComparison2=FindSelfComparison2|true +detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true +detectorFindSpinLoop=FindSpinLoop|true +detectorFindSqlInjection=FindSqlInjection|true +detectorFindTwoLockWait=FindTwoLockWait|true +detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true +detectorFindUnconditionalWait=FindUnconditionalWait|true +detectorFindUninitializedGet=FindUninitializedGet|true +detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true +detectorFindUnreleasedLock=FindUnreleasedLock|true +detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true +detectorFindUnsyncGet=FindUnsyncGet|true +detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true +detectorFindUselessControlFlow=FindUselessControlFlow|true +detectorFindUselessObjects=FindUselessObjects|true +detectorFormatStringChecker=FormatStringChecker|true +detectorFunctionsThatMightBeMistakenForProcedures=FunctionsThatMightBeMistakenForProcedures|true +detectorHugeSharedStringConstants=HugeSharedStringConstants|true +detectorIDivResultCastToDouble=IDivResultCastToDouble|true +detectorIncompatMask=IncompatMask|true +detectorInconsistentAnnotations=InconsistentAnnotations|true +detectorInefficientMemberAccess=InefficientMemberAccess|false +detectorInefficientToArray=InefficientToArray|true +detectorInfiniteLoop=InfiniteLoop|true +detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true +detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true +detectorInitializationChain=InitializationChain|true +detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true +detectorInstantiateStaticClass=InstantiateStaticClass|true +detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true +detectorInvalidJUnitTest=InvalidJUnitTest|true +detectorIteratorIdioms=IteratorIdioms|true +detectorLazyInit=LazyInit|true +detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true +detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true +detectorMethodReturnCheck=MethodReturnCheck|true +detectorMethods=Methods|true +detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true +detectorMutableEnum=MutableEnum|true +detectorMutableLock=MutableLock|true +detectorMutableStaticFields=MutableStaticFields|true +detectorNaming=Naming|true +detectorNoise=Noise|false +detectorNoiseNullDeref=NoiseNullDeref|false +detectorNoteAnnotationRetention=NoteAnnotationRetention|true +detectorNoteCheckReturnValueAnnotations=NoteCheckReturnValueAnnotations|true +detectorNoteDirectlyRelevantTypeQualifiers=NoteDirectlyRelevantTypeQualifiers|true +detectorNoteJCIPAnnotation=NoteJCIPAnnotation|true +detectorNoteNonNullAnnotations=NoteNonNullAnnotations|true +detectorNoteNonnullReturnValues=NoteNonnullReturnValues|true +detectorNoteSuppressedWarnings=NoteSuppressedWarnings|true +detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true +detectorNumberConstructor=NumberConstructor|true +detectorOptionalReturnNull=OptionalReturnNull|true +detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true +detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true +detectorPublicSemaphores=PublicSemaphores|false +detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true +detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true +detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true +detectorRedundantConditions=RedundantConditions|true +detectorRedundantInterfaces=RedundantInterfaces|true +detectorReflectiveClasses=ReflectiveClasses|true +detectorRepeatedConditionals=RepeatedConditionals|true +detectorResolveAllReferences=ResolveAllReferences|false +detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true +detectorSerializableIdiom=SerializableIdiom|true +detectorStartInConstructor=StartInConstructor|true +detectorStaticCalendarDetector=StaticCalendarDetector|true +detectorStringConcatenation=StringConcatenation|true +detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true +detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true +detectorSwitchFallthrough=SwitchFallthrough|true +detectorSynchronizationOnSharedBuiltinConstant=SynchronizationOnSharedBuiltinConstant|true +detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true +detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true +detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true +detectorTestASM=TestASM|false +detectorTestDataflowAnalysis=TestDataflowAnalysis|false +detectorTestingGround=TestingGround|false +detectorTestingGround2=TestingGround2|false +detectorTrainFieldStoreTypes=TrainFieldStoreTypes|true +detectorTrainLongInstantfParams=TrainLongInstantfParams|true +detectorTrainNonNullAnnotations=TrainNonNullAnnotations|true +detectorTrainUnconditionalDerefParams=TrainUnconditionalDerefParams|true +detectorURLProblems=URLProblems|true +detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true +detectorUnnecessaryMath=UnnecessaryMath|true +detectorUnreadFields=UnreadFields|true +detectorUselessSubclassMethod=UselessSubclassMethod|true +detectorVarArgsProblems=VarArgsProblems|true +detectorVolatileUsage=VolatileUsage|true +detectorWaitInLoop=WaitInLoop|true +detectorWrongMapIterator=WrongMapIterator|true +detectorXMLFactoryBypass=XMLFactoryBypass|true +detector_threshold=2 +effort=max +excludefilter0=${configDir}/findbugs/excludeFilter.xml|true +filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,EXPERIMENTAL,I18N,MALICIOUS_CODE,MT_CORRECTNESS,PERFORMANCE,SECURITY,STYLE|false|20 +filter_settings_neg=NOISE| +plugin0=edu.umd.cs.findbugs.plugins.findbugsCommunalCloud|false +plugin1=edu.umd.cs.findbugs.plugins.webCloud|false +run_at_full_build=true diff --git a/.baseline/eclipse/org.eclipse.jdt.core.prefs b/.baseline/eclipse/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..dc125f1 --- /dev/null +++ b/.baseline/eclipse/org.eclipse.jdt.core.prefs @@ -0,0 +1,313 @@ +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=javax.annotation.Nonnull +org.eclipse.jdt.core.compiler.annotation.nullable=javax.annotation.CheckForNull +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=${javaTargetVersion} +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=${javaTargetVersion} +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore +org.eclipse.jdt.core.compiler.processAnnotations=enabled +org.eclipse.jdt.core.compiler.source=${javaSourceVersion} +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=32 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=false +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/.baseline/eclipse/static/dotfile.settings/edu.umd.cs.findbugs.plugin.eclipse.prefs b/.baseline/eclipse/static/dotfile.settings/edu.umd.cs.findbugs.plugin.eclipse.prefs new file mode 100644 index 0000000..c513986 --- /dev/null +++ b/.baseline/eclipse/static/dotfile.settings/edu.umd.cs.findbugs.plugin.eclipse.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +edu.umd.cs.findbugs.plugin.eclipse.findbugsMarkerOfConcern=Warning +edu.umd.cs.findbugs.plugin.eclipse.findbugsMarkerScariest=Error +edu.umd.cs.findbugs.plugin.eclipse.findbugsMarkerScary=Warning +edu.umd.cs.findbugs.plugin.eclipse.findbugsMarkerTroubling=Warning diff --git a/.baseline/eclipse/static/dotfile.settings/org.eclipse.jdt.ui.prefs b/.baseline/eclipse/static/dotfile.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000..d3db44a --- /dev/null +++ b/.baseline/eclipse/static/dotfile.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,66 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Baseline Profile +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=e +org.eclipse.jdt.ui.gettersetter.use.is=false +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=; +org.eclipse.jdt.ui.javadoc=false +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=