public final class DefaultDependencyResolver extends java.lang.Object implements DependencyResolver
getDependencies(String)
), or a list of symbols
getDependencies(Collection)
.Modifier and Type | Field and Description |
---|---|
(package private) static java.lang.String |
CLOSURE_BASE
Filename for Closure's base.js file which is always added.
|
(package private) static java.lang.String |
CLOSURE_BASE_PROVIDE
Provide for Closure's base.js.
|
private java.util.List<DependencyFile> |
depsFiles
Source files used to look up the dependencies.
|
private static java.util.logging.Logger |
logger
Logger for DependencyResolver.
|
private boolean |
strictRequires
Flag that determines if the resolver will strictly require all
goog.requires.
|
Constructor and Description |
---|
DefaultDependencyResolver(java.util.List<DependencyFile> depsFiles,
boolean strictRequires)
Creates a new dependency resolver.
|
Modifier and Type | Method and Description |
---|---|
private void |
addDependency(java.lang.String symbol,
java.util.Set<java.lang.String> seen,
java.util.List<java.lang.String> list)
Adds all the transitive dependencies for a symbol to the provided list.
|
java.util.List<java.lang.String> |
getDependencies(java.util.Collection<java.lang.String> symbols)
Gets a list of dependencies for the provided list of symbols.
|
java.util.List<java.lang.String> |
getDependencies(java.util.Collection<java.lang.String> symbols,
java.util.Set<java.lang.String> seen) |
java.util.List<java.lang.String> |
getDependencies(java.lang.String code)
Gets a list of dependencies for the provided code.
|
java.util.List<java.lang.String> |
getDependencies(java.lang.String code,
java.util.Set<java.lang.String> seen,
boolean addClosureBaseFile) |
private DependencyInfo |
getDependencyInfo(java.lang.String symbol)
Looks at each of the dependency files for dependency information.
|
private java.util.Collection<java.lang.String> |
parseRequires(java.lang.String code,
boolean addClosureBase)
Parses a block of code for goog.require statements and extracts the
required symbols.
|
static final java.lang.String CLOSURE_BASE
static final java.lang.String CLOSURE_BASE_PROVIDE
private final java.util.List<DependencyFile> depsFiles
private final boolean strictRequires
private static java.util.logging.Logger logger
public DefaultDependencyResolver(java.util.List<DependencyFile> depsFiles, boolean strictRequires)
depsFiles
- List of deps file.strictRequires
- Determines if the resolver will through an exception
on a missing dependency.public java.util.List<java.lang.String> getDependencies(java.lang.String code) throws ServiceException
getDependencies
in interface DependencyResolver
ServiceException
public java.util.List<java.lang.String> getDependencies(java.util.Collection<java.lang.String> symbols) throws ServiceException
getDependencies
in interface DependencyResolver
ServiceException
public java.util.List<java.lang.String> getDependencies(java.lang.String code, java.util.Set<java.lang.String> seen, boolean addClosureBaseFile) throws ServiceException
getDependencies
in interface DependencyResolver
code
- The raw code to be parsed for requires.seen
- The set of already seen symbols.addClosureBaseFile
- Indicates whether the closure base file should be
added to the dependency list.ServiceException
public java.util.List<java.lang.String> getDependencies(java.util.Collection<java.lang.String> symbols, java.util.Set<java.lang.String> seen) throws ServiceException
getDependencies
in interface DependencyResolver
symbols
- A list of required symbols.seen
- The set of already seen symbols.ServiceException
private void addDependency(java.lang.String symbol, java.util.Set<java.lang.String> seen, java.util.List<java.lang.String> list) throws ServiceException
ServiceException
private java.util.Collection<java.lang.String> parseRequires(java.lang.String code, boolean addClosureBase)
private DependencyInfo getDependencyInfo(java.lang.String symbol)