PSA: Use a project for building your docs

I’m trying to migrate the style of documentation but it failed due to installation failure. My pakcage requires Pkg.build to install a binary library via PackageProvider.jl; however, running Pkg.build(pkgspec) always results in the following error:

 Resolving package versions...
 Installed BinaryProvider ─ v0.5.2
  Updating `~/build/bicycle1885/EzXML.jl/docs/Project.toml`
  [8f5d6c58] + EzXML v0.9.0+ [`~/build/bicycle1885/EzXML.jl`]
  Updating `~/build/bicycle1885/EzXML.jl/docs/Manifest.toml`
  [b99e7846] + BinaryProvider v0.5.2
  [8f5d6c58] + EzXML v0.9.0+ [`~/build/bicycle1885/EzXML.jl`]
ERROR: LoadError: The following package names could not be resolved:
 *  (not found in project or manifest)
Please specify by known `name=uuid`.
Stacktrace:
 [1] pkgerror(::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Types.jl:120
 [2] #ensure_resolved#43(::Bool, ::Function, ::Pkg.Types.EnvCache, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Types.jl:896
 [3] ensure_resolved at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Types.jl:866 [inlined]
 [4] #build#53(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:447
 [5] build at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:428 [inlined]
 [6] build(::Pkg.Types.PackageSpec) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:425
 [7] top-level scope at none:0
 [8] include at ./boot.jl:317 [inlined]
 [9] include_relative(::Module, ::String) at ./loading.jl:1041
 [10] include(::Module, ::String) at ./sysimg.jl:29
 [11] exec_options(::Base.JLOptions) at ./client.jl:229
 [12] _start() at ./client.jl:421
in expression starting at /home/travis/build/bicycle1885/EzXML.jl/docs/setup.jl:7

Complete job log: Travis CI - Test and Deploy Your Code with Confidence.

Here is the pull request where I’m trying to build the docs: https://github.com/bicycle1885/EzXML.jl/pull/97.
The install script is docs/setup.jl (a few @shows are for debugging).

I have no clue to debug this problem, so any advice would be appreciated.