Skip to content

Commit

Permalink
Nebula Build - Single Module
Browse files Browse the repository at this point in the history
  • Loading branch information
benjchristensen committed Aug 29, 2014
1 parent 155860e commit 7aa6a66
Show file tree
Hide file tree
Showing 14 changed files with 9 additions and 694 deletions.
148 changes: 8 additions & 140 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,147 +1,15 @@
ext.githubProjectName = 'RxJava'

apply from: file('gradle/convention.gradle')
apply from: file('gradle/maven.gradle')
//apply from: file('gradle/check.gradle')
apply from: file('gradle/license.gradle')
apply from: file('gradle/release.gradle')

buildscript {
repositories {
mavenLocal()
mavenCentral()
jcenter()
}

apply from: file('gradle/buildscript.gradle'), to: buildscript
}

allprojects {
apply plugin: 'eclipse'
apply plugin: 'idea'
repositories {
mavenLocal()
mavenCentral()
}
repositories { jcenter() }
dependencies { classpath 'com.netflix.nebula:gradle-rxjava-project-plugin:1.12.+' }
}

subprojects {
apply plugin: 'java'
apply plugin: 'shadow'
group = "com.netflix.rxjava"

// everything defaults to 1.6
sourceCompatibility = JavaVersion.VERSION_1_6
targetCompatibility = JavaVersion.VERSION_1_6

// make 'examples' use the same classpath
configurations {
examplesCompile.extendsFrom compile
examplesRuntime.extendsFrom runtime
perfCompile.extendsFrom compile
perfRuntime.extendsFrom runtime
}


tasks.withType(Javadoc).each {
it.classpath = sourceSets.main.compileClasspath
}
group = 'io.reactivex'
description = 'RxJava: Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.'

sourceSets {
examples
perf {
compileClasspath += sourceSets.main.output
}
}
apply plugin: 'rxjava-project'

tasks.build {
//include 'examples' in build task
dependsOn(examplesClasses)
dependsOn(perfClasses)
}

task perfJar(type: Jar, dependsOn: perfClasses) {
from sourceSets.perf.output + sourceSets.main.output
}

dependencies {
perfCompile 'org.openjdk.jmh:jmh-core:0.9'
perfCompile 'org.openjdk.jmh:jmh-generator-annprocess:0.9'
}

artifacts {
perfRuntime perfJar
}

eclipse {
classpath {
plusConfigurations += configurations.perfCompile

downloadSources = true
downloadJavadoc = true
}
}

idea {
module {
scopes.PROVIDED.plus += configurations.perfCompile
scopes.PROVIDED.minus += configurations.compile
}
}

/**
* By default: Run without arguments this will execute all benchmarks that are found (can take a long time).
*
* Optionally pass arguments for custom execution. Example:
*
* ../gradlew benchmarks '-Pjmh=-f 1 -tu ns -bm avgt -wi 5 -i 5 -r 1 .*OperatorSerializePerf.*'
*
* To see all options:
*
* ../gradlew benchmarks '-Pjmh=-h'
*/
task benchmarks(type: JavaExec) {
main = 'org.openjdk.jmh.Main'
classpath = sourceSets.perf.runtimeClasspath + sourceSets.main.output
maxHeapSize = "512m"
jvmArgs '-XX:+UnlockCommercialFeatures'
jvmArgs '-XX:+FlightRecorder'
jvmArgs '-XX:AutoBoxCacheMax=1000000'

if (project.hasProperty('jmh')) {
args(jmh.split(' '))
} else {
//args '-h' // help output
args '-f' // fork
args '1'
args '-wi' // warmup iterations
args '5'
args '-i' // test iterations
args '5'
args '-r' // time per execution in seconds
args '5'
//args '-prof' // profilers
//args 'HS_GC' // HotSpot (tm) memory manager (GC) profiling via implementation-specific MBeans
//args 'HS_RT' // HotSpot (tm) runtime profiling via implementation-specific MBeans
//args 'HS_THR' // HotSpot (tm) threading subsystem via implementation-specific MBeans
//args 'HS_COMP' // HotSpot (tm) JIT compiler profiling via implementation-specific MBeans
//args 'HS_CL' // HotSpot (tm) classloader profiling via implementation-specific MBeans
//args 'STACK' // Simple and naive Java stack profiler
}
}

shadow {
classifier = "benchmarks"
includeDependenciesFor = ["runtime", "perfRuntime"]

transformer(com.github.jengelman.gradle.plugins.shadow.transformers.ManifestResourceTransformer) {
mainClass = "org.openjdk.jmh.Main"
}
}

shadowJar.dependsOn perfJar
dependencies {
testCompile 'junit:junit-dep:4.10'
testCompile 'org.mockito:mockito-core:1.8.5'
}

project(':rxjava') {
sourceSets.test.java.srcDir 'src/test/java'
}
13 changes: 0 additions & 13 deletions codequality/HEADER

This file was deleted.

188 changes: 0 additions & 188 deletions codequality/checkstyle.xml

This file was deleted.

17 changes: 0 additions & 17 deletions gradle/buildscript.gradle

This file was deleted.

Loading

0 comments on commit 7aa6a66

Please sign in to comment.