mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-09-24 03:07:53 +00:00
41 lines
1.4 KiB
Julia
41 lines
1.4 KiB
Julia
using Docile, Lexicon
|
|
|
|
const api_directory = "api"
|
|
const modules = [Lexicon]
|
|
|
|
cd(dirname(@__FILE__)) do
|
|
|
|
# Run the doctests *before* we start to generate *any* documentation.
|
|
for m in modules
|
|
failures = failed(doctest(m))
|
|
if !isempty(failures.results)
|
|
println("\nDoctests failed, aborting commit.\n")
|
|
display(failures)
|
|
exit(1) # Bail when doctests fail.
|
|
end
|
|
end
|
|
|
|
# Generate and save the contents of docstrings as markdown files.
|
|
index = Index()
|
|
for mod in modules
|
|
update!(index, save(joinpath(api_directory, "$(mod).md"), mod))
|
|
end
|
|
save(joinpath(api_directory, "index.md"), index; md_subheader = :category)
|
|
|
|
# Add a reminder not to edit the generated files.
|
|
open(joinpath(api_directory, "README.md"), "w") do f
|
|
print(f, """
|
|
Files in this directory are generated using the `build.jl` script. Make
|
|
all changes to the originating docstrings/files rather than these ones.
|
|
Documentation should *only* be built directly on the `master` branch.
|
|
Source links would otherwise become unavailable should a branch be
|
|
deleted from the `origin`. This means potential pull request authors
|
|
*should not* run the build script when filing a PR.
|
|
""")
|
|
end
|
|
|
|
info("Adding all documentation changes in $(api_directory) to this commit.")
|
|
success(`git add $(api_directory)`) || exit(1)
|
|
|
|
end
|