#!/usr/bin/env groovy

def boardName = "enterprise"
def packages = [
    [packageName: 'bluez-imx', script: 'bluez_imx'],
    [packageName: 'edgetpudemo', script: 'edgetpudemo'],
    [packageName: 'edgetpuvision', script: 'edgetpuvision'],
    [packageName: 'imx-atf', script: 'imx_atf'],
    [packageName: 'imx-board-audio', script: 'imx_board_audio'],
    [packageName: 'imx-board-tools', script: 'imx_board_tools'],
    [packageName: 'imx-board-wlan', script: 'imx_board_wlan'],
    [packageName: 'imx-firmware', script: 'imx_firmware'],
    [packageName: 'imx-gpu-viv', script: 'imx_gpu_viv'],
    [packageName: 'imx-gst-plugins-bad', script: 'imx_gst_plugins_bad'],
    [packageName: 'imx-gst-plugins-base', script: 'imx_gst_plugins_base'],
    [packageName: 'imx-gst-plugins-good', script: 'imx_gst_plugins_good'],
    [packageName: 'imx-gst1.0-plugin', script: 'imx_gst1.0_plugin'],
    [packageName: 'imx-gstreamer', script: 'imx_gstreamer'],
    [packageName: 'imx-mkimage', script: 'imx_mkimage'],
    [packageName: 'imx-vpu-hantro', script: 'imx_vpu_hantro'],
    [packageName: 'imx-vpuwrap', script: 'imx_vpuwrap'],
    [packageName: 'libdrm-imx', script: 'libdrm_imx'],
    [packageName: 'linux-imx', script: 'linux_imx'],
    [packageName: 'meta-enterprise', script: 'meta_enterprise'],
    [packageName: 'uboot-imx', script: 'uboot_imx'],
    [packageName: 'wayland-protocols-imx', script: 'wayland_protocols_imx'],
    [packageName: 'weston-imx', script: 'weston_imx'],
]

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")
            }
        }
    }
}
