Attached is my previous file which documents the current jakarta-taglibs dir/file
layout and build process.  Included at the end is my proposal for a new
dir/file layout and build process.

Comments?  Votes?

The usual rules apply:
  [ ] +1 = I agree with this proposal and will support it
  [ ] +0 = I agree with this proposal, but do not have time to support it
  [ ] -0 = I do not agree with this proposal, but don't want to try
           to block it
  [ ] -1 = I do not agree with this proposal (requires reasons)

If approved, I can make the overall changes to jakarta-taglibs.
Once those are in place the individual taglibs can be migrated.
I will take care of the taglibs I authored, the request, response, 
session, regexp, datetime, and foundation taglibs.  It would be nice
if other taglib authors would volunteer to migrate the taglibs they
wrote.

Regards,

Glenn

----------------------------------------------------------------------
Glenn Nielsen             [EMAIL PROTECTED] | /* Spelin donut madder    |
MOREnet System Programming               |  * if iz ina coment.      |
Missouri Research and Education Network  |  */                       |
----------------------------------------------------------------------
I have been looking at all the mechanisms for building jakarta-taglibs site,
building individual taglibs, and generating documentation for a taglib.

The following individual efforts have helped a great deal to improve the
process:

Use of XML and XSL to build the Jakarta-Taglibs site and individual tag
library site pages done by Justyna.

Development of the taglib release process and updating the Jakarta-Taglibs
site with news contributed by Morgan.

Streamlining and standardizing individual tag library builds using common.xml
contributed by Tim Dawson.

Use of XML and XSL to build individual tag library tld and documentation
contributed by Scott Stirling.

Overall Jakarta project directory layout guidelines by Ceki.
http://jakarta.apache.org/site/dirlayout.html

Thanks!

Glenn


Here is the current structure of jakarta-taglibs and an individual taglib or
ctlx tool.  Please let me know if I have missed anything.  Later I will
make a proposal for merging all these together and restructuring the layout
and build process. Please let me know if you have any comments or 
suggestions for improving any of the below.


Current directory layout for jakarta-taglibs
============================================

Text Files
----------

HOWTO-RELEASE - Morgans great document for how to release a taglib
LICENSE - Apache License
README - Readme about using and building taglibs

Build Files
-----------

build.bat - Windows build script
build.sh - Unix build script
build.xml - Overall taglibs Ant build config
common.properties - common properties for building a taglib
common.xml - common Ant config for building a taglib

Jakarta Site static documents
-----------------------------

doc/
doc/binarydist.html - http:/jakarta.apache.org/taglibs/binarydist.html
doc/sourcedist.html - http:/jakarta.apache.org/taglibs/sourcedist.html
doc/tutorial.html - http:/jakarta.apache.org/taglibs/tutorial.html

Jakarta Site generated documents source
---------------------------------------

src/doc/index.xml - http:/jakarta.apache.org/taglibs/index.html
src/doc/project.xml - http:/jakarta.apache.org/taglibs/index.html (Menu)
src/doc/taglibs_docs.dtd - DTD for use with index.html and taglib intro.xml
src/doc/images/jakarta-logo.gif - The Jakarta logo
src/doc/images/taglibs.gif - The Jakarta-Taglibs logo
src/doc/stylesheets/taglibs.xsl - Transform index.xml & project.xml into index.html

Template files for individual taglib documentation
--------------------------------------------------

taglib-doc-kit/
taglib-doc-kit/README.txt - All about dynamically generating your taglib docs
taglib-doc-kit/taglib-doc-build.xml - A sample build file for taglib
taglib-doc-kit/xml/footer.xsl - Footer for taglib documenation
taglib-doc-kit/xml/jndi-tags.xml - Example taglib XML data file for JNDI taglib
taglib-doc-kit/xml/taglib-doc.xsl - Transform jndi-tags.xml into the taglib index.html 
doc
taglib-doc-kit/xml/taglib-template-tags_xml - Template for taglib XML data
taglib-doc-kit/xml/taglib.css - CSS for use with taglib index.html doc
taglib-doc-kit/xml/tld.xsl - Transform jndi-tags.xml into a JSP 1.1 TLD file

Custom Tag Libraries
--------------------

<taglib>/ - Source for a custom tag library

Custom Tag Library Extensions (CTLX)
------------------------------------

tools/<tool>/<version>/ - Source for a publishing tool JSP taglib extension

Generated files from taglib build process
-----------------------------------------

../build/taglibs/ - Where all the taglibs go when you build them
../build/taglibs/doc/ - Where the jakarta site documentation goes when you use the ant 
target "compile.documentation"
../dist/taglibs/ - Where all the taglibs go when you build a binary distribution


Current Directory Layout for a taglib
=====================================

Jakarta Site generated document source
--------------------------------------

<taglib>/doc/web/intro.xml - Taglib Jakarta site XML data file, transformed by 
src/doc/stylesheets/taglibs.xsl

