You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ro...@apache.org on 2023/01/10 18:06:24 UTC

[couchdb-rebar] branch main updated: Move rebar.app out of ebin (#4)

This is an automated email from the ASF dual-hosted git repository.

ronny pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-rebar.git


The following commit(s) were added to refs/heads/main by this push:
     new 918fb3c  Move rebar.app out of ebin (#4)
918fb3c is described below

commit 918fb3c5aad38860472e042b2bb440734ce3a083
Author: Ronny Berndt <ro...@apache.org>
AuthorDate: Tue Jan 10 19:06:19 2023 +0100

    Move rebar.app out of ebin (#4)
    
    Calling 'make clean' from CouchDB wipes all ebin-directories in the source tree.
    Afterwards it is not possible to build rebar again.
    Modifying the bootstrap script and moving 'rebar.app' one directory-level up.
---
 .gitignore                  | 2 +-
 bootstrap                   | 5 +++++
 ebin/rebar.app => rebar.app | 0
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 2b937bb..43d82e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-/ebin/*.beam
+/ebin
 /rebar
 *~
 *.orig
diff --git a/bootstrap b/bootstrap
index d65ccee..6ab9d47 100755
--- a/bootstrap
+++ b/bootstrap
@@ -49,6 +49,11 @@ main(Args) ->
                           false -> undefined
                       end,
 
+    %% CouchDB's `make clean` clobbers all ebin directories, so protect rebar.app by
+    %% moving it out of harm's way, and copying it into ebin before building.
+    ok = filelib:ensure_dir("ebin/"),
+    {ok, _} = file:copy("rebar.app", "ebin/rebar.app"),
+
     %% Compile all src/*.erl to ebin
     %% To not accidentally try to compile files like Mac OS X resource forks,
     %% we only look for rebar source files that start with a letter.
diff --git a/ebin/rebar.app b/rebar.app
similarity index 100%
rename from ebin/rebar.app
rename to rebar.app