Packages

package inc

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. sealed abstract class APIChange extends xsbti.compile.APIChange
  2. final case class APIChangeDueToMacroDefinition(modified0: String) extends APIChange with Product with Serializable

    If we recompile a source file that contains a macro definition then we always assume that it's api has changed.

    If we recompile a source file that contains a macro definition then we always assume that it's api has changed. The reason is that there's no way to determine if changes to macros implementation are affecting its users or not. Therefore we err on the side of caution.

  3. final class APIChanges extends AnyRef
  4. trait APIs extends AnyRef
  5. sealed class AdaptedRunProfiler extends RunProfiler with DelegatingRunProfiler
  6. trait Analysis extends CompileAnalysis
  7. final class AnalyzingCompiler extends ScalaCompiler

    Implement a cached incremental ScalaCompiler that has been instrumented with the dependency analysis plugin to do incremental compilation.

  8. class BasicMemoryFile extends VirtualFileWrite
  9. class BasicVirtualDirectory extends VirtualDirectory
  10. trait CompanionsStore extends AnyRef
  11. final class Compilation extends xsbti.compile.analysis.Compilation

    Note that this implementation of the interface is part of the public Zinc Scala API.

  12. trait Compilations extends ReadCompilations

    Information about compiler runs accumulated since clean command has been run.

  13. final class CompileConfiguration extends AnyRef

    Configuration used for running an analyzing compiler (a compiler which can extract dependencies between source files and JARs).

  14. class CompileFailed extends xsbti.CompileFailed with FeedbackProvidedException
  15. final class CompilerArguments extends AnyRef

    Construct the list of compiler arguments that are passed to the Scala compiler based on the current xsbti.compile.ScalaInstance and the user-defined xsbti.compile.ClasspathOptions.

    Construct the list of compiler arguments that are passed to the Scala compiler based on the current xsbti.compile.ScalaInstance and the user-defined xsbti.compile.ClasspathOptions.

    This is required because Scala compiler arguments change depending on the Scala version, e.g. the jars for the Scala library and the Scala compiler have to be present in the classpath and match the Scala version of the current Scala compiler.

    The Scala home property (scala.home) must be unset because Scala puts jars in that directory and pass it in as bootclasspath. Therefore, the contents of this property are managed by this implementation and it's strictly forbidden that the client manages this property.

  16. final case class ConcreteAnalysisContents(analysis: CompileAnalysis, miniSetup: MiniSetup) extends AnalysisContents with Product with Serializable
  17. case class ConcreteRootPaths(sourceRoot: File, libraryRoot: File, productRoot: File) extends RootPaths with Product with Serializable
  18. sealed trait CreateZip extends AnyRef
  19. class DummyVirtualFile extends BasicVirtualFileRef with VirtualFile

    This is a dummy VirtualFile that's a simple wrapper around Path.

  20. trait ExternalLookup extends xsbti.compile.ExternalHooks.Lookup

    Defines a hook interface that IDEs or build tools can mock to modify the way Zinc invalidates the incremental compiler.

    Defines a hook interface that IDEs or build tools can mock to modify the way Zinc invalidates the incremental compiler. These hooks operate at a high-level of abstraction and only allow to modify the inputs of the initial change detection.

  21. final class FarmHash extends StampBase

    Define the hash of the file contents.

    Define the hash of the file contents. It's a typical stamp for compilation sources.

  22. sealed trait FileValueCache[T] extends AnyRef

    Cache based on path and its stamp.

  23. class FilteredReporter extends LoggedReporter

    Defines a filtered reporter to control which messages are reported or not.

    Defines a filtered reporter to control which messages are reported or not.

    This implementation has been adapted from the Pants repository. https://github.com/pantsbuild/pants/blob/master/src/scala/org/pantsbuild/zinc/logging/Reporters.scala#L28

    This reporter may be useful to companies that have domain-specific knowledge about compile messages that are not relevant and can be filtered out, or users that hold similar knowledge about the piece of code that they compile.

  24. final class FreshCompilerCache extends GlobalsCache
  25. final class Hash extends StampBase

    Define the hash of the file contents.

    Define the hash of the file contents. It's a typical stamp for compilation sources.

  26. class IncrementalCompilerImpl extends IncrementalCompiler
  27. abstract class IndexBasedZipOps extends CreateZip

    Provides efficient implementation of operations on zip files * that are used for implementation of the Straight to Jar feature.

    Provides efficient implementation of operations on zip files * that are used for implementation of the Straight to Jar feature.

    The implementation is based on index (aka central directory) that is located at the end of the zip file and contains among others the name/path and offset where the actual data of stored file is located. Reading zips should always be done based on that index, which means that it is often enough to manipulate this index without rewriting the other part of the file. This class heavily relies on this fact.

    This class abstracts over the actual operations on index i.e. reading, manipulating and storing it making it easy to replace.

  28. final case class InitialChanges(internalSrc: Changes[VirtualFileRef], removedProducts: Set[VirtualFileRef], libraryDeps: Set[VirtualFileRef], external: APIChanges) extends xsbti.compile.InitialChanges with Product with Serializable
  29. class InvalidScalaInstance extends RuntimeException

    Runtime exception representing a failure when finding a ScalaInstance.

  30. class InvalidScalaProvider extends RuntimeException

    Runtime exception representing a failure when finding a ScalaProvider.

  31. abstract class InvalidationProfiler extends AnyRef

    Defines a profiler interface that translates to the profiling protobuf schema.

    Defines a profiler interface that translates to the profiling protobuf schema.

    The protobuf schema has been mildly inspired from pprof: https://github.com/google/pprof/blob/master/proto/profile.proto

    A profiler interface should only be used by project, and not globally, as this class is not thread safe.

  32. trait InvalidationProfilerUtils extends AnyRef
  33. final class LastModified extends StampBase

    Define the last modified time of the file.

    Define the last modified time of the file. It's a typical stamp for class files and products.

  34. class LoggedReporter extends Reporter

    Defines a reporter that forwards every reported problem to a wrapped logger.

    Defines a reporter that forwards every reported problem to a wrapped logger.

    This is the most common use of a reporter, where users pass in whichever logger they want. If they are depending on loggers from other libraries, they can create a logger that extends the xsbti logging interface.

  35. trait Lookup extends ExternalLookup

    A trait that encapsulates looking up elements on a classpath and looking up an external (for another subproject) Analysis instance.

  36. class LookupImpl extends Lookup
  37. class ManagedFilteredReporter extends FilteredReporter

    Defines a filtered reporter to control which messages are reported or not.

    Defines a filtered reporter to control which messages are reported or not.

    This reporter is meant to be used with a ManagedLogger, which will be set up. See ManagedLoggedReporter for a similar case.

    This implementation has been adapted from the Pants repository. https://github.com/pantsbuild/pants/blob/master/src/scala/org/pantsbuild/zinc/logging/Reporters.scala#L28

    This reporter may be useful to companies that have domain-specific knowledge about compile messages that are not relevant and can be filtered out, or users that hold similar knowledge about the piece of code that they compile.

  38. class ManagedLoggedReporter extends LoggedReporter

    Defines a logger that uses event logging provided by a ManagedLogger.

    Defines a logger that uses event logging provided by a ManagedLogger.

    This functionality can be use by anyone that wants to get support for event logging and use an underlying, controlled logger under the hood.

    The ManagedLoggedReporter exists for those users that do not want to set up the passed logger. Event logging requires registration of codects to serialize and deserialize Problems. This reporter makes sure to initialize the managed logger so that users do not need to take care of this cumbersome process.

  39. class MappedFileConverter extends FileConverter
  40. class MappedVirtualFile extends BasicVirtualFileRef with PathBasedFile
  41. final class MixedAnalyzingCompiler extends AnyRef

    An instance of an analyzing compiler that can run both javac + scalac.

  42. final case class ModifiedNames(names: Set[UsedName]) extends Product with Serializable

    ModifiedNames are determined by comparing name hashes in two versions of an API representation.

    ModifiedNames are determined by comparing name hashes in two versions of an API representation.

    Note that we distinguish between sets of regular (non-implicit) and implicit modified names. This distinction is needed because the name hashing algorithm makes different decisions based on whether modified name is implicit or not. Implicit names are much more difficult to handle due to difficulty of reasoning about the implicit scope.

  43. final case class NamesChange(modified0: String, modifiedNames: ModifiedNames) extends APIChange with Product with Serializable

    An APIChange that carries information about modified names.

    An APIChange that carries information about modified names.

    This class is used only when name hashing algorithm is enabled.

  44. trait NoopExternalLookup extends ExternalLookup
  45. class PlainVirtualFile extends BasicVirtualFileRef with PathBasedFile
  46. class PlainVirtualFileConverter extends FileConverter
  47. trait ProblemStringFormats extends AnyRef

    Represent a string that contains the compiler output (warnings and error messages, etc) that have been reported by LoggedReporter and the logger.

  48. class RawCompiler extends AnyRef

    Provide a basic interface to the Scala Compiler that does not analyze dependencies nor does any kind of incremental compilation.

    Provide a basic interface to the Scala Compiler that does not analyze dependencies nor does any kind of incremental compilation.

    This interface is called in the same virtual machine where it's instantiated. It's useful for raw compilation of sources, such as those of the compiler interface (bridge) and plugin code.

  49. final class RelationBuilder[A, B] extends AnyRef
  50. trait Relations extends AnyRef

    Provides mappings between source files, generated classes (products), and binaries.

    Provides mappings between source files, generated classes (products), and binaries. Dependencies that are tracked include internal: a dependency on a source in the same compilation group (project), external: a dependency on a source in another compilation group (tracked as the name of the class), library: a dependency on a class or jar file not generated by a source file in any tracked compilation group, inherited: a dependency that resulted from a public template inheriting, direct: any type of dependency, including inheritance.

  51. abstract class RunProfiler extends AnyRef

    Defines the interface of a profiler.

    Defines the interface of a profiler. This interface is used in the guts of IncrementalCommon and IncrementalNameHashing. A profiler of a run is instantiated afresh in Incremental.compile and then added to the profiler instance managed by the client.

  52. final class ScalaInstance extends xsbti.compile.ScalaInstance

    A Scala instance encapsulates all the information that is bound to a concrete Scala version, like the java.lang.ClassLoader or all the JARs required for Scala compilation: library jar, compiler jar and others.

    A Scala instance encapsulates all the information that is bound to a concrete Scala version, like the java.lang.ClassLoader or all the JARs required for Scala compilation: library jar, compiler jar and others.

    Both a ClassLoader and the jars are required because the compiler's boot classpath requires the location of the library and compiler jar on the classpath to compile any Scala program and macros.

    See also

    xsbti.compile.ScalaInstance

  53. trait SourceInfos extends ReadSourceInfos
  54. trait Stamps extends ReadStamps

    Provides a richer interface to read and write stamps associated with files.

    Provides a richer interface to read and write stamps associated with files.

    This interface is meant for internal use and is Scala idiomatic. It implements the Java interface ReadStamps that is exposed in the xsbti.compile.CompileAnalysis.

  55. case class StringVirtualFile(path: String, content: String) extends BasicVirtualFileRef with VirtualFile with Product with Serializable
  56. final case class TraitPrivateMembersModified(modified: String) extends APIChange with Product with Serializable
  57. abstract class UnderlyingChanges[A] extends Changes[A]
  58. final class UninitializedVal extends RuntimeException

    An exception to indicate that while traversing the vals for an instance of className, the val named valName was null.

  59. case class UsedName extends xsbti.compile.UsedName with Product with Serializable
  60. sealed abstract class UsedNames extends AnyRef
  61. trait WithPattern extends AnyRef
  62. class ZincInvalidationProfiler extends InvalidationProfiler with xsbti.compile.InvalidationProfiler

