@@ -21,6 +21,23 @@ object ProjectPlugin extends AutoPlugin {
2121
2222 object autoImport {
2323
24+ lazy val V = new {
25+ val base64 : String = " 0.2.4"
26+ val cats : String = " 1.5.0"
27+ val catsEffect : String = " 1.1.0"
28+ val circe : String = " 0.11.0"
29+ val paradise : String = " 2.1.1"
30+ val roshttp : String = " 2.2.3"
31+ val simulacrum : String = " 0.14.0"
32+ val scala211 : String = " 2.11.12"
33+ val scala212 : String = " 2.12.8"
34+ val scalaj : String = " 2.4.1"
35+ val scalamockScalatest : String = " 3.6.0"
36+ val scalaTest : String = " 3.0.5"
37+ val scalaz : String = " 7.2.27"
38+
39+ }
40+
2441 lazy val micrositeSettings = Seq (
2542 micrositeName := " Github4s" ,
2643 micrositeDescription := " Github API wrapper written in Scala" ,
@@ -46,41 +63,46 @@ object ProjectPlugin extends AutoPlugin {
4663 )
4764
4865 lazy val commonCrossDeps = Seq (
49- %% (" cats-core" ),
50- %% (" cats-free" ),
51- %% (" simulacrum" ),
52- %% (" circe-core" ),
53- %% (" circe-generic" ),
54- %% (" circe-parser" ),
55- %% (" base64" ),
56- %% (" scalamockScalatest" ) % " test" ,
57- %% (" scalatest" ) % " test"
66+ libraryDependencies ++= Seq (
67+ %% (" cats-core" , V .cats),
68+ %% (" cats-free" , V .cats),
69+ %% (" simulacrum" , V .simulacrum),
70+ %% (" circe-core" , V .circe),
71+ %% (" circe-generic" , V .circe),
72+ %% (" circe-parser" , V .circe),
73+ %% (" base64" , V .base64),
74+ %% (" scalamockScalatest" , V .scalamockScalatest) % " test" ,
75+ %% (" scalatest" , V .scalaTest) % " test"
76+ )
5877 )
5978
6079 lazy val standardCommonDeps = Seq (
61- libraryDependencies += compilerPlugin(%% (" paradise" ) cross CrossVersion .full)
80+ libraryDependencies += compilerPlugin(%% (" paradise" , V .paradise ) cross CrossVersion .full)
6281 )
6382
6483 lazy val jvmDeps = Seq (
6584 libraryDependencies ++= Seq (
66- %% (" scalaj" ),
85+ %% (" scalaj" , V .scalaj ),
6786 " org.mock-server" % " mockserver-netty" % " 3.10.4" % " test" excludeAll ExclusionRule (
6887 " com.twitter" )
6988 )
7089 )
7190
72- lazy val jsDeps : Def .Setting [Seq [ModuleID ]] = libraryDependencies += %%% (" roshttp" )
91+ lazy val jsDeps : Def .Setting [Seq [ModuleID ]] = libraryDependencies += %%% (" roshttp" , V .roshttp )
7392
74- lazy val docsDependencies : Def .Setting [Seq [ModuleID ]] = libraryDependencies += %% (" scalatest" )
93+ lazy val docsDependencies : Def .Setting [Seq [ModuleID ]] = libraryDependencies += %% (
94+ " scalatest" ,
95+ V .scalaTest)
7596
7697 lazy val scalazDependencies : Def .Setting [Seq [ModuleID ]] =
77- libraryDependencies += %% (" scalaz-concurrent" )
98+ libraryDependencies += %% (" scalaz-concurrent" , V .scalaz )
7899
79- lazy val catsEffectDependencies : Seq [ ModuleID ] =
80- Seq (
81- %% (" cats-effect" ),
82- %% (" scalatest" ) % " test"
100+ lazy val catsEffectDependencies = Seq (
101+ libraryDependencies ++= Seq (
102+ %% (" cats-effect" , V .catsEffect ),
103+ %% (" scalatest" , V .scalaTest ) % " test"
83104 )
105+ )
84106
85107 def toCompileTestList (sequence : Seq [ProjectReference ]): List [String ] = sequence.toList.map {
86108 p =>
@@ -89,17 +111,20 @@ object ProjectPlugin extends AutoPlugin {
89111 }
90112 }
91113
114+ import autoImport .V
115+
92116 override def projectSettings : Seq [Def .Setting [_]] =
93117 Seq (
94118 name := " github4s" ,
95119 orgProjectName := " Github4s" ,
96120 description := " Github API wrapper written in Scala" ,
97121 startYear := Option (2016 ),
98122 resolvers += Resolver .sonatypeRepo(" snapshots" ),
99- scalaVersion := scalac.`2.12` ,
100- crossScalaVersions := scalac.crossScalaVersions ,
123+ scalaVersion := V .scala212 ,
124+ crossScalaVersions := Seq ( V .scala211, V .scala212) ,
101125 scalacOptions ~= (_ filterNot Set (" -Xlint" ).contains),
102126 orgGithubTokenSetting := " GITHUB4S_ACCESS_TOKEN" ,
127+ resolvers += Resolver .bintrayRepo(" hmil" , " maven" ),
103128 orgBadgeListSetting := List (
104129 TravisBadge .apply(_),
105130 GitterBadge .apply(_),
0 commit comments