\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} object such that a minimal set of dependencies
are specified (for instance if there was
\samp{foo, foo (\textgreater{}= 1.0.0), foo (\textgreater{}= 1.3.0}, it would only return
\samp{foo (\textgreater{}= 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}

