# Java Maven CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-java/ for more details
#
version: 2
jobs:
  build:
    docker:
      # specify the version you desire here
      - image: circleci/openjdk:8-jdk

    working_directory: ~/repo

    environment:
      # Customize the JVM maximum heap limit
      MAVEN_OPTS: -Xmx3200m
    
    steps:
      - checkout

      # Download and cache dependencies
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "pom.xml" }}
          # fallback to using the latest cache if no exact match is found
          - v1-dependencies-

      - run:
          command: |
            mvn clean dependency:go-offline package

      - save_cache:
          paths:
            - ~/.m2
          key: v1-dependencies-{{ checksum "pom.xml" }}
        
      # run tests!
      # - run: mvn integration-test

      # =====================
      # PROJECT SPECIFIC JARS
      # =====================
      
      - store_artifacts:
          path: ~/repo/org.eclipse.epsilon.{type}.{project}/target/org.eclipse.epsilon.{type}.{project}-1.1.3-SNAPSHOT.jar
          destination: plugins/org.eclipse.epsilon.{type}.{project}-1.1.3-SNAPSHOT.jar

      - store_artifacts:
          path: ~/repo/org.eclipse.epsilon.{type}.{project}.feature/target/org.eclipse.epsilon.{type}.{project}.feature-1.1.3-SNAPSHOT.jar
          destination: features/org.eclipse.epsilon.{type}.{project}.feature-1.1.3-SNAPSHOT.jar
      
      # =========================
      # END PROJECT SPECIFIC JARS
      # =========================

      - store_artifacts:
          path: ~/repo/site.xml
          destination: site.xml

      # Trigger updatesite build    
      # - run: curl -X POST "https://circleci.com/api/v1.1/project/github/epsilonlabs/epsilonlabs-updatesite?circle-token=$TRIGGER_BUILD"


      