Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View ysb33r's full-sized avatar

Schalk W. Cronjé ysb33r

  • Andorra
View GitHub Profile
@ysb33r
ysb33r / XsltUnitToJUnitXml.xsl
Last active December 18, 2015 02:39
I do not know if anyone still uses for XSLTUnit (http://xsltunit.org/) for new development, but I recently had the requirement to convert the XML created by this framework to a JUnit XML format so that it can be read by other tools such as JUnit that understands this format.
<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================================================
(C) Copyright Schalk W. Cronjé 2013
This code snippet is licensed under the Apache License 2.0
See http://www.apache.org/licenses/LICENSE-2.0 for license details
============================================================================ -->
<xsl:transform
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
// 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())
@ysb33r
ysb33r / xinlude-xmlsluper.groovy
Created October 13, 2015 14:06
Processing XInclude with XmlSlurper
// Not quite sure if this will work as expected, but probably
// worth a trying if you want xi:include documents to be inlucdd.
def spf = javax.xml.parsers.SAXParserFactory.newInstance()
spf.namespaceAware = true
spf.setXIncludeAware ( true )
def parser = new XmlSlurper(spf.newSAXParser())
@ysb33r
ysb33r / build.gradle
Created December 9, 2014 17:00
Asciidoctor-packt with Gradle
// A minimum Gradle file to get you started with asciidoctor-packt
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.ysb33r.gradle:vfs-gradle-plugin:1.0-beta1'
classpath 'commons-httpclient:commons-httpclient:3.1'
@ysb33r
ysb33r / asciidoctor-pdf-with-gradle.gradle
Created August 30, 2014 12:52
A brute-force way to run asciidoctor-pdf under Gradle
buildscript {
repositories {
jcenter()
mavenLocal()
}
dependencies {
classpath 'com.github.jruby-gradle:jruby-gradle-plugin:0.1.2-SNAPSHOT'
classpath 'org.ysb33r.gradle:vfs-gradle-plugin:0.5'
@ysb33r
ysb33r / gist:3fd93c4253e8775d5571
Last active August 29, 2015 14:05
Is it possible to convert asciidoctorj from maven to gradle?
// This is a first stab at trying to convert the asciidoctorj pom.xml to build.gradle
// Note the WORKAROUND. These are to work around problems with erubis. Gradle is much stricter
// about broken POMs that Maven.
//
// This had been done using some code which is is based on the current version of jruby-gradle-plugin,
// but with updates to fix shortcomings in the release 2.2.0
//
// This requires Gradle 2.0 or better.
//
buildscript {
@ysb33r
ysb33r / gist:0c534d165863628a07cc
Last active August 29, 2015 14:04
HOWTO add deck.js to an Asciidoctor project without resorting to git submodules
// You will need the VFS plugin
buildscript {
repositories {
jcenter()
}
dependencies {
// Set your
classpath 'org.asciidoctor:asciidoctor-gradle-plugin:0.7.0'
classpath 'org.ysb33r.gradle:vfs-gradle-plugin:0.5'