Skip to content

Commit

Permalink
Merge pull request #158 from Raphtory/dev
Browse files Browse the repository at this point in the history
Version 0.3.0 - pre full project refactor
  • Loading branch information
miratepuffin authored Aug 20, 2021
2 parents 56b999f + 64cd861 commit 65074b4
Show file tree
Hide file tree
Showing 150 changed files with 303,733 additions and 508,266 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ mainproject/build.sbt

sbt/
cluster/src/main/scala/scala.iml
src/main/scala/com/raphtory/algorithms/testAlgo.scala
src/main/scala/com/raphtory/testDeploy.scala

.env
Expand Down Expand Up @@ -75,4 +74,4 @@ logs
.idea

**/logs/**

/src/main/scala/com/raphtory/dev/algorithms/test.scala
249 changes: 87 additions & 162 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,108 +2,40 @@ import com.typesafe.sbt.packager.archetypes.scripts.AshScriptPlugin
import com.typesafe.sbt.packager.docker.Cmd
import sbtassembly.MergeStrategy

val Akka = "2.5.26"
val Config = "1.2.1"
val JodaT = "2.3"
val Logback = "1.1.2"
val Scala = "2.12.4"
val Slf4j = "1.7.7"
val lightBend = "1.0.5"
val SbtPackager = "1.2.0"
lazy val root = Project(id = "raphtory", base = file(".")) aggregate (raphtory)

val resolutionRepos = Seq(
"Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/",
"Akka Snapshots" at "http://repo.akka.io/snapshots/",
"OSS" at "http://oss.sonatype.org/content/repositories/releases",
"Mvn" at "http://mvnrepository.com/artifact" // for commons_exec
)

def dep_compile(deps: ModuleID*): Seq[ModuleID] = deps map (_ % "compile")
def dep_test(deps: ModuleID*): Seq[ModuleID] =
deps map (_ % "test") // test vs test so as not to confuse w/sbt 'test'

val akka_actor = "com.typesafe.akka" %% "akka-actor" % Akka
val akka_slf4j = "com.typesafe.akka" %% "akka-slf4j" % Akka
val akka_remote = "com.typesafe.akka" %% "akka-remote" % Akka
val akka_cluster = "com.typesafe.akka" %% "akka-cluster" % Akka
val akka_tools = "com.typesafe.akka" %% "akka-cluster-tools" % Akka
val akka_dist_data = "com.typesafe.akka" %% "akka-distributed-data" % Akka
val akka_actor_typed = "com.typesafe.akka" %% "akka-actor-typed" % Akka
val akka_cluster_typed = "com.typesafe.akka" %% "akka-cluster-typed" % Akka
val akka_http = "com.typesafe.akka" %% "akka-http" % "10.1.11"
val reflect = "org.scala-lang" % "scala-reflect" % "2.12.4"
val compile = "org.scala-lang" % "scala-compiler" % "2.12.4"

val akka_management = "com.lightbend.akka.management" %% "akka-management" % lightBend
val akka_management2 = "com.lightbend.akka.management" %% "akka-management-cluster-bootstrap" % lightBend
val kube = "com.lightbend.akka.discovery" %% "akka-discovery-kubernetes-api" % lightBend

val typesafe_config = "com.typesafe" % "config" % Config

val spray_json = "io.spray" % "spray-json_2.12" % "1.3.3"
//val scalajack = "co.blocke" % "scalajack_2.12" % "4.1"
val logback = "ch.qos.logback" % "logback-classic" % Logback
val slf4j_simple = "org.slf4j" % "slf4j-api" % "1.7.25"
val apacheLang = "commons-lang" % "commons-lang" % "2.6"
val joda = "joda-time" % "joda-time" % "2.10.5"

val kafka = "org.apache.kafka" %% "kafka" % "2.5.0"
val kafkac = "org.apache.kafka" % "kafka-clients" % "2.5.0"

val kamon = "io.kamon" %% "kamon-core" % "2.1.0"
val kamon_prometheus = "io.kamon" %% "kamon-prometheus" % "2.1.0"
val kamon_akka = "io.kamon" %% "kamon-akka" % "2.1.0"
val kamon_system = "io.kamon" %% "kamon-system-metrics" % "2.1.0"
val kamon_netty = "io.kamon" %% "kamon-netty" % "1.0.0"
//val monix = "io.monix" %% "monix" % "3.0.0-RC1"
val mongo = "org.mongodb" % "mongo-java-driver" % "3.12.4"
val mongoscala ="org.mongodb.scala" %% "mongo-scala-driver" % "2.9.0"

val casbah = "org.mongodb" %% "casbah-core" % "3.1.1"

//val doobie = "org.tpolecat" %% "doobie-core" % "0.8.4"
//val doobiepostgres =
// "org.tpolecat" %% "doobie-postgres" % "0.8.4" // Postgres driver 42.2.8 + type mappings.
val lift = "net.liftweb" %% "lift-json" % "3.3.0"

//val bitcoin = "org.scalaj" %% "scalaj-http" % "2.3.0"
//val twitter_eval = "com.twitter" %% "util-eval" % "6.43.0"
val hadoop = "org.apache.hadoop" % "hadoop-client" % "3.3.0"

// https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk
//val aws = "com.amazonaws" % "aws-java-sdk" % "1.11.897"
val parquet = "com.github.mjakubowski84" %% "parquet4s-core" % "1.6.0"
//val h3 = "com.uber" % "h3" % "3.6.4"


val IP = java.net.InetAddress.getLocalHost.getHostAddress

lazy val basicSettings = Seq(
organization := "com.raphtory",
description := "Raphtory Distributed Graph Stream Processing",
startYear := Some(2014),
scalaVersion := Scala,
packageName := "raphtory",
parallelExecution in Test := false,
//resolvers ++= Dependencies.resolutionRepos,
//resolvers ++= kamon_repos,
scalacOptions := Seq(
"-feature",
"-deprecation",
"-encoding",
"UTF8",
"-unchecked"
),
testOptions in Test += Tests.Argument("-oDF"),
version := "latest"
"Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/",
"Akka Snapshots" at "http://repo.akka.io/snapshots/",
"OSS" at "http://oss.sonatype.org/content/repositories/releases",
"Mvn" at "http://mvnrepository.com/artifact" // for commons_exec
)

lazy val dockerStuff = Seq(
maintainer := "Imane Hafnaoui <[email protected]>",
dockerBaseImage := "miratepuffin/raphtory-redis:latest",
dockerRepository := Some("miratepuffin"),
dockerExposedPorts := Seq(2551, 8080, 2552, 1600, 11600,8081,46339,9100),

lazy val globalSettings = Seq(
organization := "com.raphtory",
startYear := Some(2014),
scalaVersion := "2.12.4",
packageName := "raphtory",
parallelExecution in Test := false,
scalacOptions := Seq(
"-feature",
"-deprecation",
"-encoding",
"UTF8",
"-unchecked"
),
testOptions in Test += Tests.Argument("-oDF"),
version := "latest",
// docker settings
maintainer := "Ben Steer <[email protected]>",
dockerBaseImage := "miratepuffin/raphtory-redis:latest",
dockerExposedPorts := Seq(2551, 8080, 2552,25520, 1600, 11600,8081,46339,9100),
dockerRepository := Some("tsukitsune"),
dockerEntrypoint := Seq("bash"),
dockerCommands ++= Seq(
Cmd("ENV", "PATH=/opt/docker/bin:${PATH}"),
Cmd("RUN", "chmod 755 bin/env-setter.sh")
)
)

lazy val mergeStrategy: String => MergeStrategy = {
Expand Down Expand Up @@ -131,73 +63,66 @@ lazy val mergeStrategy: String => MergeStrategy = {
case _ => MergeStrategy.first
}

lazy val root = Project(id = "raphtory", base = file(".")) aggregate (raphtory)

lazy val raphtory = project
.in(file("."))
.enablePlugins(JavaAppPackaging)
.enablePlugins(AshScriptPlugin)
.enablePlugins(JavaAgent)
.settings(isSnapshot := true)
.settings(dockerStuff: _*)
.settings(
mappings in Universal +=
file(s"${baseDirectory.value}/Build-Scripts/env-setter.sh") -> "bin/env-setter.sh"
)
.settings(dockerEntrypoint := Seq("bash"))
.settings(
dockerCommands ++= Seq(
Cmd("ENV", "PATH=/opt/docker/bin:${PATH}"),
Cmd("RUN", "chmod 755 bin/env-setter.sh")
)
.in(
file(".")
)
.settings(basicSettings: _*)
.settings(
libraryDependencies ++=
dep_compile(
reflect,
compile,
typesafe_config,
akka_actor,
akka_cluster,
akka_tools,
akka_dist_data,
akka_http,
akka_remote,
akka_slf4j,
logback,
spray_json,
akka_management,
akka_management2,
kube,
kamon,
kamon_akka,
kamon_prometheus,
kamon_system,
//monix,
//bitcoin,
//twitter_eval,
lift,
apacheLang,
kafka,
kafkac,
//doobie,
//doobiepostgres,
joda,
casbah,
mongo,
mongoscala,
//aws,
parquet,
hadoop
// h3
)
)
.settings(
javaAgents += "org.aspectj" % "aspectjweaver" % "1.8.13",
javaOptions in Universal += "-Dorg.aspectj.tracing.factory=default"
.enablePlugins(
JavaAppPackaging,
AshScriptPlugin,
JavaAgent
)
.settings(globalSettings:_*)
.settings(
name := "Raphtory",
description := "Raphtory Distributed Graph Stream Processing",
isSnapshot := true,
mappings in Universal += file(s"${baseDirectory.value}/Build-Scripts/env-setter.sh") -> "bin/env-setter.sh",
assemblyMergeStrategy in assembly := mergeStrategy,
mainClass in assembly := Some("com.raphtory.Go")
mainClass in assembly := Some("com.raphtory.Go"),
javaOptions in Universal += "-Dorg.aspectj.tracing.factory=default",
javaAgents += "org.aspectj" % "aspectjweaver" % "1.8.13",
libraryDependencies += "org.scala-lang" % "scala-reflect" % "2.12.4",
libraryDependencies += "org.scala-lang" % "scala-compiler" % "2.12.4",
libraryDependencies += "com.typesafe" % "config" % "1.2.1",
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.6.14",
libraryDependencies += "com.typesafe.akka" %% "akka-slf4j" % "2.6.14",
libraryDependencies += "com.typesafe.akka" %% "akka-remote" % "2.6.14",
libraryDependencies += "com.typesafe.akka" %% "akka-cluster" % "2.6.14",
libraryDependencies += "com.typesafe.akka" %% "akka-cluster-tools" % "2.6.14",
libraryDependencies += "com.typesafe.akka" %% "akka-distributed-data" % "2.6.14",
libraryDependencies += "com.typesafe.akka" %% "akka-actor-typed" % "2.6.14",
libraryDependencies += "com.typesafe.akka" %% "akka-cluster-typed" % "2.6.14",
libraryDependencies += "com.typesafe.akka" %% "akka-discovery" % "2.6.14",
libraryDependencies += "com.typesafe.akka" %% "akka-http" % "10.2.4",
libraryDependencies += "com.typesafe.akka" %% "akka-http-spray-json" % "10.2.4",
libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.2.3",
libraryDependencies += "io.spray" % "spray-json_2.12" % "1.3.6",
libraryDependencies += "com.lightbend.akka.management" %% "akka-management" % "1.1.0",
libraryDependencies += "com.lightbend.akka.management" %% "akka-management-cluster-bootstrap" % "1.1.0",
libraryDependencies += "com.lightbend.akka.discovery" %% "akka-discovery-kubernetes-api" % "1.1.0",
libraryDependencies += "io.kamon" %% "kamon-core" % "2.1.0",
libraryDependencies += "io.kamon" %% "kamon-prometheus" % "2.1.0",
libraryDependencies += "io.kamon" %% "kamon-akka" % "2.1.0",
libraryDependencies += "io.kamon" %% "kamon-system-metrics" % "2.1.0",
libraryDependencies += "net.liftweb" %% "lift-json" % "3.3.0",
libraryDependencies += "commons-lang" % "commons-lang" % "2.6",
libraryDependencies += "org.apache.kafka" %% "kafka" % "2.5.0",
libraryDependencies += "org.apache.kafka" % "kafka-clients" % "2.5.0",
libraryDependencies += "joda-time" % "joda-time" % "2.10.5",
libraryDependencies += "org.mongodb" %% "casbah-core" % "3.1.1",
libraryDependencies += "org.mongodb" % "mongo-java-driver" % "3.12.4",
libraryDependencies += "org.mongodb.scala" %% "mongo-scala-driver" % "2.9.0",
libraryDependencies += "com.github.mjakubowski84" %% "parquet4s-core" % "1.6.0",
libraryDependencies += "org.apache.hadoop" % "hadoop-client" % "3.3.0",
libraryDependencies += "io.altoo" %% "akka-kryo-serialization" % "2.2.0",
libraryDependencies += "com.thesamet.scalapb" %% "compilerplugin" % "0.11.1",
libraryDependencies += "net.openhft" % "zero-allocation-hashing" % "0.15",
libraryDependencies ++= Seq(
"com.thesamet.scalapb" %% "scalapb-runtime" % scalapb.compiler.Version.scalapbVersion % "protobuf"
),
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % Test,
Compile / PB.targets := Seq(
scalapb.gen() -> (Compile / sourceManaged).value / "scalapb"
)
)
3 changes: 3 additions & 0 deletions project/scalapb.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
addSbtPlugin("com.thesamet" % "sbt-protoc" % "1.0.3")

libraryDependencies += "com.thesamet.scalapb" %% "compilerplugin" % "0.11.1"
Loading

0 comments on commit 65074b4

Please sign in to comment.