|
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