One possible solution would be to create an icesoft-tld.jar that contains all of our .tld files and simply include that in each .war. Then the tld files would get scanned and, as long as the required libraries were on the classpath, the required listeners would get called.
This is a bit theoretical at this point and would need to be tested before proceeding as a final solution. There may be a problem including a .jar that has all of our tlds if someone isn't using a specific feature. For example, if an application doesn't need icepush.jar and doesn't have it isn't installed, what's the impact of still calling the listeners?
Also, to officially support this, it would be necessary to implement our listeners so that they could detect being initialized multiple times.
If all of the above testing proved this out, we'd need to:
• Audit all our libs and create an icesoft-tld.jar that has a collection of all the tld files from the relevant libs (at least icepush and icefaces at this point, not sure about ace, compat, composite, accessible, etc yet) that could be deployed in each war.
• Create build tasks to reliably build the new .jar.
• Provide documentation on how and when to use the technique.
One possible solution would be to create an icesoft-tld.jar that contains all of our .tld files and simply include that in each .war. Then the tld files would get scanned and, as long as the required libraries were on the classpath, the required listeners would get called.
This is a bit theoretical at this point and would need to be tested before proceeding as a final solution. There may be a problem including a .jar that has all of our tlds if someone isn't using a specific feature. For example, if an application doesn't need icepush.jar and doesn't have it isn't installed, what's the impact of still calling the listeners?
Also, to officially support this, it would be necessary to implement our listeners so that they could detect being initialized multiple times.
If all of the above testing proved this out, we'd need to:
• Audit all our libs and create an icesoft-tld.jar that has a collection of all the tld files from the relevant libs (at least icepush and icefaces at this point, not sure about ace, compat, composite, accessible, etc yet) that could be deployed in each war.
• Create build tasks to reliably build the new .jar.
• Provide documentation on how and when to use the technique.