DATAES-583 - Polishing.

This commit is contained in:
Greg Turnquist 2019-07-03 12:47:19 -05:00
parent 3f3fb5e975
commit 38f5a89c8a
No known key found for this signature in database
GPG Key ID: CB2FA4D512B5C413
2 changed files with 347 additions and 344 deletions

174
Jenkinsfile vendored
View File

@ -1,97 +1,97 @@
pipeline { pipeline {
agent none agent none
triggers { triggers {
pollSCM 'H/10 * * * *' pollSCM 'H/10 * * * *'
upstream(upstreamProjects: "spring-data-commons/2.1.x", threshold: hudson.model.Result.SUCCESS) upstream(upstreamProjects: "spring-data-commons/2.1.x", threshold: hudson.model.Result.SUCCESS)
} }
options { options {
disableConcurrentBuilds() disableConcurrentBuilds()
} }
stages { stages {
stage("Test") { stage("Test") {
when { when {
anyOf { anyOf {
branch '3.1.x' branch '3.1.x'
not { triggeredBy 'UpstreamCause' } not { triggeredBy 'UpstreamCause' }
} }
} }
parallel { parallel {
stage("test: baseline") { stage("test: baseline") {
agent { agent {
docker { docker {
image 'adoptopenjdk/openjdk8:latest' image 'adoptopenjdk/openjdk8:latest'
args '-v $HOME/.m2:/tmp/spring-data-maven-repository' args '-v $HOME/.m2:/tmp/spring-data-maven-repository'
} }
} }
options { timeout(time: 30, unit: 'MINUTES') } options { timeout(time: 30, unit: 'MINUTES') }
steps { steps {
sh 'rm -rf ?' sh 'rm -rf ?'
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/spring-data-maven-repository" ./mvnw clean dependency:list test -Dsort -B' sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/spring-data-maven-repository" ./mvnw clean dependency:list test -Dsort -B'
} }
} }
} }
} }
stage('Release to artifactory') { stage('Release to artifactory') {
when { when {
branch 'issue/*' branch 'issue/*'
not { triggeredBy 'UpstreamCause' } not { triggeredBy 'UpstreamCause' }
} }
agent { agent {
docker { docker {
image 'adoptopenjdk/openjdk8:latest' image 'adoptopenjdk/openjdk8:latest'
args '-v $HOME/.m2:/tmp/spring-data-maven-repository' args '-v $HOME/.m2:/tmp/spring-data-maven-repository'
} }
} }
options { timeout(time: 20, unit: 'MINUTES') } options { timeout(time: 20, unit: 'MINUTES') }
environment { environment {
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
} }
steps { steps {
sh 'rm -rf ?' sh 'rm -rf ?'
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/spring-data-maven-repository" ./mvnw -Pci,snapshot -Dmaven.test.skip=true clean deploy -B' sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/spring-data-maven-repository" ./mvnw -Pci,snapshot -Dmaven.test.skip=true clean deploy -B'
} }
} }
stage('Release to artifactory with docs') { stage('Release to artifactory with docs') {
when { when {
branch '3.1.x' branch '3.1.x'
} }
agent { agent {
docker { docker {
image 'adoptopenjdk/openjdk8:latest' image 'adoptopenjdk/openjdk8:latest'
args '-v $HOME/.m2:/tmp/spring-data-maven-repository' args '-v $HOME/.m2:/tmp/spring-data-maven-repository'
} }
} }
options { timeout(time: 20, unit: 'MINUTES') } options { timeout(time: 20, unit: 'MINUTES') }
environment { environment {
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
} }
steps { steps {
sh 'rm -rf ?' sh 'rm -rf ?'
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/spring-data-maven-repository" ./mvnw -Pci,snapshot -Dmaven.test.skip=true clean deploy -B' sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/spring-data-maven-repository" ./mvnw -Pci,snapshot -Dmaven.test.skip=true clean deploy -B'
} }
} }
} }
post { post {
changed { changed {
script { script {
slackSend( slackSend(
color: (currentBuild.currentResult == 'SUCCESS') ? 'good' : 'danger', color: (currentBuild.currentResult == 'SUCCESS') ? 'good' : 'danger',
channel: '#spring-data-dev', channel: '#spring-data-dev',
message: "${currentBuild.fullDisplayName} - `${currentBuild.currentResult}`\n${env.BUILD_URL}") message: "${currentBuild.fullDisplayName} - `${currentBuild.currentResult}`\n${env.BUILD_URL}")
emailext( emailext(
subject: "[${currentBuild.fullDisplayName}] ${currentBuild.currentResult}", subject: "[${currentBuild.fullDisplayName}] ${currentBuild.currentResult}",
mimeType: 'text/html', mimeType: 'text/html',
recipientProviders: [[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']], recipientProviders: [[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']],
body: "<a href=\"${env.BUILD_URL}\">${currentBuild.fullDisplayName} is reported as ${currentBuild.currentResult}</a>") body: "<a href=\"${env.BUILD_URL}\">${currentBuild.fullDisplayName} is reported as ${currentBuild.currentResult}</a>")
} }
} }
} }
} }

