//
//  Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
//
//  This program and the accompanying materials are made available under the
//  terms of the Eclipse Public License v. 2.0 which is available at
//  http://www.eclipse.org/legal/epl-2.0,
//  or the Eclipse Distribution License v. 1.0 which is available at
//  http://www.eclipse.org/org/documents/edl-v10.php.
//
//  SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
//

pipeline {
    agent {
        kubernetes {
            label 'el-master-agent-pod'
            yaml """
apiVersion: v1
kind: Pod
spec:

  volumes:
  - name: tools
    persistentVolumeClaim:
      claimName: tools-claim-jiro-eclipselink
  - name: volume-known-hosts
    configMap:
      name: known-hosts      
  - name: settings-xml
    secret:
      secretName: m2-secret-dir
      items:
      - key: settings.xml
        path: settings.xml
  - name: toolchains-xml
    configMap:
      name: m2-dir
      items:
      - key: toolchains.xml
        path: toolchains.xml
  - name: settings-security-xml
    secret:
      secretName: m2-secret-dir
      items:
      - key: settings-security.xml
        path: settings-security.xml
  - name: m2-repo
    emptyDir: {}
    
  containers:
  - name: jnlp
    resources:
      limits:
        memory: "4Gi"
        cpu: "2"
      requests:
        memory: "4Gi"
        cpu: "1"
  - name: el-build
    resources:
      limits:
        memory: "12Gi"
        cpu: "6"
      requests:
        memory: "12Gi"
        cpu: "5.5"
    image: tkraus/el-build:1.1.9
    volumeMounts:
    - name: tools
      mountPath: /opt/tools
    - name: volume-known-hosts
      mountPath: /home/jenkins/.ssh      
    - name: settings-xml
      mountPath: /home/jenkins/.m2/settings.xml
      subPath: settings.xml
      readOnly: true
    - name: toolchains-xml
      mountPath: /home/jenkins/.m2/toolchains.xml
      subPath: toolchains.xml
      readOnly: true
    - name: settings-security-xml
      mountPath: /home/jenkins/.m2/settings-security.xml
      subPath: settings-security.xml
      readOnly: true
    - name: m2-repo
      mountPath: /home/jenkins/.m2/repository
    tty: true
    command:
    - cat
"""
        }
    }
    tools {
        maven 'apache-maven-latest'
        jdk 'openjdk-jdk17-latest'
    }
    stages {
        // Initialize build environment
        stage('Init') {
            steps {
                container('el-build') {
                    sh """
                        /opt/bin/mysql-start.sh
                        mkdir ~/.eclipselinktests
                    """
                    withCredentials([file(credentialsId: 'secret-subkeys.asc', variable: 'KEYRING')]) {
                        sh label: '', script: '''
                            gpg --batch --import "${KEYRING}"
                            for fpr in $(gpg --list-keys --with-colons  | awk -F: \'/fpr:/ {print $10}\' | sort -u);
                            do
                                echo -e "5\\ny\\n" |  gpg --batch --command-fd 0 --expert --edit-key $fpr trust;
                            done'''
                    }
                }
            }
        }
        // Build
        stage('Build') {
            steps {
                container('el-build') {
                    sh """
                        echo '-[ EclipseLink Build ]-----------------------------------------------------------'
                        mvn -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B -V clean install -pl '!:eclipselink,!:org.eclipse.persistence.bundles.other,!:org.eclipse.persistence.distribution.tests,!:p2site' -DskipTests
                    """
                }
            }
        }
        // LRG tests
        stage('Run Tests') {
            parallel {
                stage('Core LRG') {
                    steps {
                        container('el-build') {
                            sh """
                                mvn -B -V verify -pl :org.eclipse.persistence.core.test -P test-core-lrg,mysql
                            """
                        }
                    }
                }
                stage('MOXy LRG') {
                    steps {
                        container('el-build') {
                            sh """
                                mvn -B -V test -pl :org.eclipse.persistence.moxy -P test-moxy-lrg
                            """
                        }
                    }
                }
                stage('NoSQL Tests') {
                    steps {
                        container('el-build') {
                            sh """
                                /opt/bin/mongo-start.sh
                                mvn -B -V verify -pl :org.eclipse.persistence.nosql -P mongodb
                                /opt/bin/mongo-stop.sh                                
                            """
                        }
                    }
                }
            }
        }
        //Not in parallel
        stage('JPA LRG') {
            steps {
                container('el-build') {
                    sh """
                                mvn -B -V verify -pl :org.eclipse.persistence.jpa.test -P test-jpa-lrg,mysql
                            """
                }
            }
        }
        stage('SDO LRG') {
            steps {
                container('el-build') {
                    sh """
                                mvn -B -V verify -pl :org.eclipse.persistence.sdo -Ptest-sdo
                            """
                }
            }
        }
        stage('CORBA') {
            steps {
                container('el-build') {
                    sh """
                                mvn -B -V verify -pl :org.eclipse.persistence.corba -P mysql
                            """
                }
            }
        }
        stage('JPA Modelgen, JPA JSE, WDF, JPARS, DBWS, DBWS Builder, Distribution') {
            steps {
                container('el-build') {
                    sh """
                                mvn -B -V clean install -pl :eclipselink
                                mvn -B -V verify -pl :org.eclipse.persistence.jpa.modelgen.processor,:org.eclipse.persistence.jpa.jse.test,:org.eclipse.persistence.extension,:org.eclipse.persistence.jpa.jpql,:org.eclipse.persistence.jpa.wdf.test,:org.eclipse.persistence.jpars,:org.eclipse.persistence.dbws,:org.eclipse.persistence.dbws.builder,:eclipselink,:org.eclipse.persistence.distribution.tests -P mysql;
                            """
                }
            }
        }
        stage('Javadoc') {
            steps {
                container('el-build') {
                    sh """
                                mvn -B -V package -DskipTests -Poss-release
                            """
                }
            }
        }
        // LRG Server tests
/*
        stage('LRG Server tests (Wildfly)') {
            steps {
                container('el-build') {
                    sh """
                            etc/jenkins/test_server.sh
                        """
                }
            }
        }
*/
    }
    post {
        always {
            container('el-build') {
                sh """
                        /opt/bin/mysql-stop.sh
                    """
            }
            script {
                //Multiple Jenkins junit plugin calls due java.nio.channels.ClosedChannelException in new/cloud Eclipse.org build infrastructure if it's called once
                //Retry is there to try (in case of crash) junit test upload again.
                retryCount = 5
                junitReportFiles = [
                        'bundles/**/target/surefire-reports/*.xml,bundles/**/target/failsafe-reports/*.xml',
                        'dbws/**/target/surefire-reports/*.xml,dbws/**/target/failsafe-reports/*.xml',
                        'foundation/**/target/surefire-reports/*.xml,foundation/**/target/failsafe-reports/*.xml',
                        'jpa/**/target/surefire-reports/*.xml,jpa/**/target/failsafe-reports/*.xml',
                        'moxy/**/target/surefire-reports/*.xml,moxy/**/target/failsafe-reports/*.xml',
                        'sdo/**/target/surefire-reports/*.xml,sdo/**/target/failsafe-reports/*.xml',
                        'utils/**/target/surefire-reports/*.xml,utils/**/target/failsafe-reports/*.xml'
                ]
                for (item in junitReportFiles) {
                    echo 'Processing file: ' + item
                    retry(retryCount) {
                        junit allowEmptyResults: true, testResults: item
                    }
                }
            }
            recordIssues(tools: [spotBugs(useRankAsPriority: true), java(), javaDoc()])
        }
    }
}