business-flows
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.github.theangrydev</groupId> <artifactId>business-flows</artifactId> <version>10.3.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright 2016 Liam Williams <liam.williams@zoho.com>. This file is part of business-flows. 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. --> <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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>io.github.theangrydev</groupId> <artifactId>business-flows</artifactId> <version>10.3.0</version> <packaging>jar</packaging> <name>business-flows</name> <description>A combination of the Try monad and the Either monad, to help tame complex business flows.</description> <url>https://github.com/theangrydev/business-flows</url> <scm> <connection>scm:git:https://github.com/theangrydev/business-flows.git</connection> <developerConnection>scm:git:https://github.com/theangrydev/business-flows.git</developerConnection> <url>https://github.com/theangrydev/business-flows.git</url> <tag>business-flows-10.3.0</tag> </scm> <licenses> <license> <name>The Apache License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> </license> </licenses> <developers> <developer> <name>Liam Williams</name> <email>liam.williams@zoho.com</email> </developer> </developers> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <skipTests>false</skipTests> <sonar.language>java</sonar.language> <apache.commons.lang.version>3.5</apache.commons.lang.version> <maven.scm.plugin.version>1.9.5</maven.scm.plugin.version> </properties> <prerequisites> <maven>3.0.4</maven> </prerequisites> <dependencies> <!-- Test dependencies --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>1.10.19</version> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>3.5.2</version> <scope>test</scope> </dependency> <dependency> <groupId>com.github.javaparser</groupId> <artifactId>javaparser-core</artifactId> <version>2.5.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${apache.commons.lang.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-model</artifactId> <version>3.3.9</version> <scope>test</scope> </dependency> <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>0.9.10</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5</version> <configuration> <compilerId>javac-with-errorprone</compilerId> <forceJavacCompilerUse>true</forceJavacCompilerUse> <showWarnings>true</showWarnings> <source>${java.version}</source> <target>${java.version}</target> </configuration> <executions> <execution> <id>default-compile</id> <goals> <goal>compile</goal> </goals> <configuration> <compilerArgs> <arg>-Werror</arg> <arg>-Xlint:all</arg> </compilerArgs> </configuration> </execution> <execution> <id>default-testCompile</id> <goals> <goal>testCompile</goal> </goals> <configuration> <compilerArgs> <arg>-Werror</arg> <arg>-Xlint:all</arg> <arg>-Xep:ClassCanBeStatic:OFF</arg> </compilerArgs> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-javac-errorprone</artifactId> <version>2.8.1</version> </dependency> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>2.0.14</version> </dependency> </dependencies> </plugin> <!-- Detect duplicate classes --> <plugin> <groupId>org.basepom.maven</groupId> <artifactId>duplicate-finder-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <id>default</id> <phase>verify</phase> <goals> <goal>check</goal> </goals> </execution> </executions> <configuration> <skip>${skipTests}</skip> <failBuildInCaseOfDifferentContentConflict>true</failBuildInCaseOfDifferentContentConflict> <checkCompileClasspath>true</checkCompileClasspath> <checkRuntimeClasspath>true</checkRuntimeClasspath> <checkTestClasspath>true</checkTestClasspath> </configuration> </plugin> <!-- PMD --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>2.5</version> <configuration> <skip>${skipTests}</skip> </configuration> <executions> <execution> <phase>verify</phase> <goals> <goal>jxr</goal> <goal>test-jxr</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.6</version> <configuration> <skip>${skipTests}</skip> <verbose>true</verbose> <printFailingErrors>true</printFailingErrors> <rulesets> <ruleset>${project.basedir}/pmd/pmd-ruleset.xml</ruleset> </rulesets> </configuration> <executions> <execution> <phase>verify</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <!-- FindBugs --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>3.0.3</version> <configuration> <skip>${skipTests}</skip> <effort>Max</effort> <threshold>Low</threshold> <xmlOutput>true</xmlOutput> <excludeFilterFile>${project.basedir}/findbugs/findbugs-excludes.xml</excludeFilterFile> <findbugsXmlOutputDirectory>${project.build.directory}/findbugs</findbugsXmlOutputDirectory> <maxHeap>2048</maxHeap> </configuration> <executions> <execution> <phase>verify</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <!-- Code coverage (used to integrate with https://codecov.io/) --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.7.7.201606060606</version> <executions> <execution> <id>jacoco-prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>jacoco-report</id> <phase>test</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> <!-- Mutation testing --> <plugin> <groupId>org.pitest</groupId> <artifactId>pitest-maven</artifactId> <version>1.1.11</version> <configuration> <skip>${skipTests}</skip> <threads>1</threads> <maxSurviving>0</maxSurviving> <withHistory>false</withHistory> <timestampedReports>false</timestampedReports> <failWhenNoMutations>true</failWhenNoMutations> <timeoutFactor>1.25</timeoutFactor> <timeoutConstant>3000</timeoutConstant> <mutators> <mutator>INVERT_NEGS</mutator> <mutator>RETURN_VALS</mutator> <mutator>MATH</mutator> <mutator>VOID_METHOD_CALLS</mutator> <mutator>NEGATE_CONDITIONALS</mutator> <mutator>CONDITIONALS_BOUNDARY</mutator> <mutator>INCREMENTS</mutator> <mutator>REMOVE_CONDITIONALS</mutator> </mutators> <parseSurefireConfig>false</parseSurefireConfig> <targetClasses> <param>io.github.theangrydev.businessflows*</param> </targetClasses> <targetTests> <param>io.github.theangrydev.businessflows*</param> <param>api*</param> </targetTests> <exportLineCoverage>true</exportLineCoverage> </configuration> <executions> <execution> <phase>verify</phase> <goals> <goal>mutationCoverage</goal> </goals> </execution> </executions> </plugin> <!-- Enforce sensible dependency resolution --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>1.4.1</version> <executions> <execution> <id>enforce-sensible-dependency-resolution</id> <phase>validate</phase> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <dependencyConvergence> <!-- This ensures that there is no ambiguity in the versions that are used --> </dependencyConvergence> <requireUpperBoundDeps> <!-- This ensures that the versions used are at least as recent as the transitive versions --> </requireUpperBoundDeps> </rules> </configuration> </execution> </executions> </plugin> <!-- Insert license headers --> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>3.0</version> <configuration> <properties> <copyright.owner>Liam Williams</copyright.owner> <copyright.owner.email>liam.williams@zoho.com</copyright.owner.email> <copyright.year>2016</copyright.year> </properties> </configuration> <executions> <execution> <id>add-license-headers</id> <phase>process-sources</phase> <goals> <goal>format</goal> <goal>check</goal> </goals> <configuration> <excludes> <exclude>NOTICE.txt</exclude> <exclude>README.md</exclude> <exclude>LICENSE.txt</exclude> <exclude>license-header/**</exclude> <exclude>src/test/resources/**</exclude> <exclude>src/main/resources/**</exclude> <exclude>.*yml</exclude> <exclude>docs/**</exclude> <exclude>sonar-project.properties</exclude> </excludes> <header>${project.basedir}/license-header/license-header.txt</header> <mapping> <java>SLASHSTAR_STYLE</java> </mapping> </configuration> </execution> <execution> <id>add-notice-header</id> <phase>process-sources</phase> <goals> <goal>format</goal> <goal>check</goal> </goals> <configuration> <header>${project.basedir}/license-header/notice-header.txt</header> <includes> <include>NOTICE.txt</include> </includes> </configuration> </execution> </executions> </plugin> <!-- Generate Wiki Pages --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.5.0</version> <configuration> <mainClass>api.WikiGenerator</mainClass> <classpathScope>test</classpathScope> </configuration> <executions> <execution> <id>generate-wiki</id> <phase>prepare-package</phase> <goals> <goal>java</goal> </goals> </execution> </executions> </plugin> </plugins> <pluginManagement> <plugins> <!-- Sonar analysis --> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.2</version> </plugin> <!-- Configuration for release:clean release:prepare and release:perform --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.5.3</version> <configuration> <mavenExecutorId>forked-path</mavenExecutorId> <autoVersionSubmodules>true</autoVersionSubmodules> <useReleaseProfile>false</useReleaseProfile> <releaseProfiles>release</releaseProfiles> <goals>deploy</goals> <arguments>-Prelease</arguments> </configuration> </plugin> <!-- Specify default plugin versions --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.7</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.4</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.0</version> </plugin> </plugins> </pluginManagement> </build> <profiles> <!-- Check for updates --> <profile> <id>check-for-updates</id> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.2</version> <executions> <execution> <id>check-for-updates</id> <phase>validate</phase> <goals> <goal>display-dependency-updates</goal> <goal>display-plugin-updates</goal> <goal>display-property-updates</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Release --> <profile> <id>release</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>${maven.scm.plugin.version}</version> <executions> <execution> <id>commit-generated-files</id> <phase>verify</phase> <goals> <goal>checkin</goal> </goals> <configuration> <message>Updated documentation files for ${project.version}</message> <includes>docs/**/*</includes> <pushChanges>false</pushChanges> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.1.2</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.3</version> <configuration> <encoding>${project.build.sourceEncoding}</encoding> <failOnError>true</failOnError> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.7</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId><!-- This is a <server> set in my ~/.m2/settings.xml --> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> </plugins> </build> </profile> </profiles> <dependencyManagement> <!-- Clarify ambiguous dependencies --> <dependencies> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${apache.commons.lang.version}</version> </dependency> </dependencies> </dependencyManagement> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> <repository> <id>ossrh</id> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> </distributionManagement> </project>