#!/usr/bin/env groovy

def boardName = "excelsior"
def packages = [
    [packageName: 'a71ch-crypto-support', script: 'a71ch_crypto_support'],
    [packageName: 'edgetpudemo', script: 'edgetpudemo'],
    [packageName: 'edgetpuvision', script: 'edgetpuvision'],
    [packageName: 'excelsior-bluetooth', script: 'excelsior_bluetooth'],
    [packageName: 'excelsior-bootloader', script: 'excelsior_bootloader'],
    [packageName: 'excelsior-connectivity-fw', script: 'excelsior_connectivity_fw'],
    [packageName: 'excelsior-img-fw', script: 'excelsior_img_fw'],
    [packageName: 'excelsior-tools', script: 'excelsior_tools'],
    [packageName: 'excelsior-vpu-prebuilts', script: 'excelsior_vpu_prebuilts'],
    [packageName: 'excelsior-wlan', script: 'excelsior_wlan'],
    [packageName: 'glmark2', script: 'glmark2'],
    [packageName: 'gst-plugins-bad1.0', script: 'gst_plugins_bad1.0'],
    [packageName: 'gst-plugins-base1.0', script: 'gst_plugins_base1.0'],
    [packageName: 'gst-plugins-good1.0', script: 'gst_plugins_good1.0'],
    [packageName: 'gst-shark', script: 'gst_shark'],
    [packageName: 'gstreamer1.0', script: 'gstreamer1.0'],
    [packageName: 'libmdp-prot', script: 'libmdp_prot'],
    [packageName: 'linux-mtk', script: 'linux_mtk'],
    [packageName: 'lk-bootloader', script: 'lk_bootloader'],
    [packageName: 'mdpd', script: 'mdpd'],
    [packageName: 'meta-excelsior', script: 'meta_excelsior'],
    [packageName: 'mtk-board-audio', script: 'mtk_board_audio'],
    [packageName: 'optee-os', script: 'optee_os'],
    [packageName: 'tf-a', script: 'tf_a'],
    [packageName: 'u-boot', script: 'u_boot'],
    [packageName: 'weston-mtk', script: 'weston_mtk'],
]

packages.each {
    def packageName = it.packageName
    def script = it.script

    pipelineJob("${boardName}.${packageName}") {
        definition {
            cpsScm {
                scm {
                    git {
                        remote {
                            url('https://coral.googlesource.com/gke-jenkins')
                        }
                        branches('*/master')
                    }
                }

                scriptPath("cicd/pipelines/${boardName}/${script}.jenkins")
            }
        }
    }
}
