diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1df84dbcfae2962f4259c159be261981bfc71522..6637cca33856c1044e90c620adb8642738862fc0 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 d16814551514ad5def3e9b56d4dca0148845e3db..ff41a6fa76adcc4153454d42f5f27fa5b69cc979 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 8d438a8fd7439b1430bbce26d97dfc6734e58561..9857ea8f9a53f655d7e98f2439bd2e92ed09e379 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