From dc4303c4d603bc0794672d9428a44afffc2e82c0 Mon Sep 17 00:00:00 2001 From: Allan Blanchard <allan.blanchard@cea.fr> Date: Tue, 11 Oct 2022 10:26:05 +0200 Subject: [PATCH] [ci] generate server doc --- .gitlab-ci.yml | 1 + nix/api-doc.nix | 16 +++++++++------- share/Makefile.serverdoc | 5 +++++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1df84dbcfae..6637cca3385 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -207,6 +207,7 @@ api-doc: # Note: the Nix store avoids rebuilding artifacts: paths: - api/frama-c-api.tar.gz + - api/frama-c-server-api.tar.gz expire_in: 7 days # Build distribution tarball diff --git a/nix/api-doc.nix b/nix/api-doc.nix index d1681455151..ff41a6fa76a 100644 --- a/nix/api-doc.nix +++ b/nix/api-doc.nix @@ -1,6 +1,7 @@ { lib , stdenv , frama-c +, pandoc , odoc } : @@ -9,27 +10,28 @@ stdenv.mkDerivation rec { version = frama-c.version; slang = frama-c.slang; - src = frama-c.src; - - nativeBuildInputs = frama-c.nativeBuildInputs; + src = frama-c.build_dir + "/dir.tar"; + sourceRoot = "."; buildInputs = frama-c.buildInputs ++ [ + pandoc odoc ]; - preConfigure = frama-c.preConfigure; - buildPhase = '' dune build -j1 @doc - cp -r _build/default/_doc/_html frama-c-api - echo ".dummy" > excluded tar czf frama-c-api.tar.gz -X excluded frama-c-api + + make server-doc NO_BUILD_FRAMAC=yes + cp -r doc/server frama-c-server-api + tar czf frama-c-server-api.tar.gz frama-c-server-api ''; installPhase = '' mkdir -p $out cp frama-c-api.tar.gz $out + cp frama-c-server-api.tar.gz $out ''; } diff --git a/share/Makefile.serverdoc b/share/Makefile.serverdoc index 8d438a8fd74..9857ea8f9a5 100644 --- a/share/Makefile.serverdoc +++ b/share/Makefile.serverdoc @@ -28,7 +28,12 @@ .PHONY: server-doc-md server-doc-html server-doc +ifeq (NO_BUILD_FRAMAC,yes) +# Make sure that Frama-C is not rebuilt essentially for CI purpose +server-doc-md: +else server-doc-md: all +endif $(PRINT) 'Generating Markdown server documentation' @rm -fr doc/server @mkdir -p doc/server -- GitLab