517
pom.xml
View File

@ -1,240 +1,241 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<modelVersion>4.0.0</modelVersion> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework.data</groupId> <groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId> <artifactId>spring-data-elasticsearch</artifactId>
<version>3.1.10.BUILD-SNAPSHOT</version> <version>3.1.10.BUILD-SNAPSHOT</version>
<parent> <parent>
<groupId>org.springframework.data.build</groupId> <groupId>org.springframework.data.build</groupId>
<artifactId>spring-data-parent</artifactId> <artifactId>spring-data-parent</artifactId>
<version>2.1.10.BUILD-SNAPSHOT</version> <version>2.1.10.BUILD-SNAPSHOT</version>
</parent> </parent>
<name>Spring Data Elasticsearch</name> <name>Spring Data Elasticsearch</name>
<description>Spring Data Implementation for Elasticsearch</description> <description>Spring Data Implementation for Elasticsearch</description>
<url>https://github.com/spring-projects/spring-data-elasticsearch</url> <url>https://github.com/spring-projects/spring-data-elasticsearch</url>
<properties> <properties>
<commonscollections>3.2.1</commonscollections> <commonscollections>3.2.1</commonscollections>
<commonslang>2.6</commonslang> <commonslang>2.6</commonslang>
<elasticsearch>6.2.2</elasticsearch> <elasticsearch>6.2.2</elasticsearch>
<log4j>2.9.1</log4j> <log4j>2.9.1</log4j>
<springdata.commons>2.1.10.BUILD-SNAPSHOT</springdata.commons> <springdata.commons>2.1.10.BUILD-SNAPSHOT</springdata.commons>
<java-module-name>spring.data.elasticsearch</java-module-name> <java-module-name>spring.data.elasticsearch</java-module-name>
</properties> </properties>
<dependencies> <dependencies>
<!-- Spring --> <!-- Spring -->
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId> <artifactId>spring-context</artifactId>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>commons-logging</groupId> <groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId> <artifactId>commons-logging</artifactId>
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId> <artifactId>spring-tx</artifactId>
</dependency> </dependency>
<!-- SPRING DATA --> <!-- SPRING DATA -->
<dependency> <dependency>
<groupId>org.springframework.data</groupId> <groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId> <artifactId>spring-data-commons</artifactId>
<version>${springdata.commons}</version> <version>${springdata.commons}</version>
</dependency> </dependency>
<!-- APACHE --> <!-- APACHE -->
<dependency> <dependency>
<groupId>commons-lang</groupId> <groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId> <artifactId>commons-lang</artifactId>
<version>${commonslang}</version> <version>${commonslang}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<!-- JODA Time --> <!-- JODA Time -->
<dependency> <dependency>
<groupId>joda-time</groupId> <groupId>joda-time</groupId>
<artifactId>joda-time</artifactId> <artifactId>joda-time</artifactId>
<version>${jodatime}</version> <version>${jodatime}</version>
</dependency> </dependency>
<!-- Elasticsearch --> <!-- Elasticsearch -->
<dependency> <dependency>
<groupId>org.elasticsearch.client</groupId> <groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId> <artifactId>transport</artifactId>
<version>${elasticsearch}</version> <version>${elasticsearch}</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>commons-logging</groupId> <groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId> <artifactId>commons-logging</artifactId>
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId> <artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j}</version> <version>${slf4j}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.logging.log4j</groupId> <groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId> <artifactId>log4j-core</artifactId>
<version>${log4j}</version> <version>${log4j}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<!-- Jackson JSON Mapper --> <!-- Jackson JSON Mapper -->
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId> <artifactId>jackson-core</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
</dependency> </dependency>
<!-- CDI --> <!-- CDI -->
<dependency> <dependency>
<groupId>javax.enterprise</groupId> <groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId> <artifactId>cdi-api</artifactId>
<version>${cdi}</version> <version>${cdi}</version>
<scope>provided</scope> <scope>provided</scope>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<!-- Test --> <!-- Test -->
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId> <artifactId>spring-test</artifactId>
<scope>test</scope> <scope>test</scope>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>ch.qos.logback</groupId> <groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId> <artifactId>logback-classic</artifactId>
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.openwebbeans.test</groupId> <groupId>org.apache.openwebbeans.test</groupId>
<artifactId>cditest-owb</artifactId> <artifactId>cditest-owb</artifactId>
<version>1.2.8</version> <version>1.2.8</version>
<scope>test</scope> <scope>test</scope>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>org.apache.geronimo.specs</groupId> <groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jcdi_1.0_spec</artifactId> <artifactId>geronimo-jcdi_1.0_spec</artifactId>
</exclusion> </exclusion>
<exclusion> <exclusion>
<groupId>org.apache.geronimo.specs</groupId> <groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-atinject_1.0_spec</artifactId> <artifactId>geronimo-atinject_1.0_spec</artifactId>
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<!-- Upgrade xbean to 4.5 to prevent incompatibilities due to ASM versions --> <!-- Upgrade xbean to 4.5 to prevent incompatibilities due to ASM versions -->
<dependency> <dependency>
<groupId>org.apache.xbean</groupId> <groupId>org.apache.xbean</groupId>
<artifactId>xbean-asm5-shaded</artifactId> <artifactId>xbean-asm5-shaded</artifactId>
<version>4.5</version> <version>4.5</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId> <artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version> <version>3.0-alpha-1</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<!-- required by elasticsearch --> <!-- required by elasticsearch -->
<groupId>org.elasticsearch.plugin</groupId> <groupId>org.elasticsearch.plugin</groupId>
<artifactId>transport-netty4-client</artifactId> <artifactId>transport-netty4-client</artifactId>
<version>${elasticsearch}</version> <version>${elasticsearch}</version>
<!--<scope>test</scope>--> <!--<scope>test</scope>-->
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>${lombok}</version> <version>${lombok}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId> <artifactId>maven-assembly-plugin</artifactId>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.codehaus.mojo</groupId> <groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId> <artifactId>wagon-maven-plugin</artifactId>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.asciidoctor</groupId> <groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId> <artifactId>asciidoctor-maven-plugin</artifactId>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<profiles> <profiles>
<profile> <profile>
<id>snapshot</id> <id>snapshot</id>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.jfrog.buildinfo</groupId> <groupId>org.jfrog.buildinfo</groupId>
<artifactId>artifactory-maven-plugin</artifactId> <artifactId>artifactory-maven-plugin</artifactId>
<version>2.6.1</version> <version>2.6.1</version>
<inherited>false</inherited> <inherited>false</inherited>
<executions> <executions>
<execution> <execution>
<id>build-info</id> <id>build-info</id>
<goals> <goals>
<goal>publish</goal> <goal>publish</goal>
</goals> </goals>
<configuration> <configuration>
<buildInfo> <buildInfo>
<buildUrl>{{BUILD_URL}}</buildUrl> <buildUrl>{{BUILD_URL}}</buildUrl>
</buildInfo> </buildInfo>
<deployProperties> <deployProperties>
<zip.name>spring-data-elasticsearch</zip.name> <zip.name>spring-data-elasticsearch</zip.name>
<zip.displayname>spring-data-elasticsearch</zip.displayname> <zip.displayname>spring-data-elasticsearch</zip.displayname>
<zip.deployed>false</zip.deployed> <zip.deployed>false</zip.deployed>
<archives>*:*:*:*@zip</archives> <archives>*:*:*:*@zip</archives>
</deployProperties> </deployProperties>
<publisher> <publisher>
<contextUrl>https://repo.spring.io</contextUrl> <contextUrl>https://repo.spring.io</contextUrl>
<username>{{ARTIFACTORY_USR}}</username> <username>{{ARTIFACTORY_USR}}</username>
<password>{{ARTIFACTORY_PSW}}</password> <password>{{ARTIFACTORY_PSW}}</password>
<repoKey>libs-snapshot-local</repoKey> <repoKey>libs-snapshot-local</repoKey>
<snapshotRepoKey>libs-snapshot-local</snapshotRepoKey> <snapshotRepoKey>libs-snapshot-local</snapshotRepoKey>
</publisher> </publisher>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</profile> </profile>
<profile>
<profile>
<id>ci</id> <id>ci</id>
<build> <build>
@ -249,11 +250,13 @@
<!-- Configure checker to use UTF-8 encoding --> <!-- Configure checker to use UTF-8 encoding -->
<property name="charset" value="UTF-8"/> <property name="charset" value="UTF-8"/>
<module name="io.spring.nohttp.checkstyle.check.NoHttpCheck" /> <module name="io.spring.nohttp.checkstyle.check.NoHttpCheck"/>
</module> </module>
</checkstyleRules> </checkstyleRules>
<includes>**/*</includes> <includes>**/*</includes>
<excludes>.git/**/*,target/**/*,**/target/**/*,.idea/**/*,**/spring.schemas,**/*.svg,mvnw,mvnw.cmd,**/*.policy</excludes> <excludes>
.git/**/*,target/**/*,**/target/**/*,.idea/**/*,**/spring.schemas,**/*.svg,mvnw,mvnw.cmd,**/*.policy
</excludes>
<sourceDirectories>./</sourceDirectories> <sourceDirectories>./</sourceDirectories>
</configuration> </configuration>
</plugin> </plugin>
@ -263,56 +266,56 @@
</profile> </profile>
<profile> <profile>
<id>release</id> <id>release</id>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.jfrog.buildinfo</groupId> <groupId>org.jfrog.buildinfo</groupId>
<artifactId>artifactory-maven-plugin</artifactId> <artifactId>artifactory-maven-plugin</artifactId>
<inherited>false</inherited> <inherited>false</inherited>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</profile> </profile>
</profiles> </profiles>
<developers> <developers>
<developer> <developer>
<id>biomedcentral</id> <id>biomedcentral</id>
<name>BioMed Central Development Team</name> <name>BioMed Central Development Team</name>
<timezone>+0</timezone> <timezone>+0</timezone>
</developer> </developer>
</developers> </developers>
<repositories> <repositories>
<repository> <repository>
<id>spring-libs-snapshot</id> <id>spring-libs-snapshot</id>
<url>https://repo.spring.io/libs-snapshot</url> <url>https://repo.spring.io/libs-snapshot</url>
</repository> </repository>
</repositories> </repositories>
<pluginRepositories> <pluginRepositories>
<pluginRepository> <pluginRepository>
<id>spring-plugins-release</id> <id>spring-plugins-release</id>
<url>https://repo.spring.io/plugins-release</url> <url>https://repo.spring.io/plugins-release</url>
</pluginRepository> </pluginRepository>
</pluginRepositories> </pluginRepositories>
<scm> <scm>
<url>https://github.com/spring-projects/spring-data-elasticsearch</url> <url>https://github.com/spring-projects/spring-data-elasticsearch</url>
<connection>scm:git:git://github.com/spring-projects/spring-data-elasticsearch.git</connection> <connection>scm:git:git://github.com/spring-projects/spring-data-elasticsearch.git</connection>
<developerConnection>scm:git:ssh://git@github.com/spring-projects/spring-data-elasticsearch.git <developerConnection>scm:git:ssh://git@github.com/spring-projects/spring-data-elasticsearch.git
</developerConnection> </developerConnection>
</scm> </scm>
<ciManagement> <ciManagement>
<system>Bamboo</system> <system>Bamboo</system>
<url>https://build.spring.io/browse/SPRINGDATAES</url> <url>https://build.spring.io/browse/SPRINGDATAES</url>
</ciManagement> </ciManagement>
<issueManagement> <issueManagement>
<system>JIRA</system> <system>JIRA</system>
<url>https://jira.spring.io/browse/DATAES</url> <url>https://jira.spring.io/browse/DATAES</url>
</issueManagement> </issueManagement>
</project> </project>