Skip to content

Commit d48a3b2

Browse files
committed
Produce a shadow'd jar for the performance benchmarks
1 parent 0e2a797 commit d48a3b2

File tree

2 files changed

+27
-3
lines changed

2 files changed

+27
-3
lines changed

build.gradle

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ buildscript {
1313
jcenter()
1414
}
1515

16-
apply from: file('gradle/buildscript.gradle'), to: buildscript
16+
apply from: file('gradle/buildscript.gradle'), to: buildscript
1717
}
1818

1919
allprojects {
@@ -27,6 +27,7 @@ allprojects {
2727

2828
subprojects {
2929
apply plugin: 'java'
30+
apply plugin: 'shadow'
3031
group = "com.netflix.rxjava"
3132

3233
// make 'examples' use the same classpath
@@ -55,12 +56,19 @@ subprojects {
5556
dependsOn(perfClasses)
5657
}
5758

59+
task perfJar(type: Jar, dependsOn: perfClasses) {
60+
from sourceSets.perf.output + sourceSets.main.output
61+
}
62+
5863
dependencies {
5964
perfCompile 'org.openjdk.jmh:jmh-core:0.5.3'
6065
perfCompile 'org.openjdk.jmh:jmh-generator-annprocess:0.5.3'
61-
6266
//perfCompile project
6367
}
68+
69+
artifacts {
70+
perfRuntime perfJar
71+
}
6472

6573
eclipse {
6674
classpath {
@@ -120,7 +128,17 @@ subprojects {
120128
args '.*OperatorSerializePerf.*' // for running only a specific test
121129
}
122130
}
123-
131+
132+
shadow {
133+
classifier = "benchmarks"
134+
includeDependenciesFor = ["runtime", "perfRuntime"]
135+
136+
transformer(com.github.jengelman.gradle.plugins.shadow.transformers.ManifestResourceTransformer) {
137+
mainClass = "org.openjdk.jmh.Main"
138+
}
139+
}
140+
141+
shadowJar.dependsOn perfJar
124142
}
125143

126144
project(':rxjava-core') {

gradle/buildscript.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@
22
repositories {
33
// Repo in addition to maven central
44
repositories { maven { url 'http://dl.bintray.com/content/netflixoss/external-gradle-plugins/' } } // For gradle-release
5+
maven {
6+
//FIXME: waiting for https://github.com/johnrengelman/shadow/pull/38 to merge
7+
name 'Shadow'
8+
url 'http://dl.bintray.com/content/gvsmirnov/gradle-plugins'
9+
}
510
}
611
dependencies {
712
classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.6.1'
813
classpath 'com.mapvine:gradle-cobertura-plugin:0.1'
914
classpath 'gradle-release:gradle-release:1.1.5'
1015
classpath 'org.ajoberstar:gradle-git:0.5.0'
16+
classpath 'com.github.jengelman.gradle.plugins:shadow:0.8.1'
1117
}

0 commit comments

Comments
 (0)