GithubHelp home page GithubHelp logo

xebialabs-community / xl-docker-gradle-plugin Goto Github PK

View Code? Open in Web Editor NEW
0.0 24.0 0.0 66 KB

Gradle plugin to quickly compile and run your plugin using a Docker container

License: MIT License

Groovy 100.00%
gradle docker xld xldeploy xlr xlrelease docker-container gradle-plugin

xl-docker-gradle-plugin's Introduction

CI status

Build Status Codacy Badge Code Climate License: MIT

Overview

The xl-docker-gradle-plugin allows to startup a Docker container with the XL Tool installed to compile the plugin. Also you can use runDocker to start an XL Tool container with your plugin preloaded.

Requirements

  • Gradle 2.13+

Installation

Define on top of the build.gradle file:

plugins {
  id "com.xebialabs.xl.docker" version "1.1.0"
}

For the latest version of the plugin have a look at: xl-docker-gradle-plugin

Usage

You can make use of the following gradle tasks

  • compileDocker
    • compileImage: Specifies which image to use for compilation (xebialabs/xlr_dev_compile, xebialabs/xld_dev_compile or xebialabs/xltv-dev-compile)
    • compileVersion: Specifies which version of the image to use. See Docker hub
    • download: Specifies any additional plugins to be downloaded.
  • runDocker
    • compileImage: Specifies which image to use for compilation (xebialabs/xlr_dev_compile, xebialabs/xld_dev_compile or xebialabs/xltv-dev-compile)
    • compileVersion: Specifies which version of the image to use. See Docker hub
    • runImage: Specifies which image to use for running the XL Tool (xebialabs/xlr_dev_run, xebialabs/xld_dev_run or xebialabs/xltv-dev-run)
    • runVersion: Specifies which version of the image to use. See Docker hub
    • runPortMapping: Specifies which port mapping to use. For example 4516:4516
    • download: Specifies any additional plugins to be downloaded.
    • The src/main/resources folder will be linked into the XL ext folder (so you don't have to restart on script changes)
    • This task depends on compileDocker
  • runDockerCompose
    • A docker-compose.yml should be present under src/test/resources/docker
    • This task depends on compileDocker
  • stopDockerCompose

Example

xlDocker {
  compileImage = 'xebialabs/xlr_dev_compile'
  compileVersion = 'v6.0.0.1'
  runImage = 'xebialabs/xlr_dev_run'
  runVersion = 'v6.0.0.1'
  runPortMapping = '5516:5516'
  download("xlr_community_plugins") {
    src(["https://github.com/xebialabs-community/xlr-xldeploy-plugin/releases/download/v2.1.5/xlr-xldeploy-plugin-2.1.5.jar",
         "https://github.com/xebialabs-community/xlr-xltestview-plugin/releases/download/v2.1.1/xlr-xltestview-plugin-2.1.1.jar"])
    dest file("src/downloads/plugins")
    acceptAnyCertificate true
  }
}

xl-docker-gradle-plugin's People

Contributors

jdewinne avatar ndebuhr avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xl-docker-gradle-plugin's Issues

Updating de.undercouch:gradle-download-task to v3.4.3

I updated the de.undercouch:gradle-download-task plugin to v3.4.3 to allow the use of the file protocol to obtain local files. But specifying file:///Users/droberts/path/to/mylocalplugin.jar in the download "src" list fails with java.io.FileNotFoundException on Mac OS/X, Java 1.8.0_111.

copyDownloadResources should not be triggered if not needed

FAILURE: Build failed with an exception.

  • What went wrong:
    Task 'copyDownloadResources' not found in root project 'xld-openshift-plugin'.

  • Try:
    Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.