aboutsummaryrefslogtreecommitdiff
path: root/reproduce/analysis
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce/analysis')
-rw-r--r--reproduce/analysis/config/metadata.conf21
-rw-r--r--reproduce/analysis/make/initialize.mk35
-rw-r--r--reproduce/analysis/make/top-make.mk4
-rw-r--r--reproduce/analysis/make/top-prepare.mk2
4 files changed, 42 insertions, 20 deletions
diff --git a/reproduce/analysis/config/metadata.conf b/reproduce/analysis/config/metadata.conf
index 470e429..b1f657b 100644
--- a/reproduce/analysis/config/metadata.conf
+++ b/reproduce/analysis/config/metadata.conf
@@ -1,6 +1,19 @@
-# Project meta-data that can be used in a project's output datasets and
+# Project meta-data that will be used in a project's output datasets and
# final paper. Please set the values here and use them in your analysis or
-# paper, don't repeat them
+# paper, don't repeat them.
+#
+# These variables are used in 'reproduce/analysis/make/initialize.mk': 1)
+# to create a Make variable called 'print-general-metadata'. You can simply
+# print this variable's value in any plain-text output.
+#
+# Why add a Copyright for the data? people need to know if they can "use"
+# the dataset (i.e., modify it), or possibly re-distribute it and their
+# derived products. They also need to know how they can contact the creator
+# of the datset (who is usually also the copyright owner). So take this
+# seriously and add your name and email-address (or the name of the person
+# and email of the person who was in charge of that part of the project),
+# and the copyright license name and standard link to the fully copyright
+# license.
#
# Copyright (C) 2020-2021 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
@@ -12,7 +25,9 @@
# Project information
metadata-title = Towards Long-term and Archivable Reproducibility
-# DOIs and identifiers.
+# DOIs and identifiers (don't include fixed URL prefixes like
+# 'https://doi.org/' or 'https://arxiv.org/abs'), they will be added
+# automatically where necessary.
metadata-arxiv = 2006.03018
metadata-doi-zenodo = 10.5281/zenodo.4291207
metadata-doi-journal = 10.1109/MCSE.2021.3072860
diff --git a/reproduce/analysis/make/initialize.mk b/reproduce/analysis/make/initialize.mk
index 8af3199..bc73df8 100644
--- a/reproduce/analysis/make/initialize.mk
+++ b/reproduce/analysis/make/initialize.mk
@@ -224,7 +224,7 @@ project-package-contents = $(texdir)/$(project-package-name)
$(project-package-contents) $(mtexdir)/initialize.tex
texclean:
- rm *.pdf
+ rm -f *.pdf
rm -rf $(texdir)/build/*
mkdir $(texdir)/build/tikz # 'tikz' is assumed to already exist.
@@ -253,8 +253,7 @@ distclean: clean
# `rm' program. So for this recipe, we'll use the host system's
# `rm', not our own.
$$sys_rm -rf $(BDIR)
- $$sys_rm -f $(pconfdir)/LOCAL.conf
- $$sys_rm -f Makefile .gnuastro .local .build
+ $$sys_rm -f .local .build $(pconfdir)/LOCAL.conf
@@ -367,18 +366,18 @@ $(project-package-contents): paper.pdf | $(texdir)
sed -e's|{tikz/}|{tex/tikz/}|' $$pgfsettings > $$pgfsettings.new
mv $$pgfsettings.new $$pgfsettings
- # Clean temporary (currently those ending in `~') files.
- cd $(texdir)
- find $(project-package-name) -name \*~ -delete
- find $(project-package-name) -name \*.swp -delete
-
# PROJECT SPECIFIC
# ----------------
- # Put any project specific distribution steps here.
+ # Put any project-specific distribution steps here.
cd $$curdir
cp tex/build/build/appendix.bbl $$dir/
# ----------------
+ # Clean temporary files that may have been created by text editors.
+ cd $(texdir)
+ find $(project-package-name) -name \*~ -delete
+ find $(project-package-name) -name \*.swp -delete
+
# Package into `.tar.gz' or '.tar.lz'.
dist dist-lzip: $(project-package-contents)
curdir=$$(pwd)
@@ -460,15 +459,21 @@ $(data-publish-dir):; mkdir $@
# Print Copyright statement
# -------------------------
#
-# This statement can be used in published datasets that are in plain-text
-# format. It assumes you have already put the data-specific statements in
-# its first argument, it will supplement them with general project links.
-doi-prefix-url = https://doi.org
+# The 'print-general-metadata' can be used to print the general metadata in
+# published datasets that are in plain-text format. It should be called
+# with make's 'call' function like this (where 'FILENAME' is the name of
+# the file it will append this content to):
+#
+# $(call print-general-metadata, FILENAME)
+#
+# See 'reproduce/analysis/make/delete-me.mk' (in the Maneage branch) for a
+# real-world usage of this variable.
+doi-prefix-url = https://doi.org
arxiv-prefix-url = https://arxiv.org/abs
print-general-metadata = \
echo "\# Project title: $(metadata-title)" >> $(1); \
echo "\# Git commit (that produced this dataset): $(project-commit-hash)" >> $(1); \
- echo "\# Project's Git repository: $(metadata-git-repository)" >> $(1); \
+ echo "\# Git repository: $(metadata-git-repository)" >> $(1); \
if [ x$(metadata-arxiv) != x ]; then \
echo "\# Pre-print: $(arxiv-prefix-url)/abs/$(metadata-arxiv)" >> $(1); fi; \
if [ x$(metadata-doi-journal) != x ]; then \
@@ -501,6 +506,8 @@ $(mtexdir)/initialize.tex: | $(mtexdir)
echo "\newcommand{\projectdate}{$$d}" > $@
echo "\newcommand{\projecttitle}{$(metadata-title)}" >> $@
echo "\newcommand{\projectversion}{$(project-commit-hash)}" >> $@
+ echo "\newcommand{\projectgitrepo}{$(metadata-git-repository)}" >> $@
+ echo "\newcommand{\projectcopyrightowner}{$(metadata-copyright-owner)}" >> $@
# arXiv/Zenodo identifier (necessary for download link):
echo "\newcommand{\projectarxivid}{$(metadata-arxiv)}" >> $@
diff --git a/reproduce/analysis/make/top-make.mk b/reproduce/analysis/make/top-make.mk
index 6b055f7..27c1b5b 100644
--- a/reproduce/analysis/make/top-make.mk
+++ b/reproduce/analysis/make/top-make.mk
@@ -51,7 +51,7 @@ include reproduce/software/config/LOCAL.conf
# Controlling this requires two variables that are available at this stage:
#
# - `GROUP-NAME': from `LOCAL.conf' (which was built by `./project configure').
-# - `reproducible_paper_group_name': value to the `--group' option.
+# - `maneage_group_name': value to the `--group' option.
#
# The analysis is only done when both have the same group name. Note that
# when the project isn't being built for a group, both variables will be an
@@ -69,7 +69,7 @@ top-pdfs = paper.pdf
else
top-pdfs = paper.pdf supplement.pdf
endif
-ifeq (x$(reproducible_paper_group_name),x$(GROUP-NAME))
+ifeq (x$(maneage_group_name),x$(GROUP-NAME))
all: $(top-pdfs)
else
all:
diff --git a/reproduce/analysis/make/top-prepare.mk b/reproduce/analysis/make/top-prepare.mk
index f81ac07..fb5700e 100644
--- a/reproduce/analysis/make/top-prepare.mk
+++ b/reproduce/analysis/make/top-prepare.mk
@@ -35,7 +35,7 @@ include reproduce/software/config/LOCAL.conf
# -------------------------------
#
# See `top-make.mk' for complete explanation.
-ifeq (x$(reproducible_paper_group_name),x$(GROUP-NAME))
+ifeq (x$(maneage_group_name),x$(GROUP-NAME))
all: $(BDIR)/software/preparation-done.mk
@echo "Project preparation is complete.";
else