commit
802b0adf08
6 changed files with 52 additions and 25 deletions
|
@ -1,6 +1,15 @@
|
||||||
CHANGELOG
|
CHANGELOG
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
0.6.0
|
||||||
|
-----
|
||||||
|
|
||||||
|
* Java 9 compatible
|
||||||
|
* Upgrade `assertj` to 3.9.1
|
||||||
|
* jenkins: add Coverage stage
|
||||||
|
* jenkins: split Reporting stage into Test Results and Archiving
|
||||||
|
* jenkins: remove java 9 testing from `develop` branch
|
||||||
|
|
||||||
0.5.1
|
0.5.1
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
final String gitRepoUrl = 'git@github.com:kemitix/mon.git'
|
final String repoName = "mon"
|
||||||
|
final String repoUrl = "git@github.com:kemitix/${repoName}.git"
|
||||||
final String mvn = "mvn --batch-mode --update-snapshots"
|
final String mvn = "mvn --batch-mode --update-snapshots"
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
|
@ -6,7 +7,7 @@ pipeline {
|
||||||
stages {
|
stages {
|
||||||
stage('Prepare') {
|
stage('Prepare') {
|
||||||
steps {
|
steps {
|
||||||
git url: gitRepoUrl, branch: '**', credentialsId: 'github-kemitix'
|
git url: repoUrl, branch: '**', credentialsId: 'github-kemitix'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('no SNAPSHOT in master') {
|
stage('no SNAPSHOT in master') {
|
||||||
|
@ -26,30 +27,38 @@ pipeline {
|
||||||
stage('Java 8') {
|
stage('Java 8') {
|
||||||
steps {
|
steps {
|
||||||
withMaven(maven: 'maven 3.5.2', jdk: 'JDK 1.8') {
|
withMaven(maven: 'maven 3.5.2', jdk: 'JDK 1.8') {
|
||||||
|
sh "${mvn} clean install"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Java 9') {
|
||||||
|
steps {
|
||||||
|
withMaven(maven: 'maven 3.5.2', jdk: 'JDK 9') {
|
||||||
sh 'mvn clean install'
|
sh 'mvn clean install'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// requires maven-failsafe-plugin:2.21 when it is released
|
|
||||||
// stage('Java 9') {
|
|
||||||
// steps {
|
|
||||||
// withMaven(maven: 'maven 3.5.2', jdk: 'JDK 9') {
|
|
||||||
// sh 'mvn clean install'
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('Reporting') {
|
stage('Test Results') {
|
||||||
steps {
|
steps {
|
||||||
junit '**/target/surefire-reports/*.xml'
|
junit '**/target/surefire-reports/*.xml'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Archiving') {
|
||||||
|
steps {
|
||||||
archiveArtifacts '**/target/*.jar'
|
archiveArtifacts '**/target/*.jar'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stage('Coverage') {
|
||||||
|
steps {
|
||||||
|
jacoco(execPattern: '**/target/jacoco.exec')
|
||||||
|
}
|
||||||
|
}
|
||||||
stage('Deploy') {
|
stage('Deploy') {
|
||||||
when { expression { (env.GIT_BRANCH == 'master') } }
|
when { expression { (env.GIT_BRANCH == 'master') } }
|
||||||
steps {
|
steps {
|
||||||
withMaven(maven: 'maven 3.5.2', jdk: 'JDK 1.8') {
|
withMaven(maven: 'maven 3.5.2', jdk: 'JDK 9') {
|
||||||
sh "${mvn} deploy --activate-profiles release -DskipTests=true"
|
sh "${mvn} deploy --activate-profiles release -DskipTests=true"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
3
pom.xml
3
pom.xml
|
@ -10,8 +10,9 @@
|
||||||
<version>5.1.0</version>
|
<version>5.1.0</version>
|
||||||
<relativePath/>
|
<relativePath/>
|
||||||
</parent>
|
</parent>
|
||||||
|
<groupId>net.kemitix</groupId>
|
||||||
<artifactId>mon</artifactId>
|
<artifactId>mon</artifactId>
|
||||||
<version>0.5.1</version>
|
<version>0.6.0</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>1.8</java.version>
|
<java.version>1.8</java.version>
|
||||||
|
|
|
@ -118,17 +118,8 @@ public class Mon<T> implements Functor<T, Mon<?>> {
|
||||||
* @return true if they are the same
|
* @return true if they are the same
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("npathcomplexity")
|
|
||||||
public boolean equals(final Object o) {
|
public boolean equals(final Object o) {
|
||||||
if (this == o) {
|
return this == o || o != null && getClass() == o.getClass() && value.equals(((Mon<?>) o).value);
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (o == null || getClass() != o.getClass()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
final Mon<?> mon = (Mon<?>) o;
|
|
||||||
|
|
||||||
return value.equals(mon.value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,6 +93,7 @@ public class MonTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||||
public void factoryRequiresValidator() {
|
public void factoryRequiresValidator() {
|
||||||
assertThatNullPointerException().isThrownBy(
|
assertThatNullPointerException().isThrownBy(
|
||||||
() -> Mon.factory(null, Optional::of, Optional::empty))
|
() -> Mon.factory(null, Optional::of, Optional::empty))
|
||||||
|
@ -100,6 +101,7 @@ public class MonTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||||
public void factoryRequiresOnValid() {
|
public void factoryRequiresOnValid() {
|
||||||
assertThatNullPointerException().isThrownBy(
|
assertThatNullPointerException().isThrownBy(
|
||||||
() -> Mon.factory(v -> true, null, Optional::empty))
|
() -> Mon.factory(v -> true, null, Optional::empty))
|
||||||
|
@ -107,12 +109,27 @@ public class MonTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||||
public void factoryRequiresOnInvalid() {
|
public void factoryRequiresOnInvalid() {
|
||||||
assertThatNullPointerException().isThrownBy(
|
assertThatNullPointerException().isThrownBy(
|
||||||
() -> Mon.factory(v -> true, Optional::of, null))
|
() -> Mon.factory(v -> true, Optional::of, null))
|
||||||
.withMessage("onInvalid");
|
.withMessage("onInvalid");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void factory() {
|
||||||
|
//given
|
||||||
|
final Function<Integer, Optional<?>> evenMonFactory =
|
||||||
|
Mon.factory((Integer v) -> v % 2 == 0, Optional::of, Optional::empty);
|
||||||
|
//when
|
||||||
|
final Optional<?> oddResult = evenMonFactory.apply(1);
|
||||||
|
final Optional<?> evenResult = evenMonFactory.apply(2);
|
||||||
|
//then
|
||||||
|
assertThat(oddResult).isEmpty();// because 1 % 2 != 0
|
||||||
|
assertThat(evenResult).isNotEmpty(); // because 2 % 2 == 0
|
||||||
|
evenResult.ifPresent(value -> assertThat(value).isEqualTo(Mon.of(2)));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldGetInvalidResultWhenFactoryApplyWithNull() {
|
public void shouldGetInvalidResultWhenFactoryApplyWithNull() {
|
||||||
//given
|
//given
|
||||||
|
|
|
@ -92,7 +92,7 @@ public class TypeAliasTest {
|
||||||
final String value = "value";
|
final String value = "value";
|
||||||
final AnAlias anAlias = AnAlias.of(value);
|
final AnAlias anAlias = AnAlias.of(value);
|
||||||
//then
|
//then
|
||||||
assertThat(anAlias.hashCode()).isEqualTo(value.hashCode());
|
assertThat(anAlias).hasSameHashCodeAs(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Reference in a new issue