ivandodo / cgc-cli

Cancer Genomics Cloud CLI prototype.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CGC CLI

General

App requirements are described here.

Out of given spec is removal of --token option. Token is moved to system variables along with API endpoint, described in Requirements. There are several reasons for that:

  • Passing global options (options before command name) are not supported in Spring Shell 2.x onwards because it causes confusion if the options are intended for SpringBoot or Shell app. More about it here.
  • From UX perspective it would be cumbersome for user to enter token for each call. This way it is set once and reused seamlessly.
  • Seven Bridges Client library docs recommend storing this piece of information in system variables.

App is created in Spring Boot, using Spring Shell project, GraalVM Native Image Support and Seven Bridges Client library. It can be built with any Java SDK, but in order to build native app GraalVM SDK must be used.

Building executable jar:

./mvnw -Pnative native:compile 

Building native app:

./mvnw clean compile package

After building native app executable called cgc-cli can be found in target folder.

Requirements

For this app to run properly 2 environment variables must be set:
  1. SB_AUTH_TOKEN - Token acquired from Cancer Genomics Cloud Platform

  2. SB_API_ENDPOINT - Endpoint URI that can be found on the same page

If these variables are not set in the environment application will warn you about that on each attempt to interact with the service.

About

Cancer Genomics Cloud CLI prototype.


Languages

Language:Java 99.1%Language:Shell 0.9%