Skip to content

Instantly share code, notes, and snippets.

View ysb33r's full-sized avatar

Schalk W. Cronjé ysb33r

  • Andorra
View GitHub Profile
// Create the task
// The declare the task and adds a body that will be executed everytime the tasks is executed
// Variables pushed in as configuration can be referenced here
//
// This simple tasks will write a text file containing a list of files
// in a source set. It will also only update the output file, if at least one
// source file has changed.
task myTask << {
outputs.file.singleFile.withWriter { out ->
inputs.sourceFiles.each {
@ysb33r
ysb33r / publishToBintrayDSLSuggestion.gradle
Last active December 17, 2015 11:49
Suggested DSL adaptation for publising to Bintray
// FOR THE IMPATIENT: Final solution at the end
// Classic Ivy style to publish to Bintray.
// This requires the package to be pre-created, possibly by manual process on website
// or via call such as https://github.com/ysb33r/Gradle/blob/master/buildSrc/src/main/groovy/BintrayPackage.groovy
uploadArchives {
repositories {
ivy {
url 'http://api.bintray.com/ysb33r/grysb33r/gnumake-gradle-plugin/0.0.3'
credentials {
@ysb33r
ysb33r / gist:5554324
Last active December 17, 2015 04:59
I am trying to wrapper a Task class in Gradle to wrap some legacy build tools i.e. GNU Make, SCons etc. This is to help migrating legacy builds to Gradle. The idea is to still call parts of the old build systems and just to collect the artifacts from them. So instead of inheriting from DefaultTask I thought it would be easier to just to extend s…
class GnuMake extends DefaultTask {
@Input
@Optional
List<String> targets
@Input
@Optional
Map<String,Object> flags = [:]
@ysb33r
ysb33r / SumSquaresNumbersDiv7SmallerThan100.groovy
Created April 15, 2013 13:35
Russel Winder did a lightning talk at ACCU 2013 titled "Who needs C++ when you have D and Go": http://www.slideshare.net/Russel_Winder/who-needscwhenyouhaved-andgo I decided to address the same problem using a one-liner in Groovy
println ((0..<100).step(7).collect{it*it}.sum())