# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#

# https://www.gitpod.io
# https://www.gitpod.io/docs/41_Config_Gitpod_File/
# https://github.com/gitpod-io/workspace-images/tree/master/mysql

image: gitpod/workspace-mysql
ports:
- port: 3306
  onOpen: ignore
- port: 8005
  onOpen: ignore
- port: 8009
  onOpen: ignore
- port: 8080
- port: 8081
  onOpen: ignore
- port: 8443
tasks:
- command: |
      # NB MySQL on GitPod.io is currently quite slow.
      # similar to .travis.yml, but using authentication_string= instead of password= due to mysql major version difference
      mysql -e "USE mysql;\nUPDATE user SET authentication_string=PASSWORD('mysql') WHERE user='root';\nFLUSH PRIVILEGES;\n"
      ./gradlew createDB -PdbName=fineract_tenants
      ./gradlew createDB -PdbName=fineract_default
      ./gradlew build -x test
