diff --git a/build.gradle b/build.gradle index 968b99b..8132e9d 100644 --- a/build.gradle +++ b/build.gradle @@ -4,9 +4,11 @@ apply from: script('dependencies') buildscript { repositories { mavenCentral() + jcenter() } dependencies { classpath 'no.entitas.gradle.jaxb:gradle-jaxb-plugin:2.0' + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:0.3' } } diff --git a/gradle.properties b/gradle.properties index bb90a9e..984535a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ group=com.bol.openapi -version=4.0.0-SNAPSHOT +version=4.0.0 diff --git a/gradle/publishing.gradle b/gradle/publishing.gradle new file mode 100644 index 0000000..61a18a8 --- /dev/null +++ b/gradle/publishing.gradle @@ -0,0 +1,59 @@ +apply plugin: 'maven-publish' +apply plugin: 'bintray' +publishing { + publications { + main(MavenPublication) { + if (plugins.hasPlugin('war')) { + from components.web + } else { + from components.java + } + artifact sourcesJar +// artifact javadocJar +// artifact groovydocJar + pom.withXml { + asNode().with { + appendNode('name', 'Bol.com OpenAPI Java client') + appendNode('description', 'Bol.com OpenAPI Java client') + appendNode('url', 'http://github.com/pvdissel/openapi-java') + appendNode('licenses').with { + appendNode('license').with { + appendNode('name', 'MIT') + appendNode('url', 'http://opensource.org/licenses/MIT') + } + } + appendNode('developers').with { + appendNode('developer').with { + appendNode('id', 'pvdissel') + appendNode('name', 'Patrick van Dissel') + appendNode('email', 'pvdissel@gmail.com') + } + } + appendNode('scm').with { + appendNode('connection', 'git://github.com/pvdissel/openapi-java.git') + appendNode('developerConnection', 'git@github.com:pvdissel/openapi-java.git') + appendNode('url', 'http://github.com/pvdissel/openapi-java') + } + } + } + } + } + repositories { + mavenLocal() + } +} +if (project.hasProperty('bintrayUser') && project.hasProperty('bintrayKey')) { + bintray { + user = project.bintrayUser + key = project.bintrayKey + publications = ['main'] + pkg { + repo = 'bol-com-releases' + name = 'com.bol.openapi:openapi-java' + desc = 'Bol.com OpenAPI Java client' + licenses = ['Apache-2.0'] + labels = [] + } + } +} +bintrayUpload.dependsOn('generatePomFileForMainPublication', 'build') diff --git a/subprojects/api/api.gradle b/subprojects/api/api.gradle index cc541f5..2073344 100644 --- a/subprojects/api/api.gradle +++ b/subprojects/api/api.gradle @@ -22,3 +22,31 @@ def setTestProperties = { test setTestProperties integrationTest setTestProperties + +apply from: script('publishing') + +archivesBaseName = "${rootProject.name}-${project.name}" +publishing { + publications { + main(MavenPublication) { + artifactId project.archivesBaseName + } + } +} +task sourcesJar(type: Jar) { + classifier = 'sources' + from sourceSets.main.allSource +} +task javadocJar(type: Jar) { + classifier = 'javadoc' + from javadoc.outputs.files +} +task groovydocJar(type: Jar) { + classifier = 'groovydoc' + from groovydoc.outputs.files +} +artifacts { + archives sourcesJar +// archives javadocJar +// archives groovydocJar +} diff --git a/subprojects/client/client.gradle b/subprojects/client/client.gradle index 3515f27..4edc089 100644 --- a/subprojects/client/client.gradle +++ b/subprojects/client/client.gradle @@ -20,3 +20,31 @@ def setTestProperties = { test setTestProperties integrationTest setTestProperties + +apply from: script('publishing') + +archivesBaseName = "${rootProject.name}-${project.name}" +publishing { + publications { + main(MavenPublication) { + artifactId project.archivesBaseName + } + } +} +task sourcesJar(type: Jar) { + classifier = 'sources' + from sourceSets.main.allSource +} +task javadocJar(type: Jar) { + classifier = 'javadoc' + from javadoc.outputs.files +} +task groovydocJar(type: Jar) { + classifier = 'groovydoc' + from groovydoc.outputs.files +} +artifacts { + archives sourcesJar +// archives javadocJar +// archives groovydocJar +} diff --git a/subprojects/client/src/integrationTest/groovy/com/bol/openapi/OpenApiClientIntegrationSpec.groovy b/subprojects/client/src/integrationTest/groovy/com/bol/openapi/OpenApiClientIntegrationSpec.groovy index 291c152..76a662f 100644 --- a/subprojects/client/src/integrationTest/groovy/com/bol/openapi/OpenApiClientIntegrationSpec.groovy +++ b/subprojects/client/src/integrationTest/groovy/com/bol/openapi/OpenApiClientIntegrationSpec.groovy @@ -82,7 +82,7 @@ class OpenApiClientIntegrationSpec extends Specification { def product = results.products.get(0) println product.EAN - product.offerData.offers.size() > 1 + product.offerData.offers.size() >= 1 } def 'Return cheapest offer of a product'() { diff --git a/subprojects/schema/schema.gradle b/subprojects/schema/schema.gradle index 1d39a6c..3270c81 100644 --- a/subprojects/schema/schema.gradle +++ b/subprojects/schema/schema.gradle @@ -7,3 +7,31 @@ dependencies { testCompile libraries.spock testCompile libraries.hamcrest } + +apply from: script('publishing') + +archivesBaseName = "${rootProject.name}-${project.name}" +publishing { + publications { + main(MavenPublication) { + artifactId project.archivesBaseName + } + } +} +task sourcesJar(type: Jar) { + classifier = 'sources' + from sourceSets.main.allSource +} +task javadocJar(type: Jar) { + classifier = 'javadoc' + from javadoc.outputs.files +} +task groovydocJar(type: Jar) { + classifier = 'groovydoc' + from groovydoc.outputs.files +} +artifacts { + archives sourcesJar +// archives javadocJar +// archives groovydocJar +}