View Source

h4. Overview

Maven can be used to build the ICEpdf core, viewer and example modules. This build does not build the distribution package, the [Gradle | Gradle Build] build can be used for this if desired. The reactor build order of the maven project looks as follows:

h4. Building Modules
{code}
-------------------------------------------------------
Reactor Build Order:

ICEpdf OS :: Core :: Core Swing/AWT
ICEpdf OS :: Core
ICEpdf OS :: Viewer : Swing/AWT Viewer RI
ICEpdf OS :: Viewer
ICEpdf OS :: Examples :: Annotation :: Callback
ICEpdf OS :: Examples :: Annotation :: Creation
ICEpdf OS :: Examples :: Annotation
ICEpdf OS :: Examples :: Capture :: Listener
ICEpdf OS :: Examples :: Capture :: PNG
ICEpdf OS :: Examples :: Capture :: Portfolio
ICEpdf OS :: Examples :: Capture :: TIFF
ICEpdf OS :: Examples :: Capture :: Watermark
ICEpdf OS :: Examples :: Capture
ICEpdf OS :: Examples :: Component Swing/AWT
ICEpdf OS :: Examples :: Extraction :: Images
ICEpdf OS :: Examples :: Extraction :: Metadata
ICEpdf OS :: Examples :: Extraction :: Text
ICEpdf OS :: Examples :: Extraction
ICEpdf OS :: Examples :: JavaFx
ICEpdf OS :: Examples :: Loading Events
ICEpdf OS :: Examples :: Print Services
ICEpdf OS :: Examples :: Search :: Highlight
ICEpdf OS :: Examples :: Search :: Headless
ICEpdf OS :: Examples :: Search
ICEpdf OS :: Examples :: Signatures
ICEpdf OS :: Examples :: SVG Capture
ICEpdf OS :: Examples
ICEpdf OS
{code}

From the reactor summary above it can be see then the three main modules are core, viewer and examples. Each can be build individually if desired.
{code}
# core module
~$ mvn -pl :icepdf-core package

# viewer module, -am insures dependencies are build
~$ mvn -pl :icepdf-viewer -am package

# examples module, -am insures dependencies are build
~$ mvn -pl :png-capture -am package
# or with full group id.
~$ mvn -pl org.icepdf.os.examples:png-capture -am package
{code}

And of course the whole project hierarchy can be built with:
{code}
# or with full group id.
~$ mvn package
{code}

h4. Versioning and Publishing

When working with ICEpdf source it common to install compiled core and viewer jars into a local repository. The maven command for install is a as follows:
{code}
# Install icepdf-core.jar in local repository
~$ mvn -pl :icepdf-core install
# Install icepdf-viwer.jar in local repository
~$ mvn -pl :icepdf-viewer install
{code}

Version information is store in the root projects pom.xml and can be updated as needed before installing the jars into a local repository