charts/pipelines-library/templates/tasks/edp-gradle.yaml (156 lines of code) (raw):

{{ if .Values.pipelines.deployableResources.tasks }} apiVersion: tekton.dev/v1 kind: Task metadata: name: edp-gradle labels: app.kubernetes.io/version: "0.2" annotations: tekton.dev/pipelines.minVersion: "0.12.1" tekton.dev/displayName: Gradle tekton.dev/categories: Build Tools tekton.dev/tags: build-tool tekton.dev/platforms: "linux/amd64,linux/s390x,linux/ppc64le" spec: description: >- This task compiles, tests, and builds a Gradle project with configurable integration for Nexus, using custom Gradle settings and caching. workspaces: - name: source description: The workspace consisting of the gradle project. volumes: - name: settings-gradle configMap: name: {{ .Values.tekton.configs.gradleConfigMap }} params: - name: BASE_IMAGE description: Gradle base image. type: string default: {{ include "edp-tekton.registry" . }}/gradle:7.6.1-jdk11 - name: PROJECT_DIR description: The directory containing build.gradle type: string default: "source" - name: ci-nexus type: string description: name of the secret for the Nexus integration default: ci-nexus - name: GRADLE_USER_CACHE description: Gradle user cache directory default: /workspace/source/cache steps: - name: compile image: $(params.BASE_IMAGE) volumeMounts: - name: settings-gradle mountPath: /var/configmap {{- if .Values.tekton.packageRegistriesSecret.enabled }} envFrom: - secretRef: name: {{ .Values.tekton.packageRegistriesSecret.name }} {{- end }} workingDir: $(workspaces.source.path)/$(params.PROJECT_DIR) script: | #!/bin/bash set -e gradle \ -I \ /var/configmap/init.gradle \ clean \ compileJava \ -x test env: - name: XDG_CONFIG_HOME value: $(workspaces.source.path)/$(params.PROJECT_DIR) - name: GRADLE_USER_HOME value: $(params.GRADLE_USER_CACHE) - name: CI_USERNAME valueFrom: secretKeyRef: name: $(params.ci-nexus) key: username - name: CI_PASSWORD valueFrom: secretKeyRef: name: $(params.ci-nexus) key: password - name: NEXUS_HOST_URL valueFrom: secretKeyRef: name: $(params.ci-nexus) key: url - name: test image: $(params.BASE_IMAGE) volumeMounts: - name: settings-gradle mountPath: /var/configmap {{- if .Values.tekton.packageRegistriesSecret.enabled }} envFrom: - secretRef: name: {{ .Values.tekton.packageRegistriesSecret.name }} {{- end }} workingDir: $(workspaces.source.path)/$(params.PROJECT_DIR) script: | #!/bin/bash set -e gradle \ -I \ /var/configmap/init.gradle \ test \ jacocoTestReport env: - name: XDG_CONFIG_HOME value: $(workspaces.source.path)/$(params.PROJECT_DIR) - name: GRADLE_USER_HOME value: $(params.GRADLE_USER_CACHE) - name: CI_USERNAME valueFrom: secretKeyRef: name: $(params.ci-nexus) key: username - name: CI_PASSWORD valueFrom: secretKeyRef: name: $(params.ci-nexus) key: password - name: NEXUS_HOST_URL valueFrom: secretKeyRef: name: $(params.ci-nexus) key: url - name: build image: $(params.BASE_IMAGE) volumeMounts: - name: settings-gradle mountPath: /var/configmap {{- if .Values.tekton.packageRegistriesSecret.enabled }} envFrom: - secretRef: name: {{ .Values.tekton.packageRegistriesSecret.name }} {{- end }} workingDir: $(workspaces.source.path)/$(params.PROJECT_DIR) script: | #!/bin/bash set -e gradle \ -I \ /var/configmap/init.gradle \ build -x test env: - name: XDG_CONFIG_HOME value: $(workspaces.source.path)/$(params.PROJECT_DIR) - name: GRADLE_USER_HOME value: $(params.GRADLE_USER_CACHE) - name: CI_USERNAME valueFrom: secretKeyRef: name: $(params.ci-nexus) key: username - name: CI_PASSWORD valueFrom: secretKeyRef: name: $(params.ci-nexus) key: password - name: NEXUS_HOST_URL valueFrom: secretKeyRef: name: $(params.ci-nexus) key: url {{- include "resources" . | nindent 6 }} {{ end }}