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

ignoreFor: 'Interoperability between spring-cloud and dubbo is not ready?'

services:
  zookeeper:
    image: zookeeper:latest
    
  consul-server:
    image: consul:latest

  dubbo-scdubbo-provider:
    type: app
    basedir: dubbo-scdubbo-provider
    mainClass: org.apache.dubbo.samples.microservices.sc.Application
    systemProps:
      - consul.address=consul-server
    waitPortsBeforeRun:
      - consul-server:8500
    checkPorts:
      - 8099
    checkLog: "dubbo service started"
    depends_on:
      - consul-server
      
  dubbo-scdubbo-provider2:
    type: app
    basedir: dubbo-scdubbo-provider2
    mainClass: org.apache.dubbo.demo.provider.Application
    systemProps:
      - zookeeper.address=zookeeper
    waitPortsBeforeRun:
      - zookeeper:2181
    checkPorts:
      - 20880
    checkLog: "dubbo service started"
    depends_on:
      - zookeeper

  dubbo-scdubbo-consumer-test:
    type: test
    basedir: dubbo-scdubbo-consumer
    tests:
      - "**/*IT.class"
    systemProps:
      - consul.address=consul-server
      - zookeeper.address=zookeeper
    waitPortsBeforeRun:
      - consul-server:8500
      - zookeeper:2181
      - dubbo-scdubbo-provider:8099
      - dubbo-scdubbo-provider2:20880
    depends_on:
      - consul-server
      - dubbo-scdubbo-provider
      - dubbo-scdubbo-provider2
