From c76d5c0181df6ba9193d6cf31d8a5bec53679400 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Sun, 12 Jun 2022 20:05:02 +0200 Subject: [PATCH] build(mix): copy generated docs to release --- Makefile | 2 +- build | 4 ++-- mix.exs | 22 ++++++++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 67b638615..abb0e2707 100644 --- a/Makefile +++ b/Makefile @@ -224,7 +224,7 @@ prepare-build-deps: ## elixir target is to create release packages using Elixir's Mix .PHONY: $(REL_PROFILES:%=%-elixir) $(PKG_PROFILES:%=%-elixir) $(REL_PROFILES:%=%-elixir) $(PKG_PROFILES:%=%-elixir): $(COMMON_DEPS) $(ELIXIR_COMMON_DEPS) mix-deps-get - @$(BUILD) $(subst -elixir,,$(@)) elixir + @env IS_ELIXIR=yes $(BUILD) $(subst -elixir,,$(@)) elixir .PHONY: $(REL_PROFILES:%=%-elixir-pkg) define gen-elixir-pkg-target diff --git a/build b/build index 33a7353a3..0e24e8226 100755 --- a/build +++ b/build @@ -293,8 +293,8 @@ export_release_vars() { log "building artifact=$ARTIFACT for profile=$PROFILE" case "$ARTIFACT" in - doc) - make_doc + doc|docs) + make_docs ;; rel) make_rel diff --git a/mix.exs b/mix.exs index 61ee62f61..b648ec55a 100644 --- a/mix.exs +++ b/mix.exs @@ -114,6 +114,7 @@ defmodule EMQXUmbrella.MixProject do } = check_profile!() base_steps = [ + &make_docs(&1), :assemble, &create_RELEASES/1, ©_files(&1, release_type, package_type, edition_type), @@ -283,6 +284,12 @@ defmodule EMQXUmbrella.MixProject do # Custom Steps ############################################################################# + defp make_docs(release) do + profile = System.get_env("MIX_ENV") + os_cmd("build", [profile, "docs"]) + release + end + defp copy_files(release, release_type, package_type, edition_type) do overwrite? = Keyword.get(release.options, :overwrite, false) @@ -322,6 +329,21 @@ defmodule EMQXUmbrella.MixProject do force: overwrite? ) + # copy generated docs + Enum.each( + [ + "apps/emqx_dashboard/priv/www/static/emqx-en.conf.example", + "apps/emqx_dashboard/priv/www/static/emqx-zh.conf.example" + ], + fn file -> + Mix.Generator.copy_file( + file, + Path.join(etc, Path.basename(file)), + force: overwrite? + ) + end + ) + # this is required by the produced escript / nodetool Mix.Generator.copy_file( Path.join(release.version_path, "start_clean.boot"),