enumerable4j
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.dgroup</groupId>
<artifactId>enumerable4j</artifactId>
<version>0.5.0</version>
</dependency><!--
~ MIT License
~
~ Copyright (c) 2019-2021 Yurii Dubinka
~
~ Permission is hereby granted, free of charge, to any person obtaining a copy
~ of this software and associated documentation files (the "Software"),
~ to deal in the Software without restriction, including without limitation
~ the rights to use, copy, modify, merge, publish, distribute, sublicense,
~ and/or sell copies of the Software, and to permit persons to whom
~ the Software is furnished to do so, subject to the following conditions:
~
~ The above copyright notice and this permission notice shall be included
~ in all copies or substantial portions of the Software.
~
~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
~ FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
~ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
~ OR OTHER DEALINGS IN THE SOFTWARE.
-->
<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.dgroup</groupId>
<artifactId>enumerable4j</artifactId>
<version>0.5.0</version>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>Amazing Ruby's "Enumerable" ported to Java.</description>
<url>http://github.com/dgroup/enumerable4j</url>
<licenses>
<license>
<name>${project.licence}</name>
<url>${project.licence.url}</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<name>Yurii Dubinka</name>
<email>yurii.dubinka@gmail.com</email>
<organization>io.github.dgroup</organization>
<organizationUrl>https://github.com/dgroup</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:git:github.com/dgroup/enumerable4j.git</connection>
<developerConnection>scm:git:ssh://github.com:dgroup/enumerable4j.git</developerConnection>
<url>http://github.com/dgroup/enumerable4j/tree/master</url>
<tag>HEAD</tag>
</scm>
<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>
<properties>
<!-- Application properties -->
<build.version>${project.version}</build.version>
<license>MIT License</license>
<license.url>https://github.com/dgroup/enumerable4j/blob/master/license.txt</license.url>
<!-- System, mvn plugins, etc -->
<jdk.version>1.8</jdk.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mvn.compiler.version>3.7.0</mvn.compiler.version>
<mvn.jar.version>3.0.2</mvn.jar.version>
<mvn.assembly.version>3.1.0</mvn.assembly.version>
<mvn.resources.version>3.0.2</mvn.resources.version>
<mvn.gh.release.version>1.2.0</mvn.gh.release.version>
<mvn.nexus.version>1.6.8</mvn.nexus.version>
<mvn.javadoc.version>2.9.1</mvn.javadoc.version>
<mvn.source.version>2.2.1</mvn.source.version>
<mvn.surefire.version>3.0.0-M3</mvn.surefire.version>
<mvn.failsafe.version>3.0.0-M3</mvn.failsafe.version>
<mvn.gpg.version>1.5</mvn.gpg.version>
<mvn.properties.version>1.0.0</mvn.properties.version>
<compiler-plugin.version>3.8.1</compiler-plugin.version>
<jacoco.version>0.8.6</jacoco.version>
<qulice.version>0.18.19</qulice.version>
<sonar.version>3.4.0.905</sonar.version>
<commons-logging.version>1.2</commons-logging.version>
<!-- General dependencies -->
<cactoos.version>0.49</cactoos.version>
<!-- Testing -->
<hamcrest.version>2.2</hamcrest.version>
<junit.version>5.7.1</junit.version>
<cactoos-matchers.version>0.22</cactoos-matchers.version>
<jmh.version>1.32</jmh.version>
<jmh.suite.name>enumerable4j-benchmarks</jmh.suite.name>
<!-- Code quality -->
<code.cvrg.classes-without-tests>3</code.cvrg.classes-without-tests>
<code.cvrg.instructions>0.6</code.cvrg.instructions>
<code.cvrg.complexity>0.55</code.cvrg.complexity>
<code.cvrg.methods>0.5</code.cvrg.methods>
<code.cvrg.branch>0.65</code.cvrg.branch>
<code.cvrg.line>0.5</code.cvrg.line>
<sonar.projectKey>dgroup_enumerable4j</sonar.projectKey>
<sonar.organization>dgroup-github</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.coverage.exclusions>
**/*Exception.java,
**/*Fake*.java,**/*.Fake*.java,**/**.Fake*.java
</sonar.coverage.exclusions>
<sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
</properties>
<dependencies>
<dependency>
<groupId>org.cactoos</groupId>
<artifactId>cactoos</artifactId>
<version>${cactoos.version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>${hamcrest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.llorllale</groupId>
<artifactId>cactoos-matchers</artifactId>
<version>${cactoos-matchers.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>${jmh.version}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- @todo #/DEV Activate de.thetaphi:forbiddenapis in order to forbid the usage of forbidden API like static matchers, etc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${mvn.compiler.version}</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${mvn.source.version}</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>${mvn.javadoc.version}</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${mvn.surefire.version}</version>
<configuration>
<reuseForks>true</reuseForks>
<useSystemClassLoader>false</useSystemClassLoader>
<threadCount>4</threadCount>
</configuration>
</plugin>
<!-- @todo #/DEV Activate JMH for testing on JDK8
https://stackoverflow.com/questions/23583625/how-do-you-specify-the-jmh-microbenchmarks-test-to-run-without-using-a-resource
https://gist.github.com/nicoulaj/5517176
http://tutorials.jenkov.com/java-performance/jmh.html
-->
</plugins>
</build>
<profiles>
<profile>
<id>qulice</id>
<build>
<plugins>
<plugin>
<groupId>com.qulice</groupId>
<artifactId>qulice-maven-plugin</artifactId>
<version>${qulice.version}</version>
<configuration>
<license>file:${basedir}/license.txt</license>
<excludes combine.children="append">
<exclude>duplicatefinder:.*</exclude>
<exclude>dependencies:io.quarkus:quarkus-picocli</exclude>
<exclude>dependencies:io.quarkus:quarkus-arc</exclude>
<exclude>dependencies:org.cactoos:cactoos</exclude>
<exclude>dependencies:org.llorllale:cactoos-matchers</exclude>
<exclude>dependencies:javax.ws.rs:jsr311-api</exclude>
<exclude>dependencies:org.openjdk.jmh</exclude>
<exclude>org.junit.jupiter:junit-jupiter-api</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>apply-qulice-validations</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<configuration>
<output>file</output>
<excludes>
<exclude>io/dgroup/**/*Exception.*</exclude>
<exclude>io/dgroup/**/*/*Fake*.*</exclude>
<exclude>io/dgroup/**/*Envelope.*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>jacoco-initialize</id>
<phase>process-resources</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-check</id>
<phase>test</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules>
<rule>
<element>BUNDLE</element>
<limits>
<limit>
<counter>INSTRUCTION</counter>
<value>COVEREDRATIO</value>
<minimum>${code.cvrg.instructions}</minimum>
</limit>
<limit>
<counter>LINE</counter>
<value>COVEREDRATIO</value>
<minimum>${code.cvrg.line}</minimum>
</limit>
<limit>
<counter>BRANCH</counter>
<value>COVEREDRATIO</value>
<minimum>${code.cvrg.branch}</minimum>
</limit>
<limit>
<counter>COMPLEXITY</counter>
<value>COVEREDRATIO</value>
<minimum>${code.cvrg.complexity}</minimum>
</limit>
<limit>
<counter>METHOD</counter>
<value>COVEREDRATIO</value>
<minimum>${code.cvrg.methods}</minimum>
</limit>
<limit>
<counter>CLASS</counter>
<value>MISSEDCOUNT</value>
<maximum>${code.cvrg.classes-without-tests}</maximum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
<execution>
<id>jacoco-report</id>
<phase>install</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>ossrh-enumerable4j</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${mvn.gpg.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>${mvn.nexus.version}</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>