buildscript { repositories { maven { url 'https://repo.spring.io/plugins-release' } } dependencies { classpath 'org.springframework.build.gradle:propdeps-plugin:0.0.7' } } apply plugin: 'java' apply plugin: 'propdeps' apply plugin: 'propdeps-idea' apply plugin: 'propdeps-maven' jar { baseName = 'spring-reactive' } group = 'org.springframework.reactive' repositories { mavenCentral() maven { url 'https://oss.jfrog.org/libs-snapshot' } // RxNetty 0.5.x snapshots maven { url 'http://repo.spring.io/snapshot' } // Reactor snapshot mavenLocal() } configurations.all { // check for updates every build resolutionStrategy.cacheChangingModulesFor 0, 'seconds' } ext { springVersion = '4.2.3.RELEASE' reactorVersion = '2.5.0.BUILD-SNAPSHOT' tomcatVersion = '8.0.28' jettyVersion = '9.3.5.v20151012' javadocLinks = [ "http://docs.oracle.com/javase/8/docs/api/", "http://next.projectreactor.io/core/docs/api/", "http://docs.spring.io/spring/docs/${springVersion}/javadoc-api/", "http://www.reactive-streams.org/reactive-streams-1.0.0-javadoc/" ] as String[] } uploadArchives { repositories { mavenDeployer { uniqueVersion = false } } } javadoc { description = "Generates project-level javadoc for use in -javadoc jar" options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED options.author = true options.header = project.name options.addStringOption('Xdoclint:none', '-quiet') options.links(project.ext.javadocLinks) } task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' from sourceSets.main.allSource } task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir } artifacts { archives sourcesJar archives javadocJar } dependencies { compile "org.springframework:spring-core:${springVersion}" compile "org.springframework:spring-web:${springVersion}" compile "org.reactivestreams:reactive-streams:1.0.0" compile "io.projectreactor:reactor-core:${reactorVersion}" compile "commons-logging:commons-logging:1.2" optional "org.springframework:spring-context-support:${springVersion}" // for FreeMarker optional 'io.reactivex:rxjava:1.1.0' optional "io.reactivex:rxnetty-http:0.5.0-SNAPSHOT" optional "com.fasterxml.jackson.core:jackson-databind:2.6.2" optional "io.projectreactor:reactor-stream:${reactorVersion}" optional "io.projectreactor:reactor-net:${reactorVersion}" optional "io.projectreactor:reactor-io:${reactorVersion}" optional "org.apache.tomcat:tomcat-util:${tomcatVersion}" optional "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}" optional 'io.undertow:undertow-core:1.3.5.Final' optional "org.eclipse.jetty:jetty-server:${jettyVersion}" optional "org.eclipse.jetty:jetty-servlet:${jettyVersion}" optional("org.freemarker:freemarker:2.3.23") provided "javax.servlet:javax.servlet-api:3.1.0" testCompile "junit:junit:4.12" testCompile "org.springframework:spring-test:${springVersion}" testCompile "org.slf4j:slf4j-jcl:1.7.12" testCompile "org.slf4j:jul-to-slf4j:1.7.12" testCompile "log4j:log4j:1.2.16" testCompile("org.mockito:mockito-core:1.10.19") { exclude group: 'org.hamcrest', module: 'hamcrest-core' } testCompile "org.hamcrest:hamcrest-all:1.3" testCompile "com.squareup.okhttp3:mockwebserver:3.0.1" // Needed to run Javadoc without error optional "org.apache.httpcomponents:httpclient:4.5.1" }