diff --git a/cyclops-anym/build.gradle b/cyclops-anym/build.gradle index 53be8ded6c..38d711df4c 100644 --- a/cyclops-anym/build.gradle +++ b/cyclops-anym/build.gradle @@ -11,20 +11,99 @@ buildscript { } apply plugin: 'java' +apply plugin: 'maven-publish' +apply plugin: 'com.bmuschko.nexus' sourceCompatibility = 1.8 +jar { + manifest { + attributes 'Implementation-Title': 'cyclops-anym', 'Implementation-Version': version + } +} repositories { mavenCentral() + jcenter() +} +configurations { + provided } - dependencies { compile project(':cyclops') - compileOnly 'org.projectlombok:lombok:1.16.12' - testCompileOnly 'org.projectlombok:lombok:1.16.12' + provided 'org.projectlombok:lombok:1.16.12' + provided 'org.projectlombok:lombok:1.16.12' testCompile project(':cyclops').sourceSets.test.output testCompile 'io.projectreactor:reactor-core:3.0.7.RELEASE' testCompile group: 'junit', name: 'junit', version: '4.12' testCompile 'org.hamcrest:hamcrest-all:1.3' testCompile 'com.github.stefanbirkner:system-rules:1.10.0' } +sourceSets { + main.compileClasspath += [configurations.provided] + test.compileClasspath += [configurations.provided] + test.runtimeClasspath += [configurations.provided] +} + +modifyPom { + project { + name 'cyclops-anym' + description 'A higher kinded monad abstraction for Java' + url 'https://github.com/aol/cyclops-react' + inceptionYear '2015' + + groupId 'com.oath.cyclops' + artifactId 'cyclops-anym' + version "$version" + + scm { + url 'scm:git@github.com:aol/cyclops-react.git' + connection 'scm:git@github.com:aol/cyclops-react.git' + developerConnection 'scm:git@github.com:aol/simple-react.git' + } + + licenses { + license { + name 'The Apache Software License, Version 2.0' + url 'http://www.apache.org/licenses/LICENSE-2.0.txt' + distribution 'repo' + } + } + + developers { + developer { + id 'johnmcclean' + name 'John McClean' + email 'john.mcclean@oath.com' + } + developer { + id 'kewangie' + name 'Ke Wang' + email 'ke.wang@teamaol.com' + } + + developer { + id 'tkountis' + name 'Thomas Kountis Wang' + email 'thomas.kountis@adtech.com' + } + developer { + id 'colinfkennedy' + name 'Colin Kennedy' + email 'Colin.Kennedy@teamaol.com' + } + } + } +} + +extraArchive { + sources = true + tests = true + javadoc = true +} + +nexus { + sign = true + repositoryUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2' + snapshotRepositoryUrl = 'https://oss.sonatype.org/content/repositories/snapshots' +} + diff --git a/cyclops/build.gradle b/cyclops/build.gradle index c90b695c64..6a9b047b64 100644 --- a/cyclops/build.gradle +++ b/cyclops/build.gradle @@ -48,14 +48,16 @@ if (JavaVersion.current().isJava8Compatible()) { } } } +configurations { + provided +} dependencies { compile 'org.agrona:Agrona:0.9.1' compile 'org.reactivestreams:reactive-streams:1.0.0' - compileOnly 'org.projectlombok:lombok:1.16.12' - testCompileOnly 'org.projectlombok:lombok:1.16.12' + provided 'org.projectlombok:lombok:1.16.12' testCompile 'com.github.stefanbirkner:system-rules:1.10.0' testCompile 'io.projectreactor:reactor-core:3.0.7.RELEASE' testCompile 'com.google.guava:guava:19.0' @@ -71,7 +73,11 @@ dependencies { jmh 'com.github.akarnokd:ixjava:1.0.0-RC5' } - +sourceSets { + main.compileClasspath += [configurations.provided] + test.compileClasspath += [configurations.provided] + test.runtimeClasspath += [configurations.provided] +} jacocoTestReport { afterEvaluate { classDirectories = files(classDirectories.files.collect {