-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #378 from INCATools/fix-376
Update Makefile.jinja2
- Loading branch information
Showing
1 changed file
with
24 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -364,23 +364,23 @@ $(SIMPLESEED): $(SRCMERGED) $(ONTOLOGYTERMS) | |
{% if project.use_dosdps %} | ||
# Ugly hack which should be replaced by the dynamic import revision pipeline | ||
$(IMPORTSEED): $(PRESEED) prepare_patterns $(PATTERNDIR)/all_pattern_terms.txt | ||
@if [ $(IMP) = true ]; then cat $(PRESEED) $(PATTERNDIR)/all_pattern_terms.txt | sort | uniq > $@; fi | ||
if [ $(IMP) = true ]; then cat $(PRESEED) $(PATTERNDIR)/all_pattern_terms.txt | sort | uniq > $@; fi | ||
{% else %} | ||
$(IMPORTSEED): $(PRESEED) | ||
@if [ $(IMP) = true ]; then cat $(PRESEED) | sort | uniq > $@; fi | ||
if [ $(IMP) = true ]; then cat $(PRESEED) | sort | uniq > $@; fi | ||
{% endif %} | ||
|
||
# Generate terms.txt for each import. (Assume OBO-style Possibly hacky step?) | ||
# Should be able to drop this if robot can just take a big messy list of terms as input. | ||
|
||
imports/%_terms_combined.txt: $(IMPORTSEED) imports/%_terms.txt | ||
@if [ $(IMP) = true ]; then cat $^ | grep -v ^# | sort | uniq > $@; fi | ||
if [ $(IMP) = true ]; then cat $^ | grep -v ^# | sort | uniq > $@; fi | ||
|
||
# -- Generate Import Modules -- | ||
# | ||
# This pattern uses ROBOT to generate an import module | ||
imports/%_import.owl: mirror/%.owl imports/%_terms_combined.txt | ||
@if [ $(IMP) = true ]; then $(ROBOT) extract -i $< -T imports/$*_terms_combined.txt --force true --method BOT \ | ||
if [ $(IMP) = true ]; then $(ROBOT) extract -i $< -T imports/$*_terms_combined.txt --force true --method BOT \ | ||
query --update ../sparql/inject-subset-declaration.ru \ | ||
annotate --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) --output [email protected] && mv [email protected] $@; fi | ||
.PRECIOUS: imports/%_import.owl | ||
|
@@ -390,15 +390,15 @@ imports/%_import.owl: mirror/%.owl imports/%_terms_combined.txt | |
# this can be useful for spot-checks and diffs. | ||
# we set strict mode to false by default. For discussion see https://github.com/owlcs/owlapi/issues/752 | ||
imports/%_import.obo: imports/%_import.owl | ||
@if [ $(IMP) = true ]; then $(ROBOT) convert --check false -i $< -f obo -o [email protected] && mv [email protected] $@; fi | ||
if [ $(IMP) = true ]; then $(ROBOT) convert --check false -i $< -f obo -o [email protected] && mv [email protected] $@; fi | ||
{% endif -%} | ||
{% if 'ttl' in project.export_formats -%} | ||
imports/%_import.ttl: imports/%_import.owl | ||
@if [ $(IMP) = true ]; then $(ROBOT) convert --check false -i $< -f ttl -o [email protected] && mv [email protected] $@; fi | ||
if [ $(IMP) = true ]; then $(ROBOT) convert --check false -i $< -f ttl -o [email protected] && mv [email protected] $@; fi | ||
{% endif -%} | ||
{% if 'json' in project.export_formats -%} | ||
imports/%_import.json: imports/%_import.owl | ||
@if [ $(IMP) = true ]; then $(ROBOT) convert --check false -i $< -f json -o [email protected] && mv [email protected] $@; fi | ||
if [ $(IMP) = true ]; then $(ROBOT) convert --check false -i $< -f json -o [email protected] && mv [email protected] $@; fi | ||
{% endif -%} | ||
|
||
|
||
|
@@ -416,7 +416,7 @@ imports/%_import.json: imports/%_import.owl | |
{% for component in project.components.products %} | ||
{% if component.source is not none %} | ||
{{ project.components.directory }}/{{ component.filename }}: .FORCE | ||
@if [ $(IMP) = true ]; then $(ROBOT) merge -I {{ component.source }} \ | ||
if [ $(IMP) = true ]; then $(ROBOT) merge -I {{ component.source }} \ | ||
annotate --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) -o $@; fi | ||
.PRECIOUS: {{ project.components.directory }}/{{ component.filename }} | ||
{% endif %} | ||
|
@@ -449,10 +449,10 @@ mirror/{{ ont.id }}.trigger: | |
{% endif -%} | ||
{% if ont.mirror_from %} | ||
mirror/{{ ont.id }}.owl: mirror/{{ ont.id }}.trigger | ||
@if [ $(MIR) = true ] && [ $(IMP) = true ]; then $(ROBOT) convert -I {{ ont.mirror_from }} -o [email protected] && mv [email protected] $@; fi | ||
if [ $(MIR) = true ] && [ $(IMP) = true ]; then $(ROBOT) convert -I {{ ont.mirror_from }} -o [email protected] && mv [email protected] $@; fi | ||
{% else %} | ||
mirror/{{ ont.id }}.owl: mirror/{{ ont.id }}.trigger | ||
@if [ $(MIR) = true ] && [ $(IMP) = true ]; then $(ROBOT) convert -I $(URIBASE)/{{ ont.id }}.owl -o [email protected] && mv [email protected] $@; fi | ||
if [ $(MIR) = true ] && [ $(IMP) = true ]; then $(ROBOT) convert -I $(URIBASE)/{{ ont.id }}.owl -o [email protected] && mv [email protected] $@; fi | ||
{% endif %} | ||
.PRECIOUS: mirror/%.owl | ||
{% endfor -%} | ||
|
@@ -526,17 +526,17 @@ pattern_clean: | |
echo "Not implemented" | ||
|
||
pattern_schema_checks: update_patterns | ||
@if [ $(PAT) = true ]; then $(PATTERN_TESTER) $(PATTERNDIR)/dosdp-patterns/; fi | ||
if [ $(PAT) = true ]; then $(PATTERN_TESTER) $(PATTERNDIR)/dosdp-patterns/; fi | ||
|
||
#This command is a workaround for the absence of -N and -i in wget of alpine (the one ODK depend on now). It downloads all patterns specified in external.txt | ||
update_patterns: .FORCE | ||
@if [ $(PAT) = true ]; then rm -f $(PATTERNDIR)/dosdp-patterns/*.yaml.1 || true; fi | ||
@if [ $(PAT) = true ]; then wget -i $(PATTERNDIR)/dosdp-patterns/external.txt --backups=1 -P $(PATTERNDIR)/dosdp-patterns; fi | ||
@if [ $(PAT) = true ]; then rm -f $(PATTERNDIR)/dosdp-patterns/*.yaml.1 || true; fi | ||
if [ $(PAT) = true ]; then rm -f $(PATTERNDIR)/dosdp-patterns/*.yaml.1 || true; fi | ||
if [ $(PAT) = true ]; then wget -i $(PATTERNDIR)/dosdp-patterns/external.txt --backups=1 -P $(PATTERNDIR)/dosdp-patterns; fi | ||
if [ $(PAT) = true ]; then rm -f $(PATTERNDIR)/dosdp-patterns/*.yaml.1 || true; fi | ||
|
||
|
||
$(PATTERNDIR)/pattern.owl: pattern_schema_checks update_patterns | ||
@if [ $(PAT) = true ]; then $(DOSDPT) prototype --obo-prefixes --template=$(PATTERNDIR)/dosdp-patterns --outfile=$@; fi | ||
if [ $(PAT) = true ]; then $(DOSDPT) prototype --obo-prefixes --template=$(PATTERNDIR)/dosdp-patterns --outfile=$@; fi | ||
|
||
individual_patterns_default := $(patsubst %.tsv, $(PATTERNDIR)/data/default/%.ofn, $(notdir $(wildcard $(PATTERNDIR)/data/default/*.tsv))) | ||
pattern_term_lists_default := $(patsubst %.tsv, $(PATTERNDIR)/data/default/%.txt, $(notdir $(wildcard $(PATTERNDIR)/data/default/*.tsv))) | ||
|
@@ -550,40 +550,40 @@ pattern_term_lists_{{ pipeline.id }} := $(patsubst %.tsv, $(PATTERNDIR)/data/{{ | |
|
||
# Generating the individual pattern modules and merging them into definitions.owl | ||
$(PATTERNDIR)/definitions.owl: prepare_patterns update_patterns dosdp_patterns_default {% if project.pattern_pipelines_group is defined %} {% for pipeline in project.pattern_pipelines_group.products %} dosdp_patterns_{{ pipeline.id }}{% endfor %}{% endif %} | ||
@if [ $(PAT) = true ]; then $(ROBOT) merge $(addprefix -i , $(individual_patterns_default)) {% if project.pattern_pipelines_group is defined %} {% for pipeline in project.pattern_pipelines_group.products %} $(addprefix -i , $(individual_patterns_{{ pipeline.id }})){% endfor %}{% endif %} annotate --ontology-iri $(ONTBASE)/patterns/definitions.owl --version-iri $(ONTBASE)/releases/$(TODAY)/patterns/definitions.owl --annotation owl:versionInfo $(VERSION) -o definitions.ofn && mv definitions.ofn $@; fi | ||
if [ $(PAT) = true ]; then $(ROBOT) merge $(addprefix -i , $(individual_patterns_default)) {% if project.pattern_pipelines_group is defined %} {% for pipeline in project.pattern_pipelines_group.products %} $(addprefix -i , $(individual_patterns_{{ pipeline.id }})){% endfor %}{% endif %} annotate --ontology-iri $(ONTBASE)/patterns/definitions.owl --version-iri $(ONTBASE)/releases/$(TODAY)/patterns/definitions.owl --annotation owl:versionInfo $(VERSION) -o definitions.ofn && mv definitions.ofn $@; fi | ||
|
||
individual_patterns_names_default := $(strip $(patsubst %.tsv,%, $(notdir $(wildcard $(PATTERNDIR)/data/default/*.tsv)))) | ||
dosdp_patterns_default: $(SRC) all_imports .FORCE | ||
@if [ $(PAT) = true ] && [ "${individual_patterns_names_default}" ]; then $(DOSDPT) generate --catalog=catalog-v001.xml --infile=$(PATTERNDIR)/data/default/ --template=$(PATTERNDIR)/dosdp-patterns --batch-patterns="$(individual_patterns_names_default)" --ontology=$< {{ project.dosdp_tools_options }} --outfile=$(PATTERNDIR)/data/default; fi | ||
if [ $(PAT) = true ] && [ "${individual_patterns_names_default}" ]; then $(DOSDPT) generate --catalog=catalog-v001.xml --infile=$(PATTERNDIR)/data/default/ --template=$(PATTERNDIR)/dosdp-patterns --batch-patterns="$(individual_patterns_names_default)" --ontology=$< {{ project.dosdp_tools_options }} --outfile=$(PATTERNDIR)/data/default; fi | ||
|
||
{% if project.pattern_pipelines_group is defined %} | ||
{% for pipeline in project.pattern_pipelines_group.products %} | ||
individual_patterns_names_{{ pipeline.id }} := $(strip $(patsubst %.tsv,%, $(notdir $(wildcard $(PATTERNDIR)/data/{{ pipeline.id }}/*.tsv)))) | ||
dosdp_patterns_{{ pipeline.id }}: $(SRC) all_imports .FORCE | ||
@if [ $(PAT) = true ] && [ "${individual_patterns_names_{{ pipeline.id }}}" ]; then $(DOSDPT) generate --catalog=catalog-v001.xml --infile=$(PATTERNDIR)/data/{{ pipeline.id }} --template=$(PATTERNDIR)/dosdp-patterns/ --batch-patterns="$(individual_patterns_names_{{ pipeline.id }})" --ontology=$< {{ pipeline.dosdp_tools_options }} --outfile=$(PATTERNDIR)/data/{{ pipeline.id }}; fi | ||
if [ $(PAT) = true ] && [ "${individual_patterns_names_{{ pipeline.id }}}" ]; then $(DOSDPT) generate --catalog=catalog-v001.xml --infile=$(PATTERNDIR)/data/{{ pipeline.id }} --template=$(PATTERNDIR)/dosdp-patterns/ --batch-patterns="$(individual_patterns_names_{{ pipeline.id }})" --ontology=$< {{ pipeline.dosdp_tools_options }} --outfile=$(PATTERNDIR)/data/{{ pipeline.id }}; fi | ||
{% endfor %} | ||
{% endif %} | ||
|
||
# Generating the seed file from all the TSVs. If Pattern generation is deactivated, we still extract a seed from definitions.owl | ||
$(PATTERNDIR)/all_pattern_terms.txt: $(pattern_term_lists_default) {% if project.pattern_pipelines_group is defined %} {% for pipeline in project.pattern_pipelines_group.products %} $(pattern_term_lists_{{ pipeline.id }}){% endfor %}{% endif %} $(PATTERNDIR)/pattern_owl_seed.txt | ||
@if [ $(PAT) = true ]; then cat $^ | sort | uniq > $@; else $(ROBOT) query --use-graphs true -f csv -i ../patterns/definitions.owl --query ../sparql/terms.sparql $@; fi | ||
if [ $(PAT) = true ]; then cat $^ | sort | uniq > $@; else $(ROBOT) query --use-graphs true -f csv -i ../patterns/definitions.owl --query ../sparql/terms.sparql $@; fi | ||
|
||
$(PATTERNDIR)/pattern_owl_seed.txt: $(PATTERNDIR)/pattern.owl | ||
@if [ $(PAT) = true ]; then $(ROBOT) query --use-graphs true -f csv -i $< --query ../sparql/terms.sparql $@; fi | ||
if [ $(PAT) = true ]; then $(ROBOT) query --use-graphs true -f csv -i $< --query ../sparql/terms.sparql $@; fi | ||
|
||
$(PATTERNDIR)/data/default/%.txt: $(PATTERNDIR)/dosdp-patterns/%.yaml $(PATTERNDIR)/data/default/%.tsv .FORCE | ||
@if [ $(PAT) = true ]; then $(DOSDPT) terms --infile=$(word 2, $^) --template=$< --obo-prefixes=true --outfile=$@; fi | ||
if [ $(PAT) = true ]; then $(DOSDPT) terms --infile=$(word 2, $^) --template=$< --obo-prefixes=true --outfile=$@; fi | ||
|
||
.PHONY: prepare_patterns | ||
prepare_patterns: | ||
@if [ $(PAT) = true ]; then touch $(PATTERNDIR)/data $(pattern_term_lists_default) {% if project.pattern_pipelines_group is defined %} {% for pipeline in project.pattern_pipelines_group.products %} $(pattern_term_lists_{{ pipeline.id }}){% endfor %}{% endif %}; fi | ||
@if [ $(PAT) = true ]; then touch $(PATTERNDIR)/data $(individual_patterns_default) {% if project.pattern_pipelines_group is defined %} {% for pipeline in project.pattern_pipelines_group.products %} $(individual_patterns_{{ pipeline.id }}){% endfor %}{% endif %}; fi | ||
if [ $(PAT) = true ]; then touch $(PATTERNDIR)/data $(pattern_term_lists_default) {% if project.pattern_pipelines_group is defined %} {% for pipeline in project.pattern_pipelines_group.products %} $(pattern_term_lists_{{ pipeline.id }}){% endfor %}{% endif %}; fi | ||
if [ $(PAT) = true ]; then touch $(PATTERNDIR)/data $(individual_patterns_default) {% if project.pattern_pipelines_group is defined %} {% for pipeline in project.pattern_pipelines_group.products %} $(individual_patterns_{{ pipeline.id }}){% endfor %}{% endif %}; fi | ||
|
||
|
||
{% if project.pattern_pipelines_group is defined -%} | ||
{% for pipeline in project.pattern_pipelines_group.products %} | ||
$(PATTERNDIR)/data/{{ pipeline.id }}/%.txt: $(PATTERNDIR)/dosdp-patterns/%.yaml $(PATTERNDIR)/data/{{ pipeline.id }}/%.tsv .FORCE | ||
@if [ $(PAT) = true ]; then $(DOSDPT) terms --infile=$(word 2, $^) --template=$< --obo-prefixes=true --outfile=$@; fi | ||
if [ $(PAT) = true ]; then $(DOSDPT) terms --infile=$(word 2, $^) --template=$< --obo-prefixes=true --outfile=$@; fi | ||
{% endfor %} | ||
{% endif -%} | ||
{% endif %} | ||
|