Value Members

  1. object APIs
  2. object Analysis extends Serializable
  3. object AnalyzingCompiler
  4. object BasicVirtualDirectory
  5. object ClassFileManager
  6. object ClassToAPI
  7. object Compilation extends Serializable
  8. object Compilations extends Serializable
  9. object CompileOutput

    Define helpers to create CompileOutput to pass to the incremental compiler.

    Define helpers to create CompileOutput to pass to the incremental compiler. Both SingleOutput and MultipleOutput are supported.

  10. object CompilerArguments
  11. object DummyVirtualFile
  12. object FarmHash
  13. object FileAnalysisStore
  14. object FileValueCache
  15. object HashUtil
  16. object Incremental

    Helper methods for running incremental compilation.

    Helper methods for running incremental compilation. This is responsible for is adapting any xsbti.AnalysisCallback into one compatible with the sbt.internal.inc.Incremental class.

  17. object IncrementalCommon
  18. object IndexBasedZipFsOps extends IndexBasedZipOps

    The concrete implementation of sbt.internal.inc.IndexBasedZipOps based on sbt.internal.inc.zip.ZipCentralDir.

  19. object InvalidationProfiler
  20. object InvalidationProfilerUtils extends InvalidationProfilerUtils
  21. object JarUtils

    This is a utility class that provides a set of functions that are used to implement straight to jar compilation.

    This is a utility class that provides a set of functions that are used to implement straight to jar compilation.

    xsbt.JarUtils is a class that has similar purpose and duplicates some of the code, as it is difficult to share it.

  22. object JavaInterfaceUtil
  23. object Locate
  24. object LoggedReporter
  25. object MappedFileConverter
  26. object MappedVirtualFile
  27. object MiniSetupUtil

    Define all the implicit instances that are used in the Scala implementation of the incremental compiler to check the mathematical equivalence relation between two given classes.

    Define all the implicit instances that are used in the Scala implementation of the incremental compiler to check the mathematical equivalence relation between two given classes.

    See also

    scala.math.Equiv for more information on this kind of equivalence.

  28. object MixedAnalyzingCompiler

    Define helpers to create a wrapper around a Scala incremental compiler xsbti.compile.ScalaCompiler and a Java incremental compiler xsbti.compile.JavaCompiler.

    Define helpers to create a wrapper around a Scala incremental compiler xsbti.compile.ScalaCompiler and a Java incremental compiler xsbti.compile.JavaCompiler. Note that the wrapper delegates to the implementation of both compilers and only instructs how to run a cycle of cross Java-Scala compilation.

  29. object ModifiedNames extends Serializable
  30. object ModuleUtilities
  31. object PickleJar
  32. object PlainVirtualFile
  33. object PlainVirtualFileConverter
  34. object ReflectUtilities
  35. object Relations
  36. object ReporterManager
  37. object RunProfiler
  38. object ScalaInstance
  39. object SourceInfos
  40. object Stamp
  41. object Stamper
  42. object Stamps
  43. object UsedName extends Serializable
  44. object UsedNames
  45. object VirtualFileUtil
  46. object ZincUtil

    Define a private implementation of the static methods forwarded from ZincCompilerUtil.

Ungrouped