522 lines
20 KiB
XML
522 lines
20 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
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>
|
|
<version>75</version>
|
|
</parent>
|
|
<artifactId>commons-csv</artifactId>
|
|
<version>1.12.0</version>
|
|
<name>Apache Commons CSV</name>
|
|
<url>https://commons.apache.org/proper/commons-csv/</url>
|
|
<inceptionYear>2005</inceptionYear>
|
|
<description>The Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.</description>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest</artifactId>
|
|
<version>3.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>4.11.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
<version>2.17.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-codec</groupId>
|
|
<artifactId>commons-codec</artifactId>
|
|
<version>1.17.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
<version>3.17.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.h2database</groupId>
|
|
<artifactId>h2</artifactId>
|
|
<version>2.2.224</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjdk.jmh</groupId>
|
|
<artifactId>jmh-core</artifactId>
|
|
<version>1.37</version>
|
|
<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>
|
|
<id>ggregory</id>
|
|
<name>Gary Gregory</name>
|
|
<email>ggregory at apache.org</email>
|
|
<url>https://www.garygregory.com</url>
|
|
<organization>The Apache Software Foundation</organization>
|
|
<organizationUrl>https://www.apache.org/</organizationUrl>
|
|
<roles>
|
|
<role>PMC Member</role>
|
|
</roles>
|
|
<timezone>America/New_York</timezone>
|
|
<properties>
|
|
<picUrl>https://people.apache.org/~ggregory/img/garydgregory80.png</picUrl>
|
|
</properties>
|
|
</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>
|
|
<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>
|
|
</scm>
|
|
|
|
<issueManagement>
|
|
<system>jira</system>
|
|
<url>https://issues.apache.org/jira/browse/CSV</url>
|
|
</issueManagement>
|
|
|
|
<ciManagement>
|
|
<system>github</system>
|
|
<url>https://github.com/apache/commons-csv/actions</url>
|
|
</ciManagement>
|
|
|
|
<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>
|
|
<commons.release.version>1.12.0</commons.release.version>
|
|
<commons.release.desc>(Java 8 or above)</commons.release.desc>
|
|
<!-- The RC version used in the staging repository URL. -->
|
|
<commons.rc.version>RC1</commons.rc.version>
|
|
<commons.bc.version>1.11.0</commons.bc.version>
|
|
<commons.release.next>1.12.1</commons.release.next>
|
|
<commons.componentid>csv</commons.componentid>
|
|
<commons.module.name>org.apache.commons.csv</commons.module.name>
|
|
<commons.jira.id>CSV</commons.jira.id>
|
|
<commons.jira.pid>12313222</commons.jira.pid>
|
|
<maven.compiler.source>1.8</maven.compiler.source>
|
|
<maven.compiler.target>1.8</maven.compiler.target>
|
|
<!-- 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.header.file>${basedir}/src/conf/checkstyle/checkstyle-header.txt</checkstyle.header.file>
|
|
<checkstyle.config.file>${basedir}/src/conf/checkstyle/checkstyle.xml</checkstyle.config.file>
|
|
<checkstyle.suppress.file>${basedir}/src/conf/checkstyle/checkstyle-suppressions.xml</checkstyle.suppress.file>
|
|
<checkstyle.resourceExcludes>LICENSE.txt, NOTICE.txt, **/maven-archiver/pom.properties</checkstyle.resourceExcludes>
|
|
<japicmp.skip>false</japicmp.skip>
|
|
<commons.release.isDistModule>true</commons.release.isDistModule>
|
|
<project.build.outputTimestamp>2024-09-21T01:55:30Z</project.build.outputTimestamp>
|
|
<!-- JaCoCo: Don't make code coverage worse than: -->
|
|
<commons.jacoco.haltOnFailure>true</commons.jacoco.haltOnFailure>
|
|
<commons.jacoco.classRatio>1.00</commons.jacoco.classRatio>
|
|
<commons.jacoco.instructionRatio>0.98</commons.jacoco.instructionRatio>
|
|
<commons.jacoco.methodRatio>1.00</commons.jacoco.methodRatio>
|
|
<commons.jacoco.branchRatio>0.97</commons.jacoco.branchRatio>
|
|
<commons.jacoco.lineRatio>0.99</commons.jacoco.lineRatio>
|
|
<commons.jacoco.complexityRatio>0.96</commons.jacoco.complexityRatio>
|
|
</properties>
|
|
<build>
|
|
<defaultGoal>clean verify apache-rat:check japicmp:cmp spotbugs:check pmd:check pmd:cpd-check javadoc:javadoc checkstyle:check</defaultGoal>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>${commons.checkstyle-plugin.version}</version>
|
|
<configuration>
|
|
<configLocation>${checkstyle.config.file}</configLocation>
|
|
<enableRulesSummary>false</enableRulesSummary>
|
|
<suppressionsLocation>${checkstyle.suppress.file}</suppressionsLocation>
|
|
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-pmd-plugin</artifactId>
|
|
<version>${commons.pmd.version}</version>
|
|
<configuration>
|
|
<targetJdk>${maven.compiler.target}</targetJdk>
|
|
<skipEmptyReport>false</skipEmptyReport>
|
|
</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/org/apache/commons/csv/empty.txt</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSV-141/csv-141.csv</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/csv-167/sample1.csv</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSV-198/optd_por_public.csv</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSV-213/999751170.patch.csv</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/bom.csv</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test.csv</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_default.txt</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_default_comment.txt</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_rfc4180.txt</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_rfc4180_trim.txt</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV85.csv</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV85_default.txt</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/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/org/apache/commons/csv/ferc.gov/contract.txt</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/ferc.gov/transaction.txt</exclude>
|
|
<exclude>src/test/resources/**/*.bin</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSV-259/sample.txt</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV246.csv</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV246_checkWithNoComment.txt</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSV-290/psql.csv</exclude>
|
|
<exclude>src/test/resources/org/apache/commons/csv/CSV-290/psql.tsv</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
<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-jar-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<archive combine.children="append">
|
|
<manifestEntries>
|
|
<Automatic-Module-Name>${commons.module.name}</Automatic-Module-Name>
|
|
</manifestEntries>
|
|
</archive>
|
|
</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>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs-maven-plugin</artifactId>
|
|
<configuration>
|
|
<excludeFilterFile>${basedir}/src/site/resources/spotbugs/spotbugs-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>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.rat</groupId>
|
|
<artifactId>apache-rat-plugin</artifactId>
|
|
</plugin>
|
|
|
|
</plugins>
|
|
</build>
|
|
|
|
<reporting>
|
|
<plugins>
|
|
<!-- Keep in sync with build config above -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<!-- We need to specify reportSets because 2.9.1 creates two reports -->
|
|
<reportSets>
|
|
<reportSet>
|
|
<reports>
|
|
<report>checkstyle</report>
|
|
</reports>
|
|
</reportSet>
|
|
</reportSets>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs-maven-plugin</artifactId>
|
|
<configuration>
|
|
<excludeFilterFile>${basedir}/src/site/resources/spotbugs/spotbugs-exclude-filter.xml</excludeFilterFile>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-pmd-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>taglist-maven-plugin</artifactId>
|
|
<version>3.1.0</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>
|
|
<displayName>Notable Markers</displayName>
|
|
<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>
|
|
<plugin>
|
|
<groupId>org.apache.rat</groupId>
|
|
<artifactId>apache-rat-plugin</artifactId>
|
|
</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-generator-annprocess</artifactId>
|
|
<version>1.37</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>5.9</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>net.sf.supercsv</groupId>
|
|
<artifactId>super-csv</artifactId>
|
|
<version>2.4.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!--
|
|
Not in Maven Central, download manually from http://kasparov.skife.org/csv/csv-1.0.jar and install with:
|
|
mkdir C:\Java\skife.org\
|
|
curl https://repo.marketcetera.org/maven/org/skife/kasparov/csv/1.0/csv-1.0.jar -o C:\Java\skife.org\csv-1.0.jar
|
|
mvn install:install-file -Dfile=C:/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>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
<version>3.17.0</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>
|
|
<version>${commons.compiler.version}</version>
|
|
<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>
|
|
</profiles>
|
|
|
|
</project>
|