Permalink
Browse files

Added dependency information

  • Loading branch information...
benfortuna committed Sep 13, 2015
1 parent a04ef6f commit 24db50eb123428d775072c97065af5ed4b43496d
Showing with 50 additions and 30 deletions.
  1. +10 −30 README.md
  2. +40 −0 docs/Dependencies.md
View
@@ -1,8 +1,6 @@
[![Build Status](https://drone.io/github.com/ical4j/ical4j/status.png)](https://drone.io/github.com/ical4j/ical4j/latest) [![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/ical4j/ical4j?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-========================
- iCal4j - Release Notes
-========================
+# iCal4j - Release Notes
- For a concise description of the goals and directions of iCal4j please
take a look at docs/index.html.
@@ -18,21 +16,13 @@
be compatible with prior versions of eclipse.
-=====================
- System Requirements
-=====================
+## Dependencies
- - Java 5 or later
-
- - commons-codec
- - commons-lang3
- - slf4j/jcl-over-slf4j
- - junit (for unit testing only)
+ - Java 6 or later
+See [here](docs/Dependencies.md) for further details.
-=======================
- How to build - Maven2
-=======================
+## How to build - Maven2
After installing Maven2 and adding to your path, you need to modify your local
profiles http://wiki.modularity.net.au/ical4j/index.php?title=Maven2. Then
@@ -46,9 +36,7 @@
are generated in the 'target' directory.
-====================
- How to build - Ant
-====================
+## How to build - Ant
If you have downloaded the source distribution, you should be able to package a JAR
file simply by running ant in the root directory. e.g:
@@ -63,9 +51,7 @@
-=================
- Relaxed Parsing
-=================
+## Relaxed Parsing
iCal4j now has the capability to "relax" its parsing rules to enable parsing of
*.ics files that don't properly conform to the iCalendar specification (RFC2445)
@@ -126,9 +112,7 @@
net.fortuna.ical4j.util.CompatibilityHints.
-======================
- iCal4j and Timezones
-======================
+## iCal4j and Timezones
Supporting timezones in an iCalendar implementation can be a complicated process,
mostly due to the fact that there is not a definitive list of timezone definitions
@@ -159,9 +143,7 @@
on output of the calendar) you will be notified if the changes are invalid.
-============================
- Pre-Java 1.4 Compatibility
-============================
+## Pre-Java 1.4 Compatibility
Choosing Java 1.4 as the minimum required JVM was initially slightly arbitrary, and
probably based on the fact that most people were using 1.4 as a minimum.
@@ -178,9 +160,7 @@
(as these APIs aren't available).
-=================
- Redistribution:
-=================
+## Redistribution:
If you intend to use and distribute iCal4j in your own project please
follow these very simple guidelines:
View
@@ -0,0 +1,40 @@
+# iCal4j Dependencies
+
+In the interests of portability and compatibility with as many environments as possible, the number of dependent
+libraries for iCal4j is kept to a minimum. The following describes the required (and optional) dependencies and the
+functionality they provide.
+
+## slf4j-api [required]
+
+A logging meta-library with integration to different logging framework implementations.
+
+Used in all classes that require logging.
+
+## commons-lang3 [required]
+
+Provides enhancements to the standard Java library, including support for custom `equals()` and `hashcode()`
+implementations.
+
+Used in all classes requiring custom equality implementations.
+
+## commons-collections4 [required]
+
+Provides enhancements to the standard Java collections API, including support for closures.
+
+Used in `net.fortuna.ical4j.validate.Validator` implementations to reduce the duplication of code in validity checks.
+
+## commons-codec [optional]
+
+Provides support for encoding and decoding binary data in text form.
+
+Used in `net.fortuna.ical4j.model.property.Attach`
+
+## groovy-all [optional]
+
+The runtime for the Groovy language. Required for library enhancements such as iCalendar object construction using
+the `net.fortuna.ical4j.model.ContentBuilder` DSL. This library is optional for all non-Groovy features of iCal4j.
+
+## bndlib [optional]
+
+A tool for generating OSGi library metadata and packaging OSGi bundles. This library is not a runtime requirement, and
+is used only to generate version information in the javadoc API documentation.

0 comments on commit 24db50e

Please sign in to comment.