Use javafmt plugin
Removes `make fmt` task. This is replaced with `./gradlew fmt`.
This is also part of the `./gradlew assemble` task.
The java format JARs are also not required anymore.
Also removes checkstyle. This is replaced with `./gradlew checkFmt`. It
is also part of the `./gradlew check` task.
DELETE
.buildscript/verify-fmt.sh
-#!/bin/bash
-
-make fmt
-
-# Validate that there are no changed files after formatting.
-if [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit, working directory clean" ]]; then
- echo "Please run `make fmt` before committing."
- exit 1
-fi

DELETE
Makefile
-#
-# Targets.
-#
-
-clean:
- @./gradlew clean
-
-test:
- @./gradlew check test
-
-build:
- @./gradlew build
-
-JAVA_FILES = $(shell find . -type f -name "*.java" | grep ".*/src/.*java")
-
-fmt:
- @java -jar codestyle/google-java-format-1.3-all-deps.jar -i $(JAVA_FILES)
-
-#
-# Phonies.
-#
-
-.PHONY: clean
-.PHONY: test
-.PHONY: build
-.PHONY: fmt

MODIFY
analytics-samples/analytics-sample/build.gradle
analytics-samples/analytics-sample/build.gradle
apply plugin: 'com.android.application'
-apply plugin: 'checkstyle'
-apply plugin: 'com.f2prateek.checkstyle'
-
+apply plugin: 'com.f2prateek.javafmt'
apply from: rootProject.file('gradle/android.gradle')
dependencies {
@@ -12,9 +10,3 @@ dependencies {
provided 'com.jakewharton:butterknife-compiler:8.4.0'
compile 'uk.co.chrisjenx:calligraphy:2.2.0'
}
-
-checkstyle {
- configFile rootProject.file('codestyle/checkstyle.xml')
- toolVersion = "7.5.1"
- showViolations true
-}

MODIFY
analytics-samples/analytics-sample/src/main/java/com/segment/analytics/sample/SampleApp.java
analytics-samples/analytics-sample/src/main/java/com/segment/analytics/sample/SampleApp.java
@@ -22,9 +22,9 @@ public class SampleApp extends Application {
// Initialize a new instance of the Analytics client.
Analytics.Builder builder =
- new Analytics.Builder(this, ANALYTICS_WRITE_KEY) //
- .trackApplicationLifecycleEvents() //
- .trackAttributionInformation() //
+ new Analytics.Builder(this, ANALYTICS_WRITE_KEY)
+ .trackApplicationLifecycleEvents()
+ .trackAttributionInformation()
.recordScreenViews();
// Set the initialized instance as a globally accessible instance.

MODIFY
analytics-samples/analytics-wear-sample/build.gradle
analytics-samples/analytics-wear-sample/build.gradle
apply plugin: 'com.android.application'
-apply plugin: 'checkstyle'
-apply plugin: 'com.f2prateek.checkstyle'
-
+apply plugin: 'com.f2prateek.javafmt'
apply from: rootProject.file('gradle/android.gradle')
+
android {
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersionWear
@@ -14,9 +13,3 @@ dependencies {
compile project(':analytics-wear')
compile 'com.google.android.support:wearable:1.1.0'
}
-
-checkstyle {
- configFile rootProject.file('codestyle/checkstyle.xml')
- toolVersion = "7.5.1"
- showViolations true
-}

MODIFY
analytics-tests/build.gradle
analytics-tests/build.gradle
apply plugin: 'com.android.library'
-apply plugin: 'checkstyle'
-apply plugin: 'com.f2prateek.checkstyle'
-
+apply plugin: 'com.f2prateek.javafmt'
apply from: rootProject.file('gradle/android.gradle')
dependencies {
compile project(':analytics')
}
-checkstyle {
- configFile rootProject.file('codestyle/checkstyle.xml')
- toolVersion = "7.5.1"
- showViolations true
-}
-
apply from: rootProject.file('gradle/attach-jar.gradle')
apply from: rootProject.file('gradle/gradle-mvn-push.gradle')

MODIFY
analytics-wear/build.gradle
analytics-wear/build.gradle
apply plugin: 'com.android.library'
-apply plugin: 'checkstyle'
-apply plugin: 'com.f2prateek.checkstyle'
-
+apply plugin: 'com.f2prateek.javafmt'
apply from: rootProject.file('gradle/android.gradle')
dependencies {
@@ -9,10 +7,4 @@ dependencies {
compile 'com.google.android.gms:play-services-wearable:9.4.0'
}
-checkstyle {
- configFile rootProject.file('codestyle/checkstyle.xml')
- toolVersion = "7.5.1"
- showViolations true
-}
-
apply from: rootProject.file('gradle/gradle-mvn-push.gradle')

MODIFY
analytics/build.gradle
analytics/build.gradle
apply plugin: 'com.android.library'
-apply plugin: 'checkstyle'
-apply plugin: 'com.f2prateek.checkstyle'
apply plugin: 'com.vanniktech.android.junit.jacoco'
-
+apply plugin: 'com.f2prateek.javafmt'
apply from: rootProject.file('gradle/android.gradle')
dependencies {
@@ -19,11 +17,5 @@ dependencies {
testCompile 'com.squareup.burst:burst-junit4:1.1.1'
}
-checkstyle {
- configFile rootProject.file('codestyle/checkstyle.xml')
- toolVersion = "7.5.1"
- showViolations true
-}
-
apply from: rootProject.file('gradle/attach-jar.gradle')
apply from: rootProject.file('gradle/gradle-mvn-push.gradle')

MODIFY
build.gradle
build.gradle
@@ -5,8 +5,8 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
- classpath 'com.f2prateek.checkstyle:checkstyle:1.0.1'
classpath 'com.vanniktech:gradle-android-junit-jacoco-plugin:0.5.0'
+ classpath 'com.f2prateek.javafmt:javafmt:0.1.2'
}
}

MODIFY
circle.yml
circle.yml
@@ -23,7 +23,6 @@ dependencies:
test:
override:
- - .buildscript/verify-fmt.sh
- TERM=dumb ./gradlew build --profile
post:
- mkdir -p $CIRCLE_TEST_REPORTS/junit/

DELETE
codestyle/checkstyle.xml
-<?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.
-
- 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="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="LeftCurly">
- <property name="maxLineLength" value="100"/>
- </module>
- <module name="RightCurly">
- <property name="id" value="RightCurlySame"/>
- <property name="tokens" value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_DO"/>
- </module>
- <module name="RightCurly">
- <property name="id" value="RightCurlyAlone"/>
- <property name="option" value="alone"/>
- <property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, 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="id" value="SeparatorWrapDot"/>
- <property name="tokens" value="DOT"/>
- <property name="option" value="nl"/>
- </module>
- <module name="SeparatorWrap">
- <property name="id" value="SeparatorWrapComma"/>
- <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="id" value="ParameterNameNonPublic"/>
- <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
- <property name="accessModifiers" value="protected, package, private"/>
- <message key="name.invalidPattern"
- value="Parameter name ''{0}'' must match pattern ''{1}''."/>
- </module>
- <module name="ParameterName">
- <property name="id" value="ParameterNamePublic"/>
- <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
- <property name="accessModifiers" value="public"/>
- <message key="name.invalidPattern"
- value="Parameter name ''{0}'' must match pattern ''{1}''."/>
- </module>
- <module name="CatchParameterName">
- <property name="format" value="^[a-z][a-z0-9][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="sortImportsInGroupAlphabetically" value="true"/>
- <property name="separateLineBetweenGroups" value="true"/>
- <property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE"/>
- </module>
- <module name="MethodParamPad"/>
- <module name="ParenPad"/>
- <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, METHOD_REF "/>
- </module>
- <module name="AnnotationLocation">
- <property name="id" value="AnnotationLocationMostCases"/>
- <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
- </module>
- <module name="AnnotationLocation">
- <property name="id" value="AnnotationLocationVariables"/>
- <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>
-</module>

DELETE
codestyle/google-java-format-1.3-all-deps.jar
codestyle/google-java-format-1.3-all-deps.jar
Binary files a/codestyle/google-java-format-1.3-all-deps.jar and /dev/null differ

RENAME
codestyle/intellij-java-google-style.xml
config/intellij-java-google-style.xml
Use javafmt plugin

Removes `make fmt` task. This is replaced with `./gradlew fmt`.
This is also part of the `./gradlew assemble` task.
The java format JARs are also not required anymore.

Also removes checkstyle. This is replaced with `./gradlew checkFmt`. It
is also part of the `./gradlew check` task.