pipeline {
    agent any

    options {
        buildDiscarder(
            logRotator(
                numToKeepStr: '5'
            )
        )
    }

    stages {
        stage('Build on linux') {
            agent {
                label 'flutter'
            }

            steps {
                script {
                    // Use bash as the shell for these commands
                    sh '''
                        #!/bin/bash
                        unset WORKSPACE
                        unset WORKSPACE_TMP
                        rm -rf doc
                        dart pub get
                        dart doc
                        #(EDIT: Workaround is not currently required.) Workaround for dart doc being broken at the moment
                        #dart pub global activate dartdoc
                        #dart pub global run dartdoc

                        tar -cvf docs.tgz doc/api/*

                        flutter pub publish -f --skip-validation || true
                    '''
                }
            }

            post {
                always {
                    archiveArtifacts artifacts: "*.tgz", fingerprint: true
                    deleteDir()
                }
            }
        }
    }


}
