diff --git a/docs/make_work.jl b/docs/make_work.jl index 8a5ee65d35f4..ac86a8cd5a89 100644 --- a/docs/make_work.jl +++ b/docs/make_work.jl @@ -1,6 +1,6 @@ # # This file is included by docs/make.jl and by a helper function -# in src/Oscar.jl +# in src/utils/docs.jl # module BuildDoc @@ -139,7 +139,7 @@ function doit( joinpath(Oscar.oscardir, "docs", "oscar_references.bib"); style=oscar_style ) - # Copy documentation from Hecke, Nemo, AnstratAlgebra + # Copy documentation from Hecke, Nemo, AbstractAlgebra other_packages = [ (Oscar.Hecke, Oscar.heckedir), (Oscar.Nemo, Oscar.nemodir), @@ -166,12 +166,30 @@ function doit( end src = normpath(root, file) dst = normpath(dstbase, relpath(root, srcbase), file) - cp(src, dst; force=true) + if endswith(file, ".md") + symlink(src, dst) + else + cp(src, dst; force=true) + end chmod(dst, 0o644) end end end + function get_rev(uuid::Base.UUID) + deps = Documenter.Pkg.dependencies() + @assert haskey(deps, uuid) + if !isnothing(deps[uuid].git_revision) + return deps[uuid].git_revision + else + return "v$(deps[uuid].version)" + end + end + aarev = get_rev(Base.PkgId(Oscar.AbstractAlgebra).uuid) + nemorev = get_rev(Base.PkgId(Oscar.Nemo).uuid) + heckerev = get_rev(Base.PkgId(Oscar.Hecke).uuid) + singularrev = get_rev(Base.PkgId(Oscar.Singular).uuid) + cd(joinpath(Oscar.oscardir, "docs")) do DocMeta.setdocmeta!(Oscar, :DocTestSetup, Oscar.doctestsetup(); recursive=true) DocMeta.setdocmeta!(Oscar.Hecke, :DocTestSetup, :(using Hecke); recursive=true) @@ -197,7 +215,12 @@ function doit( warnonly=warnonly, checkdocs=:none, pages=doc, - remotes=nothing, # TODO: make work with Hecke, Nemo, AbstractAlgebra, see https://github.com/oscar-system/Oscar.jl/issues/588 + remotes=Dict( + Oscar.aadir => (Remotes.GitHub("Nemocas", "AbstractAlgebra.jl"), aarev), + Oscar.nemodir => (Remotes.GitHub("Nemocas", "Nemo.jl"), nemorev), + Oscar.heckedir => (Remotes.GitHub("thofma", "Hecke.jl"), heckerev), + Oscar.singulardir => (Remotes.GitHub("oscar-system", "Singular.jl"), singularrev), + ), plugins=[bib], ) end diff --git a/src/utils/utils.jl b/src/utils/utils.jl index 1d3d07cd7241..942aa935bb9c 100644 --- a/src/utils/utils.jl +++ b/src/utils/utils.jl @@ -5,6 +5,7 @@ const jll_deps = String["Antic_jll", "Arb_jll", "Calcium_jll", "FLINT_jll", "GAP const aadir = Base.pkgdir(AbstractAlgebra) const nemodir = Base.pkgdir(Nemo) const heckedir = Base.pkgdir(Hecke) +const singulardir = Base.pkgdir(Singular) include("versioninfo.jl") include("docs.jl")