Interactive, web based Gradle task runner. #gradle #websockets #dropwizard #d3js #baconjs
JavaScript Java FreeMarker CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
gradle/wrapper
screenshots
src/main
.gitignore
build.gradle
gradlew
gradlew.bat
readme.md

readme.md

Gradle Web Task Runner

Interactive, web based Gradle task runner.

#gradle #dropwizard #websockets #d3js #bacon.js

Introduction

With my in-laws entertaining the kids I finally have a bit of time to play with pet projects. This is a project that I've been thinking about for a while. My original idea was to create a super simple ci-server solely executing specific tasks using a Gradle wrapper.

So far it's able to fork a Gradle process with a custom init script. This init script will in turn open a server socket, wait for the backend to connect and then use the connection to stream various events to the backend which in turn is able to process and stream these events to the web interface over web sockets.

Gif

Give it a spin

Check out the source code then run the following command that'll download Gradle, build the project and start it up (gotta love Gradle wrapper!).

git clone git@github.com:kimble/gradle-web-runner.git
cd gradle-web-runner
./gradlew run

Then navigate to http://localhost:8080/ in your web browser.

Btw, I use Chrome during development so no guaranties regarding other browsers.

Things I might do

As this is just a summer pet projects I'll probably never get around to do half of these things.

Build features

  • Abort running build
  • Re-run

Reporting

  • Visualize task dependencies
  • Visualize how tasks run in parallel
  • Filter / search test reports
  • Move test reports into a dedicated page

Code cleanup

  • Replace js dependencies with webjars

General improvements

  • Fetch estimates before forking the build (so the first tasks can get a progress bar)
  • Windows support (use ./gradlew.bat instead of ./gradlew and so on..)