diff --git a/build.xml b/build.xml index 7bc888f38..51f2b5bd5 100644 --- a/build.xml +++ b/build.xml @@ -27,6 +27,7 @@ under the License. Rainer Klute klute@rainer-klute.de Bruno Girin brunogirin@gmail.com + Yegor Kozlov yegor at apache.org This build was tested with ant 1.6.2 although it will probably work with other versions. The following jar files should be available on the @@ -36,9 +37,6 @@ under the License. ======= ======== junit(3.8+) http://www.junit.org - The ant jar "optional.jar" should also be available otherwise the - build will fail. - To build the documentation you will need to install forrest and set the FORREST_HOME environment variable. Forrest 0.5.1 required. @@ -48,160 +46,184 @@ under the License. happens to you, try giving Ant some more memory when you run it, eg: ANT_OPTS="-Xmx1024m -XX:MaxPermSize=256m" ant test - - TO BE COMPLETED: - - Convert book.xml files to a sitemap. - --> - The Apache POI project Ant build. + The Apache POI project Ant build. - + - - + + + - - - - - - - - - - - + + + - - - - - - + + + + - + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + - - - + + + - - - + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - + + - - + + + + + + + + + + + + + + + + - - - - + + + - - - - - - + + + - - - - + + + + + + + - - - + + + + + + + + + + + + + + @@ -212,80 +234,65 @@ under the License. - - - - - - Execute "ant -projecthelp" to view a listing of the main build - targets. - - Execute "ant help-properties" to view a listing of some properties - controlling the build process. - - + + + + - Execute "ant -projecthelp" to view a listing of the main build + targets. + - Execute "ant help-properties" to view a listing of some properties + controlling the build process. + + + + + The following properties control the build process: - - - The following properties control the build process: + -Ddisconnected="true": Do not execute any targets that require an online + connection to the Internet. + -Dtestcase=org.apache.poi.xxx.xxx : for the single-test target, specify + the test to run + -Dfilename=xxxx.xls : for the command line task targets, specify the + file to run against - -Ddisconnected="true": Do not execute any targets that require an online - connection to the Internet. - -Dtestcase=org.apache.poi.xxx.xxx : for the single-test target, specify - the test to run - -Dfilename=xxxx.xls : for the command line task targets, specify the - file to run against + WARNING: This list is not exhaustive. + + - WARNING: This list is not exhaustive. - - + + + - - - - - - - - - - - - - - + + + + + + - - - + - - - - - - - - - + + - + @@ -302,18 +309,19 @@ under the License. + description="Fetches needed JAR files from the Internet"> + - - + + - - + + - - + + @@ -331,25 +339,26 @@ under the License. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + @@ -358,17 +367,17 @@ under the License. - + + description="Fetches needed OOXML xsd files from the Internet"> - - - - - - - + + + + + + + @@ -377,307 +386,206 @@ under the License. - - - + + + + - - - - - + - - - + + + + + - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + @@ -696,22 +604,13 @@ under the License. - - - - - - - - - - - - - - + + + + - @@ -727,27 +626,6 @@ under the License. - - - - - - - - - - - - - - - - - - - - - @@ -755,20 +633,18 @@ under the License. - - + + - - - - + - @@ -791,22 +667,26 @@ under the License. + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + @@ -815,19 +695,20 @@ under the License. - - - - - - - - - - - + + + + + + + + + + + + @@ -836,34 +717,26 @@ under the License. Please install Apache Forrest (see -<http://forrest.apache.org/index.html>) and set the -FORREST_HOME environment variable! + <http://forrest.apache.org/index.html>) and set the + FORREST_HOME environment variable! + - - - - - - + unless="main.docs.notRequired" description="Builds the POI website"> - - - - - - - + + + + + file="${build.site.src}/src/documentation/content/xdocs/status.xml" + tofile="${build.site.src}/status.xml"/> - + @@ -875,322 +748,328 @@ FORREST_HOME environment variable! + + + - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + - - - - - - - - - POI API Documentation]]> - - Copyright ${tstamp.year} The Apache Software Foundation or + POI API Documentation]]> + + Copyright ${tstamp.year} The Apache Software Foundation or its licensors, as applicable.]]> - - - DDF - Dreadful Drawing Format - - - - HPSF - Horrible Property Set Format - - - - HSSF - Horrible Spreadsheet Format - - - - HWPF - Horrible Word Processor Format - - - - POIFS - POI File System - - - - Utilities - - - - Examples - - - - + + + DDF - Dreadful Drawing Format + + + + HPSF - Horrible Property Set Format + + + + HSSF - Horrible Spreadsheet Format + + + + HWPF - Horrible Word Processor Format + + + + POIFS - POI File System + + + + Utilities + + + + Examples + + + + - + - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - Creating Maven POMs - - - Distribution located in build/dist - - - - - - - + + + + + + + + + + + + + + + + + + + + + + Creating Maven POMs + - - + Generating MD5 Checksums - - - + + + + + Distribution located in build/dist + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jdepend.xsl b/jdepend.xsl deleted file mode 100644 index 4fd00012b..000000000 --- a/jdepend.xsl +++ /dev/null @@ -1,278 +0,0 @@ - - - - - - - - - - - JDepend Analysis - - - - - - - - -

