Basic Customization > Windchill Customization Basics > Managing Customizations > Best Practices for Customizing Files Supplied by PTC > Managing Client JAR Files > Using the Client JAR Architecture > Updating Client JARs At Maintenance Releases
  
Updating Client JARs At Maintenance Releases
Because of the inclusion of DSU JARs in the logical JARs, clients only have to download resources that were added or changed as part of the maintenance release (plus new root head jars), not the entire set of client JARs.
The process of rebuilding the client JARs at a maintenance release has been automated via the following command (note that this command rebuilds Customization JARs when necessitated by new or updated DSU JARs):
ant -f MakeJar.xml dsuUpdate
This command executes the following targets:
createCodebaseDsuBOM: Takes entries in codebase/../*_bom.txt BOM files which are in codebase and places them in jarContents/DSU.bom, but written relative to codebase (i.e. it removes "codebase/" from each entry).
updateDSUIncludes: Intersects each FCS .includes file with jarContents/DSU.bom and adds the intersection to the corresponding DSU .includes file.
updateCustIncludes: Intersects each FCS .includes and DSU .includes file pair with jarContents/Cust.bom and adds the intersection to the corresponding Customization .includes file
expandJarLocales: For resource bundles represented by _en localization in DSU and FCS .includes, places other localizations requested in jarContents/clientJarLocales into Customization .includes
removeNonexistantDsuAndCustEntries: Removes any entries from the Customization and DSU .includes files which are not found in codebase.
buildDSUClientJars: Rebuilds all DSU and Customization jar components. Also builds all indexed head jars which are parents (directly or indirectly) of these jars.
The only steps omitted by dsuUpdate for the Foundation resources and jars are:
The addition of any new DSU jar entries required for reasons other than being in the intersection of the DSU BOM and FCS jar contents (e.g. previously missed entries, new classes, etc).
The inclusion of a codebase/../*_bom.txt file containing the files changed by the DSU.
These should both be provided (e.g. as updated DSU .includes files and a foo_bom.txt file) as part of the maintenance release itself.