\HeaderA{vignetteDepends}{Retrieve Dependency Information for a Vignette}{vignetteDepends}
\keyword{utilities}{vignetteDepends}
\begin{Description}\relax
Given a vignette name, will create a DependsList object that reports
information about the packages the vignette depends on.
\end{Description}
\begin{Usage}
\begin{verbatim}
vignetteDepends(vignette, recursive = TRUE, reduce = TRUE,
                local = TRUE, lib.loc = NULL)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{vignette}] The path to the vignette source
\item[\code{recursive}] Whether or not to include indirect dependencies
\item[\code{reduce}] Whether or not to collapse all sets of dependencies to a
minimal value
\item[\code{local}] Whether or not to search only locally
\item[\code{lib.loc}] What libraries to search in locally
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
If \code{recursive} is \code{TRUE}, any package that is specified as a
dependency will in turn have its dependencies included (and so on),
these are known as indirect dependencies.  If recursive is
\code{FALSE}, only the dependencies directly named by the vignette
will be used.

If \code{local} is \code{TRUE}, the system will only look at the
user's local machine and not online to find dependencies.

If \code{reduce} is \code{TRUE}, the system will collapse the fields
in the \code{DependsList} to the minimal set of dependencies (for
instance if the dependencies were ('foo', 'foo (>= 1.0.0)', 
'foo (>= 1.3.0)'), the return value would be 'foo (>= 1.3.0)').
\end{Details}
\begin{Value}
An object of class \code{DependsList}
\end{Value}
\begin{Author}\relax
Jeff Gentry
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{pkgDepends}{pkgDepends}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
gridEx <- system.file("doc", "grid.Snw", package = "grid")
vignetteDepends(gridEx)
\end{ExampleCode}
\end{Examples}

