score:0
we have eventually ended up with the following configuration:
we have an sbt root project (which happen to be also a git project)
and this project contains no code, and only acts as an aggregator for sbt subprojects.
the sbt subprojects (which also happen to be standalone git repos) contain all configuration needed to be independent standalone sbt projects (with their own build.sbt and plugins.sbt definitions).
pros:
- each subproject has it's own version.
- the ci system can concentrate on the subprojects without knowing anyhthing about the parent root project.
- we can open all those project at once with intellij from the root sbt project.
cons:
- can not aggregate mutual configurations for sbt subprojects in one place.
- the only value of the root project is in the ability it provides us opening all subprojects inside the same intellij instance.
the commits for the root project are pretty useless, so the "git multimodule" overhead ceremony is really something to consider twice.
next step: we are considering to remove the root project from git and staying just with the subprojects as standalone git repos.
yes it will eliminate the possibility to clone "everything needed at once" and each team member will have to maintain the root aggregator project as a local directory, but on the other side maintaining a 'git with submodules' project requires continuous effort as well.
Source: stackoverflow.com
Related Query
- Managing sbt dependencies with git submodules
- Using sbt-dynver with git submodules
- How is an sbt task defined using <<= different from one defined with := that references another setting's .value?
- Extremely slow compile time with SBT auto-reload using play! and scala-js
- Using SSH authentication with JGit to Access a Git Repository Securely / Auth fail
- Issue with BufferedReader.readLine using sbt run or sbt console
- Dependencies with ensime using type sbt
- Using sbt with custom Scala builds
- Renaming jar files with sbt when using SbtOneJar
- How can i publish snapshots when using sbt with the bintray-sbt plugin?
- Can ScalaCheck/Specs warnings safely be ignored when using SBT with ScalaTest?
- scala is using akka shipped with binary distribution instead of sbt 's one
- sbt "Conflicting cross-version suffixes" error with Spark using elasticsearch-hadoop
- Troubles with sbt compiling offline using org.apache.hadoop/* dependencies
- Using ScalaTest with SBT android-sdk-plugin
- Using the Play WS API from pure Scala with sbt
- Compatibility Error When Using Scala SBT with Code Coverage
- How to create new test report directory with timestamp every time I run a test and keep the old test reports using scalatest and sbt
- module not found: io.spray#sbt-revolver;0.7.2 using intellij 14.1.4 with sbt 0.13.5
- Sbt plugin published to nexus with sbt.version 1.2.8 is not resolved by sbt projects which are using sbt.version >1.2.8
- Using SBT with scala using offline dependencies
- Using Git local repository as dependency in SBT project?
- Sbt compile error with poi-ooxml-schemas-3.9.jar using Scala
- Issue with using Macros in SBT
- Cannot resolve package when referencing Git library with SBT
- Using jars in Scala project with SBT
- NoClassDefFoundError for Play app with sbt using Eclipse
- Log4j vulnerability while using Scala and Spark with sbt
- Pass arguments to a specific test framework when using test-only with SBT
- Issues with using Scoverage: Scala Sbt
More Query from same tag
- Structure JNA returns wrong value
- How to correctly schedule task in Play Framework 2.4.2 scala?
- Lift - Setting it up
- Scala 3 : Finding functions with the given annotation
- How to access object with "creative" names in scala?
- akka streams stops after parallelism
- Scala type error
- how to deal with error SPARK-5063 in spark
- Keys into columns and values into rows in a Map
- How to use different names when mapping JSON array to Scala object using combinators
- Scala guarded pattern with or matching
- kafka-streams-scala version vis-à-vis kafka-streams version
- Get hostname and pid in scala without using java classes?
- Am working in ADF i need to export data from sql source to Excel destination, Is there way to use Excel(.xlsx) as destination in ADF ? Notebook?
- Permission Denied Error and Service Unavailable, when starting jetty as a service
- Scalaz task firstCompletedOf
- scala.tools.nsc.interpreter memory leak
- Regex pattern works in javascript but fails in scala with PatternSyntaxException: Unclosed character class
- Scala Parent Class like Parent class in java i,e Java.lang.Object
- How to integrate sbt-protoc and scalapb with sbt cross build?
- Play 2.5 - Run a Java method at certain times of day (cron)
- Extracting Column Details & Type from Schema Scala
- Getting a jar does not exist and java.lang.ClassNotFoundException while running a simple twitter sentiment analysis code
- Scalatest implicit Equality for Containers
- How to mock a method without a parameter list with ScalaMock 5.0.0?
- How to replace values in RDD 1 per keys in RDD 2?
- Updating some row values in a Spark DataFrame
- Why is a to `Any` casted `String` object no more considered as String (while the other way round it is)?
- My function can not find a class but a case class inside the same Object
- The optimal way to lock and write to a file in Scala on Linux