Read a description of the Pull Reports™ JAR and how to use IVY or Maven dependency management with Pull Reports™.
Pull Reports™ is distributed as a JAR file from the Pull Reports™ Maven
repository. Downloading the JAR constitutes acceptance of the
Pull Reports™ end user license agreement.
The downloaded JAR is named pullreports-x.y.z.jar
where x
,
y
, and z
correspond to the product major, minor, and patch version numbers respectively.
Once downloaded, the JAR may be used for
Community (free) or Standard (paid) edition license deployments.
Component | Description |
---|---|
META-INF/PullReportsEULA.pdf | The Pull Reports end user license agreement. Please read carefully. Also available online |
META-INF/pullreports-catalog-1.7.0.xsd | The XML schema definition for Pull Reports™ XML Catalog files. Use to validate Pull Reports™ XML Catalog files. Also available online |
META-INF/maven/com.pullreports/pullreports/pom.xml | The Maven POM file of required Pull Reports™ runtime dependencies. |
com.pullreports.web.PullReportsContextListener | ServletContextListener
which reads Pull Reports™ configuration properties
and initializes Pull Reports™. |
com.pullreports.web.PullReportsServlet | HttpServlet
which serves all Pull Reports™ resources. Mapped to URL pattern /pullreports/* . |
Within the
|
CSS and JavaScript assets to support the Pull Reports™ Report Creator. Available at the following URL pattern relative to the context path of the WAR: /[context]/assets/[filename] For instance: /[context]/assets/pullreports.min.js |
A Java 11 JVM.
A Servlet Container which implements Servlet Specification 6.0 or higher (e.g. Tomcat 10.1).
A relational database which supports 2008 ANSI SQL.
H2 1.4
MySQL 5.7, 8
Oracle 12.1, 18c
PostgreSQL 9.4, 9.6
SQLServer 2016, 2017, 2022
The most common database variability effecting
Pull Reports™ is the implementation of
limit
and offset
within SQL written by the Export Report REST API. By default, Pull Reports™
uses the ANSI standard
offset [offset] rows fetch first [limit] rows only
syntax
but also implements pluggable SQL dialects for databases which
do not support this syntax.
Pull Reports™ recommends using dependency management software when installing Pull Reports™ into an existing JEE web application. Dependency management software such as Gradle, IVY, or Maven ensures that JARs and their transitive dependencies are automatically resolved, downloaded, and installed.
When using dependency management software with Pull Reports™, there are two general techniques for resolving JAR file dependencies: an enterprise repository and project-local JARs.
An enterprise repository is a common file or network location into which common code artifacts are installed. Pull Reports™ hosts a Maven 2 enterprise repository at:
https://repo2.pullreports.com/maven2
Using the Pull Reports™ enterprise repository is the recommended way to install Pull Reports™ and its transitive JAR dependencies because the repository is the most up-to-date and secure authority for Pull Reports™ releases.
Downloading a Pull Reports™ JAR from the repository constitutes acceptance of the Pull Reports™ end user license agreement.
Add this configuration to the Gradle build.gradle
file:
repositories { maven { url "https://repo2.pullreports.com/maven2" content { includeGroupByRegex "com\\.pullreports.*" } } }
Then declare a dependency on the desired release of Pull Reports™:
dependencies { implementation 'com.pullreports:pullreports:3.0.0' }
Add this configuration to the Maven pom.xml
file:
<distributionManagement> <repository> <id>maven.pullreports.repo</id> <url>https://repo2.pullreports.com/maven2</url> </repository> </distributionManagement>
Then declare a dependency on the desired release of Pull Reports™:
<dependencies> <dependency> <groupId>com.pullreports</groupId> <artifactId>pullreports</artifactId> <version>3.0.0</version> </dependency> </dependencies>
For projects which choose to not use dependency management software, the Pull Reports™ JAR and all
of its transitive, runtime dependencies may be installed within an application's project directly.
When using project-local dependency management, know that the project must manage
JAR version conflicts (e.g. two versions of the same JAR) and transitive, runtime dependencies itself.
Additionally, since transitive, runtime JAR dependencies may change between Pull Reports™ versions,
review each JAR within the
Pull Reports™ JAR's META-INF/maven/com.pullreports/pullreports/pom.xml
file with each Pull Reports™ upgrade.
To establish project-local dependency management, download the Pull Reports™ JAR and all transitive, runtime
dependency JARs into a project directory such as lib
. The application build must
then include these JARs within the application's classpath.
The following build.gradle
demonstrates a project-local Pull Reports™ dependency assuming the Pull Reports™ JAR and
all transitive, runtime dependency JARs are within the project's lib
directory.
dependencies { runtimeOnly fileTree(dir: 'lib', include: '*.jar') }