Class DependencyOptions
- java.lang.Object
-
- com.google.javascript.jscomp.DependencyOptions
-
- All Implemented Interfaces:
java.io.Serializable
@Immutable public abstract class DependencyOptions extends java.lang.Object implements java.io.Serializable
Options for how to manage dependencies between input files.Dependency information is pulled out from the JS code by looking for import and export primitives (like ES import and export statements, Closure Library's goog.module, goog.provide and goog.require calls, or CommonJS require calls). The compiler can optionally use this information to sort input files in dependency order and/or prune unnecessary input files.
Also see
CodingConvention.extractClassNameIfProvide(Node, Node)
andCodingConvention.extractClassNameIfRequire(Node, Node)
, which affect what the compiler considers to be goog.provide and goog.require statements.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DependencyOptions.DependencyMode
Describes how the compiler should manage dependencies.
-
Constructor Summary
Constructors Constructor Description DependencyOptions()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static @Nullable DependencyOptions
fromFlags(@Nullable DependencyOptions.DependencyMode dependencyModeFlag, java.util.List<java.lang.String> entryPointFlag, java.util.List<java.lang.String> closureEntryPointFlag, java.lang.String commonJsEntryModuleFlag, boolean manageClosureDependenciesFlag, boolean onlyClosureDependenciesFlag)
A helper function for validating dependency management flags and converting them into aDependencyOptions
object.abstract com.google.common.collect.ImmutableList<ModuleIdentifier>
getEntryPoints()
Returns the list of explicit entry points.abstract DependencyOptions.DependencyMode
getMode()
Returns the dependency management mode.boolean
needsManagement()
Returns whether dependency management is enabled.static DependencyOptions
none()
Returns aDependencyOptions
using theDependencyOptions.DependencyMode.NONE
mode.static DependencyOptions
pruneForEntryPoints(java.lang.Iterable<ModuleIdentifier> entryPoints)
Returns aDependencyOptions
using theDependencyOptions.DependencyMode.PRUNE
mode with the given entry points.static DependencyOptions
pruneLegacyForEntryPoints(java.lang.Iterable<ModuleIdentifier> entryPoints)
Deprecated.PreferpruneForEntryPoints(Iterable)
with a complete list of entry points.boolean
shouldDropMoochers()
Returns whether moochers should be dropped.boolean
shouldPrune()
Returns whether files should be pruned.boolean
shouldSort()
Returns whether files should be sorted.static DependencyOptions
sortOnly()
Returns aDependencyOptions
using theDependencyOptions.DependencyMode.SORT_ONLY
mode.
-
-
-
Method Detail
-
getMode
public abstract DependencyOptions.DependencyMode getMode()
Returns the dependency management mode.
-
getEntryPoints
public abstract com.google.common.collect.ImmutableList<ModuleIdentifier> getEntryPoints()
Returns the list of explicit entry points.
-
needsManagement
public boolean needsManagement()
Returns whether dependency management is enabled.
-
shouldSort
public boolean shouldSort()
Returns whether files should be sorted.If true, the input files should be sorted in dependency order. Otherwise, input files should not be reordered.
-
shouldPrune
public boolean shouldPrune()
Returns whether files should be pruned.If true, an input file should be excluded from the compilation if it is not a transitive dependency of an entry point. Otherwise, all input files should be included.
-
shouldDropMoochers
public boolean shouldDropMoochers()
Returns whether moochers should be dropped.A moocher is a strong file that does not goog.provide a namespace and is not a goog.module, ES module or CommonJS module. Weak files are never considered moochers.
If true, moochers should not be considered implicit entry points.
-
none
public static DependencyOptions none()
Returns aDependencyOptions
using theDependencyOptions.DependencyMode.NONE
mode.
-
sortOnly
public static DependencyOptions sortOnly()
Returns aDependencyOptions
using theDependencyOptions.DependencyMode.SORT_ONLY
mode.
-
pruneLegacyForEntryPoints
@Deprecated public static DependencyOptions pruneLegacyForEntryPoints(java.lang.Iterable<ModuleIdentifier> entryPoints)
Deprecated.PreferpruneForEntryPoints(Iterable)
with a complete list of entry points.Returns aDependencyOptions
using theDependencyOptions.DependencyMode.PRUNE_LEGACY
mode with the given entry points.
-
pruneForEntryPoints
public static DependencyOptions pruneForEntryPoints(java.lang.Iterable<ModuleIdentifier> entryPoints)
Returns aDependencyOptions
using theDependencyOptions.DependencyMode.PRUNE
mode with the given entry points.
-
fromFlags
public static @Nullable DependencyOptions fromFlags(@Nullable DependencyOptions.DependencyMode dependencyModeFlag, java.util.List<java.lang.String> entryPointFlag, java.util.List<java.lang.String> closureEntryPointFlag, java.lang.String commonJsEntryModuleFlag, boolean manageClosureDependenciesFlag, boolean onlyClosureDependenciesFlag)
A helper function for validating dependency management flags and converting them into aDependencyOptions
object.Returns null when no dependency management flags have been specified.
TODO(tjgq): Simplify this once we deprecate and remove all legacy flags and standardize on --dependency_mode and --entry_point.
-
-