title: Gradle: How to add a custom task after compilation but before packaging files into a Jar?
body: <p>My build.gradle is currently:</p>
  
  <pre><code>project(':rss-middletier') {
      apply plugin: 'java'
  
      dependencies {
          compile project(':rss-core')
          compile 'asm:asm-all:3.2'
          compile 'com.sun.jersey:jersey-server:1.9.1'
          compile group: 'org.javalite', name: 'activejdbc', version: '1.4.9'
      }
  
      jar {
          from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {
              exclude "META-INF/*.SF"
              exclude "META-INF/*.DSA"
              exclude "META-INF/*.RSA"
          }
          manifest { attributes 'Main-Class': 
  'com.netflix.recipes.rss.server.MiddleTierServer' }
      }
  }
  </code></pre>
  
  <p>But rather than packaging these compiled classes into a jar directly, I'd like to instrument them first by running the following task:</p>
  
  <pre><code>task instrument(dependsOn: 'build', type: JavaExec) {
      main = 'org.javalite.instrumentation.Main'
      classpath = buildscript.configurations.classpath
      classpath += project(':rss-middletier').sourceSets.main.runtimeClasspath
      jvmArgs '-DoutputDirectory=' + project(':rss-middletier').sourceSets
          .main.output.classesDir.getPath()
  }
  </code></pre>
  
  <p>Only after I have instrumented these classes, I will then want to package them into a JAR file. Is there a way so that I can do this instrumentation before the packaging?</p>
  
  <p>Thanks a lot!!!</p>