JDepend Analysis

-

Designed for use with JDepend and Ant.

-
- -
-

Summary

-
- [summary] - [packages] - [cycles] - [explanations] -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageTotal ClassesAbstract ClassesConcrete ClassesAfferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
- - #PK - - - -
- -
- -
-

Packages

-
- [summary] - [packages] - [cycles] - [explanations] -
- - - -

PK -

- - - - - - - -
Afferent Couplings: Efferent Couplings: Abstractness: Instability: Distance:
- - - - - - - - - - - - - - -
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
- - None - - -
-
-
- - None - - -
-
-
- - None - - - - #PK - -
-
-
- - None - - - - #PK - -
-
-
-
-
- -
-

Cycles

-
- [summary] - [packages] - [cycles] - [explanations] -
- - -

There are no cyclic dependancies.

-
- -

- -
-

-
- -
-

Explanations

-
- [summary] - [packages] - [cycles] - [explanations] -
- -

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

- -

Number of Classes

-

The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.

-

Afferent Couplings

-

The number of other packages that depend upon classes within the package is an indicator of the package's responsibility.

-

Efferent Couplings

-

The number of other packages that the classes in the package depend upon is an indicator of the package's independence.

-

Abstractness

-

The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package.

-

The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.

-

Instability

-

The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change.

-

The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package.

-

Distance

-

The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability.

-

A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0).

-

The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible.

