Skip to content

Commit 2052da3

Browse files
committed
Updated gradle build scripts so there is a separate benchmarks task
1 parent 27bf21c commit 2052da3

File tree

2 files changed

+52
-38
lines changed

2 files changed

+52
-38
lines changed

build.gradle

Lines changed: 51 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,20 @@ apply from: file('gradle/release.gradle')
99
buildscript {
1010
repositories {
1111
mavenLocal()
12-
mavenCentral() // maven { url 'http://jcenter.bintray.com' }
12+
mavenCentral()
13+
maven {
14+
//FIXME: waiting for https://github.com/johnrengelman/shadow/pull/38 to merge
15+
name 'Shadow'
16+
url 'http://dl.bintray.com/content/gvsmirnov/gradle-plugins'
17+
}
18+
jcenter()
19+
}
20+
21+
dependencies {
22+
// Required for benchmarks
23+
classpath 'com.github.jengelman.gradle.plugins:shadow:0.8.1'
1324
}
25+
1426
apply from: file('gradle/buildscript.gradle'), to: buildscript
1527
}
1628

@@ -19,7 +31,7 @@ allprojects {
1931
apply plugin: 'idea'
2032
repositories {
2133
mavenLocal()
22-
mavenCentral() // maven { url: 'http://jcenter.bintray.com/' }
34+
mavenCentral()
2335
}
2436
}
2537

@@ -31,57 +43,67 @@ subprojects {
3143
configurations {
3244
examplesCompile.extendsFrom compile
3345
examplesRuntime.extendsFrom runtime
34-
perfCompile.extendsFrom compile
35-
perfRuntime.extendsFrom runtime
3646
}
3747

3848

3949
tasks.withType(Javadoc).each {
4050
it.classpath = sourceSets.main.compileClasspath
4151
}
4252

43-
sourceSets {
44-
//include /src/examples folder
53+
sourceSets {
4554
examples
46-
//include /src/perf folder
47-
perf {
48-
java {
49-
srcDir 'src/perf/java'
50-
compileClasspath += main.output
51-
runtimeClasspath += main.output
52-
}
53-
}
54-
}
55-
56-
dependencies {
57-
perfCompile 'org.openjdk.jmh:jmh-core:0.2'
55+
perf
5856
}
5957

6058
tasks.build {
61-
//include 'examples' in build task
59+
//include 'examples' in build task
6260
dependsOn(examplesClasses)
63-
//include 'perf' in build task
64-
// dependsOn(perfClasses) //-> Not working so commented out
61+
}
62+
63+
dependencies {
64+
perfCompile 'org.openjdk.jmh:jmh-core:0.5.3'
65+
perfCompile 'org.openjdk.jmh:jmh-generator-annprocess:0.5.3'
66+
67+
perfCompile project
6568
}
6669

6770
eclipse {
68-
classpath {
69-
// include 'provided' dependencies on the classpath
70-
plusConfigurations += configurations.provided
71+
classpath {
7172
plusConfigurations += configurations.perfCompile
7273

7374
downloadSources = true
7475
downloadJavadoc = true
7576
}
7677
}
77-
78+
7879
idea {
7980
module {
80-
// include 'provided' dependencies on the classpath
81-
scopes.PROVIDED.plus += configurations.provided
82-
// TODO not sure what to add it to
83-
//scopes.PROVIDED.plus += configurations.perfCompile
81+
scopes.PROVIDED.plus += configurations.perfCompile
82+
scopes.PROVIDED.minus += configurations.compile
83+
}
84+
}
85+
86+
task perfJar(type: Jar, dependsOn: perfClasses) {
87+
from sourceSets.perf.output + sourceSets.main.output
88+
}
89+
90+
task benchmarks(dependsOn: perfJar) {
91+
92+
apply plugin: "shadow"
93+
94+
shadow {
95+
classifier = "benchmarks"
96+
includeDependenciesFor = ["runtime", "perfRuntime"]
97+
98+
transformer(com.github.jengelman.gradle.plugins.shadow.transformers.ManifestResourceTransformer) {
99+
mainClass = "org.openjdk.jmh.Main"
100+
}
84101
}
102+
103+
doLast {
104+
shadowJar.execute()
105+
}
106+
85107
}
86108
}
87109

rxjava-core/build.gradle

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
apply plugin: 'maven'
22
apply plugin: 'osgi'
3-
apply plugin:'application'
43

54
sourceCompatibility = JavaVersion.VERSION_1_6
65
targetCompatibility = JavaVersion.VERSION_1_6
@@ -13,7 +12,7 @@ dependencies {
1312
javadoc {
1413
// we do not want the org.rx.operations package include
1514
exclude '**/operations/**'
16-
15+
1716
options {
1817
doclet = "org.benjchristensen.doclet.DocletExclude"
1918
docletpath = [rootProject.file('./gradle/doclet-exclude.jar')]
@@ -31,11 +30,4 @@ jar {
3130
instruction 'Import-Package', '!org.junit,!junit.framework,!org.mockito.*,*'
3231
instruction 'Eclipse-ExtensibleAPI', 'true'
3332
}
34-
}
35-
36-
task time(type:JavaExec) {
37-
classpath = sourceSets.perf.runtimeClasspath
38-
group 'Application'
39-
description 'Execute the calipser benchmark timing of Rx'
40-
main 'rx.operators.ObservableBenchmark'
4133
}

0 commit comments

Comments
 (0)