Home
Categories
Dictionary
Download
Project Details
Changes Log
What Links Here
How To
Syntax
FAQ
License

Developing the Library



This article explains how to develop the library.

IDE to build the project

The library is developed using Netbeans. We use for the moment the Netbeans 12.5.

The structure of the Netbeans project contains:
  • A build.xml build file which is the ant file which is used to build the jar files of the project and create the distribution
  • A nbproject directory which is a specific Netbeans directory used to specify the properties of the project
It is possible to use Eclipse to build this project, but you will have to create your own project for Eclipse.

JDK version

Netbeans 12.5 runs on Java 8 and 11. You will need to specify a JDK 8 version at the beginning of the build.xml file. For example:
   <property name="jdk" value="C:\Program Files\Java\jdk1.8.0_152"/>
It will be useful to:
  • Build the jars of the library which depend on JavaFX
  • Produce the javadocs

Library

Several jar files are used as libraries for the project. They are defined in the dependencies article.

These jar files are in the lib directory. Note that two jar files which are present in this directory are produced in this project:

Project roots

The core root generate the main jar file for the project.

Plugins

The project contain the following roots for Plugins:
  • The pdf root generate the PDF plugin
  • The dox root generate the DOCX plugin
  • The epub root generate the Epub plugin
  • The scripts root generate the Scripts plugin

Support libraries

The project contain the following roots for support libraries:
  • The css root generate the jar file which is used to handle CSS content with the PDF and DOCX generators
  • The html root generate a common jar file used to handle Hand-written html articles
  • The math root generate the jar file which is used to handle mathematical formulas
  • The jeuclid root generate the jar file which is used to generate the search content
  • The mapviewer root generate the jar file which is used to show maps

Miscellanous roots

The project also contains the following roots for miscellanous jar files:

Root specific to unit tests

The project contain one root which allows to generate a Java API to use in Unit tests:
  • The testutils root is a Java project used to generate a Java API to use in Unit tests

Ant targets

Main targets

The main targets are:
  • The jar target, used with the Clean and Build Project for Netbeans, is used to generate all the jar files (for all the roots)
  • The javadoc target is used to generate the javadoc for the project

Test targets

  • The javadoc-for-test target is used to generate the javadocs for the testutils root, and put is in the appropriate directory

Generating the wiki

  • The copyjavadoc target is used to copy the javadoc of the project for the generation of the wiki. You must run the javadoc target prior to this target
  • The generateWiki target is used to generate the wiki for the project. You must must run the copyjavadoc target prior to this target
  • The generateTutorial target is used to generate the wikis for the tutorials

Deploy targets

The main targets are:
  • The deploy target is used to deploy the resulting files
  • The zip target is used to produce the zip files

Unit tests


The project contains more than 1000 unit tests. The mdiutil/junit/resource directory contains a properties file which allows to filter which unit tests to execute (by default all unit tests are run).

Categories: development

docJGenerator Copyright (c) 2016-2023 Herve Girod. All rights reserved.