From 59e339e17d029dd52555683d2a6683e079a07528 Mon Sep 17 00:00:00 2001 From: Niklas Klein Date: Fri, 28 Aug 2015 17:32:53 +0200 Subject: [PATCH] Initial release --- .gitignore | 1 + README.md | 9 ++++ build.sbt | 32 ++++-------- project/build.properties | 2 +- project/plugins.sbt | 3 ++ sonatype.sbt | 49 +++++++++++++++++++ src/main/scala/io/taig/FormatPlugin.scala | 36 ++++++++++++++ .../scala/sbt/houserules/BuildPlugin.scala | 16 ------ .../scala/sbt/houserules/FormatPlugin.scala | 22 --------- .../sbt/houserules/GitVersionPlugin.scala | 22 --------- 10 files changed, 109 insertions(+), 83 deletions(-) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 project/plugins.sbt create mode 100644 sonatype.sbt create mode 100644 src/main/scala/io/taig/FormatPlugin.scala delete mode 100644 src/main/scala/sbt/houserules/BuildPlugin.scala delete mode 100644 src/main/scala/sbt/houserules/FormatPlugin.scala delete mode 100644 src/main/scala/sbt/houserules/GitVersionPlugin.scala diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f97022 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +target/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..05cf747 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Sbt Scalariform + +> Scalariform auto plugin with custom formatting settings + +## Installation + +```` +addSbtPlugin( "io.taig" %% "sbt-scalariform" % "1.0.0" ) +```` \ No newline at end of file diff --git a/build.sbt b/build.sbt index a1c3d17..2d1a1c1 100644 --- a/build.sbt +++ b/build.sbt @@ -1,23 +1,11 @@ -lazy val commonSettings = Seq( - organization := "org.scala-sbt", - version := "0.1.0" -) +addSbtPlugin( "org.scalariform" % "sbt-scalariform" % "1.4.0" ) -lazy val root = (project in file(".")). - settings( - commonSettings ++ - addSbtPlugin("com.typesafe.sbt" % "sbt-scalariform" % "1.3.0") ++ - addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.6.1") - : _*). - settings( - sbtPlugin := true, - name := "sbt-houserules", - description := "sbt plugin for enforcing sbt house rules.", - licenses := Seq("Apache v2" -> url("https://github.com/sbt/sbt-houserules/blob/master/LICENSE")), - publishMavenStyle := false, - publishTo := { - if (isSnapshot.value) Some(Resolver.sbtPluginRepo("snapshots")) - else Some(Resolver.sbtPluginRepo("releases")) - }, - credentials += Credentials(Path.userHome / ".ivy2" / ".sbtcredentials") - ) +name := "SbtScalariform" + +normalizedName := "sbt-scalariform" + +organization := "io.taig" + +sbtPlugin := true + +version := "1.0.0" \ No newline at end of file diff --git a/project/build.properties b/project/build.properties index 748703f..176a863 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=0.13.7 +sbt.version=0.13.9 \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt new file mode 100644 index 0000000..a6fc760 --- /dev/null +++ b/project/plugins.sbt @@ -0,0 +1,3 @@ +addSbtPlugin( "com.jsuereth" % "sbt-pgp" % "1.0.0" ) + +addSbtPlugin( "org.xerial.sbt" % "sbt-sonatype" % "0.5.0" ) \ No newline at end of file diff --git a/sonatype.sbt b/sonatype.sbt new file mode 100644 index 0000000..3ea9d96 --- /dev/null +++ b/sonatype.sbt @@ -0,0 +1,49 @@ +description := "Scalariform auto plugin with custom formatting settings" + +homepage := Some( url( "https://github.com/taig/sbtscalariform" ) ) + +licenses := Seq( "MIT" -> url( "https://raw.githubusercontent.com/taig/sbtscalariform/master/LICENSE" ) ) + +organizationHomepage := Some( url( "http://taig.io" ) ) + +pomExtra := { + + https://github.com/taig/sbtscalariform/issues + GitHub Issues + + + + Taig + Niklas Klein + mail@taig.io + http://taig.io/ + + +} + +pomIncludeRepository := { _ => false } + +publishArtifact in Test := false + +publishMavenStyle := true + +publishTo <<= version ( version => { + val url = Some( "https://oss.sonatype.org/" ) + + if( version.endsWith( "SNAPSHOT" ) ) { + url.map( "snapshot" at _ + "content/repositories/snapshots" ) + } + else { + url.map( "release" at _ + "service/local/staging/deploy/maven2" ) + } +} ) + +scmInfo := Some( + ScmInfo( + url( "https://github.com/taig/sbtscalariform" ), + "scm:git:git://github.com/taig/sbtscalariform.git", + Some( "scm:git:git@github.com:taig/sbtscalariform.git" ) + ) +) + +startYear := Some( 2015 ) \ No newline at end of file diff --git a/src/main/scala/io/taig/FormatPlugin.scala b/src/main/scala/io/taig/FormatPlugin.scala new file mode 100644 index 0000000..69109fc --- /dev/null +++ b/src/main/scala/io/taig/FormatPlugin.scala @@ -0,0 +1,36 @@ +package io.taig + +import com.typesafe.sbt.SbtScalariform.{ScalariformKeys, scalariformSettings} +import sbt._ + +import scalariform.formatter.preferences._ + +object FormatPlugin extends AutoPlugin { + override def requires = plugins.JvmPlugin + + override def trigger = allRequirements + + override def projectSettings: Seq[Def.Setting[_]] = scalariformSettings ++ Seq( + ScalariformKeys.preferences := ScalariformKeys.preferences.value + .setPreference( AlignParameters, true ) + .setPreference( AlignArguments, true ) + .setPreference( AlignSingleLineCaseStatements, true ) + .setPreference( CompactControlReadability, true ) + .setPreference( CompactStringConcatenation, false ) + .setPreference( DoubleIndentClassDeclaration, true ) + .setPreference( FormatXml, false ) + .setPreference( IndentLocalDefs, false ) + .setPreference( IndentPackageBlocks, true ) + .setPreference( IndentSpaces, 4 ) + .setPreference( IndentWithTabs, false ) + .setPreference( MultilineScaladocCommentsStartOnFirstLine, false ) + .setPreference( PlaceScaladocAsterisksBeneathSecondAsterisk, false ) + .setPreference( PreserveSpaceBeforeArguments, true ) + .setPreference( RewriteArrowSymbols, true ) + .setPreference( SpaceBeforeColon, false ) + .setPreference( SpaceInsideBrackets, false ) + .setPreference( SpaceInsideParentheses, true ) + .setPreference( SpacesWithinPatternBinders, true ) + .setPreference( SpacesAroundMultiImports, true ) + ) +} \ No newline at end of file diff --git a/src/main/scala/sbt/houserules/BuildPlugin.scala b/src/main/scala/sbt/houserules/BuildPlugin.scala deleted file mode 100644 index 74f4bb0..0000000 --- a/src/main/scala/sbt/houserules/BuildPlugin.scala +++ /dev/null @@ -1,16 +0,0 @@ -package sbt -package houserules - -import sbt._ -import Keys._ - -object HouseRulesPlugin extends AutoPlugin { - override def requires = plugins.JvmPlugin - override def trigger = allRequirements - - override def buildSettings: Seq[Def.Setting[_]] = baseBuildSettings - - val baseBuildSettings: Seq[Def.Setting[_]] = Seq( - organization := "org.scala-sbt" - ) -} diff --git a/src/main/scala/sbt/houserules/FormatPlugin.scala b/src/main/scala/sbt/houserules/FormatPlugin.scala deleted file mode 100644 index 3822a5c..0000000 --- a/src/main/scala/sbt/houserules/FormatPlugin.scala +++ /dev/null @@ -1,22 +0,0 @@ -package sbt -package houserules - -import sbt._ -import Keys._ -import com.typesafe.sbt.SbtScalariform.{ ScalariformKeys => sr, _ } - -object FormatPlugin extends AutoPlugin { - override def requires = plugins.JvmPlugin - override def trigger = allRequirements - - override def projectSettings: Seq[Def.Setting[_]] = baseSettings - - lazy val baseSettings: Seq[Setting[_]] = scalariformSettings ++ Seq( - sr.preferences := formatPrefs - ) - - def formatPrefs = { - import scalariform.formatter.preferences._ - FormattingPreferences().setPreference(AlignSingleLineCaseStatements, true) - } -} diff --git a/src/main/scala/sbt/houserules/GitVersionPlugin.scala b/src/main/scala/sbt/houserules/GitVersionPlugin.scala deleted file mode 100644 index a281d0a..0000000 --- a/src/main/scala/sbt/houserules/GitVersionPlugin.scala +++ /dev/null @@ -1,22 +0,0 @@ -package sbt -package houserules - -import sbt._ -import Keys._ -import com.typesafe.sbt.SbtGit._ - -object GitVersionPlugin extends AutoPlugin { - override def requires = plugins.JvmPlugin - override def trigger = allRequirements - - override def buildSettings: Seq[Def.Setting[_]] = baseBuildSettings - - lazy val baseBuildSettings: Seq[Setting[_]] = versionWithGit ++ Seq( - isSnapshot := true, - version := { - val old = version.value - if (isSnapshot.value) old - else git.baseVersion.value - } - ) -}