## Learn more about this file at 'https://www.gitpod.io/docs/references/gitpod-yml'
##
## This '.gitpod.yml' file when placed at the root of a project instructs
## Gitpod how to prepare & build the project, start development environments
## and configure continuous prebuilds. Prebuilds when enabled builds a project
## like a CI server so you can start coding right away - no more waiting for
## dependencies to download and builds to finish when reviewing pull-requests
## or hacking on something new.
##
## With Gitpod you can develop software from any device (even iPads) via 
## desktop or browser based versions of VS Code or any JetBrains IDE and
## customise it to your individual needs - from themes to extensions, you
## have full control.
##
## The easiest way to try out Gitpod is install the browser extension:
## 'https://www.gitpod.io/docs/browser-extension' or by prefixing
## 'https://gitpod.io#' to the source control URL of any project.
##
## For example: 'https://gitpod.io#https://github.com/gitpod-io/gitpod'


## The 'image' section defines which Docker image Gitpod should use. 
## By default, Gitpod uses a standard Docker Image called 'workspace-full'
## which can be found at 'https://github.com/gitpod-io/workspace-images'
##
## Workspaces started based on this default image come pre-installed with
## Docker, Go, Java, Node.js, C/C++, Python, Ruby, Rust, PHP as well as
## tools such as Homebrew, Tailscale, Nginx and several more.
##
## If this image does not include the tools needed for your project then
## a public Docker image or your own Docker file can be configured.
## 
## Learn more about images at 'https://www.gitpod.io/docs/config-docker'

#image: node:buster                        # use 'https://hub.docker.com/_/node'
#
#image:                                    # leave image undefined if using a Dockerfile
#  file: .gitpod.Dockerfile                # relative path to the Dockerfile from the
#                                          # root of the project

## The 'tasks' section defines how Gitpod prepares and builds this project
## or how Gitpod can start development servers. With Gitpod, there are three
## types of tasks:
##
## - before: Use this for tasks that need to run before init and before command. 
## - init: Use this to configure prebuilds of heavy-lifting tasks such as
##         downloading dependencies or compiling source code.
## - command: Use this to start your database or application when the workspace starts.
##
## Learn more about these tasks at 'https://www.gitpod.io/docs/config-start-tasks'

#tasks:
#  - before: |
#      # commands to execute...
#
#  - init: |
#      # sudo apt-get install python3     # can be used to install operating system 
#                                         # dependencies but these are not kept after the
#                                         # prebuild completes thus Gitpod recommends moving
#                                         # operating system dependency installation steps
#                                         # to a custom Dockerfile to make prebuilds faster
#                                         # and to keep your codebase DRY.  
#                                         # 'https://www.gitpod.io/docs/config-docker'
#
#      # pip install -r requirements.txt  # install codebase dependencies
#      # cmake                            # precompile codebase
#
#  - name: Web Server
#    openMode: split-left
#    env:
#      WEBSERVER_PORT: 8080
#    command: |
#     python3 -m http.server $WEBSERVER_PORT
#
#  - name: Web Browser
#    openMode: split-right
#    env:
#      WEBSERVER_PORT: 8080
#    command: |
#     gp await-port $WEBSERVER_PORT
#     lynx `gp url`

tasks:
  - init: ./mvnw package -DskipTests

## The 'ports' section defines various ports your may listen on are 
## configured in Gitpod on an authenticated URL. By default, all ports
## are in private visibility state.
##
## Learn more about ports at 'https://www.gitpod.io/docs/config-ports'

#ports:
#  - port: 8080 # alternatively configure entire ranges via '8080-8090'
#    visibility: private # either 'public' or 'private' (default)
#    onOpen: open-browser # either 'open-browser', 'open-preview' or 'ignore'


## The 'vscode' section defines a list of Visual Studio Code extensions from
## the OpenVSX.org registry to be installed upon workspace startup. OpenVSX
## is an open alternative to the proprietary Visual Studio Code Marketplace
## and extensions can be added by sending a pull-request with the extension
## identifier to https://github.com/open-vsx/publish-extensions
##
## The identifier of an extension is always ${publisher}.${name}.
##
## For example: 'vscodevim.vim'
##
## Learn more at 'https://www.gitpod.io/docs/ides-and-editors/vscode'

vscode:
  extensions:
    - redhat.java
    - vscjava.vscode-java-pack

## The 'github' section defines configuration of continuous prebuilds
## for GitHub repositories when the GitHub application
## 'https://github.com/apps/gitpod-io' is installed in GitHub and granted
## permissions to access the repository.
##
## Learn more at 'https://www.gitpod.io/docs/prebuilds'

github: 
  prebuilds:
    # enable for the default branch
    master: true
    # enable for all branches in this repo
    branches: true
    # enable for pull requests coming from this repo
    pullRequests: true
    # enable for pull requests coming from forks
    pullRequestsFromForks: true
    # add a check to pull requests
    addCheck: true
    # add a "Review in Gitpod" button as a comment to pull requests
    addComment: true
    # add a "Review in Gitpod" button to the pull request's description
    addBadge: false
