version: 2.1

orbs:
  maven: circleci/maven@2.0.0

defaults: &defaults
  docker:
    - image: cimg/openjdk:22.0.2-node

workspace_root: &workspace_root
  /tmp/tubee-sdk

attach_workspace: &attach_workspace
  attach_workspace:
    at: *workspace_root

jobs:
  build:
    <<: *defaults
    working_directory: *workspace_root
    steps:
      - checkout
#      - restore_cache:
#          key: dependency-cache-{{ checksum "package-lock.json" }}
      - run:
          name: swagger-codegen
          command:  |
            git clone https://github.com/swagger-api/swagger-codegen.git
            cd swagger-codegen
            git checkout tags/v2.4.44
            mvn clean install
            cd ..
#      - run:
#          name: set version
#          command:  |
#            if [ -z "${CIRCLE_TAG}"];
#            then
#              version=$CIRCLE_BUILD_NUM;
#            else
#              version=$CIRCLE_TAG;
#              if [ "${version:0:1}" == "v" ]; then version=${CIRCLE_TAG:1}; fi;
#              if [ "${version}" == "" ]; then version=${CIRCLE_BUILD_NUM}; fi;
#            fi;
      - run:
          name: build
          command: |
            npm install
            npm run full-build
#      - save_cache:
#          key: dependency-cache-{{ checksum "package-lock.json" }}
#          paths:
#            - node_modules
#      - store_artifacts:
#          path: /tmp/tubee-sdk/dist
#      - persist_to_workspace:
#          root: .
#          paths:
#            - dist/tubectl-linux-x64

workflows:
  version: 2
  build:
    jobs:
      - build:
          filters:
            tags:
              only: /.*/
#      - publish-github-release:
#          requires:
#            - build_linux
#            - build_windows
#            - build_osx_arm64
#            - build_osx_x64
#          filters:
#            tags:
#              only: /^v.*/
#      - publish-macos-release-to-homebrew:
#          requires:
#            - build_osx_arm64
#            - build_osx_x64
#          filters:
#            tags:
#              only: /^v.*/
