commons-csv/pom.xml

510 lines
18 KiB
XML

<?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>
<version>42</version>
</parent>
<artifactId>commons-csv</artifactId>
<version>1.5-SNAPSHOT</version>
<name>Apache Commons CSV</name>
<url>http://commons.apache.org/proper/commons-csv/</url>
<description>
The Apache Commons CSV library provides a simple interface for reading and writing
CSV files of various types.
</description>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.196</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>
<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>
<connection>scm:git:http://git-wip-us.apache.org/repos/asf/commons-csv.git</connection>
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/commons-csv.git</developerConnection>
<url>https://git-wip-us.apache.org/repos/asf?p=commons-csv.git</url>
</scm>
<issueManagement>
<system>jira</system>
<url>http://issues.apache.org/jira/browse/CSV</url>
</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>
<commons.release.version>1.5</commons.release.version>
<commons.release.desc>(Java 7+)</commons.release.desc>
<!-- The RC version used in the staging repository URL. -->
<commons.rc.version>RC1</commons.rc.version>
<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.7</maven.compiler.source>
<maven.compiler.target>1.7</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.version>2.17</checkstyle.version>
<checkstyle.header.file>${basedir}/LICENSE-header.txt</checkstyle.header.file>
<checkstyle.resourceExcludes>LICENSE.txt, NOTICE.txt</checkstyle.resourceExcludes>
</properties>
<build>
<defaultGoal>clean verify apache-rat:check clirr:check javadoc:javadoc</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<version>1.1</version>
<configuration>
<ignorePathsToDelete>
<ignorePathToDelete>archives/**</ignorePathToDelete>
</ignorePathsToDelete>
</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-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>
</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>
<version>${commons.rat.version}</version>
<!-- 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>
</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>
</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>
<version>3.8</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.4</version>
</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>
<displayName>Noteable 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>
<!--
NOTE: this requires Maven 3.0.x; when used with Maven 2.2.1, the following error is seen:
Embedded error: Error rendering Maven report: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory
-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>javancss-maven-plugin</artifactId>
<version>2.1</version>
</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/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>
</excludes>
</configuration>
</plugin>
</plugins>
</reporting>
<profiles>
<profile>
<id>setup-checkout</id>
<activation>
<file>
<missing>site-content</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>prepare-checkout</id>
<phase>pre-site</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<exec executable="svn">
<arg line="checkout --depth immediates ${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory}" />
</exec>
<exec executable="svn">
<arg line="update --set-depth exclude ${commons.scmPubCheckoutDirectory}/javadocs" />
</exec>
<pathconvert pathsep=" " property="dirs">
<dirset dir="${commons.scmPubCheckoutDirectory}" includes="*" />
</pathconvert>
<exec executable="svn">
<arg line="update --set-depth infinity ${dirs}" />
</exec>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- 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>
</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>
<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>