Commit 9190ff72 authored by Rasko Leinonen's avatar Rasko Leinonen

Added support for building and deploying a docker image.

parent 8629c671
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} webin-cli.jar
ENTRYPOINT ["java","-jar","/webin-cli.jar"]
# Webin command line submission interface # Webin command line submission interface (Webin-CLI)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/c4fa2bcf5593436da9ea27149f84ee6e)](https://app.codacy.com/app/enasequence/webin-cli?utm_source=github.com&utm_medium=referral&utm_content=enasequence/webin-cli&utm_campaign=badger) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/c4fa2bcf5593436da9ea27149f84ee6e)](https://app.codacy.com/app/enasequence/webin-cli?utm_source=github.com&utm_medium=referral&utm_content=enasequence/webin-cli&utm_campaign=badger)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
The Webin command line submission interface can be used to validate, upload and submit files to the European Nucleotide Archive (ENA). ## Introduction
Webin submission account credentials are required to use the Webin command line submission interface. Data submissions to ENA can be made using the Webin command line submission interface (Webin-CLI). Webin submission account credentials are required to use the program.
The following types of submissions are supported: The following types of submissions are supported:
- genome assemblies - genome assemblies
- transcriptome assemblies - transcriptome assemblies
- sequence assemblies - annotated sequences
- read data submissions - read data submissions (Fastq, BAM, CRAM)
The latest version of the Webin command line submission interface can be downloaded from: For further information about Webin-CLI please refer to:
<https://ena-docs.readthedocs.io/en/latest/submit/general-guide/webin-cli.html>
## Executable Java JAR
The latest version of the Webin-CLI can be downloaded from:
<https://github.com/enasequence/webin-cli/releases> <https://github.com/enasequence/webin-cli/releases>
...@@ -22,6 +28,26 @@ The program requires Java 1.8 or a newer which can be downloaded from: ...@@ -22,6 +28,26 @@ The program requires Java 1.8 or a newer which can be downloaded from:
<https://java.com/en/download/> <https://java.com/en/download/>
For further information please refer to:
<http://ena-docs.readthedocs.io/> The program is run using the java command:
```
java -jar webin-cli-<version>.jar <options>
```
for example:
```
java -jar webin-cli-1.7.3.jar -help
```
Please note that the command must include the location of the jar file.
## Docker file
Webin-CLI 2.0.0 and later will also be available as a docker image:
```
docker pull enasequence/webin-cli
docker run --rm -v <local data directory>:/data enasequence/webin-cli -help
```
...@@ -2,6 +2,7 @@ plugins { ...@@ -2,6 +2,7 @@ plugins {
id 'org.springframework.boot' version '2.1.1.RELEASE' id 'org.springframework.boot' version '2.1.1.RELEASE'
id "io.github.ddimtirov.codacy" version "0.1.0" id "io.github.ddimtirov.codacy" version "0.1.0"
id "com.diffplug.gradle.spotless" version "3.18.0" id "com.diffplug.gradle.spotless" version "3.18.0"
id "com.palantir.docker" version "0.22.1"
} }
apply plugin: 'java' apply plugin: 'java'
...@@ -19,7 +20,7 @@ wrapper{ ...@@ -19,7 +20,7 @@ wrapper{
group = 'uk.ac.ebi.ena.webin-cli' group = 'uk.ac.ebi.ena.webin-cli'
ext.project_name = 'webin-cli' ext.project_name = 'webin-cli'
ext.version_base = '1.8.12' ext.version_base = '2.0.0-rc-1'
version = version_base version = version_base
sourceCompatibility = '1.8' sourceCompatibility = '1.8'
targetCompatibility = '1.8' targetCompatibility = '1.8'
...@@ -188,3 +189,16 @@ task writePom { ...@@ -188,3 +189,16 @@ task writePom {
compileJava.dependsOn( writePom ) compileJava.dependsOn( writePom )
docker {
dependsOn build
def repository = "enasequence/webin-cli"
name "${repository}:${version}"
// tag 'latest', "${repository}"
files bootJar.archiveFile
buildArgs(['JAR_FILE': "webin-cli-${version}.jar"])
}
// docker tag 84f9af503ff3 enasequence/webin-cli:latest
// docker push enasequence/webin-cli:latest
// docker push enasequence/webin-cli:<version>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>uk.ac.ebi.ena.webin-cli</groupId> <groupId>uk.ac.ebi.ena.webin-cli</groupId>
<artifactId>webin-cli</artifactId> <artifactId>webin-cli</artifactId>
<version>1.8.12</version> <version>2.0.0-rc-1</version>
<inceptionYear>2019</inceptionYear> <inceptionYear>2019</inceptionYear>
<licenses> <licenses>
<license> <license>
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<dependency> <dependency>
<groupId>uk.ac.ebi.ena.webin-cli</groupId> <groupId>uk.ac.ebi.ena.webin-cli</groupId>
<artifactId>webin-cli-validator</artifactId> <artifactId>webin-cli-validator</artifactId>
<version>1.0.5</version> <version>1.0.6</version>
<scope>runtime</scope> <scope>runtime</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -638,7 +638,7 @@ ManifestReader<M extends Manifest> { ...@@ -638,7 +638,7 @@ ManifestReader<M extends Manifest> {
/** Adds an error to the validation result. /** Adds an error to the validation result.
*/ */
protected final void protected final void
error(ValidationResult result, WebinCliMessage message, String... arguments ) error(ValidationResult result, WebinCliMessage message, Object... arguments )
{ {
result.add(ValidationMessage.error(message, arguments)); result.add(ValidationMessage.error(message, arguments));
} }
...@@ -646,7 +646,7 @@ ManifestReader<M extends Manifest> { ...@@ -646,7 +646,7 @@ ManifestReader<M extends Manifest> {
/** Adds an error to the manifest level validation result. /** Adds an error to the manifest level validation result.
*/ */
protected final void protected final void
error(WebinCliMessage message, String... arguments ) error(WebinCliMessage message, Object... arguments )
{ {
getValidationResult().add(ValidationMessage.error(message, arguments)); getValidationResult().add(ValidationMessage.error(message, arguments));
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment