Gradle
Gradle is a build tool with a focus on build automation and support for multi-language development. If you are building, testing, publishing, and deploying software on any platform, Gradle offers a flexible model that can support the entire development lifecycle from compiling and packaging code to publishing websites. Gradle has been designed to support build automation across multiple languages and platforms, including Java, Scala, Android, Kotlin, C/C++, and Groovy, and is closely integrated with development tools and continuous integration servers, including Eclipse, IntelliJ, and Jenkins.
🚀 Usage​
Add the following command to your CI configuration file:
fluentci run --wasm gradle task <task-name>
fluentci run --wasm gradle check
fluentci run --wasm gradle test
fluentci run --wasm gradle build
Commands​
Name | Description |
---|---|
task | Run a Gradle task. |
check | Check the project for errors and warnings. |
test | Run tests. |
build | Build the project. |
Code Examples​
Add fluentci-pdk
crate to your Cargo.toml
:
[dependencies]
fluentci-pdk = "0.2.1"
Use the following code to call a module function:
use fluentci_pdk::dag;
// ...
dag().call("https://pkg.fluentci.io/[email protected]?wasm=1", "build", vec![])?;
CI/CD Integration​
The following example shows how to integrate FluentCI with popular CI providers to run Gradle tasks:
- Github Actions
- GitLab CI
- Circle CI
- Azure Pipelines
- AWS CodePipeline
name: ci
on:
push:
branches:
- main
jobs:
tasks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Fluent CI
uses: fluentci-io/setup-fluentci@v5
with:
wasm: true
plugin: gradle
args: |
check
test
build
.docker:
image: denoland/deno:debian-1.42.4
services:
- docker:${DOCKER_VERSION}-dind
variables:
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_VERIFY: "1"
DOCKER_TLS_CERTDIR: /certs
DOCKER_CERT_PATH: /certs/client
DOCKER_DRIVER: overlay2
DOCKER_VERSION: 20.10.16
GITLAB_ACCESS_TOKEN: $GITLAB_ACCESS_TOKEN
.fluentci:
extends: .docker
before_script:
- apt-get update
- apt-get install -y curl tar gzip ca-certificates openssl git unzip libncursesw6
- deno install -A -r https://cli.fluentci.io -n fluentci
- fluentci --version
- curl -L https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.12.3 sh
- mv bin/dagger /usr/local/bin
- dagger version
build:
extends: .fluentci
script:
- fluentci run --wasm gradle check
- fluentci run --wasm gradle test
- fluentci run --wasm gradle build
version: 2.1
jobs:
job:
steps:
- checkout
- run: |
sudo apt-get update && sudo apt-get install -y curl unzip
curl -fsSL https://cli.fluentci.io | bash
fluentci --version
name: Setup FluentCI
- run: |
fluentci run --wasm gradle check
fluentci run --wasm gradle test
fluentci run --wasm gradle build
name: test and build
machine:
image: ubuntu-2004:2023.07.1
workflows:
fluentci:
jobs:
- job
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- script: |
curl -fsSL https://cli.fluentci.io | bash
fluentci --version
echo "##vso[task.prependpath]${HOME}/.deno/bin
displayName: Setup FluentCI
- script: |
fluentci run --wasm gradle check
fluentci run --wasm gradle test
fluentci run --wasm gradle build
displayName: test and build
version: 0.2
phases:
install:
commands:
- curl -fsSL https://cli.fluentci.io | bash
- fluentci --version
build:
commands:
- fluentci run --wasm gradle check
- fluentci run --wasm gradle test
- fluentci run --wasm gradle build
post_build:
commands:
- echo Build completed on `date`