# 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.


language: java scala node_js

services:
  - docker

env:
  - COMPOSE_FILE=griffin-doc/docker/compose/docker-compose-batch.yml


jdk:
  - oraclejdk8
scala:
  - 2.10.6
node_js:
  - "6"
git:
  quiet: true
cache:
  directories:
    - $HOME/.m2

install:
  - npm install -g bower

before_script:
  - docker-compose up -d


# keep 30, need change according to ci logs.
script:
  - export MAVEN_SKIP_RC=true
  - export MAVEN_OPTS="-Xms500m -Xmx1g -XX:MaxPermSize=256m -Dorg.slf4j.simpleLogger.defaultLogLevel=warn -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
  - mvn -B clean test -Dlogging.level.org.springframework=WARN

