# Copyright (c) 2022, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

name: Dart CI

on:
  # Run on PRs and pushes to the default branch.
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
  schedule:
    - cron: "0 0 * * 0"

env:
  PUB_ENVIRONMENT: bot.github

jobs:
  check_java_format:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2 # v2 minimum required
      - uses: axel-op/googlejavaformat-action@v3
        with:
          args: "--set-exit-if-changed"

  analyze_jnigen:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./pkgs/jnigen
    strategy:
      fail-fast: false
      matrix:
        sdk: [stable]
    steps:
      - uses: actions/checkout@v2
      - uses: dart-lang/setup-dart@v1.0
        with:
          sdk: ${{ matrix.sdk }}
      - id: install
        name: Install dependencies
        run: dart pub get
      - name: Check formatting
        run: dart format --output=none --set-exit-if-changed .
        if: always() && steps.install.outcome == 'success'
      - name: Analyze code
        run: dart analyze --fatal-infos
        if: always() && steps.install.outcome == 'success'

  test_jnigen:
    needs: analyze_jnigen
    runs-on: ${{ matrix.os }}
    defaults:
      run:
        working-directory: ./pkgs/jnigen
    strategy:
      fail-fast: false
      matrix:
        # Add macos-latest and/or windows-latest if relevant for this package.
        os: [ubuntu-latest]
        sdk: [2.17.0, dev]
    steps:
      - uses: actions/checkout@v2
      - uses: dart-lang/setup-dart@v1.0
        with:
          sdk: stable
      - uses: actions/setup-java@v2
        with:
          distribution: 'zulu'
          java-version: '11'
          cache: maven
      - name: Install dependencies
        run: dart pub get
      - name: Run VM tests
        run: dart test --platform vm
      - name: Install coverage
        run: dart pub global activate coverage
      - name: Collect coverage
        run: dart pub global run coverage:test_with_coverage
      - name: Upload coverage
        uses: coverallsapp/github-action@v1.1.2
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          flag-name: jnigen_tests
          parallel: true
          path-to-lcov: ./pkgs/jnigen/coverage/lcov.info

  ## TODO: More minimal test on windows after fixing dev dependency.
  ## i.e do not rerun analyze and format steps, and do not require flutter.
  ## IssueRef: https://github.com/dart-lang/jnigen/issues/15

  test_summarizer:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./pkgs/jnigen/java
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-java@v2
        with:
          distribution: 'zulu'
          java-version: '11'
      - name: run tests using maven surefire
        run: mvn surefire:test

  test_jni:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./pkgs/jni
    steps:
      - uses: actions/checkout@v3
      ## Requires flutter to analyze example.
      ## Using dart alone doesn't work.
      - uses: subosito/flutter-action@v2
        with:
          channel: 'stable'
          cache: true
          cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
      - uses: actions/setup-java@v2
        with:
          distribution: 'zulu'
          java-version: '11'
      - run: |
          sudo apt-get update -y
          sudo apt-get install -y ninja-build libgtk-3-dev
      - run: dart pub get
      - run: dart run bin/setup.dart
      - run: flutter pub get
      - name: Check formatting
        run: flutter format --output=none --set-exit-if-changed .
      - name: Run lints
        run: flutter analyze --fatal-infos
      - name: Get dependencies
        run: dart pub get
      - name: Run tests
        run: dart test
      - name: Install coverage
        run: dart pub global activate coverage
      - name: Collect coverage
        run: dart pub global run coverage:test_with_coverage
      - name: Upload coverage
        uses: coverallsapp/github-action@v1.1.2
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          flag-name: jni_tests
          parallel: true
          path-to-lcov: ./pkgs/jni/coverage/lcov.info

  build_jni_example_linux:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./pkgs/jni/example
    steps:
      - uses: actions/checkout@v3
      - uses: subosito/flutter-action@v2
        with:
          channel: 'stable'
          cache: true
          cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
      - uses: actions/setup-java@v2
        with:
          distribution: 'zulu'
          java-version: '11'
      - run: |
          sudo apt-get update -y
          sudo apt-get install -y ninja-build libgtk-3-dev
      - run: flutter config --enable-linux-desktop
      - run: flutter pub get
      - run: dart run jni:setup
      - run: flutter build linux

  build_jni_example_windows:
    runs-on: windows-latest
    defaults:
      run:
        working-directory: ./pkgs/jni/example
    steps:
      - uses: actions/checkout@v3
      - uses: subosito/flutter-action@v2
        with:
          channel: 'stable'
          cache: true
          cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
      - uses: actions/setup-java@v2
        with:
          distribution: 'zulu'
          java-version: '11'
      - run: flutter config --enable-windows-desktop
      - run: flutter pub get
      - run: flutter build windows

  build_jni_example_android:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./pkgs/jni/example
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-java@v2
        with:
          distribution: 'zulu'
          java-version: '11'
      - uses: subosito/flutter-action@v2
        with:
          channel: 'stable'
          cache: true
          cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
      - run: flutter pub get
      - run: flutter build apk

  build_notification_plugin_example:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./pkgs/jnigen/examples/notification_plugin
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-java@v2
        with:
          distribution: 'zulu'
          java-version: '11'
      - uses: subosito/flutter-action@v2
        with:
          channel: 'stable'
          cache: true
          cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
      - run: flutter pub get
      - run: flutter analyze
      - run: flutter build apk
        working-directory: ./pkgs/jnigen/examples/notification_plugin/example
      - name: re-generate bindings
        run: flutter pub run jnigen -Ddart_root=_dart -Dc_root=_c --config jnigen.yaml
      - name: compare generated dart bindings
        run: diff -qr lib/ _dart
      - name: compare generated C bindings
        run: diff -qr src/ _c

  build_in_app_java_example:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./pkgs/jnigen/examples/in_app_java
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-java@v2
        with:
          distribution: 'zulu'
          java-version: '11'
      - uses: subosito/flutter-action@v2
        with:
          channel: 'stable'
          cache: true
          cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
      - run: flutter pub get
      - run: flutter analyze
      - run: flutter build apk
      - name: re-generate bindings
        run: flutter pub run jnigen -Ddart_root=_dart -Dc_root=_c --config jnigen.yaml
      - name: compare generated dart bindings
        run: diff -qr lib/android_utils _dart
      - name: compare generated C bindings
        run: diff -qr src/android_utils _c

  coveralls_finish:
    needs: [test_jnigen, test_jni]
    runs-on: ubuntu-latest
    steps:
      - name: Coveralls finished
        uses: coverallsapp/github-action@master
        with:
          github-token: ${{ secrets.github_token }}
          parallel-finished: true

  run_pdfbox_example_linux:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./pkgs/jnigen/examples/pdfbox_plugin
    steps:
      - uses: actions/checkout@v3
      - uses: subosito/flutter-action@v2
        with:
          channel: 'stable'
          cache: true
          cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
      - uses: actions/setup-java@v2
        with:
          distribution: 'zulu'
          java-version: '11'
      - run: |
          sudo apt-get update -y
          sudo apt-get install -y ninja-build libgtk-3-dev
      - run: flutter config --enable-linux-desktop
      - run: dart pub get
      - name: Generate bindings
        run: |
          dart run jnigen -Dc_root=_c -Ddart_root=_dart --config jnigen.yaml
      - name: Compare generated bindings
        run: |
          diff -qr _c src/
          diff -qr _dart lib/third_party
      - name: Generate full bindings
        run: dart run jnigen --config jnigen_full.yaml
      - name: Analyze generated bindings
        run: |
          flutter pub get # dart-analyze errors on flutter example
          flutter analyze
      - name: Run standalone example
        run: |
          dart pub get
          dart run jni:setup && dart run jni:setup -p pdfbox_plugin
          wget 'https://dart.dev/guides/language/specifications/DartLangSpec-v2.2.pdf'
          dart run bin/pdf_info.dart DartLangSpec-v2.2.pdf
        working-directory: ./pkgs/jnigen/examples/pdfbox_plugin/dart_example
      - name: Build flutter example for pdfbox_plugin
        run: |
          flutter pub get
          flutter build linux
        working-directory: ./pkgs/jnigen/examples/pdfbox_plugin/example

