package sbt
import java.io.{File, Writer}
object object sbt.DotGraphDotGraph
{
def (sbt.CompileAnalysis,sbt.Path,sbt.Logger)Option[String]apply(sbt.CompileAnalysisanalysis: sbt.CompileAnalysisCompileAnalysis, sbt.PathoutputDirectory: sbt.PathPath, sbt.Loggerlog: sbt.LoggerLogger) =
{
val java.io.FileoutputDir = sbt.PathoutputDirectory.=> java.io.FileasFile
def [Key, Value](String,String,Iterable[(Key, scala.collection.Set[Value])],(Key) => String,(Value) => String)Option[String]generateGraph[>: Nothing <: AnyKey, >: Nothing <: AnyValue](StringfileName: StringString, StringgraphName: StringString, Iterable[(Key, scala.collection.Set[Value])]graph: Iterable[(Key, scala.collection.Set[Value])]Iterable[(Key, scala.collection.Set[Value])],
(Key) => StringkeyToString: Key => String, (Value) => StringvalueToString: Value => String) =
{
object sbt.FileUtilitiesFileUtilities.(java.io.File,sbt.Logger)((java.io.Writer) => Option[String])Option[String]write((java.io.File,java.lang.String)java.io.Filenew java.io.FileFile(java.io.FileoutputDir, StringfileName), sbt.Loggerlog)
{
(java.io.Writerwriter: java.io.WriterWriter) =>
{
def (String)UnitwriteLine(Stringline: StringString) = object sbt.FileUtilitiesFileUtilities.(java.io.Writer,String)UnitwriteLine(java.io.Writerwriter, Stringline)
(String)UnitwriteLine(java.lang.String("digraph ")"digraph " (Any)java.lang.String+ StringgraphName (Any)java.lang.String+ java.lang.String(" {")" {")
for( (((Key, scala.collection.Set[Value])) => Unit)Unit(KeydependsOn, scala.collection.Set[Value]dependants) <- Iterable[(Key, scala.collection.Set[Value])]graph; ((Value) => Unit)Unitdependant <- scala.collection.Set[Value]dependants)
(String)UnitwriteLine((Value)StringvalueToString(Valuedependant) (Any)java.lang.String+ java.lang.String(" -> ")" -> " (Any)java.lang.String+ (Key)StringkeyToString(KeydependsOn))
(String)UnitwriteLine(java.lang.String("}")"}")
object NoneNone
}
}
}
object sbt.FileUtilitiesFileUtilities.(java.io.File,sbt.Logger)Option[String]createDirectory(java.io.FileoutputDir, sbt.Loggerlog) (=> Option[String])Option[String]orElse
(String,String,Iterable[(sbt.Path, scala.collection.Set[sbt.Path])],(sbt.Path) => String,(sbt.Path) => String)Option[String]generateGraph(object sbt.BasicAnalysisBasicAnalysis.=> java.lang.StringDependenciesFileName, java.lang.String("dependencies")"dependencies", sbt.CompileAnalysisanalysis.=> Iterable[(sbt.Path, scala.collection.Set[sbt.Path])]allDependencies,
(sbt.Path)java.lang.StringsourceToString, (sbt.Path)java.lang.StringsourceToString) (=> Option[String])Option[String]orElse
(String,String,Iterable[(java.io.File, scala.collection.Set[sbt.Path])],(java.io.File) => String,(sbt.Path) => String)Option[String]generateGraph(object sbt.BasicAnalysisBasicAnalysis.=> java.lang.StringExternalDependenciesFileName, java.lang.String("externalDependencies")"externalDependencies", sbt.CompileAnalysisanalysis.=> Iterable[(java.io.File, scala.collection.Set[sbt.Path])]allExternalDependencies,
(java.io.File)java.lang.StringfileToString, (sbt.Path)java.lang.StringsourceToString)
}
private def (sbt.Path)java.lang.StringsourceToString(sbt.Pathsource: sbt.PathPath) = (java.io.File)java.lang.StringfileToString(sbt.Pathsource.=> java.io.FileasFile)
private def (java.io.File)java.lang.StringfileToString(java.io.Filefile: java.io.FileFile) =
{
val java.lang.StringrawName = java.io.Filefile.()java.lang.StringgetName
val java.lang.Stringname =
java.lang.Stringif(java.lang.StringrawName.(java.lang.String)BooleanendsWith(java.lang.String(".scala")".scala"))
java.lang.StringrawName.(Int,Int)java.lang.Stringsubstring(Int(0)0, java.lang.StringrawName.()Intlength (Int)Int- java.lang.String(".scala")".scala".()Intlength)
else
java.lang.StringrawName
java.lang.String(""")"\"" (Any)java.lang.String+ java.lang.Stringname (Any)java.lang.String+ java.lang.String(""")"\""
}
}