RefactoringCode
This commit is contained in:
parent
f30f35ec49
commit
c06cd2b81c
|
@ -1,6 +1,5 @@
|
||||||
package org.gcube.common.software.analyser;
|
package org.gcube.common.software.analyser;
|
||||||
|
|
||||||
import java.net.URL;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
@ -8,8 +7,6 @@ import org.gcube.com.fasterxml.jackson.databind.JsonNode;
|
||||||
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
|
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import org.gcube.com.fasterxml.jackson.databind.node.ArrayNode;
|
import org.gcube.com.fasterxml.jackson.databind.node.ArrayNode;
|
||||||
import org.gcube.com.fasterxml.jackson.databind.node.ObjectNode;
|
import org.gcube.com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
import org.gcube.com.fasterxml.jackson.databind.node.TextNode;
|
|
||||||
import org.gcube.common.software.model.GlobalConfig;
|
|
||||||
import org.gcube.common.software.model.SoftwareVersionConfig;
|
import org.gcube.common.software.model.SoftwareVersionConfig;
|
||||||
import org.gcube.common.software.model.Variables;
|
import org.gcube.common.software.model.Variables;
|
||||||
import org.gcube.common.software.utils.Utils;
|
import org.gcube.common.software.utils.Utils;
|
||||||
|
@ -27,32 +24,32 @@ public class Analyser {
|
||||||
|
|
||||||
protected ObjectMapper objectMapper;
|
protected ObjectMapper objectMapper;
|
||||||
|
|
||||||
protected ObjectNode originalGlobal;
|
protected ObjectNode globalConfiguration;
|
||||||
protected ArrayNode originalVersions;
|
protected ArrayNode versionConfigurations;
|
||||||
protected ArrayNode exportingVersions;
|
protected ArrayNode elaboratedVersions;
|
||||||
|
|
||||||
public Analyser() throws Exception {
|
public Analyser() throws Exception {
|
||||||
this.objectMapper = Utils.getObjectMapper();
|
this.objectMapper = Utils.getObjectMapper();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObjectNode getOriginalGlobal() {
|
public ObjectNode getGlobalConfiguration() {
|
||||||
return originalGlobal;
|
return globalConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOriginalGlobal(ObjectNode originalGlobal) {
|
public void setGlobalConfiguration(ObjectNode originalGlobal) {
|
||||||
this.originalGlobal = originalGlobal.deepCopy();
|
this.globalConfiguration = originalGlobal.deepCopy();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayNode getOriginalVersions() {
|
public ArrayNode getVersionConfigurations() {
|
||||||
return originalVersions;
|
return versionConfigurations;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOriginalVersions(ArrayNode originalVersions) {
|
public void setVersionConfigurations(ArrayNode originalVersions) {
|
||||||
this.originalVersions = originalVersions.deepCopy();
|
this.versionConfigurations = originalVersions.deepCopy();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayNode getExportingVersions() {
|
public ArrayNode getElaboratedVersions() {
|
||||||
return exportingVersions;
|
return elaboratedVersions;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected SoftwareVersionConfig actualizeSoftwareVersionConfig(JsonNode version) throws Exception {
|
protected SoftwareVersionConfig actualizeSoftwareVersionConfig(JsonNode version) throws Exception {
|
||||||
|
@ -68,93 +65,30 @@ public class Analyser {
|
||||||
return softwareVersion;
|
return softwareVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected GlobalConfig actualizeGlobalConfig(JsonNode node) throws Exception {
|
|
||||||
Variables variables = objectMapper.treeToValue(node, Variables.class);
|
|
||||||
variables.parse();
|
|
||||||
JsonNode sc = objectMapper.convertValue(variables.getProperties(), JsonNode.class);
|
|
||||||
return objectMapper.treeToValue(sc, GlobalConfig.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void analyse() throws Exception {
|
public void analyse() throws Exception {
|
||||||
GlobalConfig globalConfig = actualizeGlobalConfig(originalGlobal);
|
|
||||||
globalConfig.setOriginalJson(originalGlobal);
|
|
||||||
|
|
||||||
SoftwareVersionConfig previous = null;
|
SoftwareVersionConfig previous = null;
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
exportingVersions = objectMapper.createArrayNode();
|
elaboratedVersions = objectMapper.createArrayNode();
|
||||||
try {
|
for(i=0; i<versionConfigurations.size(); i++) {
|
||||||
for(i=0; i<originalVersions.size(); i++) {
|
ObjectNode versionConfig = (ObjectNode) versionConfigurations.get(i).deepCopy();
|
||||||
ObjectNode originalVersion = (ObjectNode) originalVersions.get(i).deepCopy();
|
elaboratedVersions.set(i, versionConfig);
|
||||||
exportingVersions.add(originalVersion);
|
JsonNode actualizedVersionConfig = Utils.merge(globalConfiguration, versionConfig);
|
||||||
|
|
||||||
JsonNode version = Utils.merge(originalGlobal, originalVersion);
|
|
||||||
SoftwareVersionConfig softwareVersion = actualizeSoftwareVersionConfig(version);
|
|
||||||
softwareVersion.setOriginalJson(originalVersion);
|
|
||||||
|
|
||||||
boolean newDOI = false;
|
|
||||||
if(softwareVersion.getDOIURL()==null) {
|
|
||||||
newDOI = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
softwareVersion.setPrevious(previous);
|
|
||||||
if(previous!=null) {
|
|
||||||
previous.setNext(softwareVersion);
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.trace("Going to process {}", softwareVersion.getTitle());
|
|
||||||
|
|
||||||
try {
|
|
||||||
SoftwareVersionConfigAnalyser softwareVersionAnalyser = new SoftwareVersionConfigAnalyser(softwareVersion);
|
|
||||||
softwareVersionAnalyser.setSoftwareConfig(globalConfig);
|
|
||||||
softwareVersionAnalyser.setFirst(i==0);
|
|
||||||
softwareVersionAnalyser.analyse();
|
|
||||||
|
|
||||||
previous = softwareVersion;
|
|
||||||
}finally {
|
|
||||||
|
|
||||||
/* Need to export the original file with the DOI and Version DOI */
|
|
||||||
URL doiURL = softwareVersion.getDOIURL();
|
|
||||||
if(doiURL!=null) {
|
|
||||||
originalVersion.put(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME, doiURL.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
if(softwareVersion.getVersionDOIURL()!=null) {
|
|
||||||
originalVersion.put(SoftwareVersionConfig.VERSION_DOI_URL_PROPERTY_NAME, softwareVersion.getVersionDOIURL().toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
if(newDOI) {
|
|
||||||
globalConfig.addProperty(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME, new TextNode(doiURL.toString()));
|
|
||||||
originalGlobal.put(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME, doiURL.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Thread.sleep(TimeUnit.SECONDS.toMillis(2));
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
for(int j=i+1; j<originalVersions.size(); j++) {
|
|
||||||
ObjectNode originalVersion = (ObjectNode) originalVersions.get(j).deepCopy();
|
|
||||||
exportingVersions.add(originalVersion);
|
|
||||||
}
|
|
||||||
throw e;
|
|
||||||
}finally {
|
|
||||||
|
|
||||||
// if(originalGlobal.has(SoftwareGlobalConfig.DOI_URL_PROPERTY_NAME)
|
SoftwareVersionConfig softwareVersionConfig = actualizeSoftwareVersionConfig(actualizedVersionConfig);
|
||||||
// && originalGlobal.get(SoftwareGlobalConfig.DOI_URL_PROPERTY_NAME).getNodeType()!=JsonNodeType.NULL) {
|
softwareVersionConfig.setOriginalJson(versionConfig);
|
||||||
// String conceptDOIURL = originalGlobal.get(SoftwareGlobalConfig.DOI_URL_PROPERTY_NAME).asText();
|
softwareVersionConfig.setPrevious(previous);
|
||||||
//
|
|
||||||
// for(i=0; i<exportingVersions.size(); i++) {
|
|
||||||
// ObjectNode v = (ObjectNode) exportingVersions.get(i);
|
|
||||||
// if(v.has(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME)
|
|
||||||
// && v.get(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME).getNodeType()!=JsonNodeType.NULL){
|
|
||||||
// String vDOI = v.get(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME).asText();
|
|
||||||
// if(conceptDOIURL.compareTo(vDOI)==0) {
|
|
||||||
// v.remove(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
logger.trace("Going to process {}", softwareVersionConfig.getTitle());
|
||||||
|
|
||||||
|
SoftwareVersionConfigAnalyser softwareVersionAnalyser = new SoftwareVersionConfigAnalyser(softwareVersionConfig);
|
||||||
|
softwareVersionAnalyser.setFirst(i==0);
|
||||||
|
softwareVersionAnalyser.analyse();
|
||||||
|
elaboratedVersions.set(i, softwareVersionAnalyser.getSoftwareVersionConfig().getOriginalJson());
|
||||||
|
|
||||||
|
Thread.sleep(TimeUnit.SECONDS.toMillis(2));
|
||||||
|
|
||||||
|
previous = softwareVersionAnalyser.getSoftwareVersionConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,9 +37,9 @@ public class AnalyserFactory {
|
||||||
public static Analyser getAnalyser(JsonNode jsonNode) throws Exception {
|
public static Analyser getAnalyser(JsonNode jsonNode) throws Exception {
|
||||||
Analyser analyser = new Analyser();
|
Analyser analyser = new Analyser();
|
||||||
ObjectNode originalGlobal = (ObjectNode) jsonNode.get(GLOBAL_PROPERTY_NAME);
|
ObjectNode originalGlobal = (ObjectNode) jsonNode.get(GLOBAL_PROPERTY_NAME);
|
||||||
analyser.setOriginalGlobal(originalGlobal);
|
analyser.setGlobalConfiguration(originalGlobal);
|
||||||
ArrayNode originalVersions = (ArrayNode) jsonNode.get(VERSIONS_PROPERTY_NAME);
|
ArrayNode originalVersions = (ArrayNode) jsonNode.get(VERSIONS_PROPERTY_NAME);
|
||||||
analyser.setOriginalVersions(originalVersions);
|
analyser.setVersionConfigurations(originalVersions);
|
||||||
return analyser;
|
return analyser;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,8 +47,8 @@ public class AnalyserFactory {
|
||||||
public static ObjectNode getAnalysResultAsObjectNode(Analyser analyser) throws Exception {
|
public static ObjectNode getAnalysResultAsObjectNode(Analyser analyser) throws Exception {
|
||||||
ObjectMapper objectMapper = Utils.getObjectMapper();
|
ObjectMapper objectMapper = Utils.getObjectMapper();
|
||||||
ObjectNode toBeExported = objectMapper.createObjectNode();
|
ObjectNode toBeExported = objectMapper.createObjectNode();
|
||||||
toBeExported.replace(GLOBAL_PROPERTY_NAME, analyser.getOriginalGlobal());
|
toBeExported.replace(GLOBAL_PROPERTY_NAME, analyser.getGlobalConfiguration());
|
||||||
toBeExported.replace(VERSIONS_PROPERTY_NAME, analyser.getExportingVersions());
|
toBeExported.replace(VERSIONS_PROPERTY_NAME, analyser.getElaboratedVersions());
|
||||||
return toBeExported;
|
return toBeExported;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ public class AnalyserFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void writeAnalysResultToFile(Analyser analyser) throws Exception {
|
public static void writeAnalysResultToFile(Analyser analyser) throws Exception {
|
||||||
JsonNode jsonNode = analyser.getOriginalGlobal().get(AnalyserFactory.EXPORT_FILENAME_PROPERTY_NAME);
|
JsonNode jsonNode = analyser.getGlobalConfiguration().get(AnalyserFactory.EXPORT_FILENAME_PROPERTY_NAME);
|
||||||
String fileName = jsonNode.getNodeType() == JsonNodeType.NULL ? null : jsonNode.asText();
|
String fileName = jsonNode.getNodeType() == JsonNodeType.NULL ? null : jsonNode.asText();
|
||||||
fileName = AnalyserFactory.getExportFileName(fileName);
|
fileName = AnalyserFactory.getExportFileName(fileName);
|
||||||
File file = new File(fileName);
|
File file = new File(fileName);
|
||||||
|
|
|
@ -8,7 +8,6 @@ import java.util.Set;
|
||||||
|
|
||||||
import org.gcube.common.software.export.SoftwareVersionExporter;
|
import org.gcube.common.software.export.SoftwareVersionExporter;
|
||||||
import org.gcube.common.software.model.ExporterConfig;
|
import org.gcube.common.software.model.ExporterConfig;
|
||||||
import org.gcube.common.software.model.GlobalConfig;
|
|
||||||
import org.gcube.common.software.model.SoftwareVersionConfig;
|
import org.gcube.common.software.model.SoftwareVersionConfig;
|
||||||
import org.gcube.common.software.model.SoftwareVersionFile;
|
import org.gcube.common.software.model.SoftwareVersionFile;
|
||||||
import org.gcube.common.software.model.Variables;
|
import org.gcube.common.software.model.Variables;
|
||||||
|
@ -22,7 +21,6 @@ public class SoftwareVersionConfigAnalyser {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(SoftwareVersionConfigAnalyser.class);
|
private static final Logger logger = LoggerFactory.getLogger(SoftwareVersionConfigAnalyser.class);
|
||||||
|
|
||||||
protected GlobalConfig softwareConfig;
|
|
||||||
protected SoftwareVersionConfig softwareVersionConfig;
|
protected SoftwareVersionConfig softwareVersionConfig;
|
||||||
protected boolean first;
|
protected boolean first;
|
||||||
|
|
||||||
|
@ -30,14 +28,6 @@ public class SoftwareVersionConfigAnalyser {
|
||||||
this.softwareVersionConfig = softwareVersionConfig;
|
this.softwareVersionConfig = softwareVersionConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GlobalConfig getSoftwareConfig() {
|
|
||||||
return softwareConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSoftwareConfig(GlobalConfig softwareConfig) {
|
|
||||||
this.softwareConfig = softwareConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SoftwareVersionConfig getSoftwareVersionConfig() {
|
public SoftwareVersionConfig getSoftwareVersionConfig() {
|
||||||
return softwareVersionConfig;
|
return softwareVersionConfig;
|
||||||
}
|
}
|
||||||
|
@ -75,15 +65,14 @@ public class SoftwareVersionConfigAnalyser {
|
||||||
|
|
||||||
if(!availableExporterNames.containsAll(requestedExporterNames)) {
|
if(!availableExporterNames.containsAll(requestedExporterNames)) {
|
||||||
requestedExporterNames.removeAll(availableExporterNames);
|
requestedExporterNames.removeAll(availableExporterNames);
|
||||||
throw new Exception("The following requested Exporters does not exists " + requestedExporterNames);
|
throw new Exception("The following requested availableExporters does not exists " + requestedExporterNames);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(String className : requestedExporters.keySet()) {
|
for(String className : requestedExporters.keySet()) {
|
||||||
logger.debug("Goign to export with {}", className);
|
logger.debug("Going to export with {}", className);
|
||||||
Class<? extends SoftwareVersionExporter> exporterClass = availableExporters.get(className);
|
Class<? extends SoftwareVersionExporter> exporterClass = availableExporters.get(className);
|
||||||
SoftwareVersionExporter sve = exporterClass.newInstance();
|
SoftwareVersionExporter sve = exporterClass.newInstance();
|
||||||
ExporterConfig exporterConfig = requestedExporters.get(className);
|
ExporterConfig exporterConfig = requestedExporters.get(className);
|
||||||
sve.setGlobalConfig(softwareConfig);
|
|
||||||
sve.setSoftwareVersion(softwareVersionConfig);
|
sve.setSoftwareVersion(softwareVersionConfig);
|
||||||
sve.setExporterConfig(exporterConfig);
|
sve.setExporterConfig(exporterConfig);
|
||||||
sve.setFirst(first);
|
sve.setFirst(first);
|
||||||
|
|
|
@ -6,7 +6,6 @@ import java.util.Map;
|
||||||
import org.gcube.common.software.export.biblatex.BibLaTeXSoftwareVersionExporter;
|
import org.gcube.common.software.export.biblatex.BibLaTeXSoftwareVersionExporter;
|
||||||
import org.gcube.common.software.export.zenodo.ZenodoSoftwareVersionExporter;
|
import org.gcube.common.software.export.zenodo.ZenodoSoftwareVersionExporter;
|
||||||
import org.gcube.common.software.model.ExporterConfig;
|
import org.gcube.common.software.model.ExporterConfig;
|
||||||
import org.gcube.common.software.model.GlobalConfig;
|
|
||||||
import org.gcube.common.software.model.SoftwareVersionConfig;
|
import org.gcube.common.software.model.SoftwareVersionConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -14,35 +13,29 @@ import org.gcube.common.software.model.SoftwareVersionConfig;
|
||||||
*/
|
*/
|
||||||
public abstract class SoftwareVersionExporter {
|
public abstract class SoftwareVersionExporter {
|
||||||
|
|
||||||
protected static Map<String, Class<? extends SoftwareVersionExporter>> processors;
|
protected static Map<String, Class<? extends SoftwareVersionExporter>> availableExporters;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
processors = new HashMap<>();
|
availableExporters = new HashMap<>();
|
||||||
add(ZenodoSoftwareVersionExporter.class);
|
add(ZenodoSoftwareVersionExporter.class);
|
||||||
add(BibLaTeXSoftwareVersionExporter.class);
|
add(BibLaTeXSoftwareVersionExporter.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void add(Class<? extends SoftwareVersionExporter> clz) {
|
private static void add(Class<? extends SoftwareVersionExporter> clz) {
|
||||||
processors.put(clz.getSimpleName(), clz);
|
availableExporters.put(clz.getSimpleName(), clz);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Map<String, Class<? extends SoftwareVersionExporter>> getAvailableExporters() {
|
public static Map<String, Class<? extends SoftwareVersionExporter>> getAvailableExporters() {
|
||||||
return processors;
|
return availableExporters;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected GlobalConfig globalConfig;
|
|
||||||
protected SoftwareVersionConfig softwareVersionConfig;
|
protected SoftwareVersionConfig softwareVersionConfig;
|
||||||
protected ExporterConfig processorConfig;
|
protected ExporterConfig processorConfig;
|
||||||
protected boolean first;
|
protected boolean first;
|
||||||
|
|
||||||
public GlobalConfig getGlobalConfig() {
|
protected String fileExtension;
|
||||||
return globalConfig;
|
protected String output;
|
||||||
}
|
|
||||||
|
|
||||||
public void setGlobalConfig(GlobalConfig softwareConfig) {
|
|
||||||
this.globalConfig = softwareConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SoftwareVersionConfig getSoftwareVersionConfig() {
|
public SoftwareVersionConfig getSoftwareVersionConfig() {
|
||||||
return softwareVersionConfig;
|
return softwareVersionConfig;
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,8 +166,12 @@ public class BibLaTeXSoftwareVersionExporter extends SoftwareVersionExporter {
|
||||||
logger.info("Going to export {} in BibLaTex format.", title);
|
logger.info("Going to export {} in BibLaTex format.", title);
|
||||||
|
|
||||||
String template = getTemplate();
|
String template = getTemplate();
|
||||||
String toBeExported = parseTemplate(template);
|
output = parseTemplate(template);
|
||||||
|
|
||||||
|
writeToFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void writeToFile() throws Exception {
|
||||||
File exportFile = getExportFile();
|
File exportFile = getExportFile();
|
||||||
if (first && exportFile.exists()) {
|
if (first && exportFile.exists()) {
|
||||||
exportFile.delete();
|
exportFile.delete();
|
||||||
|
@ -179,13 +183,13 @@ public class BibLaTeXSoftwareVersionExporter extends SoftwareVersionExporter {
|
||||||
|
|
||||||
FileWriter fileWritter = new FileWriter(exportFile, true);
|
FileWriter fileWritter = new FileWriter(exportFile, true);
|
||||||
BufferedWriter bw = new BufferedWriter(fileWritter);
|
BufferedWriter bw = new BufferedWriter(fileWritter);
|
||||||
bw.write(toBeExported);
|
bw.write(output);
|
||||||
bw.write("\n\n");
|
bw.write("\n\n");
|
||||||
bw.close();
|
bw.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected File getExportFile() {
|
protected File getExportFile() {
|
||||||
JsonNode jsonNode = globalConfig.getProperty(AnalyserFactory.EXPORT_FILENAME_PROPERTY_NAME);
|
JsonNode jsonNode = softwareVersionConfig.getAdditionalProperty(AnalyserFactory.EXPORT_FILENAME_PROPERTY_NAME);
|
||||||
String fileName = jsonNode.getNodeType() == JsonNodeType.NULL ? null : jsonNode.asText();
|
String fileName = jsonNode.getNodeType() == JsonNodeType.NULL ? null : jsonNode.asText();
|
||||||
fileName = AnalyserFactory.getExportFileName(fileName);
|
fileName = AnalyserFactory.getExportFileName(fileName);
|
||||||
File file = new File(fileName + EXPORT_FILENAME_EXTENSION);
|
File file = new File(fileName + EXPORT_FILENAME_EXTENSION);
|
||||||
|
|
|
@ -31,6 +31,7 @@ import org.gcube.common.gxhttp.request.GXHTTPStringRequest;
|
||||||
import org.gcube.common.software.config.Config;
|
import org.gcube.common.software.config.Config;
|
||||||
import org.gcube.common.software.export.SoftwareVersionExporter;
|
import org.gcube.common.software.export.SoftwareVersionExporter;
|
||||||
import org.gcube.common.software.model.ElaborationType;
|
import org.gcube.common.software.model.ElaborationType;
|
||||||
|
import org.gcube.common.software.model.SoftwareVersionConfig;
|
||||||
import org.gcube.common.software.model.SoftwareVersionFile;
|
import org.gcube.common.software.model.SoftwareVersionFile;
|
||||||
import org.gcube.common.software.utils.Utils;
|
import org.gcube.common.software.utils.Utils;
|
||||||
import org.glassfish.jersey.client.ClientProperties;
|
import org.glassfish.jersey.client.ClientProperties;
|
||||||
|
@ -55,11 +56,7 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
|
||||||
|
|
||||||
public static final String METADATA_FIELD_NAME = "metadata";
|
public static final String METADATA_FIELD_NAME = "metadata";
|
||||||
|
|
||||||
// private static final String SANDBOX_BASE_PATH = "https://sandbox.zenodo.org";
|
public static final String PREVIOUS = "PREVIOUS";
|
||||||
// private static final String SANDBOX_DOI_URL_BASE_PATH = "https://doi.org/10.5072/zenodo.";
|
|
||||||
//
|
|
||||||
// private static final String PRODUCTION_BASE_PATH = "https://zenodo.org";
|
|
||||||
// private static final String PRODUCTION_DOI_URL_BASE_PATH = "https://doi.org/10.5281/zenodo.";
|
|
||||||
|
|
||||||
public static final String DEPOSITIONS_COLLECTION_PATH = "/api/deposit/depositions";
|
public static final String DEPOSITIONS_COLLECTION_PATH = "/api/deposit/depositions";
|
||||||
public static final String DEPOSITION_PATH = DEPOSITIONS_COLLECTION_PATH + "/:id";
|
public static final String DEPOSITION_PATH = DEPOSITIONS_COLLECTION_PATH + "/:id";
|
||||||
|
@ -272,9 +269,11 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
|
||||||
response = getResponse(httpURLConnection);
|
response = getResponse(httpURLConnection);
|
||||||
|
|
||||||
URL conceptDOIURL = createZenodoDOIURLFromID(response.get("conceptrecid").asText());
|
URL conceptDOIURL = createZenodoDOIURLFromID(response.get("conceptrecid").asText());
|
||||||
softwareVersionConfig.setDOIURL(conceptDOIURL);
|
softwareVersionConfig.setConceptDOIURL(conceptDOIURL);
|
||||||
|
softwareVersionConfig.getOriginalJson().put(SoftwareVersionConfig.CONCEPT_DOI_URL_PROPERTY_NAME, conceptDOIURL.toString());
|
||||||
URL doiURL = new URL(doiBaseURL + response.get("id").asText());
|
URL doiURL = new URL(doiBaseURL + response.get("id").asText());
|
||||||
softwareVersionConfig.setVersionDOIURL(doiURL);
|
softwareVersionConfig.setVersionDOIURL(doiURL);
|
||||||
|
softwareVersionConfig.getOriginalJson().put(SoftwareVersionConfig.VERSION_DOI_URL_PROPERTY_NAME, doiURL.toString());
|
||||||
|
|
||||||
finalize();
|
finalize();
|
||||||
}
|
}
|
||||||
|
@ -402,7 +401,7 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
|
||||||
gxHTTPStringRequest.queryParams(getAccessTokenQueryParamters());
|
gxHTTPStringRequest.queryParams(getAccessTokenQueryParamters());
|
||||||
gxHTTPStringRequest.header("Content-Type", "application/json");
|
gxHTTPStringRequest.header("Content-Type", "application/json");
|
||||||
gxHTTPStringRequest.header("Accept", "application/json");
|
gxHTTPStringRequest.header("Accept", "application/json");
|
||||||
String conceptID = getZenodoIDFromDOIURL(softwareVersionConfig.getDOIURL());
|
String conceptID = getZenodoIDFromDOIURL(softwareVersionConfig.getConceptDOIURL());
|
||||||
gxHTTPStringRequest.path(RECORD_PATH.replace(":id", conceptID));
|
gxHTTPStringRequest.path(RECORD_PATH.replace(":id", conceptID));
|
||||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||||
JsonNode jsonNode = getResponse(httpURLConnection);
|
JsonNode jsonNode = getResponse(httpURLConnection);
|
||||||
|
@ -422,7 +421,7 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
|
||||||
String latestVersionVersion = jsonNode.get("metadata").get("version").asText();
|
String latestVersionVersion = jsonNode.get("metadata").get("version").asText();
|
||||||
String previousVersionVersion = softwareVersionConfig.getPrevious().getVersion().toString();
|
String previousVersionVersion = softwareVersionConfig.getPrevious().getVersion().toString();
|
||||||
if(latestVersionVersion.compareTo(previousVersionVersion)!=0) {
|
if(latestVersionVersion.compareTo(previousVersionVersion)!=0) {
|
||||||
logger.error("Zenodo obtained latest Version {} != {} Versoin from previous version", latestVersionVersion, previousVersionVersion);
|
logger.error("Zenodo obtained latest Version {} != {} Version from previous version", latestVersionVersion, previousVersionVersion);
|
||||||
throw new RuntimeException("It seems that your json is not up to date with Zenodo.");
|
throw new RuntimeException("It seems that your json is not up to date with Zenodo.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -457,6 +456,7 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
|
||||||
// The reserved DOI of this created new version will be
|
// The reserved DOI of this created new version will be
|
||||||
URL doiURL = new URL(response.get("doi_url").asText());
|
URL doiURL = new URL(response.get("doi_url").asText());
|
||||||
softwareVersionConfig.setVersionDOIURL(doiURL);
|
softwareVersionConfig.setVersionDOIURL(doiURL);
|
||||||
|
softwareVersionConfig.getOriginalJson().put(SoftwareVersionConfig.VERSION_DOI_URL_PROPERTY_NAME, doiURL.toString());
|
||||||
|
|
||||||
// Remove previous depositionFiles
|
// Remove previous depositionFiles
|
||||||
deletePreviousFiles();
|
deletePreviousFiles();
|
||||||
|
@ -514,13 +514,15 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
|
||||||
|
|
||||||
softwareVersionConfig.setNewDeposition(true);
|
softwareVersionConfig.setNewDeposition(true);
|
||||||
|
|
||||||
if(softwareVersionConfig.getDOIURL()==null) {
|
if(softwareVersionConfig.getConceptDOIURL()==null) {
|
||||||
create();
|
create();
|
||||||
}else {
|
}else {
|
||||||
newVersion();
|
newVersion();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
output = Utils.getObjectMapper().writeValueAsString(softwareVersionConfig.getOriginalJson());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -33,16 +33,13 @@ public class SoftwareVersionConfig {
|
||||||
public static final String AUTHORS_PROPERTY_NAME = "authors";
|
public static final String AUTHORS_PROPERTY_NAME = "authors";
|
||||||
public static final String FILES_PROPERTY_NAME = "files";
|
public static final String FILES_PROPERTY_NAME = "files";
|
||||||
public static final String CODE_LOCATION_PROPERTY_NAME = "code_location";
|
public static final String CODE_LOCATION_PROPERTY_NAME = "code_location";
|
||||||
public static final String DOI_URL_PROPERTY_NAME = "doi_url";
|
public static final String CONCEPT_DOI_URL_PROPERTY_NAME = "concept_doi_url";
|
||||||
public static final String VERSION_DOI_URL_PROPERTY_NAME = "version_doi_url";
|
public static final String VERSION_DOI_URL_PROPERTY_NAME = "version_doi_url";
|
||||||
public static final String GRANTS_PROPERTY_NAME = "grants";
|
public static final String GRANTS_PROPERTY_NAME = "grants";
|
||||||
public static final String EXPORTERS_PROPERTY_NAME = "exporters";
|
public static final String EXPORTERS_PROPERTY_NAME = "availableExporters";
|
||||||
|
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
protected SoftwareVersionConfig previous;
|
protected SoftwareVersionConfig previous;
|
||||||
|
|
||||||
@JsonIgnore
|
|
||||||
protected SoftwareVersionConfig next;
|
|
||||||
|
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
protected Boolean newDeposition;
|
protected Boolean newDeposition;
|
||||||
|
@ -75,8 +72,8 @@ public class SoftwareVersionConfig {
|
||||||
@JsonProperty(CODE_LOCATION_PROPERTY_NAME)
|
@JsonProperty(CODE_LOCATION_PROPERTY_NAME)
|
||||||
protected String codeLocation;
|
protected String codeLocation;
|
||||||
|
|
||||||
@JsonProperty(DOI_URL_PROPERTY_NAME)
|
@JsonProperty(CONCEPT_DOI_URL_PROPERTY_NAME)
|
||||||
protected URL doiURL;
|
protected URL conceptDOIURL;
|
||||||
|
|
||||||
@JsonProperty(VERSION_DOI_URL_PROPERTY_NAME)
|
@JsonProperty(VERSION_DOI_URL_PROPERTY_NAME)
|
||||||
protected URL versionDOIURL;
|
protected URL versionDOIURL;
|
||||||
|
@ -104,16 +101,6 @@ public class SoftwareVersionConfig {
|
||||||
this.previous = previous;
|
this.previous = previous;
|
||||||
}
|
}
|
||||||
|
|
||||||
@JsonIgnore
|
|
||||||
public SoftwareVersionConfig getNext() {
|
|
||||||
return next;
|
|
||||||
}
|
|
||||||
|
|
||||||
@JsonIgnore
|
|
||||||
public void setNext(SoftwareVersionConfig next) {
|
|
||||||
this.next = next;
|
|
||||||
}
|
|
||||||
|
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
public Boolean isNewDeposition() {
|
public Boolean isNewDeposition() {
|
||||||
return newDeposition;
|
return newDeposition;
|
||||||
|
@ -180,12 +167,12 @@ public class SoftwareVersionConfig {
|
||||||
return codeLocation;
|
return codeLocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
public URL getDOIURL() {
|
public URL getConceptDOIURL() {
|
||||||
return doiURL;
|
return conceptDOIURL;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDOIURL(URL doiURL) {
|
public void setConceptDOIURL(URL doiURL) {
|
||||||
this.doiURL = doiURL;
|
this.conceptDOIURL = doiURL;
|
||||||
}
|
}
|
||||||
|
|
||||||
public URL getVersionDOIURL() {
|
public URL getVersionDOIURL() {
|
||||||
|
|
|
@ -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.1145770},
|
|
||||||
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.1145771},
|
|
||||||
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.1145772},
|
|
||||||
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.1145773},
|
|
||||||
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.1145774},
|
|
||||||
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.1145775},
|
|
||||||
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.1145776},
|
|
||||||
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.1145779},
|
|
||||||
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.1145780},
|
|
||||||
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.1145781},
|
|
||||||
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.1145783},
|
|
||||||
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.1145784},
|
|
||||||
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.1145785},
|
|
||||||
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.1145786},
|
|
||||||
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.1145787},
|
|
||||||
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.1145788},
|
|
||||||
keywords = {Catalogue, D4Science, gCube}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,340 +0,0 @@
|
||||||
{
|
|
||||||
"global":
|
|
||||||
{
|
|
||||||
"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 to publish items in the gCube Catalogue.",
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}",
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145782",
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"exporters": {
|
|
||||||
"ZenodoSoftwareVersionExporter": {
|
|
||||||
"elaboration": "NONE",
|
|
||||||
"html_description": "<p><a href=\"https://www.gcube-system.org/\">gCube</a> Catalogue (gCat) Service allows any client to publish items in the gCube Catalogue.</p>\n\n<p><a href=\"https://www.gcube-system.org/\">gCube</a> 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 <a href=\"https://www.d4science.org/\">D4Science Infrastructure</a>, by favouring the realisation of reuse-oriented policies.</p>\n\n<p><a href=\"https://www.gcube-system.org/\">gCube</a> 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.</p>\n\n<p><a href=\"https://www.gcube-system.org/\">gCube</a> 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.</p>\n\n<p><a href=\"https://www.d4science.org/\">D4Science</a> 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.</p>\n\n<p> </p>",
|
|
||||||
"html_code_location": "\n\n<p>The official source code location of this software version is available at:</p>\n\n<p><a href=\"{{code_location}}\">{{code_location}}</a></p>",
|
|
||||||
"skip_grants": ["004260"]
|
|
||||||
},
|
|
||||||
"BibLaTeXSoftwareVersionExporter": {
|
|
||||||
"elaboration": "ALL"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"versions":
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"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,
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145770",
|
|
||||||
"code_location": null,
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145771",
|
|
||||||
"code_location": null,
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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,
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145772",
|
|
||||||
"code_location": null,
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145773",
|
|
||||||
"code_location": null,
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145774",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145775",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145776",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145779",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145780",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145781",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
|
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"date": "2021-05-04",
|
|
||||||
"gcube_release_version": "5.2.0",
|
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1145783",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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.1145784",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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.1145785",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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.1145786",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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.1145787",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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.1145788",
|
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -31,7 +31,6 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}",
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}",
|
||||||
"doi_url": null,
|
|
||||||
"grants": [
|
"grants": [
|
||||||
{
|
{
|
||||||
"id": "004260",
|
"id": "004260",
|
||||||
|
@ -154,6 +153,7 @@
|
||||||
],
|
],
|
||||||
"gcube_release_version": null,
|
"gcube_release_version": null,
|
||||||
"gcube_release_ticket": null,
|
"gcube_release_ticket": null,
|
||||||
|
"concept_doi_url": null,
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": null
|
"code_location": null
|
||||||
},
|
},
|
||||||
|
@ -173,6 +173,7 @@
|
||||||
],
|
],
|
||||||
"gcube_release_version": "4.13.1",
|
"gcube_release_version": "4.13.1",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/12988",
|
"gcube_release_ticket": "https://support.d4science.org/issues/12988",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": null
|
"code_location": null
|
||||||
},
|
},
|
||||||
|
@ -188,6 +189,7 @@
|
||||||
],
|
],
|
||||||
"gcube_release_version": null,
|
"gcube_release_version": null,
|
||||||
"gcube_release_ticket": null,
|
"gcube_release_ticket": null,
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": null
|
"code_location": null
|
||||||
},
|
},
|
||||||
|
@ -207,6 +209,7 @@
|
||||||
],
|
],
|
||||||
"gcube_release_version": "4.14.0",
|
"gcube_release_version": "4.14.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/16743",
|
"gcube_release_ticket": "https://support.d4science.org/issues/16743",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": null
|
"code_location": null
|
||||||
},
|
},
|
||||||
|
@ -216,6 +219,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "4.15.0",
|
"gcube_release_version": "4.15.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/17294",
|
"gcube_release_ticket": "https://support.d4science.org/issues/17294",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -225,6 +229,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "4.18.0",
|
"gcube_release_version": "4.18.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/18335",
|
"gcube_release_ticket": "https://support.d4science.org/issues/18335",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -234,6 +239,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "4.20.0",
|
"gcube_release_version": "4.20.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/18507",
|
"gcube_release_ticket": "https://support.d4science.org/issues/18507",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -243,6 +249,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "4.23.0",
|
"gcube_release_version": "4.23.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/19322",
|
"gcube_release_ticket": "https://support.d4science.org/issues/19322",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -252,6 +259,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "5.0.0",
|
"gcube_release_version": "5.0.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/20648",
|
"gcube_release_ticket": "https://support.d4science.org/issues/20648",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -261,6 +269,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "5.1.0",
|
"gcube_release_version": "5.1.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/20920",
|
"gcube_release_ticket": "https://support.d4science.org/issues/20920",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -268,7 +277,7 @@
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"date": "2021-05-04",
|
"date": "2021-05-04",
|
||||||
"gcube_release_version": "5.2.0",
|
"gcube_release_version": "5.2.0",
|
||||||
"doi_url": null,
|
"concept_doi_url": null,
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -277,6 +286,7 @@
|
||||||
"date": "2022-01-27",
|
"date": "2022-01-27",
|
||||||
"gcube_release_version": "5.7.0",
|
"gcube_release_version": "5.7.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/21685/",
|
"gcube_release_ticket": "https://support.d4science.org/issues/21685/",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -293,6 +303,7 @@
|
||||||
"date": "2022-07-22",
|
"date": "2022-07-22",
|
||||||
"gcube_release_version": "5.13.0",
|
"gcube_release_version": "5.13.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/23374",
|
"gcube_release_ticket": "https://support.d4science.org/issues/23374",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -301,6 +312,7 @@
|
||||||
"date": "2022-09-16",
|
"date": "2022-09-16",
|
||||||
"gcube_release_version": "5.13.1",
|
"gcube_release_version": "5.13.1",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/23650",
|
"gcube_release_ticket": "https://support.d4science.org/issues/23650",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -309,6 +321,7 @@
|
||||||
"date": "2022-12-07",
|
"date": "2022-12-07",
|
||||||
"gcube_release_version": "5.14.0",
|
"gcube_release_version": "5.14.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/23885",
|
"gcube_release_ticket": "https://support.d4science.org/issues/23885",
|
||||||
|
"concept_doi_url" = "PREVIOUS",
|
||||||
"version_doi_url": null,
|
"version_doi_url": null,
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}",
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}",
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139068",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139068",
|
||||||
"grants": [
|
"grants": [
|
||||||
{
|
{
|
||||||
"id": "004260",
|
"id": "004260",
|
||||||
|
@ -154,7 +154,7 @@
|
||||||
],
|
],
|
||||||
"gcube_release_version": null,
|
"gcube_release_version": null,
|
||||||
"gcube_release_ticket": null,
|
"gcube_release_ticket": null,
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1139446",
|
"version_doi_url": "https://doi.org/10.5072/zenodo.1139446",
|
||||||
"code_location": null
|
"code_location": null
|
||||||
},
|
},
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
],
|
],
|
||||||
"gcube_release_version": "4.13.1",
|
"gcube_release_version": "4.13.1",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/12988",
|
"gcube_release_ticket": "https://support.d4science.org/issues/12988",
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1140461",
|
"version_doi_url": "https://doi.org/10.5072/zenodo.1140461",
|
||||||
"code_location": null
|
"code_location": null
|
||||||
},
|
},
|
||||||
|
@ -190,7 +190,7 @@
|
||||||
],
|
],
|
||||||
"gcube_release_version": null,
|
"gcube_release_version": null,
|
||||||
"gcube_release_ticket": null,
|
"gcube_release_ticket": null,
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1140750",
|
"version_doi_url": "https://doi.org/10.5072/zenodo.1140750",
|
||||||
"code_location": null
|
"code_location": null
|
||||||
},
|
},
|
||||||
|
@ -210,7 +210,7 @@
|
||||||
],
|
],
|
||||||
"gcube_release_version": "4.14.0",
|
"gcube_release_version": "4.14.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/16743",
|
"gcube_release_ticket": "https://support.d4science.org/issues/16743",
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1143572",
|
"version_doi_url": "https://doi.org/10.5072/zenodo.1143572",
|
||||||
"code_location": null
|
"code_location": null
|
||||||
},
|
},
|
||||||
|
@ -220,7 +220,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "4.15.0",
|
"gcube_release_version": "4.15.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/17294",
|
"gcube_release_ticket": "https://support.d4science.org/issues/17294",
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1143583",
|
"version_doi_url": "https://doi.org/10.5072/zenodo.1143583",
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -230,7 +230,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "4.18.0",
|
"gcube_release_version": "4.18.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/18335",
|
"gcube_release_ticket": "https://support.d4science.org/issues/18335",
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1143585",
|
"version_doi_url": "https://doi.org/10.5072/zenodo.1143585",
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -240,7 +240,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "4.20.0",
|
"gcube_release_version": "4.20.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/18507",
|
"gcube_release_ticket": "https://support.d4science.org/issues/18507",
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1143586",
|
"version_doi_url": "https://doi.org/10.5072/zenodo.1143586",
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -250,7 +250,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "4.23.0",
|
"gcube_release_version": "4.23.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/19322",
|
"gcube_release_ticket": "https://support.d4science.org/issues/19322",
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1143587",
|
"version_doi_url": "https://doi.org/10.5072/zenodo.1143587",
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -260,7 +260,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "5.0.0",
|
"gcube_release_version": "5.0.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/20648",
|
"gcube_release_ticket": "https://support.d4science.org/issues/20648",
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1143589",
|
"version_doi_url": "https://doi.org/10.5072/zenodo.1143589",
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
@ -270,7 +270,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"gcube_release_version": "5.1.0",
|
"gcube_release_version": "5.1.0",
|
||||||
"gcube_release_ticket": "https://support.d4science.org/issues/20920",
|
"gcube_release_ticket": "https://support.d4science.org/issues/20920",
|
||||||
"doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
|
||||||
"version_doi_url": "https://doi.org/10.5072/zenodo.1143590",
|
"version_doi_url": "https://doi.org/10.5072/zenodo.1143590",
|
||||||
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue