|
1 | 1 | RUN = poetry run |
2 | 2 | VERSION = $(shell git tag | tail -1) |
| 3 | +MODELS = cadsr frictionless |
3 | 4 |
|
4 | | -.PHONY: all clean test |
| 5 | +.PHONY: all clean test all-docs sphinx-html |
5 | 6 |
|
6 | | -all: clean test target/soil_meanings.yaml |
| 7 | +all: clean test |
7 | 8 |
|
8 | 9 |
|
9 | | -clean: |
10 | | - rm -rf target/soil_meanings.yaml |
11 | | - rm -rf target/soil_meanings_generated.yaml |
12 | | - rm -rf target/availabilities_g_s_strain_202112151116.yaml |
13 | | - rm -rf target/availabilities_g_s_strain_202112151116_org_meanings.yaml |
14 | | - |
15 | 10 | test: |
16 | 11 | $(RUN) pytest tests/ |
17 | 12 |
|
18 | 13 | schema_automator/metamodels/%.py: schema_automator/metamodels/%.yaml |
19 | 14 | $(RUN) gen-python $< > $@.tmp && mv $@.tmp $@ |
20 | 15 |
|
21 | | -# tried to find a single meaning for each permissible value |
22 | | -# unlike term mapping, which can tolerate multiple mapped terms |
23 | | -target/soil_meanings.yaml: tests/resources/mixs/terms.yaml |
24 | | - poetry run enum_annotator \ |
25 | | - --modelfile $< \ |
26 | | - --requested_enum_name fao_class_enum \ |
27 | | - --ontology_string ENVO > $@ |
28 | | - |
29 | | -# validate that it's still valid LinkML |
30 | | -# FileNotFoundError: [Errno 2] No such file or directory: '/Users/MAM/Documents/gitrepos/linkml-model-enrichment/target/ranges.yaml' |
31 | | -# cp tests/resources/mixs/*yaml target |
32 | | -target/soil_meanings_generated.yaml: target/soil_meanings.yaml |
33 | | - poetry run gen-yaml $< > $@ |
34 | | - |
35 | | -# requires Felix files |
36 | | -# add demonstration SQL file |
37 | | -target/availabilities_g_s_strain_202112151116.yaml: local/availabilities_g_s_strain_202112151116.tsv |
38 | | - poetry run tsv2linkml \ |
39 | | - --enum-columns organism \ |
40 | | - --output $@ \ |
41 | | - --class_name availabilities \ |
42 | | - --schema_name availabilities $< |
43 | | - |
44 | | -# KeyError: 'iri' could mean that an unrecognized ontology name was used |
45 | | -target/availabilities_g_s_strain_202112151116_org_meanings.yaml: target/availabilities_g_s_strain_202112151116.yaml |
46 | | - poetry run enum_annotator \ |
47 | | - --modelfile $< \ |
48 | | - --requested_enum_name organism_enum \ |
49 | | - --ontology_string NCBITAXON > $@ |
50 | | - |
51 | | -target/availabilities_g_s_strain_202112151116_org_meanings_curateable.tsv: target/availabilities_g_s_strain_202112151116_org_meanings.yaml |
52 | | - poetry run enums_to_curateable \ |
53 | | - --modelfile $< \ |
54 | | - --enum organism_enum \ |
55 | | - --tsv_out $@ |
56 | | - |
57 | | -# do some curation on target/availabilities_g_s_strain_202112151116_org_meanings_curateable.tsv |
58 | | -# and save as target/availabilities_g_s_strain_202112151116_org_meanings_curated.txt |
59 | | -# Excel wants to call it "*.txt". I'm saving as UTF 16 so I can be sure about the encoding at import time. |
60 | | - |
61 | | -target/availabilities_g_s_strain_202112151116_org_meanings_curated.yaml: target/availabilities_g_s_strain_202112151116_org_meanings_curated.txt |
62 | | - poetry run curated_to_enums \ |
63 | | - --tsv_in $< \ |
64 | | - --tsv_encoding utf_16 \ |
65 | | - --model_in target/availabilities_g_s_strain_202112151116_org_meanings.yaml \ |
66 | | - --curated_yaml $@ \ |
67 | | - --selected_enum organism_enum |
68 | 16 |
|
69 | 17 | # create a convenient wrapper script; |
70 | 18 | # this can be used outside the poetry environment |
71 | 19 | bin/schemauto: |
72 | 20 | echo `poetry run which schemauto` '"$$@"' > $@ && chmod +x $@ |
73 | 21 |
|
| 22 | +######################## |
| 23 | +#### Metamodel docs #### |
| 24 | +######################## |
| 25 | + |
| 26 | +all-docs: $(patsubst %,docs-%,$(MODELS)) |
| 27 | + |
| 28 | +docs-dosdp: schema_automator/metamodels/dosdp/dosdp_linkml.yaml |
| 29 | + $(RUN) gen-doc -d docs/metamodels/dosdp $< |
| 30 | + |
| 31 | +docs-%: schema_automator/metamodels/%.yaml |
| 32 | + $(RUN) gen-doc -d docs/metamodels/$* $< |
| 33 | + |
| 34 | +sphinx-%: |
| 35 | + cd docs && $(RUN) make $* |
| 36 | +.PHONY: sphinx-% |
74 | 37 |
|
75 | 38 | ################################################ |
76 | 39 | #### Commands for building the Docker image #### |
|
0 commit comments