diff --git a/build.gradle b/build.gradle index 313d229fe70e8..28b0e3f311779 100644 --- a/build.gradle +++ b/build.gradle @@ -236,6 +236,7 @@ project(':core') { println "Building project 'core' with Scala version $scalaVersion" apply plugin: 'scala' + apply from: file("$rootDir/gradle/scalariform.gradle") archivesBaseName = "kafka_${baseScalaVersion}" dependencies { diff --git a/gradle/resources/scalariform.properties b/gradle/resources/scalariform.properties new file mode 100644 index 0000000000000..40aaa3efc68d6 --- /dev/null +++ b/gradle/resources/scalariform.properties @@ -0,0 +1,22 @@ +alignParameters=false +alignArguments=false +alignSingleLineCaseStatements=false +alignSingleLineCaseStatements.maxArrowIndent=40 +compactControlReadability=false +compactStringConcatenation=false +doubleIndentClassDeclaration=true +formatXml=true +indentLocalDefs=false +indentPackageBlocks=true +indentSpaces=2 +indentWithTabs=false +multilineScaladocCommentsStartOnFirstLine=false +placeScaladocAsterisksBeneathSecondAsterisk=false +preserveSpaceBeforeArguments=false +preserveDanglingCloseParenthesis=false +rewriteArrowSymbols=false +spaceBeforeColon=false +spaceInsideBrackets=false +spaceInsideParentheses=false +spacesWithinPatternBinders=true +spacesAroundMultiImports=false diff --git a/gradle/scalariform.gradle b/gradle/scalariform.gradle new file mode 100644 index 0000000000000..fb4f3743244b0 --- /dev/null +++ b/gradle/scalariform.gradle @@ -0,0 +1,32 @@ +buildscript { + repositories { + repositories { + jcenter() + } + } + + dependencies { + classpath "org.scalariform:scalariform_$baseScalaVersion:0.1.7" + } +} + +task formatScala() { + def scalaVersion = "$scalaVersion" + def prefsFile = "$rootDir/gradle/resources/scalariform.properties" + + doLast { + // Format Scala + def prefs = scalariform.formatter.preferences.PreferencesImporterExporter$.newInstance().loadPreferences(prefsFile) + project.fileTree(project.projectDir).include("**/*.scala").each { File f -> + String contents = f.text + logger.debug("Formatting $f") + def formattedContents = scalariform.formatter.ScalaFormatter$.newInstance().format(contents, prefs, scala.Option.apply("\n"), 0, scalaVersion) + if (!formattedContents.equals(contents)) { + logger.println("Formatted $f") + } + f.write(formattedContents, "UTF-8") + } + } +} +//compileScala.dependsOn('formatScala') +//compileTestScala.dependsOn('formatScala')