/*
 * Copyright (c) 2019 Red Hat, Inc.
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at:
 *
 *     https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *   Red Hat, Inc. - initial API and implementation
 */
plugins {
    id 'java'
    id 'org.kordamp.gradle.jandex' version '0.6.0'
    id 'application'
    id 'org.eclipse.jkube.kubernetes' version "${jKubeVersion}"
    id 'org.eclipse.jkube.openshift' version "${jKubeVersion}"
}

group = 'org.eclipse.jkube.integration.tests.gradle'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
targetCompatibility = '11'
tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

ext {
    helidonversion = '2.6.7'
    mainClass='io.helidon.microprofile.cdi.Main'
}

repositories {
    mavenLocal()
    mavenCentral()
    gradlePluginPortal()
}

dependencies {
    // import Helidon BOM
    implementation enforcedPlatform("io.helidon:helidon-dependencies:${project.helidonversion}")
    implementation 'io.helidon.microprofile.bundles:helidon-microprofile'
    implementation 'org.glassfish.jersey.media:jersey-media-json-binding'

    runtimeOnly 'org.jboss:jandex'
    runtimeOnly 'jakarta.activation:jakarta.activation-api'
}

task copyLibs(type: Copy) {
  from configurations.runtimeClasspath
  into 'build/libs/libs'
}

jar.dependsOn jandex
copyLibs.dependsOn jar
assemble.dependsOn copyLibs

jar {
  archiveFileName = "${project.name}.jar"
  manifest {
    attributes ('Main-Class': "${project.mainClass}" ,
                'Class-Path': configurations.runtimeClasspath.files.collect { "libs/$it.name" }.join(' ')
               )
  }
}

application {
    mainClass = "${project.mainClass}"
}

kubernetes {
    offline = true
}

openshift {
    offline = true
}
