From 117814a7c0d9e50d6e8b282b2f7e0ff43155b694 Mon Sep 17 00:00:00 2001 From: "luca.frosini" Date: Thu, 31 Aug 2023 15:26:26 +0200 Subject: [PATCH] Improved docs and aligned code naming --- docs/examples/gcat-doc.json | 144 ++++++++++ docs/examples/gcat.bib | 50 ++++ docs/examples/gcat.json | 146 ++++++++++ docs/gcat/gcat.bib | 160 ----------- docs/gcat/gcat.json | 272 ------------------ docs/index.rst | 98 +++++-- .../common/software/analyser/Analyser.java | 18 +- .../processor/SoftwareArtifactProcessor.java | 6 +- .../software/analyser/AnalyserTest.java | 3 +- src/test/resources/gcat-doc.json | 138 +++++++++ 10 files changed, 570 insertions(+), 465 deletions(-) create mode 100644 docs/examples/gcat-doc.json create mode 100644 docs/examples/gcat.bib create mode 100644 docs/examples/gcat.json delete mode 100644 docs/gcat/gcat.bib delete mode 100644 docs/gcat/gcat.json create mode 100644 src/test/resources/gcat-doc.json diff --git a/docs/examples/gcat-doc.json b/docs/examples/gcat-doc.json new file mode 100644 index 0000000..229d564 --- /dev/null +++ b/docs/examples/gcat-doc.json @@ -0,0 +1,144 @@ +{ + "configuration": { + "processors": { + "ZenodoExporter": { + "elaboration": "NONE", + "skip_grants": [ + "004260" + ], + "additional_html_description": "\n\n

gCube is an open-source software toolkit used for building and operating Hybrid Data Infrastructures enabling the dynamic deployment of Virtual Research Environments, such as the D4Science Infrastructure, by favouring the realisation of reuse-oriented policies.

\n\n

gCube has been used to successfully build and operate infrastructures and virtual research environments for application domains ranging from biodiversity to environmental data management and cultural heritage.

\n\n

gCube offers components supporting typical data management workflows including data access, curation, processing, and visualisation on a large set of data typologies ranging from primary biodiversity data to geospatial and tabular data.

\n\n

D4Science is a Hybrid Data Infrastructure combining over 500 software components and integrating data from more than 50 different data providers into a coherent and managed system of hardware, software, and data resources. The D4Science infrastructure drastically reduces the cost of ownership, maintenance, and operation thanks to the exploitation of gCube.

\n\n

 

\n\n

The official source code location of this software version is available at:

\n\n

{{code_location}}

" + }, + "BibLaTeXExporter": { + "elaboration": "ALL" + } + }, + "name": "gcat", + "group": "data-catalogue", + "title": "gCube Catalogue (gCat) Service {{version}}", + "license": { + "id": "EUPL-1.1", + "url": "https://opensource.org/licenses/EUPL-1.1" + }, + "keywords": [ + "gCube", + "Catalogue", + "D4Science" + ], + "description": "gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.", + "html_description": "

{{description}}

", + "authors": [ + { + "affiliation": "Istituto di Scienza e Tecnologie dell'Informazione \"A. Faedo\" - CNR, Italy", + "name": "Frosini, Luca", + "orcid": "0000-0003-3183-2291" + } + ], + "files": [ + { + "url": "https://code-repo.d4science.org/gCubeSystem/{{name}}/archive/v{{version}}.zip", + "desired_name": "{{name}}-v{{version}}.zip" + }, + { + "url": "https://code-repo.d4science.org/gCubeSystem/{{name}}/archive/v{{version}}.tar.gz", + "desired_name": "{{name}}-v{{version}}.tar.gz" + }, + { + "url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/{{group}}/{{name}}/{{version}}/{{name}}-{{version}}.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139068", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}", + "communities": [ + { + "identifier": "gcube-system" + } + ], + "grants": [ + { + "id": "004260", + "name": "DILIGENT", + "url": "https://cordis.europa.eu/project/id/004260" + }, + { + "id": "654119", + "name": "PARTHENOS", + "url": "https://cordis.europa.eu/project/id/654119" + }, + { + "id": "675680", + "name": "BlueBRIDGE", + "url": "https://cordis.europa.eu/project/id/675680" + } + ], + "export_filename": "{{name}}" + }, + "artifacts": [ + { + "version": "1.0.0", + "date": "2019-01-10", + "group": "data-publishing", + "files": [ + { + "url": "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-publishing/gcat/1.0.0-SNAPSHOT/gcat-1.0.0-20190109.172827-2.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "gcube_release_version": null, + "gcube_release_ticket": null, + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445", + "version_doi_url": "https://doi.org/10.5072/zenodo.1139446", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}" + }, + { + "version": "1.1.0", + "date": "2019-02-26", + "group": "data-publishing", + "files": [ + { + "url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.1.0-4.13.1-177071/gcat-1.1.0-4.13.1-177071-src.zip", + "desired_name": "{{name}}-v{{version}}.zip" + }, + { + "url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.1.0-4.13.1-177071/gcat-1.1.0-4.13.1-177071.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "gcube_release_version": "4.13.1", + "gcube_release_ticket": "https://support.d4science.org/issues/12988", + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445", + "version_doi_url": "https://doi.org/10.5072/zenodo.1140461", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}" + }, + { + "version": "1.2.0", + "date": "2019-05-20", + "group": "data-publishing", + "files": [ + { + "url": "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-publishing/gcat/1.2.0-SNAPSHOT/gcat-1.2.0-20190520.132914-10.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "gcube_release_version": null, + "gcube_release_ticket": null, + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445", + "version_doi_url": "https://doi.org/10.5072/zenodo.1140750", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}" + }, + { + "version": "2.0.0", + "date": "2021-05-04", + "gcube_release_version": "5.2.0", + "gcube_release_ticket": "https://support.d4science.org/issues/19738", + "version_doi_url": "https://doi.org/10.5072/zenodo.1139069" + }, + { + "version": "2.1.0", + "date": "2022-01-27", + "gcube_release_version": "5.7.0", + "gcube_release_ticket": "https://support.d4science.org/issues/21685/", + "version_doi_url": "https://doi.org/10.5072/zenodo.1139070" + } + ] +} \ No newline at end of file diff --git a/docs/examples/gcat.bib b/docs/examples/gcat.bib new file mode 100644 index 0000000..0aaeb69 --- /dev/null +++ b/docs/examples/gcat.bib @@ -0,0 +1,50 @@ +@software{gcat_1.0.0, + author = {{Luca Frosini}}, + title = {gCube Catalogue (gCat) Service 1.0.0}, + abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, + date = {2019-01-10}, + version = {1.0.0}, + url = {https://doi.org/10.5072/zenodo.1139446}, + keywords = {Catalogue, D4Science, gCube} +} + +@software{gcat_1.1.0, + author = {{Luca Frosini}}, + title = {gCube Catalogue (gCat) Service 1.1.0}, + abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, + date = {2019-02-26}, + version = {1.1.0}, + url = {https://doi.org/10.5072/zenodo.1140461}, + keywords = {Catalogue, D4Science, gCube} +} + +@software{gcat_1.2.0, + author = {{Luca Frosini}}, + title = {gCube Catalogue (gCat) Service 1.2.0}, + abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, + date = {2019-05-20}, + version = {1.2.0}, + url = {https://doi.org/10.5072/zenodo.1140750}, + keywords = {Catalogue, D4Science, gCube} +} + +@software{gcat_2.0.0, + author = {{Luca Frosini}}, + title = {gCube Catalogue (gCat) Service 2.0.0}, + abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, + date = {2021-05-04}, + version = {2.0.0}, + url = {https://doi.org/10.5072/zenodo.1139069}, + keywords = {Catalogue, D4Science, gCube} +} + +@software{gcat_2.1.0, + author = {{Luca Frosini}}, + title = {gCube Catalogue (gCat) Service 2.1.0}, + abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, + date = {2022-01-27}, + version = {2.1.0}, + url = {https://doi.org/10.5072/zenodo.1139070}, + keywords = {Catalogue, D4Science, gCube} +} + diff --git a/docs/examples/gcat.json b/docs/examples/gcat.json new file mode 100644 index 0000000..0ce3b5e --- /dev/null +++ b/docs/examples/gcat.json @@ -0,0 +1,146 @@ +{ + "configuration": { + "processors": { + "ZenodoExporter": { + "elaboration": "NONE", + "skip_grants": [ + "004260" + ], + "additional_html_description": "\n\n

gCube is an open-source software toolkit used for building and operating Hybrid Data Infrastructures enabling the dynamic deployment of Virtual Research Environments, such as the D4Science Infrastructure, by favouring the realisation of reuse-oriented policies.

\n\n

gCube has been used to successfully build and operate infrastructures and virtual research environments for application domains ranging from biodiversity to environmental data management and cultural heritage.

\n\n

gCube offers components supporting typical data management workflows including data access, curation, processing, and visualisation on a large set of data typologies ranging from primary biodiversity data to geospatial and tabular data.

\n\n

D4Science is a Hybrid Data Infrastructure combining over 500 software components and integrating data from more than 50 different data providers into a coherent and managed system of hardware, software, and data resources. The D4Science infrastructure drastically reduces the cost of ownership, maintenance, and operation thanks to the exploitation of gCube.

\n\n

 

\n\n

The official source code location of this software version is available at:

\n\n

{{code_location}}

" + }, + "BibLaTeXExporter": { + "elaboration": "ALL" + } + }, + "name": "gcat", + "group": "data-catalogue", + "title": "gCube Catalogue (gCat) Service {{version}}", + "license": { + "id": "EUPL-1.1", + "url": "https://opensource.org/licenses/EUPL-1.1" + }, + "keywords": [ + "gCube", + "Catalogue", + "D4Science" + ], + "description": "gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.", + "html_description": "

{{description}}

", + "authors": [ + { + "affiliation": "Istituto di Scienza e Tecnologie dell'Informazione \"A. Faedo\" - CNR, Italy", + "name": "Frosini, Luca", + "orcid": "0000-0003-3183-2291" + } + ], + "files": [ + { + "url": "https://code-repo.d4science.org/gCubeSystem/{{name}}/archive/v{{version}}.zip", + "desired_name": "{{name}}-v{{version}}.zip" + }, + { + "url": "https://code-repo.d4science.org/gCubeSystem/{{name}}/archive/v{{version}}.tar.gz", + "desired_name": "{{name}}-v{{version}}.tar.gz" + }, + { + "url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/{{group}}/{{name}}/{{version}}/{{name}}-{{version}}.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139068", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}", + "communities": [ + { + "identifier": "gcube-system" + } + ], + "grants": [ + { + "id": "004260", + "name": "DILIGENT", + "url": "https://cordis.europa.eu/project/id/004260" + }, + { + "id": "654119", + "name": "PARTHENOS", + "url": "https://cordis.europa.eu/project/id/654119" + }, + { + "id": "675680", + "name": "BlueBRIDGE", + "url": "https://cordis.europa.eu/project/id/675680" + } + ], + "export_filename": "{{name}}" + }, + "artifacts": [ + { + "version": "1.0.0", + "date": "2019-01-10", + "group": "data-publishing", + "files": [ + { + "url": "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-publishing/gcat/1.0.0-SNAPSHOT/gcat-1.0.0-20190109.172827-2.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "gcube_release_version": null, + "gcube_release_ticket": null, + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445", + "version_doi_url": "https://doi.org/10.5072/zenodo.1139446", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}" + }, + { + "version": "1.1.0", + "date": "2019-02-26", + "group": "data-publishing", + "files": [ + { + "url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.1.0-4.13.1-177071/gcat-1.1.0-4.13.1-177071-src.zip", + "desired_name": "{{name}}-v{{version}}.zip" + }, + { + "url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.1.0-4.13.1-177071/gcat-1.1.0-4.13.1-177071.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "gcube_release_version": "4.13.1", + "gcube_release_ticket": "https://support.d4science.org/issues/12988", + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445", + "version_doi_url": "https://doi.org/10.5072/zenodo.1140461", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}" + }, + { + "version": "1.2.0", + "date": "2019-05-20", + "group": "data-publishing", + "files": [ + { + "url": "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-publishing/gcat/1.2.0-SNAPSHOT/gcat-1.2.0-20190520.132914-10.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "gcube_release_version": null, + "gcube_release_ticket": null, + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445", + "version_doi_url": "https://doi.org/10.5072/zenodo.1140750", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}" + }, + { + "version": "2.0.0", + "date": "2021-05-04", + "gcube_release_version": "5.2.0", + "gcube_release_ticket": "https://support.d4science.org/issues/19738", + "version_doi_url": "https://doi.org/10.5072/zenodo.1139069", + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139068" + }, + { + "version": "2.1.0", + "date": "2022-01-27", + "gcube_release_version": "5.7.0", + "gcube_release_ticket": "https://support.d4science.org/issues/21685/", + "version_doi_url": "https://doi.org/10.5072/zenodo.1139070", + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139068" + } + ] +} \ No newline at end of file diff --git a/docs/gcat/gcat.bib b/docs/gcat/gcat.bib deleted file mode 100644 index 78eb7f4..0000000 --- a/docs/gcat/gcat.bib +++ /dev/null @@ -1,160 +0,0 @@ -@software{gcat_1.0.0, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 1.0.0}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2019-01-10}, - version = {1.0.0}, - url = {https://doi.org/10.5072/zenodo.1139446}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_1.1.0, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 1.1.0}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2019-02-26}, - version = {1.1.0}, - url = {https://doi.org/10.5072/zenodo.1140461}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_1.2.0, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 1.2.0}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2019-05-20}, - version = {1.2.0}, - url = {https://doi.org/10.5072/zenodo.1140750}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_1.3.0, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 1.3.0}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2019-06-27}, - version = {1.3.0}, - url = {https://doi.org/10.5072/zenodo.1143572}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_1.4.0, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 1.4.0}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2019-11-20}, - version = {1.4.0}, - url = {https://doi.org/10.5072/zenodo.1143583}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_1.4.1, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 1.4.1}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2019-12-20}, - version = {1.4.1}, - url = {https://doi.org/10.5072/zenodo.1143585}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_1.4.2, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 1.4.2}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2020-02-14}, - version = {1.4.2}, - url = {https://doi.org/10.5072/zenodo.1143586}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_1.4.3, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 1.4.3}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2020-06-16}, - version = {1.4.3}, - url = {https://doi.org/10.5072/zenodo.1143587}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_1.4.4, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 1.4.4}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2021-02-24}, - version = {1.4.4}, - url = {https://doi.org/10.5072/zenodo.1143589}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_1.4.5, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 1.4.5}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2021-03-31}, - version = {1.4.5}, - url = {https://doi.org/10.5072/zenodo.1143590}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_2.0.0, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 2.0.0}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2021-05-04}, - version = {2.0.0}, - url = {https://doi.org/10.5072/zenodo.1139069}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_2.1.0, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 2.1.0}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2022-01-27}, - version = {2.1.0}, - url = {https://doi.org/10.5072/zenodo.1139070}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_2.2.0, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 2.2.0}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2022-05-12}, - version = {2.2.0}, - url = {https://doi.org/10.5072/zenodo.1139322}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_2.3.0, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 2.3.0}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2022-07-22}, - version = {2.3.0}, - url = {https://doi.org/10.5072/zenodo.1139680}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_2.4.0, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 2.4.0}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2022-09-16}, - version = {2.4.0}, - url = {https://doi.org/10.5072/zenodo.1144798}, - keywords = {Catalogue, D4Science, gCube} -} - -@software{gcat_2.4.1, - author = {{Luca Frosini}}, - title = {gCube Catalogue (gCat) Service 2.4.1}, - abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.}, - date = {2022-12-07}, - version = {2.4.1}, - url = {https://doi.org/10.5072/zenodo.1144799}, - keywords = {Catalogue, D4Science, gCube} -} - diff --git a/docs/gcat/gcat.json b/docs/gcat/gcat.json deleted file mode 100644 index af53838..0000000 --- a/docs/gcat/gcat.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "configuration" : { - "name" : "gcat", - "group" : "data-catalogue", - "title" : "gCube Catalogue (gCat) Service {{version}}", - "license" : { - "id" : "EUPL-1.1", - "url" : "https://opensource.org/licenses/EUPL-1.1" - }, - "keywords" : [ "gCube", "Catalogue", "D4Science" ], - "description" : "gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.", - "html_description" : "

{{description}}

", - "authors" : [ { - "affiliation" : "Istituto di Scienza e Tecnologie dell'Informazione \"A. Faedo\" - CNR, Italy", - "name" : "Frosini, Luca", - "orcid" : "0000-0003-3183-2291" - } ], - "files" : [ { - "url" : "https://code-repo.d4science.org/gCubeSystem/{{name}}/archive/v{{version}}.zip", - "desired_name" : "{{name}}-v{{version}}.zip" - }, { - "url" : "https://code-repo.d4science.org/gCubeSystem/{{name}}/archive/v{{version}}.tar.gz", - "desired_name" : "{{name}}-v{{version}}.tar.gz" - }, { - "url" : "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/{{group}}/{{name}}/{{version}}/{{name}}-{{version}}.war", - "desired_name" : "{{name}}-v{{version}}.war" - } ], - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139068", - "code_location" : "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}", - "communities" : [ { - "identifier" : "gcube-system" - } ], - "grants" : [ { - "id" : "004260", - "name" : "DILIGENT", - "url" : "https://cordis.europa.eu/project/id/004260" - }, { - "id" : "212488", - "name" : "D4Science", - "url" : "https://cordis.europa.eu/project/id/212488" - }, { - "id" : "239019", - "name" : "D4Science-II", - "url" : "https://cordis.europa.eu/project/id/239019" - }, { - "id" : "283465", - "name" : "ENVRI", - "url" : "https://cordis.europa.eu/project/id/283465" - }, { - "id" : "283644", - "name" : "iMarine", - "url" : "https://cordis.europa.eu/project/id/283644" - }, { - "id" : "288754", - "name" : "EUBrazilOpenBio", - "url" : "https://cordis.europa.eu/project/id/288754" - }, { - "id" : "654024", - "name" : "SoBigData", - "url" : "https://cordis.europa.eu/project/id/654024" - }, { - "id" : "654119", - "name" : "PARTHENOS", - "url" : "https://cordis.europa.eu/project/id/654119" - }, { - "id" : "654142", - "name" : "EGI-Engage", - "url" : "https://cordis.europa.eu/project/id/654142" - }, { - "id" : "654182", - "name" : "ENVRI PLUS", - "url" : "https://cordis.europa.eu/project/id/654182" - }, { - "id" : "675680", - "name" : "BlueBRIDGE", - "url" : "https://cordis.europa.eu/project/id/675680" - }, { - "id" : "727610", - "name" : "PerformFISH", - "url" : "https://cordis.europa.eu/project/id/727610" - }, { - "id" : "731001", - "name" : "AGINFRA PLUS", - "url" : "https://cordis.europa.eu/project/id/731001" - }, { - "id" : "818194", - "name" : "DESIRA", - "url" : "https://cordis.europa.eu/project/id/818194" - }, { - "id" : "823914", - "name" : "ARIADNEplus", - "url" : "https://cordis.europa.eu/project/id/823914" - }, { - "id" : "824091", - "name" : "RISIS 2", - "url" : "https://cordis.europa.eu/project/id/824091" - }, { - "id" : "857650", - "name" : "EOSC-Pillar", - "url" : "https://cordis.europa.eu/project/id/857650" - }, { - "id" : "862409", - "name" : "Blue Cloud", - "url" : "https://cordis.europa.eu/project/id/862409" - }, { - "id" : "871042", - "name" : "SoBigData-PlusPlus", - "url" : "https://cordis.europa.eu/project/id/871042" - } ], - "export_filename" : "{{name}}", - "exporters" : { - "ZenodoExporter" : { - "elaboration" : "NONE", - "skip_grants" : [ "004260" ], - "additional_html_description" : "\n\n

gCube is an open-source software toolkit used for building and operating Hybrid Data Infrastructures enabling the dynamic deployment of Virtual Research Environments, such as the D4Science Infrastructure, by favouring the realisation of reuse-oriented policies.

\n\n

gCube has been used to successfully build and operate infrastructures and virtual research environments for application domains ranging from biodiversity to environmental data management and cultural heritage.

\n\n

gCube offers components supporting typical data management workflows including data access, curation, processing, and visualisation on a large set of data typologies ranging from primary biodiversity data to geospatial and tabular data.

\n\n

D4Science is a Hybrid Data Infrastructure combining over 500 software components and integrating data from more than 50 different data providers into a coherent and managed system of hardware, software, and data resources. The D4Science infrastructure drastically reduces the cost of ownership, maintenance, and operation thanks to the exploitation of gCube.

\n\n

 

\n\n

The official source code location of this software version is available at:

\n\n

{{code_location}}

" - }, - "BibLaTeXExporter" : { - "elaboration" : "ALL" - } - } - }, - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139068", - "artifacts" : [ { - "version" : "1.0.0", - "date" : "2019-01-10", - "group" : "data-publishing", - "files" : [ { - "url" : "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-publishing/gcat/1.0.0-SNAPSHOT/gcat-1.0.0-20190109.172827-2.war", - "desired_name" : "{{name}}-v{{version}}.war" - } ], - "gcube_release_version" : null, - "gcube_release_ticket" : null, - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139445", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1139446", - "code_location" : "https://code-repo.d4science.org/gCubeSystem/{{name}}" - }, { - "version" : "1.1.0", - "date" : "2019-02-26", - "group" : "data-publishing", - "files" : [ { - "url" : "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.1.0-4.13.1-177071/gcat-1.1.0-4.13.1-177071-src.zip", - "desired_name" : "{{name}}-v{{version}}.zip" - }, { - "url" : "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.1.0-4.13.1-177071/gcat-1.1.0-4.13.1-177071.war", - "desired_name" : "{{name}}-v{{version}}.war" - } ], - "gcube_release_version" : "4.13.1", - "gcube_release_ticket" : "https://support.d4science.org/issues/12988", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139445", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1140461", - "code_location" : "https://code-repo.d4science.org/gCubeSystem/{{name}}" - }, { - "version" : "1.2.0", - "date" : "2019-05-20", - "group" : "data-publishing", - "files" : [ { - "url" : "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-publishing/gcat/1.2.0-SNAPSHOT/gcat-1.2.0-20190520.132914-10.war", - "desired_name" : "{{name}}-v{{version}}.war" - } ], - "gcube_release_version" : null, - "gcube_release_ticket" : null, - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139445", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1140750", - "code_location" : "https://code-repo.d4science.org/gCubeSystem/{{name}}" - }, { - "version" : "1.3.0", - "date" : "2019-06-27", - "group" : "data-publishing", - "files" : [ { - "url" : "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.3.0-4.14.0-179505/gcat-1.3.0-4.14.0-179505-src.zip", - "desired_name" : "{{name}}-v{{version}}.zip" - }, { - "url" : "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.3.0-4.14.0-179505/gcat-1.3.0-4.14.0-179505.war", - "desired_name" : "{{name}}-v{{version}}.war" - } ], - "gcube_release_version" : "4.14.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/16743", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139445", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1143572", - "code_location" : "https://code-repo.d4science.org/gCubeSystem/{{name}}" - }, { - "version" : "1.4.0", - "date" : "2019-11-20", - "group" : "data-publishing", - "gcube_release_version" : "4.15.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/17294", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139445", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1143583" - }, { - "version" : "1.4.1", - "date" : "2019-12-20", - "group" : "data-publishing", - "gcube_release_version" : "4.18.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/18335", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139445", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1143585" - }, { - "version" : "1.4.2", - "date" : "2020-02-14", - "group" : "data-publishing", - "gcube_release_version" : "4.20.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/18507", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139445", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1143586" - }, { - "version" : "1.4.3", - "date" : "2020-06-16", - "group" : "data-publishing", - "gcube_release_version" : "4.23.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/19322", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139445", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1143587" - }, { - "version" : "1.4.4", - "date" : "2021-02-24", - "group" : "data-publishing", - "gcube_release_version" : "5.0.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/20648", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139445", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1143589" - }, { - "version" : "1.4.5", - "date" : "2021-03-31", - "group" : "data-publishing", - "gcube_release_version" : "5.1.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/20920", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139445", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1143590" - }, { - "version" : "2.0.0", - "date" : "2021-05-04", - "gcube_release_version" : "5.2.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/19738", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1139069", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139068" - }, { - "version" : "2.1.0", - "date" : "2022-01-27", - "gcube_release_version" : "5.7.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/21685/", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1139070", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139068" - }, { - "version" : "2.2.0", - "date" : "2022-05-12", - "gcube_release_version" : "5.11.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/22943", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1139322", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139068" - }, { - "version" : "2.3.0", - "date" : "2022-07-22", - "gcube_release_version" : "5.13.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/23374", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1139680", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139068" - }, { - "version" : "2.4.0", - "date" : "2022-09-16", - "gcube_release_version" : "5.13.1", - "gcube_release_ticket" : "https://support.d4science.org/issues/23650", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1144798", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139068" - }, { - "version" : "2.4.1", - "date" : "2022-12-07", - "gcube_release_version" : "5.14.0", - "gcube_release_ticket" : "https://support.d4science.org/issues/23885", - "version_doi_url" : "https://doi.org/10.5072/zenodo.1144799", - "concept_doi_url" : "https://doi.org/10.5072/zenodo.1139068" - } ] -} \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 6964623..b0a1b60 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -9,8 +9,8 @@ software artifacts (represented by the metadata) and process them. The library currently offers two processors: -* **ZenodoExporter**: deposit the software artifact in Zenodo obtaining a DOI; -* **BibLaTeXExporter**: export the software artifact in a ``bib`` file using the BibLaTeX format. +* **ZenodoExporter**: It deposits the software artifact in Zenodo, obtaining a DOI; +* **BibLaTeXExporter**: It exports the software artifact in a ``bib`` file using the BibLaTeX format. Other processors can be easily added in the future by extending the ``SoftwareArtifactProcessor`` class. @@ -26,15 +26,14 @@ The core class of the library is ``Analyser``, which must be initialized with: The configuration must contain: * The list of processors to be used and their configuration parameters (required); -* A optional set of metadata which will be used as default metadata for all software artifacts defined in the list. +* An optional set of metadata that will be used as default metadata for all software artifacts defined in the list. -Exporter configuration requires at least the ``elaboration`` property, which can assume the following values -(see ``ElaborationType`` enumerated): +Exporter configuration requires at least the ``elaboration`` property, which can assume the following values (see ``ElaborationType`` enumerated): * **ALL**: The exporter analyses all the software artifacts; -* **UPDATE_ONLY**: The exporter analyes only the software artifact to be updated in the target; +* **UPDATE_ONLY**: The exporter analyzes only the software artifact to be updated in the target; * **NEW**: The exporter analyses only the software artifact that does not yet exist in the target; * **NONE**: Does not export the software artifact in the target, but each software artifact is elaborated without effectively exporting it. It is a dry run. @@ -42,36 +41,95 @@ The processors are executed in the order they are defined. A processor could produce metadata itself (e.g., the obtained Zenodo DOI). The input metadata + the metadata generated by a processor are made available to the subsequent processor. -At the end of the processing phase, the library produces the actualized output of all the software artifact metadata. - The list of software artifacts contains an arbitrary set of metadata. It depends on the processor using certain metadata, among others. -While analyzing each software artifact, the ``Analyser`` link it with the previously elaborated software artifact. -Relating an artifact with the previous one is helpful if a processor needs to link them in some way. +While analyzing each software artifact, the ``Analyser`` links it with the previously elaborated software artifact. +Relating an artifact with the previous one is helpful if a processor needs to link them somehow. It is in charge of the processor's logic of connecting them using specific metadata values used as conditions. -The library dynamically calculates the value of metadata of a software artifact using the following features: +The library dynamically calculates the value of the metadata of a software artifact using the following features: * A property can contain the value of another property indicated as a variable using the referred property name; * The library merges the metadata of the software artifact with the metadata defined in the configuration; * The library calculates the final metadata values, replacing the variables only after merging the properties. -The following example show an example of configuration +The following example shows an example of configuration. -.. literalinclude:: ../src/test/resources/gcat-test-sandbox.json +.. literalinclude:: ./examples/gcat-doc.json :language: JSON -.. - The output of the elaboration is the following - - .. literalinclude:: ./gcat/gcat.json - :language: JSON +This JSON contains two properties at the top level: +* ``configuration`` : a JSON Object that contains the ``processors`` configuration list mentioned above and a set of properties to be used as default for each artifact; +* ``artifacts``: a JSON Array containing the artifact's list to be processed. + +In this example, the artifacts property comprises different versions of the same software, but different artifacts can be processed together. + +As the reader can notice, a property defined can be used as a variable inside the value of another. +For example + +.. code-block:: JSON + + { + "title": "gCube Catalogue (gCat) Service {{version}}" + } + +The ``title`` value will be evaluated while analyzing the artifact. + +Please note that there is no right place to define a property. +Please remember that the metadata contained in the global configuration is merged with the artifact's metadata. +If the same property has been defined, the value of the artifact specification is used (it is more specific). + +After the merge, the values containing references to other values are replaced. + +For this reason, the title for gcat 1.0.0 will be ``gCube Catalogue (gCat) Service 1.0.0``. + +As you can see from the example, the Concept DOI of gcat 1.X.X differs from the concept DOI for gcat 2.X.X +This means that Zenodo will have two different concepts, each with different versions. + +Moreover, the group for gcat 1.X.X is ``data-publishing`` which differs from the default value coming from the global configuration, which is ``data-catalogue``. + +ZenodoExporter +-------------- + +At the end of the processing phase, the library produces a file containing: + +* the configuration (JSON Object); +* the list of software artifacts described by their metadata (JSON Array) with actualized output. + +The output of the elaboration is the following. + + +.. literalinclude:: ./examples/gcat.json + :language: JSON + +The output produced by this processor is quite the same as the input JSON +with the exception of the properties ``concept_doi_url`` and ``version_doi_url``. + +When the library deposits a concept on Zenodo, it creates the ``concept_doi_url`` and ``version_doi_url``. +The output file can be used in a future run to update the deposit. + +BibLaTeXExporter +---------------- + +This processor produces an output file using the computed metadata + the metadata obtained from ``ZenodoExporter`` (i.e., ``version_doi_url``). + +The format of the output is defined in this template: + +.. literalinclude:: ../src/main/resources/biblatex.template + :language: bib + +Please note that for each entry there are three braces ``author = {{{author}}}`` + +The first two are printed as they are because of the bib format, and the third is used as a variable container, as done in values of the JSON properties. The output generated by ``BibLaTeXExporter`` is -.. literalinclude:: ./gcat/gcat.bib - :language: bib \ No newline at end of file +.. literalinclude:: ./examples/gcat.bib + :language: bib + + + diff --git a/src/main/java/org/gcube/common/software/analyser/Analyser.java b/src/main/java/org/gcube/common/software/analyser/Analyser.java index 44c5abf..2ad4cfd 100644 --- a/src/main/java/org/gcube/common/software/analyser/Analyser.java +++ b/src/main/java/org/gcube/common/software/analyser/Analyser.java @@ -153,19 +153,19 @@ public class Analyser { ProcessorConfig processorConfig = requestedProcessors.get(className); processorConfig = actualizeProcessorConfig(processorConfig, softwareArtifactMetadata); - SoftwareArtifactProcessor sve = processorClass.newInstance(); - sve.setOutputDirectory(outputDirectory); - sve.setGlobalConfig(globalConfig); - sve.setSoftwareArtifactConfig(softwareArtifactMetadata); - sve.setExporterConfig(processorConfig); - sve.setFirst(i==0); + SoftwareArtifactProcessor sap = processorClass.newInstance(); + sap.setOutputDirectory(outputDirectory); + sap.setGlobalConfig(globalConfig); + sap.setSoftwareArtifactConfig(softwareArtifactMetadata); + sap.setProcessorConfig(processorConfig); + sap.setFirst(i==0); boolean last = i==(artifactMetadataArray.size()-1); - sve.setLast(last); - sve.export(); + sap.setLast(last); + sap.export(); if(last) { - outputFiles.add(sve.getOutputFile()); + outputFiles.add(sap.getOutputFile()); } } diff --git a/src/main/java/org/gcube/common/software/processor/SoftwareArtifactProcessor.java b/src/main/java/org/gcube/common/software/processor/SoftwareArtifactProcessor.java index 868bbdf..cf5d837 100644 --- a/src/main/java/org/gcube/common/software/processor/SoftwareArtifactProcessor.java +++ b/src/main/java/org/gcube/common/software/processor/SoftwareArtifactProcessor.java @@ -65,11 +65,11 @@ public abstract class SoftwareArtifactProcessor { this.softwareArtifactMetadata = softwareArtifactMetadata; } - public ProcessorConfig getExporterConfig() { + public ProcessorConfig getProcessorConfig() { return processorConfig; } - public void setExporterConfig(ProcessorConfig processorConfig) { + public void setProcessorConfig(ProcessorConfig processorConfig) { this.processorConfig = processorConfig; } @@ -84,7 +84,7 @@ public abstract class SoftwareArtifactProcessor { public abstract void export() throws Exception; public File getOutputFile() throws Exception { - String fileName = globalConfig.getFileName()+exportFileNameExtension; + String fileName = globalConfig.getFileName() + exportFileNameExtension; File file = new File(outputDirectory, fileName); return file; } diff --git a/src/test/java/org/gcube/common/software/analyser/AnalyserTest.java b/src/test/java/org/gcube/common/software/analyser/AnalyserTest.java index d4c5f0e..95152f5 100644 --- a/src/test/java/org/gcube/common/software/analyser/AnalyserTest.java +++ b/src/test/java/org/gcube/common/software/analyser/AnalyserTest.java @@ -15,8 +15,9 @@ public class AnalyserTest { private static final Logger logger = LoggerFactory.getLogger(Analyser.class); - public static final String FILENAME = "gcat-test-sandbox.json"; + // public static final String FILENAME = "gcat-test-sandbox.json"; // public static final String FILENAME = "gcat-from-scratch.json"; + public static final String FILENAME = "gcat-doc.json"; @Test public void testUsingTestFile() throws Exception { diff --git a/src/test/resources/gcat-doc.json b/src/test/resources/gcat-doc.json new file mode 100644 index 0000000..fed829c --- /dev/null +++ b/src/test/resources/gcat-doc.json @@ -0,0 +1,138 @@ +{ + "configuration": { + "processors": { + "ZenodoExporter": { + "elaboration": "NONE", + "skip_grants": ["004260"], + "additional_html_description": "\n\n

gCube is an open-source software toolkit used for building and operating Hybrid Data Infrastructures enabling the dynamic deployment of Virtual Research Environments, such as the D4Science Infrastructure, by favouring the realisation of reuse-oriented policies.

\n\n

gCube has been used to successfully build and operate infrastructures and virtual research environments for application domains ranging from biodiversity to environmental data management and cultural heritage.

\n\n

gCube offers components supporting typical data management workflows including data access, curation, processing, and visualisation on a large set of data typologies ranging from primary biodiversity data to geospatial and tabular data.

\n\n

D4Science is a Hybrid Data Infrastructure combining over 500 software components and integrating data from more than 50 different data providers into a coherent and managed system of hardware, software, and data resources. The D4Science infrastructure drastically reduces the cost of ownership, maintenance, and operation thanks to the exploitation of gCube.

\n\n

 

\n\n

The official source code location of this software version is available at:

\n\n

{{code_location}}

" + }, + "BibLaTeXExporter": { + "elaboration": "ALL" + } + }, + "name": "gcat", + "group": "data-catalogue", + "title": "gCube Catalogue (gCat) Service {{version}}", + "license": { + "id": "EUPL-1.1", + "url": "https://opensource.org/licenses/EUPL-1.1" + }, + "keywords": ["gCube", "Catalogue", "D4Science"], + "description": "gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.", + "html_description": "

{{description}}

", + "authors": [ + { + "affiliation": "Istituto di Scienza e Tecnologie dell'Informazione \"A. Faedo\" - CNR, Italy", + "name": "Frosini, Luca", + "orcid": "0000-0003-3183-2291" + } + ], + "files": [ + { + "url": "https://code-repo.d4science.org/gCubeSystem/{{name}}/archive/v{{version}}.zip", + "desired_name": "{{name}}-v{{version}}.zip" + }, + { + "url": "https://code-repo.d4science.org/gCubeSystem/{{name}}/archive/v{{version}}.tar.gz", + "desired_name": "{{name}}-v{{version}}.tar.gz" + }, + { + "url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/{{group}}/{{name}}/{{version}}/{{name}}-{{version}}.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139068", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}", + "communities": [ + { + "identifier": "gcube-system" + } + ], + "grants": [ + { + "id": "004260", + "name": "DILIGENT", + "url": "https://cordis.europa.eu/project/id/004260" + }, + { + "id": "654119", + "name": "PARTHENOS", + "url": "https://cordis.europa.eu/project/id/654119" + }, + { + "id": "675680", + "name": "BlueBRIDGE", + "url": "https://cordis.europa.eu/project/id/675680" + } + ], + "export_filename": "{{name}}" + }, + "artifacts": [ + { + "version": "1.0.0", + "date": "2019-01-10", + "group": "data-publishing", + "files": [ + { + "url": "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-publishing/gcat/1.0.0-SNAPSHOT/gcat-1.0.0-20190109.172827-2.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "gcube_release_version": null, + "gcube_release_ticket": null, + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445", + "version_doi_url": "https://doi.org/10.5072/zenodo.1139446", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}" + }, + { + "version": "1.1.0", + "date": "2019-02-26", + "group": "data-publishing", + "files": [ + { + "url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.1.0-4.13.1-177071/gcat-1.1.0-4.13.1-177071-src.zip", + "desired_name": "{{name}}-v{{version}}.zip" + }, + { + "url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.1.0-4.13.1-177071/gcat-1.1.0-4.13.1-177071.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "gcube_release_version": "4.13.1", + "gcube_release_ticket": "https://support.d4science.org/issues/12988", + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445", + "version_doi_url": "https://doi.org/10.5072/zenodo.1140461", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}" + }, + { + "version": "1.2.0", + "date": "2019-05-20", + "group": "data-publishing", + "files": [ + { + "url": "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-publishing/gcat/1.2.0-SNAPSHOT/gcat-1.2.0-20190520.132914-10.war", + "desired_name": "{{name}}-v{{version}}.war" + } + ], + "gcube_release_version": null, + "gcube_release_ticket": null, + "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445", + "version_doi_url": "https://doi.org/10.5072/zenodo.1140750", + "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}" + }, + { + "version": "2.0.0", + "date": "2021-05-04", + "gcube_release_version": "5.2.0", + "gcube_release_ticket": "https://support.d4science.org/issues/19738", + "version_doi_url": "https://doi.org/10.5072/zenodo.1139069" + }, + { + "version": "2.1.0", + "date": "2022-01-27", + "gcube_release_version": "5.7.0", + "gcube_release_ticket": "https://support.d4science.org/issues/21685/", + "version_doi_url": "https://doi.org/10.5072/zenodo.1139070" + } + ] +} \ No newline at end of file