- - - -
- -
diff --git a/maven/mvn-deploy.sh b/maven/mvn-deploy.sh index e228addf0..84a509e48 100755 --- a/maven/mvn-deploy.sh +++ b/maven/mvn-deploy.sh @@ -47,19 +47,33 @@ mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ -Durl=$M2_REPOSITORY \ -Dfile=poi-@VERSION@-@DSTAMP@.jar -DpomFile=poi-@VERSION@.pom scp poi-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi/@VERSION@/ +scp poi-@VERSION@-sources.* $M2_SCP/org/apache/poi/poi/@VERSION@/ mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ -Durl=$M2_REPOSITORY \ -Dfile=poi-scratchpad-@VERSION@-@DSTAMP@.jar -DpomFile=poi-scratchpad-@VERSION@.pom scp poi-scratchpad-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi-scratchpad/@VERSION@/ +scp poi-scratchpad-@VERSION@-sources.* $M2_SCP/org/apache/poi/poi-scratchpad/@VERSION@/ mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ -Durl=$M2_REPOSITORY \ -Dfile=poi-contrib-@VERSION@-@DSTAMP@.jar -DpomFile=poi-contrib-@VERSION@.pom scp poi-contrib-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi-contrib/@VERSION@/ +scp poi-contrib-@VERSION@-sources.* $M2_SCP/org/apache/poi/poi-contrib/@VERSION@/ mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ -Durl=$M2_REPOSITORY \ -Dfile=poi-ooxml-@VERSION@-@DSTAMP@.jar -DpomFile=poi-ooxml-@VERSION@.pom scp poi-ooxml-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi-ooxml/@VERSION@/ +scp poi-ooxml-@VERSION@-sources.* $M2_SCP/org/apache/poi/poi-ooxml/@VERSION@/ + +mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ + -Durl=$M2_REPOSITORY \ + -Dfile=poi-ooxml-schemas-@VERSION@-@DSTAMP@.jar -DpomFile=poi-ooxml-schemas-@VERSION@.pom +scp poi-ooxml-schemas-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi-ooxml-schemas/@VERSION@/ + +mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ + -Durl=$M2_REPOSITORY \ + -Dfile=poi-examples-@VERSION@-@DSTAMP@.jar -DpomFile=poi-examples-@VERSION@.pom +scp poi-examples-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi-examples/@VERSION@/ diff --git a/maven/poi-examples.pom b/maven/poi-examples.pom new file mode 100644 index 000000000..249f2500f --- /dev/null +++ b/maven/poi-examples.pom @@ -0,0 +1,78 @@ + + + + + + 4.0.0 + org.apache.poi + poi-examples + @VERSION@ + jar + Apache POI + http://poi.apache.org/ + Apache POI Examples + + + + POI Users List + user-subscribe@poi.apache.org + user-unsubscribe@poi.apache.org + http://mail-archives.apache.org/mod_mbox/poi-user/ + + + POI Developer List + dev-subscribe@poi.apache.org + dev-unsubscribe@poi.apache.org + http://mail-archives.apache.org/mod_mbox/poi-dev/ + + + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + Apache Software Foundation + http://www.apache.org/ + + + + + org.apache.poi + poi + @VERSION@ + + + org.apache.poi + poi-scratchpad + @VERSION@ + + + org.apache.poi + poi-ooxml + @VERSION@ + + + diff --git a/maven/poi-ooxml-schemas.pom b/maven/poi-ooxml-schemas.pom new file mode 100755 index 000000000..361fe64f3 --- /dev/null +++ b/maven/poi-ooxml-schemas.pom @@ -0,0 +1,68 @@ + + + + + + 4.0.0 + org.apache.poi + poi-ooxml-schemas + @VERSION@ + jar + Apache POI + http://poi.apache.org/ + Apache POI - Java API To Access Microsoft Format Files + + + + POI Users List + user-subscribe@poi.apache.org + user-unsubscribe@poi.apache.org + http://mail-archives.apache.org/mod_mbox/poi-user/ + + + POI Developer List + dev-subscribe@poi.apache.org + dev-unsubscribe@poi.apache.org + http://mail-archives.apache.org/mod_mbox/poi-dev/ + + + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + Apache Software Foundation + http://www.apache.org/ + + + + + org.apache.xmlbeans + xmlbeans + 2.3.0 + + + diff --git a/maven/poi-ooxml.pom b/maven/poi-ooxml.pom index 52c1583df..3f32c8cab 100644 --- a/maven/poi-ooxml.pom +++ b/maven/poi-ooxml.pom @@ -66,8 +66,8 @@ org.apache.poi - ooxml-schemas - 1.0 + poi-ooxml-schemas + @VERSION@ dom4j diff --git a/src/documentation/content/xdocs/howtobuild.xml b/src/documentation/content/xdocs/howtobuild.xml index 27a5e9e21..83bde6d9e 100644 --- a/src/documentation/content/xdocs/howtobuild.xml +++ b/src/documentation/content/xdocs/howtobuild.xml @@ -95,19 +95,23 @@ test - Run all unit tests from main, contrib and scratchpad (Requires JUnit) + Run all unit tests from main, ooxml, contrib and scratchpad jar Produce jar files + + assemble + Produce .zip and tar.gz distribution packages + docs Generate all documentation (Requires Apache Forrest) dist - Create a distribution (Requires JUnit and Apache Forrest) + Create a distribution (Apache Forrest) diff --git a/src/scratchpad/examples/src/org/apache/poi/hslf/examples/ApacheconEU08.java b/src/examples/src/org/apache/poi/hslf/examples/ApacheconEU08.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hslf/examples/ApacheconEU08.java rename to src/examples/src/org/apache/poi/hslf/examples/ApacheconEU08.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hslf/examples/BulletsDemo.java b/src/examples/src/org/apache/poi/hslf/examples/BulletsDemo.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hslf/examples/BulletsDemo.java rename to src/examples/src/org/apache/poi/hslf/examples/BulletsDemo.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hslf/examples/CreateHyperlink.java b/src/examples/src/org/apache/poi/hslf/examples/CreateHyperlink.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hslf/examples/CreateHyperlink.java rename to src/examples/src/org/apache/poi/hslf/examples/CreateHyperlink.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hslf/examples/DataExtraction.java b/src/examples/src/org/apache/poi/hslf/examples/DataExtraction.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hslf/examples/DataExtraction.java rename to src/examples/src/org/apache/poi/hslf/examples/DataExtraction.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hslf/examples/Graphics2DDemo.java b/src/examples/src/org/apache/poi/hslf/examples/Graphics2DDemo.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hslf/examples/Graphics2DDemo.java rename to src/examples/src/org/apache/poi/hslf/examples/Graphics2DDemo.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hslf/examples/HeadersFootersDemo.java b/src/examples/src/org/apache/poi/hslf/examples/HeadersFootersDemo.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hslf/examples/HeadersFootersDemo.java rename to src/examples/src/org/apache/poi/hslf/examples/HeadersFootersDemo.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hslf/examples/Hyperlinks.java b/src/examples/src/org/apache/poi/hslf/examples/Hyperlinks.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hslf/examples/Hyperlinks.java rename to src/examples/src/org/apache/poi/hslf/examples/Hyperlinks.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hslf/examples/PPT2PNG.java b/src/examples/src/org/apache/poi/hslf/examples/PPT2PNG.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hslf/examples/PPT2PNG.java rename to src/examples/src/org/apache/poi/hslf/examples/PPT2PNG.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hslf/examples/SoundFinder.java b/src/examples/src/org/apache/poi/hslf/examples/SoundFinder.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hslf/examples/SoundFinder.java rename to src/examples/src/org/apache/poi/hslf/examples/SoundFinder.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hslf/examples/TableDemo.java b/src/examples/src/org/apache/poi/hslf/examples/TableDemo.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hslf/examples/TableDemo.java rename to src/examples/src/org/apache/poi/hslf/examples/TableDemo.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hsmf/examples/Msg2txt.java b/src/examples/src/org/apache/poi/hsmf/examples/Msg2txt.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hsmf/examples/Msg2txt.java rename to src/examples/src/org/apache/poi/hsmf/examples/Msg2txt.java diff --git a/src/scratchpad/examples/src/org/apache/poi/hwpf/Word2Forrest.java b/src/examples/src/org/apache/poi/hwpf/Word2Forrest.java similarity index 100% rename from src/scratchpad/examples/src/org/apache/poi/hwpf/Word2Forrest.java rename to src/examples/src/org/apache/poi/hwpf/Word2Forrest.java diff --git a/src/ooxml/java/org/apache/poi/util/OOXMLLite.java b/src/ooxml/java/org/apache/poi/util/OOXMLLite.java index 881f5085b..e533373ba 100755 --- a/src/ooxml/java/org/apache/poi/util/OOXMLLite.java +++ b/src/ooxml/java/org/apache/poi/util/OOXMLLite.java @@ -82,7 +82,7 @@ public final class OOXMLLite { List lst = new ArrayList(); //collect unit tests - System.out.println("Collecting unit tests"); + System.out.println("Collecting unit tests from " + _testDir); collectTests(_testDir, _testDir, lst, ".+?\\.Test.+?\\.class$"); TestSuite suite = new TestSuite(); @@ -100,11 +100,10 @@ public final class OOXMLLite { } //run tests - System.out.println("Running tests"); TestRunner.run(suite); //see what classes from the ooxml-schemas.jar are loaded - System.out.println("Copying classes"); + System.out.println("Copying classes to " + _destDest); Map> classes = getLoadedClasses(_ooxmlJar.getName()); for (Class cls : classes.values()) { String className = cls.getName(); diff --git a/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java b/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java index 421b979e3..7ef1f002c 100644 --- a/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java +++ b/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java @@ -26,9 +26,7 @@ import org.apache.poi.POIDataSamples; import org.apache.poi.hdgf.extractor.VisioTextExtractor; import org.apache.poi.hslf.extractor.PowerPointExtractor; import org.apache.poi.hssf.extractor.ExcelExtractor; -import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hwpf.extractor.WordExtractor; -import org.apache.poi.hwpf.HWPFTestDataSamples; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.xslf.extractor.XSLFPowerPointExtractor; import org.apache.poi.xssf.extractor.XSSFExcelExtractor; diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/XWPFTestDataSamples.java b/src/ooxml/testcases/org/apache/poi/xwpf/XWPFTestDataSamples.java index 945ffebe6..ac382ab82 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/XWPFTestDataSamples.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/XWPFTestDataSamples.java @@ -17,7 +17,6 @@ package org.apache.poi.xwpf; import org.apache.poi.xwpf.usermodel.XWPFDocument; -import org.apache.poi.hwpf.HWPFTestDataSamples; import org.apache.poi.POIDataSamples; import java.io.*; diff --git a/src/scratchpad/src/org/apache/poi/hslf/data/empty.ppt b/src/resources/scratchpad/org/apache/poi/hslf/data/empty.ppt similarity index 100% rename from src/scratchpad/src/org/apache/poi/hslf/data/empty.ppt rename to src/resources/scratchpad/org/apache/poi/hslf/data/empty.ppt diff --git a/src/scratchpad/src/Manifest.mf b/src/scratchpad/src/Manifest.mf deleted file mode 100644 index 348f1bdd3..000000000 --- a/src/scratchpad/src/Manifest.mf +++ /dev/null @@ -1 +0,0 @@ -Manifest-Version: 1.0 \ No newline at end of file