2019-03-13 12:08:41 -04:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<!--
|
|
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
|
|
this work for additional information regarding copyright ownership.
|
|
|
|
The ASF licenses this file to You 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/maven-v4_0_0.xsd">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
|
|
<groupId>org.apache.commons</groupId>
|
|
|
|
<artifactId>commons-parent</artifactId>
|
2020-01-18 11:33:16 -05:00
|
|
|
<version>50</version>
|
2019-03-13 12:08:41 -04:00
|
|
|
</parent>
|
|
|
|
<artifactId>commons-csv</artifactId>
|
2020-02-06 16:01:56 -05:00
|
|
|
<version>1.8.1-SNAPSHOT</version>
|
2019-03-13 12:08:41 -04:00
|
|
|
<name>Apache Commons CSV</name>
|
2019-07-04 10:00:21 -04:00
|
|
|
<url>https://commons.apache.org/proper/commons-csv/</url>
|
2020-01-18 11:33:16 -05:00
|
|
|
<description>The Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.</description>
|
2019-03-13 12:08:41 -04:00
|
|
|
|
|
|
|
<dependencies>
|
|
|
|
<dependency>
|
CSV-252: Migration to JUnit Jupiter (#49)
* CSV-252 Stop using junit.framework.TestCase
junit.framework.TestCase is a class from JUnit 3, and while it is not
officially deprecated, it's discouraged to use it.
This patch removes the single use of
junit.framework.TestCase#assertNull, and replaces it with the
standard, recommended, org.junit.Assert#assertNull.
* CSV-252 Standardize org.junit.Assert imports
Code in the project uses org.junit.Assert's methods in two ways:
1. By statically importing them
2. By importing the class and using its methods
Option 1 seems to be the de-facto standard, with just a handful of
cases using Option 2.
This patch standardizes these cases to also use static imports thus
making the code look more uniform, and easier to maintain.
* CSV-252 Upgrade Mockito to 3.1.0
Upgrade the Mockito dependency to the latest available version, 3.1.0,
in order to facilitate an upgrade to JUnit Jupiter.
* CSV-252 JUnit Jupiter upgrade
This patch upgrades the project's testing framework from JUnit 4.12
to the modern JUnit Jupiter 5.5.4.
Since JUnit 5 Jupiter is not backwards compatible to JUnit 4.x (or
even JUnit Vintage), this patch is a bit large, even though a lot of
the changes are merely cosmetic (such as changing the argument order,
see details below). In order to make the reviewer's task as easy as
possible, this PR does not presume to use JUnit Jupiter's best
practices and all its new functionality, but only to migrate the
existing tests with as little change as possible. Following patches
may want to improve the tests by using some of JUnit Jupiter's new
features.
This patch includes the following changes:
1. Maven dependency changes:
a. junit:junit was replaced with org.junit.jupiter:junit-jupiter.
b. org.hamcrest:hamcrest was introduced as an explicit dependency,
since the project uses Hamcrest, and JUnit Jupiter does not
bundle Hamcrest, unlike JUnit 4.x.
2. Annotations:
a. org.junit.jupiter.api.Test was used as a drop in replacement for
org.juit.Test without arguments. See 3.ii. for handling of @Test
annotations with an "expected" argument.
b. org.junit.jupiter.api.BeforeEach was used as an drop in
replacement for org.junit.Before.
c. org.junit.jupiter.api.BeforeAll was used as an drop in
replacement for org.junit.BeforeClass.
d. org.junit.jupiter.api.Disabled was used as a drop in replacement
for org.junit.Ignore.
3. Assertions:
a. org.junit.jupiter.api.Assertions' methods were used as drop in
replacements for org.junit.Assert's methods with the same name in
the simple case of an assertion without a message. In the case of
an assertion with a message, org.junit.jupiter.api.Assertions'
methods were used, but the argument order was changed - Assert's
methods take the message as the first argument, while Assertions'
methods take the message as the last argument.
b. org.junit.jupiter.api.Assertions#assertThrows was used to assert
that a specific exception was throws instead of an org.junit.Test
annotation with an expected argument. This technique has a couple
of side bonuses. First, it makes the tests slightly stricter, as
now they can assert the exception was thrown from a specific line
and prevent false positives where the test's "set-up" code
accidentally threw that exception. Second, it clarifies that some
of the test code is unreachable (as a previous line already
throws an exception), and can safely be removed in order to clean
up the test. The throws clauses of these methods were cleaned up
from exceptions that can no longer be thrown in order to avoid
compilation warnings.
c. org.hamcrest.MatcherAssert#assertThat was used as a drop in
replacement for org.junit.Assert#assertThat.
4. Specific Changes:
a. CSVFileParserTest was rewritten with JUnit Jupiter's
org.junit.jupiter.api.ParameterizedTest. Unlike JUnit 4's
org.junit.runners.Parameterized, it cannot be used to inject
arguments to a test's construct, and so the test can't be
stateful. Instead, it was rewritten so every test receives the
file as a parameter, and opens a reader on it itself. As a side
bonus, this design makes it easier to close the reader and avoid
leaving open file descriptors like the original test did.
2019-10-05 14:59:58 -04:00
|
|
|
<groupId>org.junit.jupiter</groupId>
|
|
|
|
<artifactId>junit-jupiter</artifactId>
|
2020-01-20 18:36:02 -05:00
|
|
|
<version>5.6.0</version>
|
CSV-252: Migration to JUnit Jupiter (#49)
* CSV-252 Stop using junit.framework.TestCase
junit.framework.TestCase is a class from JUnit 3, and while it is not
officially deprecated, it's discouraged to use it.
This patch removes the single use of
junit.framework.TestCase#assertNull, and replaces it with the
standard, recommended, org.junit.Assert#assertNull.
* CSV-252 Standardize org.junit.Assert imports
Code in the project uses org.junit.Assert's methods in two ways:
1. By statically importing them
2. By importing the class and using its methods
Option 1 seems to be the de-facto standard, with just a handful of
cases using Option 2.
This patch standardizes these cases to also use static imports thus
making the code look more uniform, and easier to maintain.
* CSV-252 Upgrade Mockito to 3.1.0
Upgrade the Mockito dependency to the latest available version, 3.1.0,
in order to facilitate an upgrade to JUnit Jupiter.
* CSV-252 JUnit Jupiter upgrade
This patch upgrades the project's testing framework from JUnit 4.12
to the modern JUnit Jupiter 5.5.4.
Since JUnit 5 Jupiter is not backwards compatible to JUnit 4.x (or
even JUnit Vintage), this patch is a bit large, even though a lot of
the changes are merely cosmetic (such as changing the argument order,
see details below). In order to make the reviewer's task as easy as
possible, this PR does not presume to use JUnit Jupiter's best
practices and all its new functionality, but only to migrate the
existing tests with as little change as possible. Following patches
may want to improve the tests by using some of JUnit Jupiter's new
features.
This patch includes the following changes:
1. Maven dependency changes:
a. junit:junit was replaced with org.junit.jupiter:junit-jupiter.
b. org.hamcrest:hamcrest was introduced as an explicit dependency,
since the project uses Hamcrest, and JUnit Jupiter does not
bundle Hamcrest, unlike JUnit 4.x.
2. Annotations:
a. org.junit.jupiter.api.Test was used as a drop in replacement for
org.juit.Test without arguments. See 3.ii. for handling of @Test
annotations with an "expected" argument.
b. org.junit.jupiter.api.BeforeEach was used as an drop in
replacement for org.junit.Before.
c. org.junit.jupiter.api.BeforeAll was used as an drop in
replacement for org.junit.BeforeClass.
d. org.junit.jupiter.api.Disabled was used as a drop in replacement
for org.junit.Ignore.
3. Assertions:
a. org.junit.jupiter.api.Assertions' methods were used as drop in
replacements for org.junit.Assert's methods with the same name in
the simple case of an assertion without a message. In the case of
an assertion with a message, org.junit.jupiter.api.Assertions'
methods were used, but the argument order was changed - Assert's
methods take the message as the first argument, while Assertions'
methods take the message as the last argument.
b. org.junit.jupiter.api.Assertions#assertThrows was used to assert
that a specific exception was throws instead of an org.junit.Test
annotation with an expected argument. This technique has a couple
of side bonuses. First, it makes the tests slightly stricter, as
now they can assert the exception was thrown from a specific line
and prevent false positives where the test's "set-up" code
accidentally threw that exception. Second, it clarifies that some
of the test code is unreachable (as a previous line already
throws an exception), and can safely be removed in order to clean
up the test. The throws clauses of these methods were cleaned up
from exceptions that can no longer be thrown in order to avoid
compilation warnings.
c. org.hamcrest.MatcherAssert#assertThat was used as a drop in
replacement for org.junit.Assert#assertThat.
4. Specific Changes:
a. CSVFileParserTest was rewritten with JUnit Jupiter's
org.junit.jupiter.api.ParameterizedTest. Unlike JUnit 4's
org.junit.runners.Parameterized, it cannot be used to inject
arguments to a test's construct, and so the test can't be
stateful. Instead, it was rewritten so every test receives the
file as a parameter, and opens a reader on it itself. As a side
bonus, this design makes it easier to close the reader and avoid
leaving open file descriptors like the original test did.
2019-10-05 14:59:58 -04:00
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.hamcrest</groupId>
|
|
|
|
<artifactId>hamcrest</artifactId>
|
2019-12-12 11:02:35 -05:00
|
|
|
<version>2.2</version>
|
2019-03-13 12:08:41 -04:00
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.mockito</groupId>
|
CSV-252: Migration to JUnit Jupiter (#49)
* CSV-252 Stop using junit.framework.TestCase
junit.framework.TestCase is a class from JUnit 3, and while it is not
officially deprecated, it's discouraged to use it.
This patch removes the single use of
junit.framework.TestCase#assertNull, and replaces it with the
standard, recommended, org.junit.Assert#assertNull.
* CSV-252 Standardize org.junit.Assert imports
Code in the project uses org.junit.Assert's methods in two ways:
1. By statically importing them
2. By importing the class and using its methods
Option 1 seems to be the de-facto standard, with just a handful of
cases using Option 2.
This patch standardizes these cases to also use static imports thus
making the code look more uniform, and easier to maintain.
* CSV-252 Upgrade Mockito to 3.1.0
Upgrade the Mockito dependency to the latest available version, 3.1.0,
in order to facilitate an upgrade to JUnit Jupiter.
* CSV-252 JUnit Jupiter upgrade
This patch upgrades the project's testing framework from JUnit 4.12
to the modern JUnit Jupiter 5.5.4.
Since JUnit 5 Jupiter is not backwards compatible to JUnit 4.x (or
even JUnit Vintage), this patch is a bit large, even though a lot of
the changes are merely cosmetic (such as changing the argument order,
see details below). In order to make the reviewer's task as easy as
possible, this PR does not presume to use JUnit Jupiter's best
practices and all its new functionality, but only to migrate the
existing tests with as little change as possible. Following patches
may want to improve the tests by using some of JUnit Jupiter's new
features.
This patch includes the following changes:
1. Maven dependency changes:
a. junit:junit was replaced with org.junit.jupiter:junit-jupiter.
b. org.hamcrest:hamcrest was introduced as an explicit dependency,
since the project uses Hamcrest, and JUnit Jupiter does not
bundle Hamcrest, unlike JUnit 4.x.
2. Annotations:
a. org.junit.jupiter.api.Test was used as a drop in replacement for
org.juit.Test without arguments. See 3.ii. for handling of @Test
annotations with an "expected" argument.
b. org.junit.jupiter.api.BeforeEach was used as an drop in
replacement for org.junit.Before.
c. org.junit.jupiter.api.BeforeAll was used as an drop in
replacement for org.junit.BeforeClass.
d. org.junit.jupiter.api.Disabled was used as a drop in replacement
for org.junit.Ignore.
3. Assertions:
a. org.junit.jupiter.api.Assertions' methods were used as drop in
replacements for org.junit.Assert's methods with the same name in
the simple case of an assertion without a message. In the case of
an assertion with a message, org.junit.jupiter.api.Assertions'
methods were used, but the argument order was changed - Assert's
methods take the message as the first argument, while Assertions'
methods take the message as the last argument.
b. org.junit.jupiter.api.Assertions#assertThrows was used to assert
that a specific exception was throws instead of an org.junit.Test
annotation with an expected argument. This technique has a couple
of side bonuses. First, it makes the tests slightly stricter, as
now they can assert the exception was thrown from a specific line
and prevent false positives where the test's "set-up" code
accidentally threw that exception. Second, it clarifies that some
of the test code is unreachable (as a previous line already
throws an exception), and can safely be removed in order to clean
up the test. The throws clauses of these methods were cleaned up
from exceptions that can no longer be thrown in order to avoid
compilation warnings.
c. org.hamcrest.MatcherAssert#assertThat was used as a drop in
replacement for org.junit.Assert#assertThat.
4. Specific Changes:
a. CSVFileParserTest was rewritten with JUnit Jupiter's
org.junit.jupiter.api.ParameterizedTest. Unlike JUnit 4's
org.junit.runners.Parameterized, it cannot be used to inject
arguments to a test's construct, and so the test can't be
stateful. Instead, it was rewritten so every test receives the
file as a parameter, and opens a reader on it itself. As a side
bonus, this design makes it easier to close the reader and avoid
leaving open file descriptors like the original test did.
2019-10-05 14:59:58 -04:00
|
|
|
<artifactId>mockito-core</artifactId>
|
2019-12-20 22:54:11 -05:00
|
|
|
<version>3.2.4</version>
|
2019-03-13 12:08:41 -04:00
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>commons-io</groupId>
|
|
|
|
<artifactId>commons-io</artifactId>
|
|
|
|
<version>2.6</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.apache.commons</groupId>
|
|
|
|
<artifactId>commons-lang3</artifactId>
|
2019-04-14 20:26:30 -04:00
|
|
|
<version>3.9</version>
|
2019-03-13 12:08:41 -04:00
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>com.h2database</groupId>
|
|
|
|
<artifactId>h2</artifactId>
|
2019-12-12 10:59:50 -05:00
|
|
|
<version>1.4.200</version>
|
2019-03-13 12:08:41 -04:00
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
|
|
|
|
<developers>
|
|
|
|
<developer>
|
|
|
|
<id>bayard</id>
|
|
|
|
<name>Henri Yandell</name>
|
|
|
|
<email>bayard@apache.org</email>
|
|
|
|
<organization>The Apache Software Foundation</organization>
|
|
|
|
</developer>
|
|
|
|
<developer>
|
|
|
|
<name>Martin van den Bemt</name>
|
|
|
|
<id>mvdb</id>
|
|
|
|
<email>mvdb@apache.org</email>
|
|
|
|
<organization>The Apache Software Foundation</organization>
|
|
|
|
</developer>
|
|
|
|
<developer>
|
|
|
|
<name>Yonik Seeley</name>
|
|
|
|
<id>yonik</id>
|
|
|
|
<email>yonik@apache.org</email>
|
|
|
|
<organization>The Apache Software Foundation</organization>
|
|
|
|
</developer>
|
|
|
|
<developer>
|
|
|
|
<name>Emmanuel Bourg</name>
|
|
|
|
<id>ebourg</id>
|
|
|
|
<email>ebourg@apache.org</email>
|
|
|
|
<organization>Apache</organization>
|
|
|
|
</developer>
|
|
|
|
<developer>
|
|
|
|
<name>Gary Gregory</name>
|
|
|
|
<id>ggregory</id>
|
|
|
|
<email>ggregory@apache.org</email>
|
|
|
|
<url>http://www.garygregory.com</url>
|
|
|
|
</developer>
|
|
|
|
<developer>
|
|
|
|
<name>Benedikt Ritter</name>
|
|
|
|
<id>britter</id>
|
|
|
|
<email>britter@apache.org</email>
|
|
|
|
<organization>The Apache Software Foundation</organization>
|
|
|
|
</developer>
|
|
|
|
<developer>
|
|
|
|
<name>Rob Tompkins</name>
|
|
|
|
<id>chtompki</id>
|
|
|
|
<email>chtompki@apache.org</email>
|
|
|
|
<organization>The Apache Software Foundation</organization>
|
|
|
|
</developer>
|
|
|
|
</developers>
|
|
|
|
<contributors>
|
|
|
|
<contributor>
|
|
|
|
<name>Bob Smith</name>
|
|
|
|
</contributor>
|
|
|
|
</contributors>
|
|
|
|
|
|
|
|
<scm>
|
2019-08-16 13:34:19 -04:00
|
|
|
<connection>scm:git:http://gitbox.apache.org/repos/asf/commons-csv.git</connection>
|
|
|
|
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-csv.git</developerConnection>
|
|
|
|
<url>https://gitbox.apache.org/repos/asf?p=commons-csv.git</url>
|
2019-03-13 12:08:41 -04:00
|
|
|
</scm>
|
|
|
|
|
|
|
|
<issueManagement>
|
|
|
|
<system>jira</system>
|
2019-07-06 20:41:48 -04:00
|
|
|
<url>https://issues.apache.org/jira/browse/CSV</url>
|
2019-03-13 12:08:41 -04:00
|
|
|
</issueManagement>
|
|
|
|
|
|
|
|
<distributionManagement>
|
|
|
|
<site>
|
|
|
|
<id>apache.website</id>
|
|
|
|
<name>Apache Commons Site</name>
|
|
|
|
<url>scm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-csv/</url>
|
|
|
|
</site>
|
|
|
|
</distributionManagement>
|
|
|
|
|
|
|
|
<properties>
|
2019-09-09 20:41:53 -04:00
|
|
|
<commons.release.version>1.8</commons.release.version>
|
2019-03-13 12:08:41 -04:00
|
|
|
<commons.release.desc>(Java 8)</commons.release.desc>
|
|
|
|
<!-- The RC version used in the staging repository URL. -->
|
2020-02-01 20:01:01 -05:00
|
|
|
<commons.rc.version>RC2</commons.rc.version>
|
2019-09-09 20:41:53 -04:00
|
|
|
<commons.bc.version>1.7</commons.bc.version>
|
2019-09-09 20:41:07 -04:00
|
|
|
<commons.componentid>csv</commons.componentid>
|
2019-03-13 12:08:41 -04:00
|
|
|
<commons.module.name>org.apache.commons.csv</commons.module.name>
|
|
|
|
<commons.jira.id>CSV</commons.jira.id>
|
|
|
|
<commons.jira.pid>12313222</commons.jira.pid>
|
|
|
|
<project.inceptionYear>2005</project.inceptionYear>
|
|
|
|
<maven.compiler.source>1.8</maven.compiler.source>
|
|
|
|
<maven.compiler.target>1.8</maven.compiler.target>
|
2019-09-09 15:26:04 -04:00
|
|
|
<commons.javadoc.java.link>http://docs.oracle.com/javase/8/docs/api/</commons.javadoc.java.link>
|
2019-03-13 12:08:41 -04:00
|
|
|
<!-- Ensure copies work OK (can be removed later when this is in parent POM) -->
|
|
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
|
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
|
|
<commons.encoding>UTF-8</commons.encoding>
|
|
|
|
|
|
|
|
<checkstyle.version>3.0.0</checkstyle.version>
|
|
|
|
<checkstyle.header.file>${basedir}/LICENSE-header.txt</checkstyle.header.file>
|
2019-06-15 13:52:44 -04:00
|
|
|
<checkstyle.resourceExcludes>LICENSE.txt, NOTICE.txt, **/maven-archiver/pom.properties</checkstyle.resourceExcludes>
|
2019-03-13 12:08:41 -04:00
|
|
|
|
2019-06-15 13:52:44 -04:00
|
|
|
<pmd.version>3.12.0</pmd.version>
|
2019-03-25 12:00:31 -04:00
|
|
|
<japicmp.skip>false</japicmp.skip>
|
2019-06-01 17:20:20 -04:00
|
|
|
|
|
|
|
<commons.release.isDistModule>true</commons.release.isDistModule>
|
|
|
|
<commons.releaseManagerName>Gary Gregory</commons.releaseManagerName>
|
|
|
|
<commons.releaseManagerKey>86fdc7e2a11262cb</commons.releaseManagerKey>
|
2019-03-13 12:08:41 -04:00
|
|
|
</properties>
|
|
|
|
|
|
|
|
<build>
|
|
|
|
<defaultGoal>clean verify apache-rat:check clirr:check javadoc:javadoc</defaultGoal>
|
|
|
|
<plugins>
|
|
|
|
<plugin>
|
|
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
|
|
<configuration>
|
|
|
|
<testExcludes>
|
|
|
|
<testExclude>**/*Benchmark*</testExclude>
|
|
|
|
</testExcludes>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
|
|
<configuration>
|
|
|
|
<descriptors>
|
|
|
|
<descriptor>src/assembly/bin.xml</descriptor>
|
|
|
|
<descriptor>src/assembly/src.xml</descriptor>
|
|
|
|
</descriptors>
|
|
|
|
<tarLongFileMode>gnu</tarLongFileMode>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
|
|
<configuration>
|
|
|
|
<excludes>
|
|
|
|
<exclude>**/perf/PerformanceTest.java</exclude>
|
|
|
|
</excludes>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
<!-- Allow checkstyle to be run interactively; keep in sync with report config below -->
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
|
|
<version>${checkstyle.version}</version>
|
|
|
|
<configuration>
|
|
|
|
<configLocation>${basedir}/checkstyle.xml</configLocation>
|
|
|
|
<enableRulesSummary>false</enableRulesSummary>
|
2019-06-15 13:52:44 -04:00
|
|
|
<suppressionsLocation>${basedir}/src/main/resources/checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
<!-- Allow findbugs to be run interactively; keep in sync with report config below -->
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
|
|
<artifactId>findbugs-maven-plugin</artifactId>
|
|
|
|
<version>${commons.findbugs.version}</version>
|
|
|
|
<configuration>
|
|
|
|
<threshold>Normal</threshold>
|
|
|
|
<effort>Default</effort>
|
|
|
|
<excludeFilterFile>${basedir}/src/main/resources/findbugs/findbugs-exclude-filter.xml</excludeFilterFile>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
<!-- Allow pmd to be run interactively; keep in sync with report config below -->
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-pmd-plugin</artifactId>
|
|
|
|
<version>${pmd.version}</version>
|
|
|
|
<configuration>
|
|
|
|
<targetJdk>${maven.compiler.target}</targetJdk>
|
|
|
|
<skipEmptyReport>false</skipEmptyReport>
|
|
|
|
<analysisCache>true</analysisCache>
|
|
|
|
<rulesets>
|
|
|
|
<ruleset>${basedir}/src/main/resources/pmd/pmd-ruleset.xml</ruleset>
|
|
|
|
</rulesets>
|
2019-03-13 12:08:41 -04:00
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
|
|
|
|
<!-- We need to add our test data files to rat exclusions -->
|
|
|
|
<!-- Needed for command-line access, e.g mvn apache-rat:rat and mvn apache-rat:check -->
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.rat</groupId>
|
|
|
|
<artifactId>apache-rat-plugin</artifactId>
|
|
|
|
<!-- Should agree with config in reporting section -->
|
|
|
|
<configuration>
|
|
|
|
<excludes>
|
|
|
|
<!-- These files are used as test data and test result specifications. -->
|
|
|
|
<exclude>src/test/resources/csv-167/sample1.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSV-198/optd_por_public.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSV-213/999751170.patch.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/bom.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/test.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/test_default.txt</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/test_default_comment.txt</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/test_rfc4180.txt</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/test_rfc4180_trim.txt</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/testCSV85.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/testCSV85_default.txt</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/testCSV85_ignoreEmpty.txt</exclude>
|
|
|
|
<!-- The ferc.gov files are included discussion in https://issues.apache.org/jira/browse/LEGAL-175. -->
|
|
|
|
<exclude>src/test/resources/ferc.gov/contract.txt</exclude>
|
|
|
|
<exclude>src/test/resources/ferc.gov/transaction.txt</exclude>
|
2020-01-22 10:28:05 -05:00
|
|
|
<exclude>src/test/resources/**/*.bin</exclude>
|
2019-03-13 12:08:41 -04:00
|
|
|
</excludes>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
|
|
|
|
</plugins>
|
|
|
|
</build>
|
|
|
|
|
|
|
|
<reporting>
|
|
|
|
<plugins>
|
|
|
|
<!-- Keep in sync with build config above -->
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
|
|
<version>${checkstyle.version}</version>
|
|
|
|
<configuration>
|
|
|
|
<configLocation>${basedir}/checkstyle.xml</configLocation>
|
|
|
|
<enableRulesSummary>false</enableRulesSummary>
|
2019-06-15 13:52:44 -04:00
|
|
|
<suppressionsLocation>${basedir}/src/main/resources/checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
|
2019-03-13 12:08:41 -04:00
|
|
|
</configuration>
|
|
|
|
<!-- We need to specify reportSets because 2.9.1 creates two reports -->
|
|
|
|
<reportSets>
|
|
|
|
<reportSet>
|
|
|
|
<reports>
|
|
|
|
<report>checkstyle</report>
|
|
|
|
</reports>
|
|
|
|
</reportSet>
|
|
|
|
</reportSets>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-pmd-plugin</artifactId>
|
2019-06-15 13:52:44 -04:00
|
|
|
<version>${pmd.version}</version>
|
2019-03-13 12:08:41 -04:00
|
|
|
<configuration>
|
|
|
|
<targetJdk>${maven.compiler.target}</targetJdk>
|
2019-06-15 13:52:44 -04:00
|
|
|
<skipEmptyReport>false</skipEmptyReport>
|
|
|
|
<analysisCache>true</analysisCache>
|
|
|
|
<rulesets>
|
|
|
|
<ruleset>${basedir}/src/main/resources/pmd/pmd-ruleset.xml</ruleset>
|
|
|
|
</rulesets>
|
2019-03-13 12:08:41 -04:00
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
|
|
<artifactId>findbugs-maven-plugin</artifactId>
|
2019-05-20 08:27:36 -04:00
|
|
|
<version>${commons.findbugs.version}</version>
|
2019-06-15 13:52:44 -04:00
|
|
|
<configuration>
|
|
|
|
<threshold>Normal</threshold>
|
|
|
|
<effort>Default</effort>
|
|
|
|
<excludeFilterFile>${basedir}/src/main/resources/findbugs/findbugs-exclude-filter.xml</excludeFilterFile>
|
|
|
|
</configuration>
|
2019-03-13 12:08:41 -04:00
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
|
|
<artifactId>taglist-maven-plugin</artifactId>
|
|
|
|
<version>2.4</version>
|
|
|
|
<configuration>
|
|
|
|
<tagListOptions>
|
|
|
|
<tagClasses>
|
|
|
|
<tagClass>
|
|
|
|
<displayName>Needs Work</displayName>
|
|
|
|
<tags>
|
|
|
|
<tag>
|
|
|
|
<matchString>TODO</matchString>
|
|
|
|
<matchType>exact</matchType>
|
|
|
|
</tag>
|
|
|
|
<tag>
|
|
|
|
<matchString>FIXME</matchString>
|
|
|
|
<matchType>exact</matchType>
|
|
|
|
</tag>
|
|
|
|
<tag>
|
|
|
|
<matchString>XXX</matchString>
|
|
|
|
<matchType>exact</matchType>
|
|
|
|
</tag>
|
|
|
|
</tags>
|
|
|
|
</tagClass>
|
|
|
|
<tagClass>
|
2019-12-30 08:43:55 -05:00
|
|
|
<displayName>Notable Markers</displayName>
|
2019-03-13 12:08:41 -04:00
|
|
|
<tags>
|
|
|
|
<tag>
|
|
|
|
<matchString>NOTE</matchString>
|
|
|
|
<matchType>exact</matchType>
|
|
|
|
</tag>
|
|
|
|
<tag>
|
|
|
|
<matchString>NOPMD</matchString>
|
|
|
|
<matchType>exact</matchType>
|
|
|
|
</tag>
|
|
|
|
<tag>
|
|
|
|
<matchString>NOSONAR</matchString>
|
|
|
|
<matchType>exact</matchType>
|
|
|
|
</tag>
|
|
|
|
</tags>
|
|
|
|
</tagClass>
|
|
|
|
</tagClasses>
|
|
|
|
</tagListOptions>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
<!-- We need to add our test data files to rat exclusions -->
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.rat</groupId>
|
|
|
|
<artifactId>apache-rat-plugin</artifactId>
|
|
|
|
<version>${commons.rat.version}</version>
|
|
|
|
<!-- Should agree with config in build section -->
|
|
|
|
<configuration>
|
|
|
|
<excludes>
|
|
|
|
<exclude>src/test/resources/csv-167/sample1.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSV-198/optd_por_public.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSV-213/999751170.patch.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/bom.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/test.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/test_default.txt</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/test_default_comment.txt</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/test_rfc4180.txt</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/test_rfc4180_trim.txt</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/testCSV85.csv</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/testCSV85_default.txt</exclude>
|
|
|
|
<exclude>src/test/resources/CSVFileParser/testCSV85_ignoreEmpty.txt</exclude>
|
|
|
|
<exclude>src/test/resources/ferc.gov/contract.txt</exclude>
|
|
|
|
<exclude>src/test/resources/ferc.gov/transaction.txt</exclude>
|
2020-01-22 10:28:05 -05:00
|
|
|
<exclude>src/test/resources/**/*.bin</exclude>
|
2019-03-13 12:08:41 -04:00
|
|
|
</excludes>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
</plugins>
|
|
|
|
</reporting>
|
|
|
|
|
|
|
|
<profiles>
|
|
|
|
<!-- Profile to build and run the benchmarks. Use 'mvn test -Pbenchmark', and add '-Dbenchmark=foo' to run only the foo benchmark -->
|
|
|
|
<profile>
|
|
|
|
<id>benchmark</id>
|
|
|
|
|
|
|
|
<dependencies>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.openjdk.jmh</groupId>
|
|
|
|
<artifactId>jmh-core</artifactId>
|
|
|
|
<version>1.5.2</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.openjdk.jmh</groupId>
|
|
|
|
<artifactId>jmh-generator-annprocess</artifactId>
|
|
|
|
<version>1.5.2</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
<groupId>genjava</groupId>
|
|
|
|
<artifactId>gj-csv</artifactId>
|
|
|
|
<version>1.0</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
<groupId>net.sourceforge.javacsv</groupId>
|
|
|
|
<artifactId>javacsv</artifactId>
|
|
|
|
<version>2.0</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
<groupId>com.opencsv</groupId>
|
|
|
|
<artifactId>opencsv</artifactId>
|
|
|
|
<version>3.1</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
<groupId>net.sf.supercsv</groupId>
|
|
|
|
<artifactId>super-csv</artifactId>
|
|
|
|
<version>2.2.1</version>
|
2019-08-14 14:38:10 -04:00
|
|
|
<scope>test</scope>
|
2019-03-13 12:08:41 -04:00
|
|
|
</dependency>
|
|
|
|
|
|
|
|
<!-- Not in Maven Central, download manually from http://kasparov.skife.org/csv/csv-1.0.jar and install with:
|
|
|
|
mvn install:install-file -Dfile=E:/Java/skife.org/csv-1.0.jar -DgroupId=org.skife.kasparov -DartifactId=csv -Dversion=1.0 -Dpackaging=jar -->
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.skife.kasparov</groupId>
|
|
|
|
<artifactId>csv</artifactId>
|
|
|
|
<version>1.0</version>
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.apache.commons</groupId>
|
|
|
|
<artifactId>commons-lang3</artifactId>
|
|
|
|
<version>3.6</version>
|
|
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
|
|
|
|
<properties>
|
|
|
|
<skipTests>true</skipTests>
|
|
|
|
<benchmark>org.apache</benchmark>
|
|
|
|
</properties>
|
|
|
|
|
|
|
|
<build>
|
|
|
|
<plugins>
|
|
|
|
<!-- Enable the compilation of the benchmarks -->
|
|
|
|
<plugin>
|
|
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
2019-05-20 08:25:08 -04:00
|
|
|
<version>${commons.compiler.version}</version>
|
2019-03-13 12:08:41 -04:00
|
|
|
<configuration combine.self="override">
|
|
|
|
<testIncludes>
|
|
|
|
<testInclude>**/*</testInclude>
|
|
|
|
</testIncludes>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
|
|
|
|
<!-- Hook the benchmarks to the test phase -->
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
|
|
<executions>
|
|
|
|
<execution>
|
|
|
|
<id>benchmark</id>
|
|
|
|
<phase>test</phase>
|
|
|
|
<goals>
|
|
|
|
<goal>exec</goal>
|
|
|
|
</goals>
|
|
|
|
<configuration>
|
|
|
|
<classpathScope>test</classpathScope>
|
|
|
|
<executable>java</executable>
|
|
|
|
<arguments>
|
|
|
|
<argument>-classpath</argument>
|
|
|
|
<classpath/>
|
|
|
|
<argument>org.openjdk.jmh.Main</argument>
|
|
|
|
<argument>-rf</argument>
|
|
|
|
<argument>json</argument>
|
|
|
|
<argument>-rff</argument>
|
|
|
|
<argument>target/jmh-result.json</argument>
|
|
|
|
<argument>${benchmark}</argument>
|
|
|
|
</arguments>
|
|
|
|
</configuration>
|
|
|
|
</execution>
|
|
|
|
</executions>
|
|
|
|
</plugin>
|
|
|
|
</plugins>
|
|
|
|
</build>
|
|
|
|
</profile>
|
|
|
|
|
|
|
|
<profile>
|
|
|
|
<id>java9</id>
|
|
|
|
<activation>
|
|
|
|
<jdk>9</jdk>
|
|
|
|
</activation>
|
|
|
|
<properties>
|
|
|
|
<!-- coverall version 4.3.0 does not work with java 9, see https://github.com/trautonen/coveralls-maven-plugin/issues/112 -->
|
|
|
|
<coveralls.skip>true</coveralls.skip>
|
|
|
|
</properties>
|
|
|
|
</profile>
|
|
|
|
</profiles>
|
|
|
|
|
|
|
|
</project>
|