Build Files
-----------

<taglib>/build.bat - Windows build script (Not needed if using common.xml based build)
<taglib>/build.sh - Unix build script (Not needed if using common.xml based build)
<taglib>/build.xml - Ant build file for taglib

Static Configuration and Documentation Files (Original)
-------------------------------------------------------

<taglib>/conf/<taglib>.tld - TLD for taglib
<taglib>/doc/conf/web.xml - web.xml for <taglib>-doc.war
<taglib>/doc/web/changes.html - Taglib change history for site docs and 
<taglib>-doc.war
<taglib>/doc/web/index.html - Taglib documentation for site docs and <taglib>-doc.war

Configuration Files (taglib-doc-kit)
------------------------------------

<taglib>/xml/<taglib>-tags.xml - Taglib and tag XML data transformed by 
taglib-doc-kit/xml/taglib-doc.xsl into the taglib index.html documentation and by 
taglib-doc-kit/xml/tld.xsl into the <taglib>.tld

Examples web application
------------------------

examples/conf/web.xml - web.xml for <taglib>-examples.war
examples/web/index.html - Static root document for <taglib>-examples.war
examples/web/*.html - Additional static documents for <taglib>-examples,war
examples/web/*.jsp - One or more static example jsp pages for <taglib>-examples.war

Taglib java source
------------------

<taglib>/src/ - taglib java source in package org.apache.taglibs

Generated files from taglib build process
-----------------------------------------

../build/taglibs/<taglib> - Compiled java class files
../build/taglibs/<taglib>-doc - Taglib documentation web app directories and files
../build/taglibs/<taglib>-examples - Taglib examples web app directories and files
../dist/taglibs/<taglib>/<taglib>-doc.war - Taglib documentation war file
../dist/taglibs/<taglib>/<taglib>-examples.war - Taglib examples war file.
../dist/taglibs/<taglib>/<taglib>.jar - Taglib jar file
../dist/taglibs/<taglib>/<taglib>.tld - Taglib TLD file


Proposal for new jakarta-taglibs and taglib dir/file layout and build process:

New directory layout for jakarta-taglibs
============================================

Text Files
----------

HOWTO-RELEASE - Morgans great document for how to release a taglib
HOWTO-PUBLISH - New document that documents how to create and publish new taglibs
LICENSE - Apache License
README - Readme about using and building taglibs: Update with info about new layout 
and build

Build Files
-----------

.cvsignore - CVS file specifying what files to ignore, add build, dist, and 
build.properties

build.properties.sample

   Example build properties file used to configure ant properties for required jar 
files.
   The jar file properties will be in the form "servlet.jar=<path to jar file>",
   version specific jars would be "servlet-2.2.jar=<path to jar file>. This means that
   the build.bat and build.sh scripts can be removed. $ANT_HOME/bin would have to be
   in your PATH so that you could build by using "ant dist".

build.bat - Windows build script: Remove, no longer needed
build.sh - Unix build script: Remove, no longer needed
build.xml - Overall taglibs Ant build config
common.properties - common properties for building a taglib
common.xml - common Ant config for building a taglib:

   Switch common.xml from using env vars for jar files to using build.properties.
   Add the ability to generate documentation using the new taglib-doc-kit.

Jakarta Site static documents
-----------------------------

doc/
doc/binarydist.html - http:/jakarta.apache.org/taglibs/binarydist.html
doc/sourcedist.html - http:/jakarta.apache.org/taglibs/sourcedist.html
doc/tutorial.html - http:/jakarta.apache.org/taglibs/tutorial.html

Jakarta Site generated documents source
---------------------------------------

src/doc/index.xml - http:/jakarta.apache.org/taglibs/index.html
src/doc/project.xml - http:/jakarta.apache.org/taglibs/index.html (Menu)
src/doc/taglibs_docs.dtd - DTD for use with index.xml and taglib intro.xml
src/doc/images/jakarta-logo.gif - The Jakarta logo
src/doc/images/taglibs.gif - The Jakarta-Taglibs logo
src/doc/stylesheets/taglibs.xsl - Transform index.xml & project.xml into index.html

Template files for individual taglib documentation
--------------------------------------------------

The taglib-doc-kit will be removed and necessary files split out into those
files used dynamically to generate documenation during the build process,
and those used to setup template files for a new taglib. The build example
will be merged into common.xml.

taglib-doc-kit/ - Taglib documentation kit: Removed
taglib-doc-kit/README.txt - All about dynamically generating your taglib docs: Removed 
taglib-doc-kit/taglib-doc-build.xml - A sample build file for taglib: Merged into 
build.xml, removed
taglib-doc-kit/xml/footer.xsl - Footer for taglib documenation: Moved
taglib-doc-kit/xml/jndi-tags.xml - Example taglib XML data file for JNDI taglib: 
Removed
taglib-doc-kit/xml/taglib-doc.xsl - Transform jndi-tags.xml into the taglib index.html 
doc: Moved
taglib-doc-kit/xml/taglib-template-tags_xml - Template for taglib XML data: Moved
taglib-doc-kit/xml/taglib.css - CSS for use with taglib index.html doc: Moved
taglib-doc-kit/xml/tld.xsl - Transform jndi-tags.xml into a JSP 1.1 TLD file: Moved

New directory for common source files used at build time to generate taglib 
documentation:

src/taglib/
src/taglib/footer.xsl
src/taglib/taglib-doc.xsl
src/taglib/taglib.css
src/taglib/tld11.xsl

New directory for template files for use when creating a new taglib.
Just mkdir <taglib>, then cp -r src/taglib-template <taglib>.

src/taglib-template/build.xml - Template for an example build file
src/taglib-template/doc/ - Source used to generate <taglib>-doc.war
src/taglib-template/doc/conf/web.xml - Template for <taglib>-doc web application 
web.xml
src/taglib-template/doc/web/changes.html - Template for taglib changes.html document
src/taglib-template/examples/ - Source used to generate <taglib>-examples.war
src/taglib-template/examples/conf/web.xml - Template for <taglib>-examples web 
application web.xml
src/taglib-template/examples/web/ - Location for example html and jsp files
src/taglib-template/src/org/apache/taglibs/ - Java source code directory
src/taglib-template/xml/intro.xml - Template for taglib XML data used for generating 
taglib intro.html doc file for the Jakarta-Taglibs site
src/taglib-template/xml/tags.xml - Template for taglib XML data for taglib and tags

Custom Tag Libraries
--------------------

<taglib>/ - Source for a custom tag library

Custom Tag Library Extensions (CTLX)
------------------------------------

tools/<tool>/<version>/ - Source for a publishing tool JSP taglib extension

Generated files from taglib build process
-----------------------------------------

Move build and dist directories into jakarta-taglibs directory.

build/taglibs/ - Where all the taglibs go when you build them
build/taglibs/doc/ - Where the jakarta site documentation goes when you use the ant 
target "compile.doc
umentation"
dist/taglibs/ - Where all the taglibs go when you build a binary distribution


Current Directory Layout for a taglib
=====================================

Jakarta Site generated document source
--------------------------------------

Move to <taglib>/doc/xml/intro.xml.

<taglib>/doc/web/intro.xml - Taglib Jakarta site XML data file, transformed by 
src/doc/stylesheets/taglibs
.xsl

Build Files
-----------

<taglib>/build.bat - Windows build script: (Leave in place until all taglibs migrated 
to using common.xml)
<taglib>/build.sh - Unix build script: (Leave in place until all taglibs migrated to 
using common.xml)
<taglib>/build.xml - Ant build file for taglib: Switch over to using common.xml

Static Configuration and Documentation Files (Original)
-------------------------------------------------------

<taglib>/conf/<taglib>.tld - TLD for taglib (Not needed if using taglib-doc-kit)
<taglib>/doc/conf/web.xml - web.xml for <taglib>-doc.war
<taglib>/doc/web/changes.html - Taglib change history for site docs and 
<taglib>-doc.war
<taglib>/doc/web/index.html - Taglib documentation for site docs and <taglib>-doc.war 
(Not needed if using taglib-doc-kit)

Configuration Files (taglib-doc-kit)
------------------------------------

<taglib>/xml/<taglib>-tags.xml - Taglib and tag XML data transformed by 
taglib-doc-kit/xml/taglib-doc.xsl
into the taglib index.html documentation and by taglib-doc-kit/xml/tld11.xsl into the 
<taglib>.tld

Examples web application
------------------------

examples/conf/web.xml - web.xml for <taglib>-examples.war
examples/web/index.html - Static root document for <taglib>-examples.war
examples/web/*.html - Additional static documents for <taglib>-examples,war
examples/web/*.jsp - One or more static example jsp pages for <taglib>-examples.war

Taglib java source
------------------

<taglib>/src/ - taglib java source in package org.apache.taglibs

Generated files from taglib build process
-----------------------------------------

The build and dist directories are moved into jakarta-taglibs directory.
The buld directory will use a <taglib> sub directory where it will put
the build files and directories for each individual taglib.

build/taglibs/<taglib>/<taglib> - Compiled java class files
build/taglibs/<taglib>/<taglib>-doc - Taglib documentation web app directories and 
files
build/taglibs/<taglib>/<taglib>-examples - Taglib examples web app directories and 
files
build/taglibs/<taglib>/<taglib>.tld - Generated taglib TLD file
dist/taglibs/<taglib>/<taglib>-doc.war - Taglib documentation war file
dist/taglibs/<taglib>/<taglib>-examples.war - Taglib examples war file.
dist/taglibs/<taglib>/<taglib>.jar - Taglib jar file
dist/taglibs/<taglib>/<taglib>.tld - Taglib TLD file

Reply via email to