Skip to content

Instantly share code, notes, and snippets.

@regadas
Created January 24, 2020 16:47
Show Gist options
  • Save regadas/9cbdb214792c2251a2195a465c3b247c to your computer and use it in GitHub Desktop.
Save regadas/9cbdb214792c2251a2195a465c3b247c to your computer and use it in GitHub Desktop.
scio ConflictManager.strict experiment
import sbt._
import Keys._
ThisBuild / conflictManager := ConflictManager.strict
ThisBuild / dependencyOverrides ++= Seq(
"com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.2",
"com.fasterxml.jackson.core" % "jackson-core" % "2.10.2",
"com.fasterxml.jackson.core" % "jackson-databind" % "2.10.2",
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.10.2",
"com.google.api" % "api-common" % "1.7.0",
"com.google.api" % "gax" % "1.38.0",
"com.google.api" % "gax-grpc" % "1.38.0",
"com.google.api-client" % "google-api-client" % "1.27.0",
"com.google.api.grpc" % "proto-google-cloud-bigtable-v2" % "0.44.0",
"com.google.api.grpc" % "proto-google-cloud-datastore-v1" % "0.44.0",
"com.google.api.grpc" % "proto-google-common-protos" % "1.12.0",
"com.google.apis" % "google-api-services-storage" % "v1-rev20181109-1.27.0",
"com.google.auth" % "google-auth-library-credentials" % "0.12.0",
"com.google.auth" % "google-auth-library-oauth2-http" % "0.12.0",
"com.google.cloud" % "google-cloud-core" % "1.61.0",
"com.google.cloud" % "google-cloud-core-grpc" % "1.61.0",
"com.google.code.findbugs" % "jsr305" % "3.0.1",
"com.google.errorprone" % "error_prone_annotations" % "2.3.2",
"com.google.guava" % "guava" % "20.0",
"com.google.http-client" % "google-http-client" % "1.27.0",
"com.google.oauth-client" % "google-oauth-client" % "1.27.0",
"com.google.protobuf" % "protobuf-java" % "3.5.1",
"com.google.protobuf" % "protobuf-java-util" % "3.5.1",
"com.squareup.okio" % "okio" % "1.13.0",
"com.thoughtworks.paranamer" % "paranamer" % "2.8",
"com.twitter" % "algebird-core_2.12" % "0.13.6",
"io.grpc" % "grpc-auth" % "1.17.1",
"io.grpc" % "grpc-context" % "1.17.1",
"io.grpc" % "grpc-core" % "1.17.1",
"io.grpc" % "grpc-netty-shaded" % "1.17.1",
"io.grpc" % "grpc-protobuf" % "1.17.1",
"io.grpc" % "grpc-stub" % "1.17.1",
"io.netty" % "netty-codec-http2" % "4.1.30.Final",
"io.opencensus" % "opencensus-api" % "0.17.0",
"io.opencensus" % "opencensus-contrib-grpc-util" % "0.17.0",
"joda-time" % "joda-time" % "2.10.5",
"junit" % "junit" % "4.12",
"org.apache.commons" % "commons-compress" % "1.19",
"org.apache.commons" % "commons-lang3" % "3.9",
"org.apache.xbean" % "xbean-asm7-shaded" % "4.15",
"org.codehaus.jackson" % "jackson-core-asl" % "1.9.13",
"org.hamcrest" % "hamcrest-core" % "2.2",
"org.objenesis" % "objenesis" % "2.5.1",
"org.scala-lang.modules" % "scala-xml_2.12" % "1.2.0",
"org.slf4j" % "slf4j-api" % "1.7.25",
"org.tukaani" % "xz" % "1.8",
"org.xerial.snappy" % "snappy-java" % "1.1.4"
)
val scioVersion = "0.8.0"
val beamVersion = "2.17.0"
val scalaMacrosVersion = "2.1.1"
lazy val commonSettings = Defaults.coreDefaultSettings ++ Seq(
organization := "example",
// Semantic versioning http://semver.org/
version := "0.1.0-SNAPSHOT",
scalaVersion := "2.12.10",
scalacOptions ++= Seq(
"-target:jvm-1.8",
"-deprecation",
"-feature",
"-unchecked"
),
javacOptions ++= Seq("-source", "1.8", "-target", "1.8")
)
lazy val paradiseDependency =
"org.scalamacros" % "paradise" % scalaMacrosVersion cross CrossVersion.full
lazy val macroSettings = Seq(
libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value,
addCompilerPlugin(paradiseDependency)
)
lazy val root: Project = project
.in(file("."))
.settings(commonSettings)
.settings(macroSettings)
.settings(
name := "scio-helloworld",
description := "scio-helloworld",
publish / skip := true,
run / classLoaderLayeringStrategy := ClassLoaderLayeringStrategy.Flat,
libraryDependencies ++= Seq(
"com.spotify" %% "scio-core" % scioVersion,
"com.spotify" %% "scio-test" % scioVersion % Test,
"org.apache.beam" % "beam-runners-direct-java" % beamVersion,
// optional dataflow runner
// "org.apache.beam" % "beam-runners-google-cloud-dataflow-java" % beamVersion,
"org.slf4j" % "slf4j-simple" % "1.7.25"
)
)
.enablePlugins(PackPlugin)
lazy val repl: Project = project
.in(file(".repl"))
.settings(commonSettings)
.settings(macroSettings)
.settings(
name := "repl",
description := "Scio REPL for scio-helloworld",
libraryDependencies ++= Seq("com.spotify" %% "scio-repl" % scioVersion),
Compile / mainClass := Some("com.spotify.scio.repl.ScioShell"),
publish / skip := true
)
.dependsOn(root)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment