From f28676515e574d787b93eb44f9755ee08d8c4dac Mon Sep 17 00:00:00 2001 From: Costin Leau Date: Tue, 8 Feb 2011 12:48:58 +0200 Subject: [PATCH] + small tweaks --- .gitignore | 1 - build.gradle | 6 + gradle.properties | 4 - gradle/bundlor.gradle | 92 ------- gradle/checks.gradle | 90 ------- gradle/dist.gradle | 133 ---------- gradle/docbook.gradle | 317 ----------------------- gradle/maven-deployment.gradle | 113 -------- gradle/wrapper/gradle-wrapper.jar | Bin 12597 -> 0 bytes gradle/wrapper/gradle-wrapper.properties | 6 - settings.gradle | 2 + spring-data-redis/build.gradle | 2 +- spring-data-redis/gradle.properties | 8 + 13 files changed, 17 insertions(+), 757 deletions(-) delete mode 100644 gradle/bundlor.gradle delete mode 100644 gradle/checks.gradle delete mode 100644 gradle/dist.gradle delete mode 100644 gradle/docbook.gradle delete mode 100644 gradle/maven-deployment.gradle delete mode 100644 gradle/wrapper/gradle-wrapper.jar delete mode 100644 gradle/wrapper/gradle-wrapper.properties diff --git a/.gitignore b/.gitignore index abdca9d08..9fb73ecc3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ build target -build .gradle .springBeans .ant-targets-build.xml diff --git a/build.gradle b/build.gradle index fe4bdb29a..0f2be3eab 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,13 @@ +// used for artifact names, building doc upload urls, etc. +description = 'Spring Data Key Value' +abbreviation = 'DATAKV' + apply plugin: "eclipse" apply plugin: "idea" apply from: "$rootDir/gradle/docbook.gradle" +assemble.dependsOn generatePom + subprojects { apply plugin: "java" apply plugin: "maven" diff --git a/gradle.properties b/gradle.properties index 0175bcc14..73b87aecc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,10 +6,6 @@ slf4jVersion = 1.6.1 springVersion = 3.0.5.RELEASE jacksonVersion = 1.6.4 -# Redis support -jedisVersion = 1.5.2 -jredisVersion = 03122010 - # Testing junitVersion = 4.8.1 mockitoVersion = 1.8.5 \ No newline at end of file diff --git a/gradle/bundlor.gradle b/gradle/bundlor.gradle deleted file mode 100644 index fbaae095a..000000000 --- a/gradle/bundlor.gradle +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2002-2010 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// ----------------------------------------------------------------------------- -// Task definitions and configuration relating to the SpringSource 'bundlor' -// OSGi manifest generation utility. -// -// @author cbeams -// see: http://www.springsource.org/bundlor -// ----------------------------------------------------------------------------- - -/** - * Generate an OSGi manifest using the ant bundlor task. - * - * @author ltaylor - * @author cbeams - * @see http://static.springsource.org/s2-bundlor/1.0.x/user-guide/html/ch04s02.html - */ -task bundlor(dependsOn: compileJava) { - description = 'Generates an OSGi-compatibile MANIFEST.MF file.' - - def template = new File(projectDir, 'template.mf') - def bundlorDir = new File("${project.buildDir}/bundlor") - def manifest = file("${bundlorDir}/META-INF/MANIFEST.MF") - - // inform gradle what directory this task writes so that - // it can be removed when issuing `gradle cleanBundlor` - outputs.dir bundlorDir - - // incremental build configuration - // if the $manifest output file already exists, the bundlor - // task will be skipped *unless* any of the following are true - // * template.mf has been changed - // * main classpath dependencies have been changed - // * main java sources for this project have been modified - outputs.files manifest - inputs.files template, project.sourceSets.main.runtimeClasspath - - // tell the jar task to use bundlor manifest instead of the default - jar.manifest.from manifest - - // the bundlor manifest should be evaluated as part of the jar task's - // incremental build - jar.inputs.files manifest - - // configuration that will be used when creating the ant taskdef classpath - configurations { bundlorconf } - dependencies { - bundlorconf 'com.springsource.bundlor:com.springsource.bundlor.ant:1.0.0.RELEASE', - 'com.springsource.bundlor:com.springsource.bundlor:1.0.0.RELEASE', - 'com.springsource.bundlor:com.springsource.bundlor.blint:1.0.0.RELEASE' - } - - doFirst { - ant.taskdef(resource: 'com/springsource/bundlor/ant/antlib.xml', - classpath: configurations.bundlorconf.asPath) - - // the bundlor ant task writes directly to standard out - // redirect it to INFO level logging, which gradle will - // deal with gracefully - logging.captureStandardOutput(LogLevel.INFO) - - // the ant task will throw unless this dir exists - if (!bundlorDir.isDirectory()) - bundlorDir.mkdir() - - // execute the ant task, and write out the $manifest file - ant.bundlor(inputPath: sourceSets.main.classesDir, - outputPath: bundlorDir, manifestTemplatePath: template) { - for (p in project.properties) { - property(name: p.key, value: p.value) - } - } - } -} - -// ensure that the bundlor task runs prior to the jar task -jar.dependsOn bundlor - diff --git a/gradle/checks.gradle b/gradle/checks.gradle deleted file mode 100644 index 224011128..000000000 --- a/gradle/checks.gradle +++ /dev/null @@ -1,90 +0,0 @@ - -/* - * Copyright 2002-2010 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Issue a snapshot dependency report across all Java projects. Detects not - * only direct snapshot dependencies, but transitive as well. - * - * @author cbeams - * @see snapshotDependencyCheck - */ -task snapshotDependencyReport { - description = 'Issues a snapshot dependency report across all Java projects' - - doFirst() { - def snapshotDependencies = new HashMap>() - - javaprojects.each { project -> - project.sourceSets.main.compileClasspath.allDependencies.each { dep -> - if (dep.version.endsWith('SNAPSHOT')) { - if (snapshotDependencies[project] == null) - snapshotDependencies[project] = new ArrayList() - snapshotDependencies[project].add(dep) - } - } - } - - project.hasSnapshotDependencies = snapshotDependencies.size() > 0 - - if (project.hasSnapshotDependencies) { - println "The following snapshot dependencies were found:" - snapshotDependencies.each { entry -> - println "${entry.key} depends on:" - entry.value.each { dep -> - println " ${dep}" - } - } - } - } -} - - -/** - * Abort the build if any Java projects have snapshot dependencies. It important - * that any non-snapshot release be checked for snapshot dependencies before - * final publication, as snapshot dependencies may change and thus make the - * release unstable and/or unreproducable. - * - * This task will be added to the build lifecycle automatically if the release - * is non-snapshot. - * - * -PignoreSnapshotDependencies will bypass aborting the build. A use case for - * this option would be if a transitive dependency out of your control is a - * snapshot release and you wish to proceed with releasing anyway. - * - * @author cbeams - * @see snapshotDependencyReport - */ -task snapshotDependencyCheck(dependsOn: snapshotDependencyReport) { - group = 'Verification' - description = 'Aborts the build if any Java project has snapshot dependencies.' - - // bind to build lifecycle if we're a non-snapshot release - if (version.releaseType != 'SNAPSHOT') { - check.dependsOn snapshotDependencyCheck - } - - onlyIf { - project.hasSnapshotDependencies && - !project.hasProperty('ignoreSnapshotDependencies') - } - doFirst { - throw new GradleException( - "aborting '${name}' task due to snapshot dependencies. " - + "supply -PignoreSnapshotDependencies to override") - } -} diff --git a/gradle/dist.gradle b/gradle/dist.gradle deleted file mode 100644 index 0a7597467..000000000 --- a/gradle/dist.gradle +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright 2002-2010 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// ----------------------------------------------------------------------------- -// Task definitions related to releasing the project -// -// @author cbeams -// ----------------------------------------------------------------------------- - -// ensure that every project has been evaluated before this script -// this allows us to look up tasks below and dereference dynamically -// assigned properties like 'docsSpec' below -project.subprojects.each { project -> - evaluationDependsOn project.path -} - -task check { - group = 'Verification' -} - -task build(dependsOn: [check, assemble]) { - group = 'Build' -} - -/** - * Build the distribution zip file. - * - * @author cbeams - */ -task distArchive(type: Zip) { - group = 'Build' - - destinationDir = buildDir - archiveName = "${project.name}-${project.version}.zip" - checksumPath = "${destinationDir}/${archiveName}.sha1" - def zipRootDir = "${project.name}-${project.version}" - - description = "Builds the distribution zip file at ${project.relativePath(destinationDir)}/${archiveName}" - - // depend on all projects with an assemble task - dependsOn subprojects*.tasks*.matching { task -> task.name == 'assemble' } - - // we need the docsSpec to be defined before evaluating this task - project.evaluationDependsOn(':docs') - - // set up outputs for use by incremental build and by tasks like 'cleanDist' - // the archive zip file will be added automatically to outputs.files - // but we must add the sha1 checksum ourselves - outputs.files file(checksumPath) - - // configure the contents of the zip file. remember that this is a - // configuration phase event. no zip is being created yet. the Zip - // task we extend will do that for us during the execution phase. - into(zipRootDir) { - with(project(':docs').docsSpec) - - // add each subproject, but only add the 'src' dir and 'pom.xml' - project('spring-amqp-samples').subprojects.each { sample -> - into("${zipRootDir}/samples/${sample.name}") { - from(sample.projectDir) { - include 'src/**/*' - include 'pom.xml' - } - } - } - // add all jars and source jars from all core java projects - // (i.e.: don't include sample project jars!) - into('dist') { - from coreprojects.collect { project -> project.libsDir } - } - } - - // once the zip has been written, create a sha1 hash for it - // this will write out the file at ${checksumPath} - doLast { - ant.checksum(file: archivePath, algorithm: 'SHA1', fileext: '.sha1') - assert file(checksumPath).isFile(): "${checksumPath} was not created" - } -} - -/** - * Upload the distribution zip file. - * - * @author ltaylor - * @author cbeams - */ -task uploadArchives(overwrite: true, dependsOn: distArchive) { // base plugin adds one we need to overwrite - group = 'Buildmaster' - description = 'Uploads the distribution zip file.' - - configurations { antlibs } - dependencies { - antlibs "org.springframework.build:org.springframework.build.aws.ant:3.0.3.RELEASE", - "net.java.dev.jets3t:jets3t:0.6.1" - } - - def releaseType = version.releaseType.toString().toLowerCase() - - doLast() { - println "Uploading: ${distArchive.archivePath} to s3" - project.ant { - taskdef(resource: 'org/springframework/build/aws/ant/antlib.xml', - classpath: configurations.antlibs.asPath) - s3(accessKey: s3AccessKey, secretKey: s3SecretAccessKey) { - upload(bucketName: 'dist.springframework.org', file: distArchive.archivePath, - toFile: releaseType + "/AMQP/${distArchive.archiveName}", publicRead: 'true') { - metadata(name: 'project.name', value: 'Spring AMQP') - metadata(name: 'release.type', value: releaseType) - metadata(name: 'bundle.version', value: version) - metadata(name: 'package.file.name', value: distArchive.archiveName) - } - upload(bucketName: 'dist.springframework.org', file: "${distArchive.archivePath}.sha1", - toFile: releaseType + "/AMQP/${distArchive.archiveName}.sha1", publicRead: 'true') - } - } - } -} - - - diff --git a/gradle/docbook.gradle b/gradle/docbook.gradle deleted file mode 100644 index 258b5e24f..000000000 --- a/gradle/docbook.gradle +++ /dev/null @@ -1,317 +0,0 @@ -/* - * Copyright 2002-2010 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import ch.qos.logback.classic.Level -import com.icl.saxon.TransformerFactoryImpl -import java.util.zip.ZipEntry -import java.util.zip.ZipFile -import javax.xml.parsers.SAXParserFactory -import javax.xml.transform.Result -import javax.xml.transform.Source -import javax.xml.transform.Transformer -import javax.xml.transform.TransformerFactory -import javax.xml.transform.sax.SAXResult -import javax.xml.transform.sax.SAXSource -import javax.xml.transform.stream.StreamResult -import javax.xml.transform.stream.StreamSource -import org.apache.fop.apps.Fop -import org.apache.fop.apps.FopFactory -import org.apache.fop.apps.MimeConstants -import org.apache.xml.resolver.CatalogManager -import org.apache.xml.resolver.tools.CatalogResolver -import org.slf4j.LoggerFactory -import org.xml.sax.InputSource -import org.xml.sax.XMLReader - -buildscript { - repositories { - mavenCentral() - mavenRepo name: 'Shibboleth Repo', urls: 'http://shibboleth.internet2.edu/downloads/maven2' - } - dependencies { - def fopDeps = ['org.apache.xmlgraphics:fop:0.95-1@jar', - 'org.apache.xmlgraphics:xmlgraphics-commons:1.3', - 'org.apache.xmlgraphics:batik-bridge:1.7@jar', - 'org.apache.xmlgraphics:batik-util:1.7@jar', - 'org.apache.xmlgraphics:batik-css:1.7@jar', - 'org.apache.xmlgraphics:batik-dom:1.7', - 'org.apache.xmlgraphics:batik-svg-dom:1.7@jar', - 'org.apache.avalon.framework:avalon-framework-api:4.3.1'] - - classpath 'org.apache.xerces:resolver:2.9.1', - 'saxon:saxon:6.5.3', - 'org.apache.xerces:xercesImpl:2.9.1', - fopDeps, - 'net.sf.xslthl:xslthl:2.0.1', - 'net.sf.docbook:docbook-xsl:1.75.2:resources@zip' - } - -} - -/** - * Gradle Docbook plugin implementation. - *

- * Creates three tasks: docbookHtml, docbookHtmlSingle and docbookPdf. - * Each task takes a single File on which it operates. - * - * @author ltaylor - */ -// Add the plugin tasks to the project -task docbookHtml(type: DocbookHtml) { - setDescription('Generates chunked docbook html output.') - xdir = 'html' - classpath = buildscript.configurations.classpath -} - -task docbookHtmlSingle(type: Docbook) { - setDescription('Generates single page docbook html output.') - xdir = 'htmlsingle' - classpath = buildscript.configurations.classpath -} - -task docbookPdf(type: DocbookFoPdf) { - setDescription('Generates PDF docbook output.') - extension = 'fo' - xdir = 'pdf' - classpath = buildscript.configurations.classpath -} - -/** - */ -public class Docbook extends DefaultTask { - @Input - String extension = 'html'; - - @Input - boolean XIncludeAware = true; - - @Input - boolean highlightingEnabled = true; - - String admonGraphicsPath; - - @InputDirectory - File sourceDirectory = new File(project.getProjectDir(), "build/reference-work"); - - @Input - String sourceFileName; - - @InputFile - File stylesheet; - - @OutputDirectory - File docsDir = new File(project.getBuildDir(), "reference"); - - @InputFiles - Configuration classpath - - @TaskAction - public final void transform() { - // the docbook tasks issue spurious content to the console. redirect to INFO level - // so it doesn't show up in the default log level of LIFECYCLE unless the user has - // run gradle with '-d' or '-i' switches -- in that case show them everything - switch (project.gradle.startParameter.logLevel) { - case LogLevel.DEBUG: - case LogLevel.INFO: - break; - default: - logging.captureStandardOutput(LogLevel.INFO) - logging.captureStandardError(LogLevel.INFO) - } - - SAXParserFactory factory = new org.apache.xerces.jaxp.SAXParserFactoryImpl(); - factory.setXIncludeAware(XIncludeAware); - docsDir.mkdirs(); - - File srcFile = new File(sourceDirectory, sourceFileName); - String outputFilename = srcFile.getName().substring(0, srcFile.getName().length() - 4) + '.' + extension; - - File oDir = new File(getDocsDir(), xdir) - File outputFile = new File(oDir, outputFilename); - - Result result = new StreamResult(outputFile.getAbsolutePath()); - CatalogResolver resolver = new CatalogResolver(createCatalogManager()); - InputSource inputSource = new InputSource(srcFile.getAbsolutePath()); - - XMLReader reader = factory.newSAXParser().getXMLReader(); - reader.setEntityResolver(resolver); - TransformerFactory transformerFactory = new TransformerFactoryImpl(); - transformerFactory.setURIResolver(resolver); - URL url = stylesheet.toURL(); - Source source = new StreamSource(url.openStream(), url.toExternalForm()); - Transformer transformer = transformerFactory.newTransformer(source); - - if (highlightingEnabled) { - File highlightingDir = new File(getProject().getBuildDir(), "highlighting"); - if (!highlightingDir.exists()) { - highlightingDir.mkdirs(); - extractHighlightFiles(highlightingDir); - } - - transformer.setParameter("highlight.xslthl.config", new File(highlightingDir, "xslthl-config.xml").toURI().toURL()); - - if (admonGraphicsPath != null) { - transformer.setParameter("admon.graphics", "1"); - transformer.setParameter("admon.graphics.path", admonGraphicsPath); - } - } - - preTransform(transformer, srcFile, outputFile); - - transformer.transform(new SAXSource(reader, inputSource), result); - - postTransform(outputFile); - } - - private void extractHighlightFiles(File toDir) { - File docbookZip = classpath.files.find { file -> file.name.contains('docbook-xsl-')}; - - if (docbookZip == null) { - throw new GradleException("Docbook zip file not found"); - } - - ZipFile zipFile = new ZipFile(docbookZip); - - Enumeration e = zipFile.entries(); - while (e.hasMoreElements()) { - ZipEntry ze = (ZipEntry) e.nextElement(); - if (ze.getName().matches(".*/highlighting/.*\\.xml")) { - String filename = ze.getName().substring(ze.getName().lastIndexOf("/highlighting/") + 14); - copyFile(zipFile.getInputStream(ze), new File(toDir, filename)); - } - } - } - - private void copyFile(InputStream source, File destFile) { - destFile.createNewFile(); - FileOutputStream to = null; - try { - to = new FileOutputStream(destFile); - byte[] buffer = new byte[4096]; - int bytesRead; - - while ((bytesRead = source.read(buffer)) > 0) { - to.write(buffer, 0, bytesRead); - } - } finally { - if (source != null) { - source.close(); - } - if (to != null) { - to.close(); - } - } - } - - protected void preTransform(Transformer transformer, File sourceFile, File outputFile) { - } - - protected void postTransform(File outputFile) { - } - - private CatalogManager createCatalogManager() { - CatalogManager manager = new CatalogManager(); - manager.setIgnoreMissingProperties(true); - ClassLoader classLoader = this.getClass().getClassLoader(); - StringBuilder builder = new StringBuilder(); - String docbookCatalogName = "docbook/catalog.xml"; - URL docbookCatalog = classLoader.getResource(docbookCatalogName); - - if (docbookCatalog == null) { - throw new IllegalStateException("Docbook catalog " + docbookCatalogName + " could not be found in " + classLoader); - } - - builder.append(docbookCatalog.toExternalForm()); - - Enumeration enumeration = classLoader.getResources("/catalog.xml"); - while (enumeration.hasMoreElements()) { - builder.append(';'); - URL resource = (URL) enumeration.nextElement(); - builder.append(resource.toExternalForm()); - } - String catalogFiles = builder.toString(); - manager.setCatalogFiles(catalogFiles); - return manager; - } -} - -/** - */ -class DocbookHtml extends Docbook { - - @Override - protected void preTransform(Transformer transformer, File sourceFile, File outputFile) { - String rootFilename = outputFile.getName(); - rootFilename = rootFilename.substring(0, rootFilename.lastIndexOf('.')); - transformer.setParameter("root.filename", rootFilename); - transformer.setParameter("base.dir", outputFile.getParent() + File.separator); - } -} - -/** - */ -class DocbookFoPdf extends Docbook { - - /** - * From the FOP usage guide - */ - @Override - protected void postTransform(File foFile) { - FopFactory fopFactory = FopFactory.newInstance(); - - OutputStream out = null; - final File pdfFile = getPdfOutputFile(foFile); - logger.debug("Transforming 'fo' file " + foFile + " to PDF: " + pdfFile); - - try { - out = new BufferedOutputStream(new FileOutputStream(pdfFile)); - - Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out); - - TransformerFactory factory = TransformerFactory.newInstance(); - Transformer transformer = factory.newTransformer(); - - Source src = new StreamSource(foFile); - - Result res = new SAXResult(fop.getDefaultHandler()); - - switch (project.gradle.startParameter.logLevel) { - case LogLevel.DEBUG: - case LogLevel.INFO: - break; - default: - // only show verbose fop output if the user has specified 'gradle -d' or 'gradle -i' - LoggerFactory.getILoggerFactory().getLogger('org.apache.fop').level = Level.ERROR - } - - transformer.transform(src, res); - - } finally { - if (out != null) { - out.close(); - } - } - - if (!foFile.delete()) { - logger.warn("Failed to delete 'fo' file " + foFile); - } - } - - private File getPdfOutputFile(File foFile) { - String name = foFile.getAbsolutePath(); - return new File(name.substring(0, name.length() - 2) + "pdf"); - } -} diff --git a/gradle/maven-deployment.gradle b/gradle/maven-deployment.gradle deleted file mode 100644 index 224435570..000000000 --- a/gradle/maven-deployment.gradle +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright 2002-2010 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// ----------------------------------------------------------------------------- -// Tasks related to deploying Maven artifacts. -// -// @author cbeams -// ----------------------------------------------------------------------------- - -// check that upload-related properties are defined and fail early if not -// these properties ("s3AccessKey", etc) should be defined in -// "gradle.properties" in $HOME/.gradle/gradle.properties -def requiredProps = version =~ "([0-9\\.]+)\\.M(.+)" ? ["mavenSyncRepoDir"] : ["s3AccessKey", - "s3SecretAccessKey"] -checkForProps(taskPath: project.path + ":uploadArchives", requiredProps: requiredProps) - -/** - * Builds a source jar artifact for all main java sources. - * - * @author ltaylor - */ -task sourceJar(type: Jar) { - description = "Builds a source jar artifact suitable for maven deployment." - classifier = "sources" - from sourceSets.main.java -} -build.dependsOn sourceJar - -// Add the source jar archive to the set of artifacts for this project. -// Note that the regular "jar" archive is already added by default. -artifacts { - archives sourceJar -} - -/** - * Deploy gradle-built artifacts to a remote maven repository. Overrides and - * further customizes the "uploadArchives" task contributed by the "maven" - * plugin. - * - * The repository that artifacts are deployed to is determined conditionally - * based on the release type of the project version. Snapshot builds will - * be deployed via s3 to the springframework maven snapshot repository; - * milestone builds will happen via s3 as well; release builds will be deployed - * to the local filesystem to be sync"d via sourceforge CVS and ultimately - * deployed to maven central. - * - * Gradle will generate Maven poms on-the-fly during the deployment process. - * This process is customized to add ASL license information, and for projects - * that have the erlangLicense property set to true, the Erlang License will be - * added to the pom as well. - * - * @author cbeams - * @see "mavenSyncRepoDir" in gradle.properties - * @see `gradle install` for deploying artifacts to the local .m2 cache - * @see - */ -uploadArchives { - group = "Buildmaster" - description = "Does a maven deploy of archives artifacts to " // url appended below - - def releaseRepositoryUrl = "file://${project.properties.mavenSyncRepoDir}" - def milestoneRepositoryUrl = "s3://maven.springframework.org/milestone" - def snapshotRepositoryUrl = "s3://maven.springframework.org/snapshot" - - // add a configuration with a classpath that includes our s3 maven deployer - configurations { deployerJars } - dependencies { - deployerJars "org.springframework.build.aws:org.springframework.build.aws.maven:3.0.0.RELEASE" - } - - repositories.mavenDeployer { - s3credentials = [userName: project.properties.s3AccessKey, passphrase: project.properties.s3SecretAccessKey] - if (version.endsWith("GA")) { - repository url: releaseRepositoryUrl - description += releaseRepositoryUrl - } else if (version.endsWith("M[0-9]")) { - description += milestoneRepositoryUrl - configuration = configurations.deployerJars - repository(url: milestoneRepositoryUrl) { - authentication(s3credentials) - } - } else if (version.endsWith("SNAPSHOT")) { - description += snapshotRepositoryUrl - configuration = configurations.deployerJars - snapshotRepository(url: snapshotRepositoryUrl) { - authentication(s3credentials) - } - } - } - - pom.project { - licenses { - license { - name "The Apache Software License, Version 2.0" - url "http://www.apache.org/licenses/LICENSE-2.0.txt" - distribution "repo" - } - } - } -} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 9d7bbe005f0b81b7d5248d2a6c245ab2618d3679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12597 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 574f232ce..000000000 --- a/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Feb 04 09:28:52 CST 2011 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=http\://gradle.artifactoryonline.com/gradle/distributions/gradle-0.9.2-bin.zip diff --git a/settings.gradle b/settings.gradle index 3f8921f80..8d1adbce1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,5 @@ +rootProject.name = 'spring-data-key-value' + include "spring-data-keyvalue-core", "spring-data-redis", "spring-data-riak" \ No newline at end of file diff --git a/spring-data-redis/build.gradle b/spring-data-redis/build.gradle index 553a5bc8e..f154b205b 100644 --- a/spring-data-redis/build.gradle +++ b/spring-data-redis/build.gradle @@ -4,7 +4,7 @@ repositories { dependencies { compile project(":spring-data-keyvalue-core") - compile "javax.annotation:jsr250-api:1.0" + compile("javax.annotation:jsr250-api:1.0") { optional = true } compile "com.thoughtworks.xstream:xstream:1.3" compile "redis.clients:jedis:$jedisVersion" compile "org.jredis:jredis-anthonylauzon:$jredisVersion" diff --git a/spring-data-redis/gradle.properties b/spring-data-redis/gradle.properties index 17abd87e0..2c1e8269d 100644 --- a/spring-data-redis/gradle.properties +++ b/spring-data-redis/gradle.properties @@ -1,3 +1,11 @@ +# Dependencies properties +jedisVersion = 1.5.2 +jredisVersion = 03122010 + + +# Manifest properties + +## OSGi ranges spring.range = "[3.0.0, 4.0.0)" jedis.range = "[1.5.2, 2.0.0)" jackson.range = "[1.6, 2.0.0)"