How to freeze a library
It is possible using the freeze target of the Ant's build.xml file to freeze an existing library located in the capsis4/src directory in order to make a version of this library. A specific name composed of the library's name and a suffix is used to generate in capsis4/ext directory a .jar file encapsulating the new renamed and compiled library. The initial library located in capsis4/src directory can continue to be developed independently of the frozen library.
Notes:
- only works with a library located in capsis4/src;
- it is not possible to correct or add functionalities to a frozen library.
In order to freeze a library, you have to type the following command from the capsis4 directory:
On Linux/macOS:
sh ant freeze -Dlibrary.name=library.package.name -Dsuffix=suffix
On Windows:
ant freeze -Dlibrary.name=library.package.name -Dsuffix=suffix
where library.package.name is the name of the library's package (from capsis4/src directory) and suffix is the suffix you want to add to the library's name.
For example, the following command (on Linux/macOS):
sh ant freeze -Dlibrary.name=capsis.lib.castanea -Dsuffix=2018
will create in the capsis4/ext directory the capsis-lib-castanea2018.jar file containing:
- all directories and files (.java, .properties, …) from the capsis4/src/capsis/lib/castanea directory adapted to the new renamed library (capsis.lib.castanea2018 package);
- the corresponding compiled .class files.
The freeze target can be used before using the redirect target. Indeed, a module located in capsis4/src which depends on a library can be redirected to a frozen library (created with the freeze target) using the redirect target of the Ant's build.xml file (see How to redirect a module to a library).