Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update resolvers and move build files down for updates #86

Merged
merged 2 commits into from
Jan 27, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion play-scala-isolated-slick-example/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Play with Slick 3.1
# Play with Slick 3.3

This project shows Play working with Slick.

Expand Down
85 changes: 78 additions & 7 deletions play-scala-isolated-slick-example/build.sbt
Original file line number Diff line number Diff line change
@@ -1,29 +1,100 @@
import play.core.PlayVersion.{ current => playVersion }
import com.github.tototoshi.sbt.slick.CodegenPlugin.autoImport.{slickCodegenDatabasePassword, slickCodegenDatabaseUrl, slickCodegenJdbcDriver}
import play.core.PlayVersion.{current => playVersion}
import _root_.slick.codegen.SourceCodeGenerator
import _root_.slick.{model => m}

lazy val databaseUrl = sys.env.getOrElse("DB_DEFAULT_URL", "jdbc:h2:./test")
lazy val databaseUser = sys.env.getOrElse("DB_DEFAULT_USER", "sa")
lazy val databasePassword = sys.env.getOrElse("DB_DEFAULT_PASSWORD", "")

version in ThisBuild := "1.1-SNAPSHOT"

resolvers in ThisBuild ++= Seq(
"scalaz-bintray" at "https://dl.bintray.com/scalaz/releases",
Resolver.sonatypeRepo("releases"),
Resolver.sonatypeRepo("snapshots"))

libraryDependencies in ThisBuild ++= Seq(
"javax.inject" % "javax.inject" % "1",
"joda-time" % "joda-time" % "2.10.2",
"org.joda" % "joda-convert" % "2.2.1",
"com.google.inject" % "guice" % "4.2.2"
)

scalaVersion in ThisBuild := "2.13.1"
scalacOptions in ThisBuild ++= Seq(
"-encoding", "UTF-8", // yes, this is 2 args
"-deprecation",
"-feature",
"-unchecked",
"-Xlint",
"-Ywarn-numeric-widen"
)
javacOptions in ThisBuild ++= Seq("-source", "1.8", "-target", "1.8")

lazy val flyway = (project in file("modules/flyway"))
.enablePlugins(FlywayPlugin)
.settings(Common.scalaSettings)
.settings(
libraryDependencies += "org.flywaydb" % "flyway-core" % "6.1.0",
flywayLocations := Seq("classpath:db/migration"),
flywayUrl := databaseUrl,
flywayUser := databaseUser,
flywayPassword := databasePassword,
flywayBaselineOnMigrate := true
)

lazy val api = (project in file("modules/api"))
.settings(Common.projectSettings)


lazy val slick = (project in file("modules/slick"))
.enablePlugins(CodegenPlugin)
.settings(Common.projectSettings)
.settings(
libraryDependencies ++= Seq(
"com.zaxxer" % "HikariCP" % "3.3.1",
"com.typesafe.slick" %% "slick" % "3.3.2",
"com.typesafe.slick" %% "slick-hikaricp" % "3.3.2",
"com.github.tototoshi" %% "slick-joda-mapper" % "2.4.1"
),

slickCodegenDatabaseUrl := databaseUrl,
slickCodegenDatabaseUser := databaseUser,
slickCodegenDatabasePassword := databasePassword,
slickCodegenDriver := _root_.slick.jdbc.H2Profile,
slickCodegenJdbcDriver := "org.h2.Driver",
slickCodegenOutputPackage := "com.example.user.slick",
slickCodegenExcludedTables := Seq("schema_version"),

slickCodegenCodeGenerator := { (model: m.Model) =>
new SourceCodeGenerator(model) {
override def code =
"import com.github.tototoshi.slick.H2JodaSupport._\n" + "import org.joda.time.DateTime\n" + super.code

override def Table = new Table(_) {
override def Column = new Column(_) {
override def rawType = model.tpe match {
case "java.sql.Timestamp" => "DateTime" // kill j.s.Timestamp
case _ =>
super.rawType
}
}
}
}
},
sourceGenerators in Compile += slickCodegen.taskValue
)
.aggregate(api)
.dependsOn(api)

lazy val root = (project in file("."))
.enablePlugins(PlayScala)
.settings(
name := """play-scala-isolated-slick-example""",
version := "1.1-SNAPSHOT",
scalaVersion := "2.13.1",
TwirlKeys.templateImports += "com.example.user.User",
libraryDependencies ++= Seq(
guice,
"com.h2database" % "h2" % "1.4.199",
"org.flywaydb" % "flyway-core" % "6.1.0",
ws % Test,
"org.flywaydb" % "flyway-core" % "6.1.0" % Test,
"org.scalatestplus.play" %% "scalatestplus-play" % "5.0.0" % Test
),
fork in Test := true
Expand Down
20 changes: 0 additions & 20 deletions play-scala-isolated-slick-example/modules/flyway/build.sbt

This file was deleted.

39 changes: 0 additions & 39 deletions play-scala-isolated-slick-example/modules/slick/build.sbt

This file was deleted.

32 changes: 0 additions & 32 deletions play-scala-isolated-slick-example/project/Build.scala

This file was deleted.

2 changes: 1 addition & 1 deletion play-scala-isolated-slick-example/project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repos

resolvers += "Flyway" at "https://flywaydb.org/repo"

resolvers += "Flyway" at "https://davidmweber.github.io/flyway-sbt.repo"
resolvers += "Flyway SBT" at "https://davidmweber.github.io/flyway-sbt.repo"

// Database migration
addSbtPlugin("io.github.davidmweber" % "flyway-sbt" % "6.0.7")
Expand Down