| <?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/xsd/maven-4.0.0.xsd" |
| > |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>31</version> |
| </parent> |
| |
| |
| <groupId>org.apache.fesod</groupId> |
| <artifactId>fesod-parent</artifactId> |
| <version>${revision}</version> |
| |
| <packaging>pom</packaging> |
| <name>fesod-parent</name> |
| <description> |
| Apache Fesod (Incubating) is a high-performance and memory-efficient Java library for reading and writing Excel files, designed to |
| simplify development and ensure reliability. |
| |
| Apache Fesod (incubating) is an effort undergoing incubation at The Apache |
| Software Foundation (ASF), sponsored by the Apache Incubator PMC. |
| |
| Incubation is required of all newly accepted projects until a further review |
| indicates that the infrastructure, communications, and decision making process |
| have stabilized in a manner consistent with other successful ASF projects. |
| |
| While incubation status is not necessarily a reflection of the completeness |
| or stability of the code, it does indicate that the project has yet to be |
| fully endorsed by the ASF. |
| |
| Some of the incubating project’s releases may not be fully compliant with ASF |
| policy. For example, releases may have incomplete or un-reviewed licensing |
| conditions. What follows is a list of issues the project is currently aware of |
| (this list is likely to be incomplete): |
| |
| 1. IP Clearance and license header updates for legacy code derived from Alibaba |
| EasyExcel are currently in progress. |
| |
| If you are planning to incorporate this work into your product/project,please be |
| aware that you will need to conduct a thorough licensing review to determine the |
| overall implications of including this work. |
| |
| For the current status of this project through the Apache Incubator, |
| visit: https://incubator.apache.org/projects/fesod.html |
| </description> |
| <url>https://github.com/apache/fesod</url> |
| <inceptionYear>2025</inceptionYear> |
| |
| <modules> |
| <module>fesod-bom</module> |
| <module>fesod-common</module> |
| <module>fesod-shaded</module> |
| <module>fesod-examples</module> |
| <module>fesod-sheet</module> |
| </modules> |
| |
| <properties> |
| <revision>2.1.0-SNAPSHOT</revision> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <java.version>1.8</java.version> |
| <maven.compiler.target>1.8</maven.compiler.target> |
| <maven.compiler.source>1.8</maven.compiler.source> |
| <maven-compiler-plugin>3.14.1</maven-compiler-plugin> |
| <maven-surefire-plugin.version>3.5.4</maven-surefire-plugin.version> |
| <maven.javadoc.skip>true</maven.javadoc.skip> |
| <maven.test.skip>true</maven.test.skip> |
| <commons-collections4.version>4.5.0</commons-collections4.version> |
| <commons-csv.version>1.14.1</commons-csv.version> |
| <commons-lang3.version>3.18.0</commons-lang3.version> |
| <poi.version>5.5.1</poi.version> |
| <ehcache.version>3.9.11</ehcache.version> |
| <commons-io.version>2.21.0</commons-io.version> |
| <slf4j-api.version>1.7.36</slf4j-api.version> |
| <lombok.version>1.18.44</lombok.version> |
| <spring-core.version>5.3.39</spring-core.version> |
| <fastjson2.version>2.0.61</fastjson2.version> |
| <spring-boot-starter-web.version>2.7.18</spring-boot-starter-web.version> |
| <slf4j-simple.version>1.7.36</slf4j-simple.version> |
| <jcl-over-slf4j.version>1.7.36</jcl-over-slf4j.version> |
| <log4j-over-slf4j.version>1.7.36</log4j-over-slf4j.version> |
| <log4j-to-slf4j.version>2.24.3</log4j-to-slf4j.version> |
| <logback-classic.version>1.2.13</logback-classic.version> |
| <mockserver.version>5.15.0</mockserver.version> |
| <jacoco.version>0.8.14</jacoco.version> |
| <junit.version>5.13.4</junit.version> |
| <mockito.version>4.11.0</mockito.version> |
| <jazzer.junit.version>0.25.1</jazzer.junit.version> |
| <surefire.jvm.args>-Xmx2g -Xms2g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8</surefire.jvm.args> |
| <surefire.jdk9plus.args></surefire.jdk9plus.args> |
| <argLine></argLine> |
| </properties> |
| |
| <scm> |
| <connection>scm:git:git://github.com/apache/fesod.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/fesod.git</developerConnection> |
| <url>scm:git:git@github.com:apache/fesod.git</url> |
| <tag>HEAD</tag> |
| </scm> |
| |
| <organization> |
| <name>Apache Software Foundation</name> |
| <url>https://www.apache.org</url> |
| </organization> |
| |
| <issueManagement> |
| <system>GitHub</system> |
| <url>https://github.com/apache/fesod/issues</url> |
| </issueManagement> |
| |
| <mailingLists> |
| <mailingList> |
| <name>Fesod Developer List</name> |
| <post>dev@fesod.apache.org</post> |
| <subscribe>dev-subscribe@fesod.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@fesod.apache.org</unsubscribe> |
| </mailingList> |
| <mailingList> |
| <name>Fesod Commits List</name> |
| <subscribe>commits-subscribe@fesod.apache.org</subscribe> |
| <unsubscribe>commits-unsubscribe@fesod.apache.org</unsubscribe> |
| <post>commits@fesod.apache.org</post> |
| </mailingList> |
| </mailingLists> |
| |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0</url> |
| </license> |
| </licenses> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-collections4</artifactId> |
| <version>${commons-collections4.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-csv</artifactId> |
| <version>${commons-csv.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>${commons-lang3.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.poi</groupId> |
| <artifactId>poi</artifactId> |
| <version>${poi.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.poi</groupId> |
| <artifactId>poi-ooxml</artifactId> |
| <version>${poi.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ehcache</groupId> |
| <artifactId>ehcache</artifactId> |
| <version>${ehcache.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>${commons-io.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j-api.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <version>${lombok.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-core</artifactId> |
| <version>${spring-core.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.alibaba.fastjson2</groupId> |
| <artifactId>fastjson2</artifactId> |
| <version>${fastjson2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| <version>${jcl-over-slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>log4j-over-slf4j</artifactId> |
| <version>${log4j-over-slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-to-slf4j</artifactId> |
| <version>${log4j-to-slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>${logback-classic.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-web</artifactId> |
| <version>${spring-boot-starter-web.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-test</artifactId> |
| <version>${spring-boot-starter-web.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mock-server</groupId> |
| <artifactId>mockserver-netty</artifactId> |
| <version>${mockserver.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>${mockito.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-junit-jupiter</artifactId> |
| <version>${mockito.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.code-intelligence</groupId> |
| <artifactId>jazzer-junit</artifactId> |
| <version>${jazzer.junit.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-engine</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-params</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.junit.platform</groupId> |
| <artifactId>junit-platform-launcher</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.junit.platform</groupId> |
| <artifactId>junit-platform-commons</artifactId> |
| </exclusion> |
| </exclusions> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <!-- test --> |
| <dependency> |
| <groupId>com.alibaba.fastjson2</groupId> |
| <artifactId>fastjson2</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-junit-jupiter</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>log4j-over-slf4j</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-to-slf4j</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mock-server</groupId> |
| <artifactId>mockserver-netty</artifactId> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.code-intelligence</groupId> |
| <artifactId>jazzer-junit</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok-maven-plugin</artifactId> |
| <version>1.18.20.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${maven-surefire-plugin.version}</version> |
| <configuration> |
| <argLine> |
| ${surefire.jvm.args} ${surefire.jdk9plus.args} ${argLine} |
| </argLine> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.6.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>flatten-maven-plugin</artifactId> |
| <version>1.2.7</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>versions-maven-plugin</artifactId> |
| <version>2.21.0</version> |
| </plugin> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <version>2.46.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>${jacoco.version}</version> |
| <executions> |
| <!-- enable JaCoCo Agent --> |
| <execution> |
| <id>prepare-agent</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <!-- generate module report --> |
| <execution> |
| <id>generate-report</id> |
| <phase>test</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| </execution> |
| <!-- generate aggregate report --> |
| <execution> |
| <id>generate-aggregate-report</id> |
| <phase>test</phase> |
| <goals> |
| <goal>report-aggregate</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <version>${lombok.version}</version> |
| </path> |
| </annotationProcessorPaths> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>delombok</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>flatten-maven-plugin</artifactId> |
| <configuration> |
| <updatePomFile>true</updatePomFile> |
| <flattenMode>oss</flattenMode> |
| <pomElements> |
| <url>remove</url> |
| <scm>remove</scm> |
| <distributionManagement>remove</distributionManagement> |
| <repositories>remove</repositories> |
| </pomElements> |
| </configuration> |
| <executions> |
| <execution> |
| <id>flatten.process-resources</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>flatten</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>flatten</id> |
| <phase>package</phase> |
| <goals> |
| <goal>flatten</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>flatten.clean</id> |
| <phase>clean</phase> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>versions-maven-plugin</artifactId> |
| <configuration> |
| <generateBackupPoms>false</generateBackupPoms> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <configuration> |
| <java> |
| <palantirJavaFormat> |
| <version>2.72.0</version> |
| </palantirJavaFormat> |
| <!-- static imports first, then others, no blank lines --> |
| <importOrder> |
| <order>\#|</order> |
| </importOrder> |
| <removeUnusedImports/> |
| <trimTrailingWhitespace/> |
| <endWithNewline/> |
| <indent> |
| <spaces>true</spaces> |
| <spacesPerTab>4</spacesPerTab> |
| </indent> |
| </java> |
| <pom> |
| <trimTrailingWhitespace/> |
| <endWithNewline/> |
| <indent> |
| <spaces>true</spaces> |
| <spacesPerTab>4</spacesPerTab> |
| </indent> |
| </pom> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>website/**</exclude> |
| <exclude>logo.svg</exclude> |
| <exclude>**/*.md</exclude> |
| <exclude>dist/**</exclude> |
| <exclude>**/*.xlsx</exclude> |
| <exclude>**/*.xls</exclude> |
| <exclude>**/*.csv</exclude> |
| <exclude>.git/**</exclude> |
| <exclude>.github/**</exclude> |
| <exclude>**/target/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <profile> |
| <id>jdk9plus</id> |
| <activation> |
| <jdk>[9,)</jdk> |
| </activation> |
| <properties> |
| <surefire.jdk9plus.args> |
| --add-opens=java.base/java.lang=ALL-UNNAMED |
| --add-opens=java.base/java.util=ALL-UNNAMED |
| --add-opens=java.base/sun.reflect.annotation=ALL-UNNAMED |
| </surefire.jdk9plus.args> |
| </properties> |
| </profile> |
| <profile> |
| <id>jdk8</id> |
| <activation> |
| <jdk>1.8</jdk> |
| </activation> |
| <properties> |
| <surefireArgLine>-Dfile.encoding=UTF-8</surefireArgLine> |
| </properties> |
| </profile> |
| </profiles> |
| </project> |