Open lucamlouzada opened 1 week ago
I have pushed two commits that introduce the framework for externals. It is quite straightforward:
local_env.sh
, the user should specify their external paths with names. I have changed local_env_template.sh in
219c6c4 to reflect how this specification should be donelocal_env.sh
and creates an external folder with symlinksThe idea is that make_externals.sh will be called by make.sh
in each module that requires external links. It is therefore necessary to modify make.sh
to reflect these changes. The changes in make.sh
should look as follows:
+ # Optional: Create external symlinks
+ # Uncomment the following line if you need to handle external paths
+ # source "${REPO_ROOT}/lib/shell/make_externals.sh"
These three lines could be added right after the lines that copy other source files for inputs.
I have not pushed these modifications to make.sh
yet because I want to avoid conflicts with the changes in make.sh
made in #19.
If this framework is approved, I believe we would also have to change the local_env.sh file in the root of the template repository. Which raises the question - should we even have such a file? I am thinking whether we should delete this from the Github template repository as it is already created by check_setup.sh
anyway.
This issue is part of an effort to implement substantive improvements to the lab template, as discussed in https://github.com/gentzkow/GentzkowLabTemplate/issues/16.
In this issue, the goal is to work on the way the template handles external paths for inputs. The main points to be addressed per the decision in plans for next steps are:
.yaml
, using Shell script.local_env.sh
.local_env.sh
file conditioned on they know nothing.To achieve this, I will need to
local_env.sh
files to recognize the path in a robust way.bash
handles complex objects to understand how to attribute global variables in a similar way done by.yaml
I am assigning myself to work on this.