sudo: required language: objective-c osx_image: xcode8.2 cache: directories: - $HOME/.m2 - $HOME/.ivy2 - $HOME/.gradle/caches/ - $HOME/.gradle/wrapper/ - $HOME/.stack - $HOME/samples/client/petstore/php/SwaggerClient-php/vendor - $HOME/samples/client/petstore/ruby/venodr/bundle - $HOME/samples/client/petstore/python/.venv/ - $HOME/samples/client/petstore/typescript-node/npm/node_modules - $HOME/samples/client/petstore/typescript-node/npm/typings/ - $HOME/samples/client/petstore/typescript-fetch/tests/default/node_modules - $HOME/samples/client/petstore/typescript-fetch/tests/default/typings - $HOME/samples/client/petstore/typescript-fetch/builds/default/node_modules - $HOME/samples/client/petstore/typescript-fetch/builds/default/typings - $HOME/samples/client/petstore/typescript-fetch/builds/es6-target/node_modules - $HOME/samples/client/petstore/typescript-fetch/builds/es6-target/typings - $HOME/samples/client/petstore/typescript-fetch/builds/with-npm-version/node_modules - $HOME/samples/client/petstore/typescript-fetch/npm/with-npm-version/typings - $HOME/samples/client/petstore/typescript-angularjs/node_modules - $HOME/samples/client/petstore/typescript-angularjs/typings - $HOME/.cocoapods/repos/master timeout: 1000 # note: docker is not yet supported in iOS build #services: # - docker # comment out the host table change to use the public petstore server addons: hosts: - petstore.swagger.io before_install: - export SW=`pwd` - rvm list - rvm use 2.2.5 - gem environment - gem install bundler -N --no-ri --no-rdoc - gem install cocoapods -v 1.2.1 -N --no-ri --no-rdoc - gem install xcpretty -N --no-ri --no-rdoc - pod --version # comment out below to avoid errors #- pod repo update - pod setup --silent > /dev/null - npm install -g typescript - npm config set registry http://registry.npmjs.org/ - brew install sbt - brew install leiningen - brew install bats - brew install curl - brew install python3 - pip install virtualenv - mkdir -p ~/.local/bin - export PATH=$HOME/.local/bin:$PATH - travis_retry curl --insecure -L https://www.stackage.org/stack/osx-x86_64 | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin # start local petstore server - git clone -b docker --single-branch https://github.com/wing328/swagger-samples - cd swagger-samples/java/java-jersey-jaxrs - sudo mvn jetty:run & - cd $SW # NOTE: iOS build not support docker at the moment # to run petstore server locally via docker #- docker pull swaggerapi/petstore #- docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore #- docker ps -a # Add rebar3 build tool and recent Erlang/OTP for Erlang petstore server tests. # - Travis CI does not support rebar3 [yet](https://github.com/travis-ci/travis-ci/issues/6506#issuecomment-275189490). # - Rely on `kerl` for [pre-compiled versions available](https://docs.travis-ci.com/user/languages/erlang#Choosing-OTP-releases-to-test-against). Rely on installation path chosen by [`travis-erlang-builder`](https://github.com/travis-ci/travis-erlang-builder/blob/e6d016b1a91ca7ecac5a5a46395bde917ea13d36/bin/compile#L18). # show host table to confirm petstore.swagger.io is mapped to localhost - cat /etc/hosts # show java version - java -version # show brew version - brew --version # show xcpretty version - xcpretty -v # show go version - go version # show stack version - stack --version install: # Add Godeps dependencies to GOPATH and PATH - eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=1.4 bash)" - export GOPATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace" - export PATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace/bin:$PATH" script: # fail fast - set -e # fail if templates/generators contain carriage return '\r' - /bin/bash ./bin/utils/detect_carriage_return.sh # fail if generators contain merge conflicts - /bin/bash ./bin/utils/detect_merge_conflict.sh # fail if generators contain tab '\t' - /bin/bash ./bin/utils/detect_tab_in_java_class.sh # run integration tests defined in maven pom.xml - mvn -q --batch-mode verify -Psamples ### docker-related tasks have been moved to CircleCI # docker: build generator image and push to Docker Hub #- if [ $DOCKER_HUB_USERNAME ]; then docker login --email=$DOCKER_HUB_EMAIL --username=$DOCKER_HUB_USERNAME --password=$DOCKER_HUB_PASSWORD && docker build -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/swagger-generator && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_GENERATOR_IMAGE_NAME:latest $DOCKER_GENERATOR_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_GENERATOR_IMAGE_NAME; fi; fi ## docker: build cli image and push to Docker Hub #- if [ $DOCKER_HUB_USERNAME ]; then docker login --email=$DOCKER_HUB_EMAIL --username=$DOCKER_HUB_USERNAME --password=$DOCKER_HUB_PASSWORD && docker build -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/swagger-codegen-cli && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME; fi; fi #env: # - DOCKER_GENERATOR_IMAGE_NAME=swaggerapi/swagger-generator DOCKER_CODEGEN_CLI_IMAGE_NAME=swaggerapi/swagger-codegen-cli after_success: # push a snapshot version to maven repo - if [ $SONATYPE_USERNAME ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_BRANCH" = "master" ]; then mvn clean deploy --settings .travis/settings.xml; echo "Finished mvn clean deploy for $TRAVIS_BRANCH"; fi;