You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2005/10/21 23:46:28 UTC

svn commit: r327589 [2/72] - in /incubator/roller/branches/roller_1.x: ./ contrib/ contrib/lib/ contrib/plugins/ contrib/plugins/src/ contrib/plugins/src/org/ contrib/plugins/src/org/roller/ contrib/plugins/src/org/roller/presentation/ contrib/plugins/...

Added: incubator/roller/branches/roller_1.x/CHANGES.txt
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/CHANGES.txt?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/CHANGES.txt (added)
+++ incubator/roller/branches/roller_1.x/CHANGES.txt Fri Oct 21 14:27:36 2005
@@ -0,0 +1,475 @@
+
+ROLLER CHANGE LOG
+-----------------
+
+Roller 1.2 - New feature release
+
+Also, changed license to Apache License v2.0
+
+    New Feature
+    * [ROL-305] - Configurable Weblogs.com pings
+
+    Improvement
+    * [ROL-708] - Metadata driven configuration
+    * [ROL-730] - Upgraded to Ekit-editor version 1.0
+
+    Bugs fixes
+    * [ROL-684] - ekit jar in wrong place
+    * [ROL-699] - Weblog Editor shows wrong timezone
+    * [ROL-725] - RSS dates are invalid in non-English locales
+    * [ROL-729] - Deleting Pinned to Main Entry
+    * [ROL-734] - Bookmark OPML fails if folder named 'unfiled' already exists
+    * [ROL-742] - Saving Website:Settings clears hit count
+    * [ROL-743] - #showOpmlLink() macro broken
+
+------------------------------------------------------------------------------
+Roller 1.1.2 - Bug fix release
+
+No new features, just one bug fix.
+
+   * [ROL-724] - Deleted and modified entris not removed from Search Index
+
+------------------------------------------------------------------------------
+Roller 1.1.1 - Bug fix release
+
+No new features, just one bug fix.
+
+   * [ROL-716] Search is broken
+   
+------------------------------------------------------------------------------
+Roller 1.1 - New feature release
+
+This release includes basic support for Podcasting, bug fixes and minor improvements.
+A new aggregator front page (known as Planet Roller) has been added to Roller, but
+it is an unsupported feature available only via Roller's custom build mechanism.
+
+    New Features
+    * [ROL-711] - Support Podcasting
+	* [ROL-596] - Aggregator front page (unsupported: only in custom builds)
+
+    Bugs
+	* [ROL-405] - getConfigPath() in RollerContext doesn't handle SecurityException
+	* [ROL-433] - Bookmarks, Import of OPML file fails on trying to insert null.
+	* [ROL-464] - Error changing name of folder
+	* [ROL-529] - read more summary plugins can't support chinese title
+	* [ROL-649] - Email notification may not send notifications with bad addresses
+	* [ROL-650] - Email privacy issues in comment notification
+	* [ROL-651] - Notification emails don't use the correct website URL
+	* [ROL-652] - Notification emails contain unnecessary information for commenter
+	* [ROL-655] - Bookmark linker plugin is overly agressive
+	* [ROL-665] - Broken themes on Tomcat 5.5.7
+	* [ROL-677] - CloseSessionFilter not always called for login.jsp
+	* [ROL-689] - Rolling theme in theme selectors - preview fails to return
+	* [ROL-695] - Can't save anything in an empty db or empty website
+	* [ROL-700] - Exception on RollerSession passivation
+	* [ROL-701] - Rolling theme includes don't show up in preview
+	* [ROL-710] - MetaWeblog API: permalinks should not be relative
+
+    Improvements
+	* [ROL-530] - Child categories should be in a parent categories feed
+	* [ROL-604] - Add MS SqlServer support to Roller
+	* [ROL-615] - Lift 100 entry limit in MetaWelog API
+	* [ROL-632] - UserCookieData lacks equals() and hashcode()
+	* [ROL-669] - Main page should include auto-disco link
+	* [ROL-679] - Externalize configuration of Hibernate
+	
+	
+1.0.1 Bug Fix Releasee
+
+Fixes minor bugs in Roller 1.0 and adds support for rel="nofollow"
+
+    Bug
+    * [ROL-621] - Twisty Comments broken in 1.0
+    * [ROL-623] - Unexpanded type macros in 097-098 upgrade script for mysql
+    * [ROL-625] - Remember Me doesn't work in 1.0 and Firefox
+    * [ROL-628] - Flawed SQL clause for moving users in 097-to-098-upgrade script.
+    * [ROL-631] - Blacklist update task doesn't catch all exceptions
+    * [ROL-640] - Search page reports incorrect (high) counts
+    * [ROL-641] - CommentsServlet *throws* an NPE if it can't find a weblog entry
+    * [ROL-647] - Unclosed link tag causes StringIndexOutOfBoundsException if 
+                  using Textile and ReadMore plugins
+    
+    New Feature
+    * [ROL-627] - rel="nofollow" for referrers, trackbacks, and comments
+
+    Improvement
+    * [ROL-642] - cheb theme requires a minor adjustment to fix font color problem on the menu
+    * [ROL-643] - Add Icelandic application resources
+
+
+1.0 FINAL
+
+Fixes minor found in Roller 1.0 RC2.
+
+    * [ROL-538] - Remember Me seems to be broken
+    * [ROL-554] - Norwegian and Danish characters are corrupted
+    * [ROL-560] - Weblog Edit page problems with some browsers
+    * [ROL-565] - File upload creates bogus directory
+    * [ROL-572] - User admin page glitches
+    * [ROL-574] - Site wide RSS feed is your own if you are logged in
+    * [ROL-575] - Confusing instructions -- Replace "&" by "&"
+    * [ROL-576] - Email notification is not working
+    * [ROL-577] - Missing and Unexpected jars in lib
+    * [ROL-578] - Captcha requiring duplicate gimpybackgrounds directory
+    * [ROL-581] - Warning navigating to Website tab
+    * [ROL-583] - Double defined listeners
+    * [ROL-585] - Restore old themes
+    * [ROL-586] - Edit folder fails with exception
+    * [ROL-590] - "Read More" plugin should ignore HTML tags
+    * [ROL-603] - roller.log file created in startup directory
+    * [ROL-612] - blacklist.txt file getting written to /
+    * [ROL-501] - Allow commenters to opt-in to email notification of comments
+    * [ROL-558] - Resources should not be browsable
+
+--------------------------------------------------------------------------------
+
+1.0RC2: 2nd Release Candidate for Roller 1.0
+
+   [ROL-338] - Delete-user blows up on PostgreSQL
+   [ROL-508] - I18N problems in sending a trackback
+   [ROL-509] - Errors in PostgreSQL migration script for 0.98 to 1.0
+   [ROL-512] - Recent Drafts list in Weblog editor does not show future posts
+   [ROL-516] - properties.xmlf missing from src release
+   [ROL-522] - RSS feed pubDate does not indicate AM/PM
+   [ROL-523] - org.apache.jasper.JasperException: /taglibs.jsp(0,0)  problem
+   [ROL-524] - rollerpw.sh utility won't work with PostgreSQL
+   [ROL-525] - Attempt to disable Blogger API raises exception
+   [ROL-532] - no rollback on exception when deleting user
+   [ROL-535] - Velocity context not properly populated on CommentServlet.doPost()
+   [ROL-539] - Correct comments path in #showHiddenCommentsForm()
+   [ROL-542] - XML-RPC deletePost not working
+   [ROL-544] - Exception on following link after comment submission
+   [ROL-548] - Bookmark display macro not obeying sort order
+   [ROL-550] - Checkbox for e-mail on comments appears even if e-mail is centrally disabled
+   [ROL-551] - Toggle linkback throws exception
+   [ROL-477] - Pluggable authentication mechanism for comments (with JCaptcha option)
+   [ROL-507] - Redundant numerical character references in RSS feed
+	
+--------------------------------------------------------------------------------
+1.0RC1: 1st Release Candidate for Roller 1.0
+
+The major new features of Roller 0.9.9 are a new Editor UI, hierarchical 
+categories, hierarchical bookmark/blogroll folders with OPML import/export, 
+Atom API support, Atom newsfeed support, a new look-and-feel in the Web 
+interface, lots of other features, and numerous bug fixes. 
+
+This is the fifth release in the Roller 0.9.9 branch. The first release 
+was deployed on JRoller in May. Since then many bug fixes and architectural
+improvements have been made, including:
+
+   ROL-199 FIXED Referential integrity failure deleting bookmark folder
+   ROL-60  FIXED Encrypt passwords in the DB 
+   ROL-294 FIXED Add a #showWeblogEntriesForCategory(catname) macro. 
+   ROL-293 FIXED add macro to display all bookmarks without specifying category 
+   ROL-292 FIXED BoggerAPIHandler shows password in plain text 
+   ROL-229 FIXED Customizable Calendar? 
+   ROL-359 FIXED CVS Create-db.sql fails on postgresql 
+   ROL-310 FIXED Deleting entry should also delete referrers and comments 
+   ROL-271 FIXED Description field should be encoded or CDATA-ified 
+   ROL-325 FIXED Don't allow delete of last category 
+   ROL-318 FIXED Don't count referrers from own blog 
+   ROL-303 FIXED Hierarchical Categories 
+   ROL-357 FIXED Improve Calendar/archive navigation 
+   ROL-321 FIXED Improve wiki syntax handling in RSS feeds 
+   ROL-273 FIXED Installation instructions need to include mention of mail.jar 
+   ROL-306 FIXED Linkback enable link does not work 
+   ROL-147 FIXED Nesting bookmark folders 
+   ROL-275 FIXED Newpost in bloggerapi always tries to ping rpc.weblogs.com 
+   ROL-274 FIXED Postgres expects boolean value in queries, not '1' 
+   ROL-299 FIXED Recent entries preview doesn't use _entry page 
+   ROL-289 FIXED Referrer filter not working 
+   ROL-298 FIXED RSS feeds do not support HTTP Conditional GET or Gzip encoding 
+   ROL-282 FIXED roller-index location should be configurable 
+   ROL-308 FIXED Search should list findings in reverse chrono order 
+   ROL-307 FIXED Todays page hits count inaccurate 
+   ROL-279 FIXED User management page needs improvement. 
+   ROL-231 FIXED view of weblog fails 
+   ROL-311 FIXED Want to browse previous and next article 
+   ROL-339 FIXED Weblog calendar not showing all entries 
+   ROL-347 FIXED Where did sign-up link in the main page 
+   ROL-326 FIXED Allow for mime-type override on pages 
+   ROL-233 FIXED Add timezone setting to Website::Settings 
+   ROL-13  FIXED Front page improvements 
+   ROL-297 FIXED Include <guid> elements in default RSS feeds 
+   ROL-235 FIXED Localized SimpleDateFormat fouls up calendar weblog title
+   ROL-224 FIXED Lucene Search Should Display Summary 
+   ROL-142 FIXED Make RollerConfig use database tables rather than xml file. 
+   ROL-168 FIXED Obfuscate email addresses in Comments (and elsewhere?) 
+   ROL-18  FIXED OPML export of bookmarks 
+   ROL-268 FIXED postgres features 
+   ROL-225 FIXED RSS import from other blogs 
+   ROL-288 FIXED Search function should also search the titles 
+   ROL-315 FIXED Send trackback doesn't strip HTML from wiki entries
+   ROL-290 FIXED Some admin config options are never persisted 
+   ROL-286 FIXED Use ResultSet.next() instead of ResultSet.first() 
+   ROL-312 FIXED Add basic FOAF support from current data 
+   ROL-201 FIXED Sample Apache JkMounts for mod-jk 
+   ROL-105 FIXED User can delete Referrers 
+
+--------------------------------------------------------------------------------
+0.9.8.2: Bug fix release 
+
+   Includes a couple of I18N fixes. 
+
+--------------------------------------------------------------------------------
+0.9.8.1: Bug fix release
+
+   ROL-252 FIXED Wrong comments link in RSS       
+   ROL-241 FIXED xml feed uses dc:date instead of pubDate 
+   ROL-258 FIXED Enable comments by default for new blogs 
+   ROL-251 FIXED Roller config changes should be immediately flushed 
+   ROL-171 FIXED comments needs improvement, I get lots of double postings 
+   ROL-249 FIXED Disabling comments doesn't disable the comment form on 
+                    the comment-form-in-page 
+   ROL-246 FIXED Adding a page causes unhandled exception 
+   ROL-232 FIXED &nbsp problems in RSS feed 
+   ROL-212 FIXED Empty blog page 
+   ROL-255 FIXED Theme won't change 
+   ROL-216 FIXED Admin can't delete user. 
+   ROL-242 FIXED Weblogs.com ping sends wrong URL 
+   ROL-259 FIXED Get rid of the FIRST POST! 
+   ROL-237 FIXED Preview Theme doesn't seem to be working 
+   ROL-214 FIXED Category chooser for Currency theme 
+   ROL-202 FIXED Error saving customizations to theme 
+   ROL-238 FIXED Parameters intended for the 'edit website settings' are 
+                    being sent to the logout-redirect.jsp. 
+   ROL-264 FIXED Ping Weblogs.com should be off by default in weblog editor
+   ROL-245 FIXED Mispelling 
+   
+--------------------------------------------------------------------------------
+0.9.8: Performance improvements and bug fixes
+
+Dramatic performance increase due to addition of database indices, proper 
+use of persistence sessions, and new version of OSCache. New features include 
+Weblog.com ping and integrated Lucene weblog search.
+
+   ROL-197 FIXED error inserting null into page.updatetime on register new user 
+   ROL-196 FIXED Blogger/MetaBlog API operations flush entire cache 
+   ROL-187 FIXED Some SQL friendly table and column renames 
+   ROL-206 FIXED Comment links in site-wide RSS feed are wrong 
+   ROL-160 FIXED Theme switcher workflow issues 
+   ROL-172 FIXED index.jsp only contains Home | Login links 
+   ROL-198 FIXED Support accented characters in RSS 
+   ROL-208 FIXED Client-aborts should not be logged as errors 
+   ROL-60  FIXED Encrypt passwords in the DB 
+   ROL-189 FIXED Add macro to set content type of a page 
+   ROL-180 FIXED Use relative URLs in HTML, make RSS URLs configurable 
+   ROL-173 FIXED hsqldb migration script has syntax issues 
+   ROL-179 FIXED Main page not updating list of updated blogs 
+   ROL-183 FIXED Linkback extractor can't handle relative auto-discovery links 
+   ROL-120 FIXED encoding type wrong (freeroller) 
+   ROL-178 FIXED PageCache and RssCache filter timeouts cannot differ 
+   ROL-100 FIXED Resin specific install guide 
+   ROL-181 FIXED Ping weblogs.com when entry changed/entered 
+   ROL-185 FIXED Test page doesn't close JDBC connection 
+   ROL-215 FIXED Anchor links for Currency theme 
+   ROL-209 FIXED Blogger API error messages reversed 
+   ROL-184 FIXED SQL script improvements 
+   ROL-207 FIXED Main page list of popular blogs should be smaller 
+   ROL-205 FIXED dstest.jsp wont compile 
+   ROL-200 FIXED Context XML file for Tomcat 4.1.x 
+
+---------------------------------------------------------------------------------
+0.9.7.3: Bug fix release
+
+Fixes these bugs:
+
+   ROL-196 Blogger/MetaBlog API operations flush entire cache       
+   ROL-193 Trackback URL display should use absolute URL 
+   ROL-192 LinkbackExtract should mind absolute URL config 
+   
+---------------------------------------------------------------------------------
+0.9.7.2: Bug fix release
+
+Fixes these bugs:
+
+   ROL-179 Main page not updating list of updated blogs       
+   ROL-183 Linkback extractor can't handle relative 
+           auto-discovery links 
+   ROL-180 Use relative URLs in HTML, make RSS URLs configurable 
+   ROL-175 Most recent weblog entries on main page not refreshed 
+   ROL-178 PageCache and RssCache filter timeouts cannot differ 
+   ROL-188 Links to "Most recent weblog posts" are always http 
+           (roller running on https)
+           
+For the full details of bug fixes, see Roller's JIRA issue tracking system 
+at the URL below:
+
+   http://opensource.atlassian.com/projects/roller/
+
+---------------------------------------------------------------------------------
+0.9.7.1: Bug fix release
+
+Fixes these bugs:
+
+   ROL-155 referrer.refpermalink should be allowed to be null.       
+   ROL-167 JavaScript error on delete comments page 
+   ROL-157 Postgres SQL problems 
+   ROL-152 Delete comment page is blank 
+   ROL-166 Add missing <comments> element to RSS output 
+   ROL-161 Comments not always in proper chrono order 
+   ROL-153 Missing DBCP jars needed for Tomcat 4.0.X 
+   ROL-159 Newsfeed display macro(s) broken 
+   ROL-171 comments needs improvement, I get lots of double postings 
+   ROL-162 Comment formatting not preserved when HTML disabled 
+   ROL-156 Remove JSTL to please Resin 
+   ROL-169 Javier's Calendar style improvements 
+   ROL-163 #showRSSAutodiscoveryLink() is not XHTML compliant 
+   ROL-170 Support Mozilla 1.3 Midas Editor 
+   ROL-164 Upgrade to Velocity 1.3.1 
+   ROL-165 Upgrade to Hibernate 2.0 RC1 
+   ROL-154 Missing indices needed for MySQL 4.0 
+   
+For the full details of bug fixes, see Roller's JIRA issue tracking system 
+at the URL below:
+
+   http://opensource.atlassian.com/projects/roller/
+   
+---------------------------------------------------------------------------------
+0.9.7: Major new release
+
+Summary of new features:
+
+   Comments, Trackbacks, and Linkbacks
+   * Both in-page and pop-up style comments are supported
+   * Remember-me feature for comments
+   * You can delete comments that you don't like
+   * Support for Movable Type style Trackbacks
+   * Trackbacks are treated as comments
+   * You can send Trackback pings to other weblogs
+   * Support for Mark Pilgrim style "for further reading" Linkbacks
+   * Linkback searches referring sites and RSS feeds for excerpts
+   * Linkbacks can be disabled by Roller administrator
+   * New showDayReferrers() macros displays Linkbacks for day
+   
+   MetaWeblog API
+   * Support for both Blogger API and MetaWeblog API
+   * Allows both titles and categories from w.bloggar and other clients.
+
+   General
+   * Simplified main page is much faster than before
+   * Main page displays most recent posts and most popular blogs
+   * Main page RSS feed aggregates all posts on site   
+   * Remember-me feature for logins
+   * New VelociMacros are replacing old page macros
+   * One click to post as public or post as private 
+   * Spell checker for posts
+      
+For the full list of bug fixes, see Roller's JIRA issue tracking system 
+at the URL below:
+
+   http://opensource.atlassian.com/projects/roller/
+
+
+---------------------------------------------------------------------------------
+0.9.6: Administration enhancements, new features, bug fixes
+
+Summary of new features:
+
+   Multi-user features:
+   - Admin UI for deleting users
+   - Better start page: pages through users, shows time of last update
+   - Plugin authenticator for JavaLobby integration
+   - Allow users to change their email addresses and passwords
+   
+   Weblog authoring enhancements:
+   - Ekit HTML editor applet is available as an option to users
+   - Option to save weblog entries without publishing them
+   - Better control over weblog entry publish date
+   - Daily referrer and hit tracking
+   
+   New and improved macros:
+   - Protection from recursion in includePage and showWeblogEntries macros   
+   - Big archive calendar macro shows titles for each day
+   - Expand/collapse feature in Bookmark and Newsfeed macros
+   - Users can control number of weblog entries displayed
+   - New macros, including those necessary for RSS templating
+   
+   RSS related features:
+   - Built in support for RSS 2.0
+   - Multiple RSS feeds for each weblog, one for each category
+   - RSS feeds available with full-text or excerpts only
+   - RSS aggregation features may now be disabled
+   - RSS syndication output is now cached
+      
+For the full list of enhancements and bug fixes, see Roller's JIRA issue
+tracking system at the URL below:
+
+   http://opensource.atlassian.com/projects/roller/
+
+-----------------------------------------------------------------------------
+0.9.5: Enhancements, better database support, bug fixes (August 31, 2002)
+
+This new Roller release includes some enhancements to XHTML support, 
+bookmark management, database support for PostgreSQL and HSQL-DB, and 
+some bug fixes. Thanks to new Roller contributors Lance Lavandowska, 
+Matt Raible, Simon Stewart for their work on this release.
+
+    - Support for XHTML and CSS in generated weblog pages (Matt)
+    - Better Page URLs in the Navigation Bar Tag and PageServlet (Lance)
+    - Support for HSQL and PostgreSQL databases (Lance and Simon)
+    - Export feature for backing up website (Dave)
+    - Bookmark import by file-upload of OPML file (Dave)
+    - Multiple bookmark move and delete on edit-bookmark page (Dave)
+    - Some bug fixes
+
+-----------------------------------------------------------------------------
+0.9.4: Bug fixes (July 6, 2002)
+
+    Fixes for these bugs:
+
+        Bug #576004: Blogger API posts do not flush cache
+        Bug #576719: Calendar in Weblog:Edit page not working
+        Bug #576902: Error in web.xml, rollerdb datasource was omited
+        Bug #576157: RSS feed items are not ordered properly
+        Bug #576731: Database jars should go in common/lib
+
+
+-----------------------------------------------------------------------------
+0.9.3: New features, better configuration, and bug fixes (June 30, 2002)
+
+    - Blogger API Support: You can enable Blogger API and choose which 
+      the category for incoming Blogger API posts on the Website Settings page.
+      You can configure your Blogger API client by using the path 
+      /roller/xmlrpc and your Roller username and password. Blogger API 
+      support was contributed by Shawn Dahlen (dahlen at mitre.org)
+      
+    - Database configuration via JNDI DataSources: Roller now looks up 
+      datasources in JNDI (using java:comp/env/jdbc/rollerdb).
+       
+    - Database connection pooling: if you follow the instructions in the
+      Roller installation guide, Roller will use database connection pooling.
+        
+    - Results caching for weblog pages: Roller now uses OSCache for caching
+      all weblog pages. This results in a dramatic improvement in performance.
+
+    - Three new themes: Roller now includes three new themes, adapted from
+      free themes found on blogskins.com.
+
+    - Lots of bug fixes: too numerous to list.
+
+-----------------------------------------------------------------------------
+0.9.2: Minor bug fixes in user and newsfeed managers 
+
+-----------------------------------------------------------------------------
+0.9.1: Bug fix release April 29, 2002
+
+- BUG #542478 FIXED: Delete category broken
+  Now, if you try to delete a category that is in use you will get a 
+  warning. You will be asked if you would like to move the entries in 
+  that category to another category.
+
+- BUG #542479 FIXED: Delete folder broken
+  Now, if you try to delete a folder that has contents you will get a 
+  warning. You will be asked if you would like to move the contents of 
+  that folder to another folder.
+
+- Changed Castor JDO data member in RollerImpl to transient so that it
+  does not cause an error if the Roller session is serialized.
+
+- Introduced org.roller.business.castor.ManagerBase and made general
+  improvements in database connection usage.
+
+-----------------------------------------------------------------------------
+0.9.0: Initial public release April 6, 2002
+  

Added: incubator/roller/branches/roller_1.x/LICENSE.txt
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/LICENSE.txt?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/LICENSE.txt (added)
+++ incubator/roller/branches/roller_1.x/LICENSE.txt Fri Oct 21 14:27:36 2005
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

Added: incubator/roller/branches/roller_1.x/README.txt
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/README.txt?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/README.txt (added)
+++ incubator/roller/branches/roller_1.x/README.txt Fri Oct 21 14:27:36 2005
@@ -0,0 +1,57 @@
+
+README.txt
+
+   To install Roller, follow the instructions in the Installation Guide:
+   http://www.rollerweblogger.org/wiki/Wiki.jsp?page=InstallGuide
+
+   To use Roller, follow the instructions in the Users Guide:
+   http://www.rollerweblogger.org/wiki/Wiki.jsp?page=UserGuide
+   
+       
+CREDITS AND COPYRIGHT NOTICES
+
+   Roller is Copyright (c) by 
+       David M Johnson
+       Anil Gangolli
+       Mindaguas Idzelis 
+       Lance Lanvandowska 
+       Matt Raible 
+       Jaap Van Der Molen 
+       Henri Yandell
+       Sun Microsystems, Inc
+   	   
+   Roller is licensed under the Apache 1.0 license (s/Apache/Roller)
+
+   Additionally, Roller contains a number of third-party software components
+   and source code from other open source projects with compatible licenses.
+
+   * Roller includes software developed by the Apache Software Foundation
+     Copyright (c) 2001 The Apache Software Foundation. 
+     All rights reserved.
+
+   * Roller includes software developed by The OpenSymphony Group
+     Copyright (c) 2001 The OpenSymphony Group. All rights reserved.
+
+   * Roller includes the Hibernate persistence library, LGPL license
+
+   * Roller includes code from Blojsom
+        Copyright (c) 2003, David A. Czarnecki & Mark Lussier.
+        All rights reserved
+        
+   * Roller includes JDOM
+        Copyright (c) 2000-2002 Brett McLaughlin & Jason Hunter.
+        All rights reserved.
+
+   * Roller includes the Ekit HTML editor by Howard Kistler, LGPL license
+   
+   * Roller includes the Jazzy spellchecker, LGPL license
+   
+   * Roller includes the JSPWiki Wiki Engine, LGPL license
+
+   * Roller includes the Radeox Wiki Engine, LGPL license
+
+   * Roller includes Jython
+     Copyright (c) 2000, Jython Developers
+
+    
+

Added: incubator/roller/branches/roller_1.x/ant.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/ant.properties?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/ant.properties (added)
+++ incubator/roller/branches/roller_1.x/ant.properties Fri Oct 21 14:27:36 2005
@@ -0,0 +1,17 @@
+build.debug=on
+build.deprecation=false
+ro.version=1.3
+#ro.version=1.2-BlogApps
+ro.build=./build
+ro.tools=./tools
+basedir=.
+custom.dir=./custom
+
+# The following properties (with your own appropriate values)
+# are required if using the deploy-tomcat target.
+#staging=../build/roller
+#webapp.name=roller
+#catalina.home=C:/jakarta-tomcat-5.0.28
+
+# Path to Roller source, needed by our custom Netbeans actions
+project.dir=/Users/dave/roller_main

Added: incubator/roller/branches/roller_1.x/build.bat
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/build.bat?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/build.bat (added)
+++ incubator/roller/branches/roller_1.x/build.bat Fri Oct 21 14:27:36 2005
@@ -0,0 +1,24 @@
+@echo off
+
+REM is this really necessary?
+if not "%JAVA_HOME%" == "" goto gotJavaHome
+echo You must set JAVA_HOME to point to your Java SDK install directory
+goto cleanup
+:gotJavaHome 
+
+set rocp=%JAVA_HOME%\lib\tools.jar
+
+set rocp=%rocp%;.\tools\buildtime\ant-1.6.2\ant.jar
+set rocp=%rocp%;.\tools\buildtime\ant-1.6.2\ant-launcher.jar
+set rocp=%rocp%;.\tools\buildtime\ant-1.6.2\ant-junit.jar
+set rocp=%rocp%;.\tools\buildtime\ant-1.6.2\ant-commons-net.jar
+set rocp=%rocp%;.\tools\buildtime\ant-1.6.2\commons-net-1.2.2.jar
+set rocp=%rocp%;.\tools\buildtime\ant-1.6.2\jakarta-oro-2.0.8.jar
+
+set rocp=%rocp%;.\tools\buildtime\junit-3.8.1.jar
+
+echo %rocp%
+java -classpath %rocp% org.apache.tools.ant.Main %1 %2 %3 %4 %5
+
+
+

Added: incubator/roller/branches/roller_1.x/build.sh
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/build.sh?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/build.sh (added)
+++ incubator/roller/branches/roller_1.x/build.sh Fri Oct 21 14:27:36 2005
@@ -0,0 +1,16 @@
+#!/bin/bash
+if [ "$JAVA_HOME" = "" ] ; then
+	echo You must set JAVA_HOME to point to your Java JDK install directory
+	exit 1
+fi
+
+rocp=${JAVA_HOME}/lib/tools.jar
+rocp=${rocp}:./tools/buildtime/ant-1.6.2/ant.jar
+rocp=${rocp}:./tools/buildtime/ant-1.6.2/ant-launcher.jar
+rocp=${rocp}:./tools/buildtime/ant-1.6.2/ant-junit.jar
+rocp=${rocp}:./tools/buildtime/ant-1.6.2/ant-commons-net.jar
+rocp=${rocp}:./tools/buildtime/ant-1.6.2/commons-net-1.2.2.jar
+rocp=${rocp}:./tools/buildtime/ant-1.6.2/jakarta-oro-2.0.8.jar
+rocp=${rocp}:./tools/buildtime/junit-3.8.1.jar
+
+${JAVA_HOME}/bin/java -Djava.home=${JAVA_HOME} -classpath ${rocp} org.apache.tools.ant.Main $1 $2 $3 $4 $5

Propchange: incubator/roller/branches/roller_1.x/build.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/roller/branches/roller_1.x/build.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/build.xml?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/build.xml (added)
+++ incubator/roller/branches/roller_1.x/build.xml Fri Oct 21 14:27:36 2005
@@ -0,0 +1,1024 @@
+<?xml version="1.0"?>
+<!DOCTYPE project [
+    <!ENTITY properties         SYSTEM "properties.xmlf"> 
+    <!ENTITY custom-gen-web     SYSTEM "custom/custom-gen-web.xmlf">
+    <!ENTITY custom-gen-beans   SYSTEM "custom/custom-gen-beans.xmlf">
+    <!ENTITY custom-jars        SYSTEM "custom/custom-jars.xmlf">
+    <!ENTITY custom-src-beans   SYSTEM "custom/custom-src-beans.xmlf">
+    <!ENTITY custom-src-web     SYSTEM "custom/custom-src-web.xmlf">
+    <!ENTITY custom-src-tests   SYSTEM "custom/custom-src-tests.xmlf">
+    <!ENTITY custom-web         SYSTEM "custom/custom-web.xmlf">
+    <!ENTITY custom-dbscripts   SYSTEM "custom/custom-dbscripts.xmlf">
+    <!ENTITY custom-pre-dbtest  SYSTEM "custom/custom-pre-dbtest.xmlf">
+    <!ENTITY custom-post-dbtest SYSTEM "custom/custom-post-dbtest.xmlf">
+    <!ENTITY custom-ant         SYSTEM "custom/custom-ant.xmlf"> 
+]>
+<!-- ********************************************************************* -->
+<!-- Ant build script for Roller main branch -->
+<!-- Author: David M Johnson -->
+<!-- ********************************************************************* -->
+<project name="roller" default="usage">
+
+<!-- Bring in properties.xml -->
+&properties;
+
+<!-- Bring in custom properties and targets -->
+&custom-ant;
+
+<target name="usage" description="Print usage for key targets">
+<echo>
+Key Targets:
+             all - Build all: gen code, compile code, stage web directory
+           build - Same as 'all' but no code gen
+         javadoc - Run javadoc against (generated) code
+           clean - Blow away all generated code and all byte code
+         rebuild - Clean and build all
+           usage - Print this help text...
+</echo>
+</target>
+
+<!-- ================================================ -->
+<!-- Meta targets -->
+<!-- ================================================ -->
+<target name="all" depends="generate,stage-web" description="Build all">
+</target>
+
+<target name="build" depends="stage-web" description="Compile only, no code generation">
+</target>
+
+<target name="rebuild" depends="clean,all" description="Clean and build all">
+</target>
+
+<target name="clean" description="Clean out build directory">
+    <delete dir="./build"/>
+</target>
+
+<!-- ********************************************************************* -->
+<!-- XDoclet code generation -->
+<!-- ********************************************************************* -->
+	
+<target name="generate" depends="gen-forms,gen-hibernate,gen-web,gen-wrappers" >
+</target>
+
+<!-- ============================================== -->
+<!-- generate Struts forms -->
+<target name="gen-forms" description="XDoclet generate form beans">
+
+    <!-- Define the XDoclet xdoclet task -->
+    <taskdef  name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask"
+        classpathref="xdoclet.path" />
+    <mkdir dir="${build.generated}/src.presentation"/>
+    <mkdir dir="${build.generated}/src.business"/>
+    <mkdir dir="${build.generated}/META-INF"/>
+    <mkdir dir="${ro.build}/junk"/>
+
+    <!-- Use EJBDoclet to generate Struts forms -->
+    <ejbdoclet destdir="${build.generated}/src" excludedtags="@version,@author">
+	<fileset dir="./src" includes="org/roller/pojos/WeblogTemplate.java" />
+        <fileset dir="./src" includes="org/roller/pojos/*Data.java" />
+        <fileset dir="./src" includes="org/roller/business/*Data.java" /> 
+        &custom-gen-web;
+     
+        <!-- Generate Struts forms -->
+        <strutsform destdir="${build.generated}/src.presentation"
+            prefixWithPackageStructure="no"
+            templateFile="./metadata/xdoclet/struts_form.xdt">
+
+            <!-- into the org.roller.presentation.forms package -->
+            <packageSubstitution packages="pojos"
+                substituteWith="presentation.forms"/>
+            <packageSubstitution packages="presentation"
+                substituteWith="presentation.forms"/>
+        </strutsform>
+
+        <!-- We are not actually generating data objects, but using the
+             dataobject subtask allows the strutsform subtask to add nice
+             Adds nice constructors and setData methods to Struts forms -->
+        <dataobject destdir="${ro.build}/junk" pattern="{0}" />
+
+    </ejbdoclet>
+
+    <copy todir="./personal/testing">
+        <fileset dir="${build.generated}" includes="mapping.xml"/>
+    </copy>
+
+    <!-- Change Struts form names from *DataForm.java to *Form.java  -->
+    <replace dir="${build.generated}/src.presentation/org/roller/presentation/forms"
+        token="DataForm" value="Form"/>
+    <move todir="${build.generated}/src.presentation/org/roller/presentation/forms">
+        <fileset dir="${build.generated}/src.presentation/org/roller/presentation/forms" >
+            <include name="*DataForm.java"/>
+            <include name="*ConfigForm.java" />
+        </fileset>
+        <mapper type="glob" from="*DataForm.java" to="*Form.java"/>
+    </move>
+
+</target>
+
+<!-- ============================================== -->
+<!-- generate Hibernate mappings -->
+<target name="gen-hibernate" description="XDoclet Generate Hibernate mappings">
+
+    <taskdef name="hibernatedoclet"
+        classname="xdoclet.modules.hibernate.HibernateDocletTask"
+        classpathref="xdoclet.path" />
+
+    <!-- generate hibernate files -->
+    <hibernatedoclet
+        destdir="${build.compile_beans}"
+        mergedir="./metadata/xdoclet"
+        excludedtags="@version,@author"
+        addedtags="@xdoclet-generated at ${TODAY}"
+        force="true">
+	<fileset dir="./src" includes="org/roller/pojos/WeblogTemplate.java" />
+        <fileset dir="./src" includes="org/roller/pojos/*Data.java" />
+        <fileset dir="./src" includes="org/roller/pojos/*Assoc.java" />
+        <fileset dir="./src" includes="org/roller/business/*Data.java" />
+        &custom-gen-beans;
+        <hibernate validatexml="true" version="2.0"/>
+    </hibernatedoclet>
+
+</target>
+
+<!-- ============================================== -->
+<!-- Generate web deployment descriptors -->
+<target name="gen-web" description="XDoclet generate web depoyment descriptors">
+
+    <!-- Define the XDoclet webdoclet task -->
+    <taskdef  name="webdoclet" classname="xdoclet.modules.web.WebDocletTask"
+        classpathref="xdoclet.path" />
+
+    <!-- Use WebDoclet to web.xml, struts-config.xml, and TLDs -->
+    <mkdir dir="${build.stage_web}/WEB-INF"/>
+    <mkdir dir="${build.compile_web}/META-INF/tlds"/>
+
+    <webdoclet force="true"
+        destdir="${build.stage_web}/WEB-INF"
+        mergedir="./metadata/xdoclet"
+        excludedtags="@version,@author">
+        
+        <fileset dir="./src">
+            <!-- Speed up XDoclet by limiting number of files it has to process -->
+            <include name="**/*Action.java" />
+            <include name="**/*Filter.java" />
+            <include name="**/*Form.java" />
+            <include name="**/*FormEx.java" />
+            <include name="**/*Servlet.java" />
+            <include name="**/*Tag.java" />
+            <include name="org/roller/presentation/**/actions/*.java" />
+            <include name="org/roller/presentation/RollerContext.java" />
+            <include name="org/roller/presentation/RollerSession.java" />
+            <exclude name="**/IPBanFilter**" />
+            <exclude name="**/LinkTag**" />
+            <exclude name="**/LinkParamTag**" />
+        </fileset>
+        <fileset dir="${build.generated}/src.presentation">
+            <include name="**/*Form.java" />
+        </fileset>
+        &custom-gen-web;
+
+        <deploymentdescriptor servletspec="2.3"
+             destdir="${build.stage_web}/WEB-INF"
+             sessiontimeout="30"
+             displayname="Roller Weblogger">
+        </deploymentdescriptor>
+
+        <jsptaglib jspversion="1.2" filename="roller.tld" shortname="roller"
+            uri="http://www.rollerweblogger.org/tags"
+            destdir="${build.compile_web}/META-INF/tlds"/>
+
+        <strutsconfigxml destdir="${build.stage_web}/WEB-INF"
+            validatexml="true" mergedir="./metadata/xdoclet" version="1.1" />
+        <strutsvalidationxml/>
+
+    </webdoclet>
+
+</target>
+
+<!-- ============================================== -->
+<!-- Generate pojo wrappers -->
+<target name="gen-wrappers" description="XDoclet generate pojo wrappers">
+
+    <!-- Define the XDoclet task -->
+    <taskdef  name="xdoclet" classname="xdoclet.DocletTask"
+        classpathref="xdoclet.path" />
+    
+    <xdoclet destdir="${build.generated}/src.business">
+        
+        <packageSubstitution packages="pojos" substituteWith="pojos.wrapper"/>
+        
+        <fileset dir="./src">
+            <!-- 
+                it may be easier to glob using *Data.java at some point, but
+                for now that will generate a lot of unneeded classes.
+                
+                maybe we can extend the process to only wrap classes that have
+                methods tagged with @roller.wrapPojoMethod ??
+            -->
+            <include name="org/roller/pojos/BookmarkData.java"/>
+            <include name="org/roller/pojos/CommentData.java"/>
+            <include name="org/roller/pojos/EntryAttributeData.java"/>
+            <include name="org/roller/pojos/FolderData.java"/>
+            <include name="org/roller/pojos/RefererData.java"/>
+            <include name="org/roller/pojos/Template.java"/>
+            <include name="org/roller/pojos/UserData.java"/>
+            <include name="org/roller/pojos/WeblogEntryData.java"/>
+            <include name="org/roller/pojos/WeblogCategoryData.java"/>
+            <include name="org/roller/pojos/WebsiteData.java"/>
+        </fileset>
+
+        <template 
+            destinationFile="{0}Wrapper.java"
+            templateFile="metadata/xdoclet/pojo_wrapper.xdt"
+            subTaskName="Pojo Wrappers" />
+    </xdoclet>
+        
+</target>
+        
+<!-- ********************************************************************* -->
+<!-- Compile and jar Business Tier classes -->
+<!-- ********************************************************************* -->
+	
+<target name="build-beans">
+    <mkdir dir="${ro.build}/lib"/>
+    <mkdir dir="${build.compile_beans}"/>
+
+    <tstamp>
+        <format property="ro.buildTime" pattern="yyyyMMddhhmmss" />
+    </tstamp>
+
+    <echo file="${build.compile_beans}/version.properties">
+ro.version=${ro.version}
+ro.buildTime=${ro.buildTime}
+ro.buildUser=${user.name}
+    </echo>
+
+    <javac debug="${build.debug}" destdir="${build.compile_beans}"
+        excludes="org/roller/presentation/**" >
+        <src path="${basedir}/src" />
+        <src path="${build.generated}/src.business"/>
+        &custom-src-beans;
+        <classpath>
+            <path refid="business.path"/>
+            &custom-jars;
+        </classpath>
+    </javac>
+    
+    <!-- Copy class resources -->
+    <copy todir="${build.compile_beans}/org/roller/model">
+        <fileset dir="${build.generated}/src.business" includes="*.hbm.xml"/>
+    </copy>
+    <!-- Jar up the beans -->
+    <jar basedir="${build.compile_beans}"
+        jarfile="${ro.build}/lib/rollerbeans.jar"/>
+
+</target>
+
+<!-- For versions of Resin before 2.1.9 we have to turn the
+    HttpServletResponseWrapper into a CauchoResponseWrapper. We have
+    to do away with the original or there will be compile errors. -->
+<target name="prepare.resin" if="resinFilters">
+    <echo>Convert HttpServletResponseWrappers to CauchoResponseWrappers</echo>
+    <replace dir="./src"
+        token="extends HttpServletResponseWrapper"
+        value="extends com.caucho.http.filter.CauchoResponseWrapper" />
+    <replace file="${build.stage_web}/WEB-INF/web.xml"
+        token="&lt;!-- RESIN-CACHE --&gt;" >
+        <replacevalue><![CDATA[
+        <init-param>
+            <param-name>handler</param-name>
+            <param-value>CommonsPageCache</param-value>
+        </init-param>
+        ]]></replacevalue>
+    </replace>
+
+</target>
+
+<!-- Now that the compilation is done, undo the damage from prepare.resin -->
+<target name="undo.resin" if="resinFilters">
+    <echo>Convert CauchoResponseWrappers to HttpServletResponseWrappers</echo>
+    <replace dir="./src"
+        value="extends HttpServletResponseWrapper"
+        token="extends com.caucho.http.filter.CauchoResponseWrapper" />
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Compile and jar Presentation Tier classes -->
+<!-- ********************************************************************* -->
+	
+<target name="build-web" depends="build-beans" >
+
+    <mkdir dir="${build.compile_web}"/>
+    <antcall target="prepare.resin" />
+    <javac debug="${build.debug}" destdir="${build.compile_web}"
+        includes="org/roller/presentation/**" >
+        <src path="./src"  />
+        <src path="${build.generated}/src.presentation"/>
+        &custom-src-web;
+        <classpath>
+            <path refid="presentation.path"/>
+            <path location="${build.compile_beans}"/>
+            &custom-jars;
+        </classpath>
+    </javac>
+    <copy todir="${build.compile_web}">
+        <fileset dir="./src">
+            <include name="**/*.properties"/>
+            <include name="**/*.tpl"/>
+            <include name="**/*.vm"/>
+        </fileset>
+    </copy>
+    <!-- Generate and compile JSP files (just as an error checking measure)
+    <mkdir dir="${build.jspc}"/>
+    <path id="jspc.classpath">
+        <path refid="presentation.path"/>
+        <path location="${build.compile_beans}"/>
+        <path location="${build.compile_web}"/>
+        <path location="${ro.tools}/lib/ant-1.5.1.jar"/>
+        <path location="${ro.tools}/lib/ant-optional-1.5.1.jar"/>
+        <path location="${ro.tools}/lib/jasper-compiler.jar"/>
+        <path location="${ro.tools}/lib/jasper-runtime.jar"/>
+    </path>
+    <jspc srcdir="./web" destdir="${build.jspc}"
+        classpathref="jspc.classpath">
+    </jspc>
+    <javac srcdir="${build.jspc}" destdir="${build.jspc}"
+        classpathref="jspc.classpath">
+    </javac> -->
+
+    <antcall target="undo.resin" />
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Stage web resources: allows us to work on JSP's without restarts      -->
+<!-- ********************************************************************* -->
+	
+<target name="copy-web" description="Stage web app, without jars">
+    <!-- Copy web contents to staging, plus README files. -->
+    <copy todir="${build.stage_web}">
+        <fileset dir="./web">
+            <include name="**/*"/>
+            <exclude name="**/codewright*/**"/>
+            <exclude name="**/CVS/**"/>
+            <exclude name="**/*.bak"/>
+            <exclude name="**/*~"/>
+            <exclude name="**/berkley/**"/> <!-- not ready yet -->
+        </fileset>
+        <fileset dir=".">
+            <include name="README.txt"/>
+            <include name="LICENSE.txt"/>
+            <include name="CHANGES.txt"/>
+        </fileset>
+    </copy>
+	&custom-web;
+ </target>
+
+<!-- ********************************************************************* -->
+<!-- Stage web application -->
+<!-- ********************************************************************* -->
+	
+<target name="stage-web" depends="build-web" description="Stage web app, including jars">
+
+    <mkdir dir="${build.stage_web}/resources"/>
+    <mkdir dir="${build.stage_web}/WEB-INF/lib"/>
+    <mkdir dir="${build.stage_web}/WEB-INF/tlds"/>
+
+    <!-- Jar up web classes -->
+    <jar jarfile="${build.stage_web}/WEB-INF/lib/rollerweb.jar">
+        <fileset dir="${build.compile_web}" excludes="**/tomcat/**"/>
+    </jar>
+
+    <!-- Copy web contents to staging, plus README files. -->
+    <antcall target="copy-web" />
+
+    <!-- Copy database configs to classpath in staging -->
+    <copy todir="${build.stage_web}/WEB-INF/classes">
+        <fileset dir="./metadata/database/hibernate" includes="hibernate.cfg.xml"/>
+        <fileset dir="${ro.tools}/lib" includes="oscache.properties"/>
+    </copy>
+
+    <!-- Copy WEB-INF contents to staging -->
+    <copy todir="${build.stage_web}/WEB-INF">
+        <fileset dir="${build.generated}" includes="mapping.xml"/>
+        <fileset dir="${tools.struts}/lib" includes="validator-rules.xml"/>
+    </copy>
+
+    	<!-- Copy other jars -->
+    <copy todir="${build.stage_web}/WEB-INF/lib">
+
+        <fileset dir="${ro.build}/lib" includes="rollerbeans.jar"/>
+        <fileset refid="base.jars" />
+        <fileset refid="presentation.jars" />
+        <fileset refid="hibernate.jar" />
+        <fileset refid="hibernate.jars" />
+        <fileset refid="commons.jars" />
+        <fileset refid="struts.jars" />
+        <fileset refid="jstl.jars" />
+        <fileset refid="xml.jars" />
+        &custom-jars;
+        <fileset dir="${ro.tools}/lib">
+            <include name="mm.mysql-2.0.14-bin.jar" if="resinServer"/>
+        </fileset>
+    	    <fileset dir="${ro.tools}/buildtime">
+            <include name="xercesImpl-2.3.0.jar"    if="resinServer"/>
+            <include name="xmlParserAPIs-2.3.0.jar" if="resinServer"/>
+        </fileset>
+    </copy>
+    <!-- Copy DTDs and TLDs  -->
+    <copy todir="${build.stage_web}/WEB-INF/tlds">
+        <fileset dir="${ro.tools}/lib" includes="*.tld"/>
+    </copy>
+    <!-- copy database related files -->
+    <antcall target="stage-dbscripts" />
+
+    <ant inheritAll="false" dir="contrib" />
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Create different versions of database setup script                    -->
+<!-- With this approach we won't have to expand the script all the time.   -->
+<!-- ********************************************************************* -->
+	
+<target name="stage-dbscripts">
+    <property name="dbscripts" value="${build.stage_web}/WEB-INF/dbscripts"/>
+
+    <!-- Create database creation script directory -->
+    <mkdir dir="${dbscripts}"/>
+    <copy todir="${dbscripts}">
+        <fileset dir="./metadata/database" includes="droptables.sql"/>
+        <fileset dir="./metadata/database" includes="*.sh,*.bat,rollerdb.properties"/>
+    </copy>
+
+    <!-- MYSQL -->
+    <copy toDir="${dbscripts}/mysql">
+    	  &custom-dbscripts;
+      <fileset dir="./metadata/database">
+        <include name="*.sql" />
+        <exclude name="droptables.sql" />
+      </fileset>
+      <filterset>
+        <filtersfile file="./metadata/database/db_mysql.properties"/>
+      </filterset>
+      <mapper type="glob" from="*-raw.sql" to="*.sql" />
+    </copy>
+
+    <!-- POSTGRESQL -->
+    <copy toDir="${dbscripts}/postgresql">
+  	  &custom-dbscripts;
+      <fileset dir="./metadata/database">
+        <include name="*.sql" />
+        <exclude name="droptables.sql" />
+      </fileset>
+      <filterset>
+        <filtersfile file="./metadata/database/db_postgresql.properties"/>
+      </filterset>
+      <mapper type="glob" from="*-raw.sql" to="*.sql" />
+    </copy>
+
+    <!-- HSQL -->
+    <copy toDir="${dbscripts}/hsql">
+  	  &custom-dbscripts;
+      <fileset dir="./metadata/database">
+        <include name="*.sql" />
+        <exclude name="droptables.sql" />
+      </fileset>
+      <filterset>
+        <filtersfile file="./metadata/database/db_hsql.properties"/>
+      </filterset>
+      <mapper type="glob" from="*-raw.sql" to="*.sql" />
+    </copy>
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Build extras -->
+<!-- ********************************************************************* -->
+	
+<target name="contrib" depends="stage-web">
+    <ant dir="contrib" />
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Generate Javadocs and Velocidocs -->
+<!-- ********************************************************************* -->
+	
+<target name="docs" depends="javadoc,velocidoc" >
+    <copy todir="${build.javadoc}">
+        <fileset dir="${build.velocidoc}/docs">
+            <include name="*.css"/>
+        </fileset>
+    </copy>
+</target>
+
+<target name="javadoc">
+    <mkdir dir="${build.javadoc}"/>
+    <javadoc
+        bottom="Copyright (C) David M Johnson"
+        classpathref="javadoc.path"
+        destdir="${build.javadoc}"
+        doctitle="Javadocs: Roller Weblogger ${ro.version}"
+        private="false"
+        version="false"
+        windowtitle="Javadocs: Roller Weblogger ${ro.version}">
+        <sourcepath>
+            <pathelement path="./src"/>
+            <pathelement path="${ro.build}/generated/src.business"/>
+            <pathelement path="${ro.build}/generated/src.presentation"/>
+        </sourcepath>
+        <packageset dir="src" defaultexcludes="yes">
+          <include name="org/roller/**" />
+          <exclude name="org/roller/business/prevayler/**" />
+        </packageset>
+        <link href="http://java.sun.com/j2se/1.4/docs/api/"/>
+        <link href="http://java.sun.com/products/servlet/2.3/javadoc/"/>
+        <link href="http://jakarta.apache.org/struts/doc-1.0.2/api"/>
+        <link href="http://hibernate.bluemars.net/hib_docs/api/"/>
+    </javadoc>
+    <copy todir="${build.javadoc}">
+        <fileset dir="${basedir}/src">
+            <include name="**/roller*.png"/>
+        </fileset>
+    </copy>
+</target>
+	
+<target name="velocidoc">
+    <mkdir dir="${build.velocidoc}/temp"/>
+    <copy todir="${build.velocidoc}/temp">
+        <fileset dir="./web/WEB-INF/classes/">
+            <include name="bookmark.vm" />
+            <include name="comments.vm" />
+            <include name="navbar.vm" />
+            <include name="referer.vm" />
+            <include name="roller.vm" />
+            <include name="rssmacros.vm" />
+            <include name="user.vm" />
+            <include name="weblog.vm" />
+            <include name="website.vm" />
+            <!--
+            -->
+        </fileset>
+    </copy>
+    <mkdir dir="${build.velocidoc}/docs"/>
+    <java fork="true" jar="${ro.tools}/buildtime/velocidoc-app.jar">
+        <arg line="-s ${build.velocidoc}/temp \
+           -d ${build.velocidoc}/docs \
+           -t ${ro.tools}/buildtime/velocidoc-templates/ \
+           -c ${ro.tools}/buildtime/velocidoc-templates/control.vm "/>
+    </java>
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Create Binary Release -->
+<!-- ********************************************************************* -->
+
+<target name="full-release" depends="binary-release">
+</target>
+
+<target name="binary-release" depends="source-release">
+    <!-- Substitute in resource ref for deployment for standard container -->
+    <replace file="${build.stage_web}/WEB-INF/web.xml"
+            token="&lt;!-- TOMCAT_RESOURCE_REF --&gt;">
+        <replacevalue><![CDATA[
+    <resource-ref>
+    <res-ref-name>jdbc/rollerdb</res-ref-name>
+    <res-type>javax.sql.DataSource</res-type>
+    <res-auth>Container</res-auth>
+    </resource-ref>
+        ]]></replacevalue>
+    </replace>
+    <fixcrlf srcdir="${build.stage_web}/WEB-INF" eol="lf" includes="**/*.xml" />
+   <!-- Tar and GZip the webapp -->
+    <tar tarfile="${ro.build}/roller-${ro.version}.tar"
+        basedir="${ro.build}"
+        includes="roller/**"
+        excludes="roller/article/**,**/*.bak,**/*~" />
+    <gzip zipfile="${ro.build}/roller-${ro.version}.tar.gz"
+             src="${ro.build}/roller-${ro.version}.tar" />
+    <delete>
+        <fileset dir="${ro.build}" includes="*.tar"/>
+    </delete>
+    
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Create Source Release -->
+<!-- ********************************************************************* -->
+	
+<target name="source-release" depends="contrib">
+    <!-- <antcall target="rebuild"/> -->
+    <!-- Tar and GZip the sources -->
+    <tar tarfile="${ro.build}/roller-src-${ro.version}.tar">
+        <tarfileset dir="./src/../..">
+            <include name="roller/metadata/**" />
+            <include name="roller/personal/eclipse/**" />
+            <include name="roller/personal/sample.build.xml" />
+            <include name="roller/custom/**" />
+            <include name="roller/contrib/**" />
+            <include name="roller/src/**" />
+            <include name="roller/tests/**" />
+            <include name="roller/web/**" />
+            <include name="roller/docs/**" />
+            <exclude name="roller/docs/installguide/old/**"/>
+            <exclude name="roller/docs/userguide/old/**"/>
+            <include name="roller/ant.properties" />
+            <include name="roller/build.bat" />
+            <include name="roller/build.sh" />
+            <include name="roller/build.xml" />
+            <include name="roller/properties.xmlf" />
+            <include name="roller/CHANGES.txt" />
+            <include name="roller/LICENSE.txt" />
+            <include name="roller/README.txt" />
+            <exclude name="**/codewright*/**"/>
+            <exclude name="**/CVS/**"/>
+            <exclude name="**/*.bak"/>
+            <exclude name="**/*-hide"/>
+            <exclude name="**/*.diff"/>
+            <exclude name="**/*.patch"/>
+            <exclude name="**/*~"/>
+            <exclude name="**/*.#*"/>
+            <exclude name="**/WS_FTP.LOG"/>
+            <exclude name="**/.nbattrs"/>
+         </tarfileset>
+    </tar>
+    <gzip zipfile="${ro.build}/roller-src-${ro.version}.tar.gz"
+              src="${ro.build}/roller-src-${ro.version}.tar" />
+    <!-- Tar and GZip the tools -->
+    <tar tarfile="${ro.build}/roller-tools-${ro.version}.tar"
+        basedir="./src/../.."
+        includes="roller/tools/**"
+        excludes="**/*.bak,**/*~" />
+    <gzip zipfile="${ro.build}/roller-tools-${ro.version}.tar.gz"
+              src="${ro.build}/roller-tools-${ro.version}.tar" />
+    <delete>
+        <fileset dir="${ro.build}" includes="*.tar"/>
+    </delete>
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- TEST targets -->
+<!-- ********************************************************************* -->
+	
+<target name="tests" depends="build-test" description="All unit tests" >
+    <antcall target="test-hibernate"/>
+    <antcall target="test-servlets"/>
+    <antcall target="test-utils"/>
+</target>
+
+<target name="build-test" depends="build" description="Build unit tests" >
+
+    <mkdir dir="${build.tests}" />
+    <mkdir dir="${build.tests}/logs" />
+    <mkdir dir="${build.tests}/WEB-INF/classes" />
+    <mkdir dir="${build.tests}/WEB-INF/classes/themes" />
+    
+    <javac srcdir="${basedir}/tests/"
+        destdir="${build.tests}/WEB-INF/classes"
+        includeantruntime="false"
+        debug="true" optimize="false" verbose="false" deprecation="false">
+        &custom-src-tests;
+        <classpath>
+            <path refid="junit.path"/>
+        </classpath>
+    </javac>
+    
+    <!-- register Ant tasks that were just built -->
+    <taskdef name="startdb" classname="org.roller.ant.StartHsqldbTask" 
+        classpath="${basedir}/tools/buildtime/hsqldb.jar;${build.tests}/WEB-INF/classes" />
+    <taskdef name="stopdb" classname="org.roller.ant.StopHsqldbTask" 
+        classpath="${basedir}/tools/buildtime/hsqldb.jar;${build.tests}/WEB-INF/classes" />
+        
+    <!-- 
+    Copy required files to ${build.tests} to make them available for 
+    testing without interfering with the "real" build in ${build.stage_web}
+    -->
+	
+	<copy file="${basedir}/personal/testing/roller.properties"
+        todir="${build.tests}/WEB-INF/classes/"/>
+
+    <copy file="${basedir}/personal/testing/hibernate.cfg.xml"
+        tofile="${build.tests}/WEB-INF/classes/hibernate.cfg.xml" />
+    
+    <copy file="${basedir}/personal/testing/log4j.properties"
+        tofile="${build.tests}/WEB-INF/classes/log4j.properties" />
+        
+    <copy file="${basedir}/personal/testing/bookmarks.opml"
+        tofile="${build.tests}/WEB-INF/classes/bookmarks.opml" />
+
+    <copy file="${basedir}/web/images/rssbadge.gif"
+        tofile="${build.tests}/rssbadge.gif" />
+
+    <copy todir="${build.tests}/WEB-INF/classes">
+        <fileset dir="${basedir}/web/WEB-INF/classes">
+            <include name="App*.properties"/>
+        </fileset>
+    </copy>
+	
+	<copy todir="${build.tests}/WEB-INF/classes">
+        <fileset dir="${basedir}/web/WEB-INF/classes">
+            <include name="**/*.vm"/>
+        </fileset>
+    </copy>
+
+    <copy file="${basedir}/web/WEB-INF/classes/rollerRuntimeConfigDefs.xml"
+	    todir="${build.tests}/WEB-INF/classes/"/>
+
+    <copy file="${basedir}/web/WEB-INF/velocity.properties"
+        tofile="${build.tests}/WEB-INF/velocity.properties" />
+        
+    <copy file="${basedir}/web/WEB-INF/classes/rome.properties"
+        tofile="${build.tests}/WEB-INF/classes/rome.properties" />
+
+    <copy file="${basedir}/web/WEB-INF/toolbox.xml"
+        tofile="${build.tests}/WEB-INF/toolbox.xml" />
+	    
+    <copy file="${basedir}/web/WEB-INF/classes/blacklist.txt"
+        tofile="${build.tests}/WEB-INF/classes/blacklist.txt" />
+        	
+</target>
+
+<target name="clean-tests" description="Removes test build and result artifacts and reports">
+  <delete dir="${ro.build}/tests"/>
+  <delete dir="${ro.build}/build/reports"/>
+</target>
+
+<target name="test-hibernate" depends="build-test" description="Back-end tests">
+
+    <mkdir dir="${build.reports}/hibernate/xml"/>
+    <mkdir dir="${build.reports}/hibernate/html"/>
+
+    <startdb database="${build.tests}/testdb" port="3219" />
+    
+    <sql driver="org.hsqldb.jdbcDriver"
+        url="jdbc:hsqldb:hsql://localhost:3219"
+        userid="sa" password=""
+        src="${ro.build}/roller/WEB-INF/dbscripts/hsql/createdb.sql"
+        classpath="${ro.tools}/buildtime/hsqldb.jar" />
+	
+    &custom-pre-dbtest;
+
+    <junit fork="true" dir="${build.tests}">
+        <classpath>
+            <path refid="junit.path"/>
+        </classpath>
+        <jvmarg value="-Dro.build=${ro.build}"/>
+        <jvmarg value="-Dcatalina.base=${build.tests}"/> <!-- needed to satisfy ref in log4j.properties -->
+        <formatter type="xml"/>
+        <batchtest toDir="${build.reports}/hibernate/xml">
+            <fileset dir="${build.tests}/WEB-INF/classes">
+               <include name="org/roller/business/*Test.class"/>             	
+            </fileset>
+        </batchtest>
+    </junit>
+    <junitreport todir="${build.reports}/hibernate/xml">
+        <fileset dir="${build.reports}/hibernate/xml">
+            <include name="TEST-*.xml"/>
+        </fileset>
+        <report format="noframes" toDir="${build.reports}/hibernate/html"/>
+    </junitreport>
+	
+    &custom-post-dbtest;
+
+    <sql driver="org.hsqldb.jdbcDriver"
+        url="jdbc:hsqldb:hsql://localhost:3219"
+        userid="sa" password=""
+        src="./build/roller/WEB-INF/dbscripts/droptables.sql"
+        classpath="${ro.tools}/buildtime/hsqldb.jar" />
+
+    <stopdb port="3219"/>
+
+    <echo>Suggested: Run "ant consistency-check".</echo>
+</target>
+
+<target name="test-servlets" depends="build-test">
+    <mkdir dir="${build.reports}/servlets/xml"/>
+    <mkdir dir="${build.reports}/servlets/html"/>
+    
+    <startdb database="${build.tests}/testdb" port="3219" />
+    
+    <sql driver="org.hsqldb.jdbcDriver"
+        url="jdbc:hsqldb:hsql://localhost:3219"
+        userid="sa" password=""
+        src="./build/roller/WEB-INF/dbscripts/hsql/createdb.sql"
+        classpath="${ro.tools}/buildtime/hsqldb.jar" />
+
+    <junit fork="true" dir="${build.tests}">
+        <batchtest toDir="${build.reports}/servlets/xml">
+            <fileset dir="${build.tests}/WEB-INF/classes">
+                <include name="org/roller/presentation/**/*Test.class"/> 
+	            <exclude name="**/ApplicationResourcesTest.class"/>
+	            <exclude name="**/ArchiveParserTest.class"/>
+	            <exclude name="**/AtomCollectionTest.class"/>
+	            <exclude name="**/AtomServletTest.class"/>
+	            <exclude name="**/ExportRssTest.class"/>
+	            <exclude name="**/LanguageUtilTest.class"/>            
+            </fileset>
+        </batchtest>
+        <!--arg value="org.roller.presentation.velocity.ExportRssTest"/-->
+        <jvmarg value="-DrollerImpl=hibernate"/>
+        <jvmarg value="-Dro.build=${ro.build}"/>
+        <jvmarg value="-Dcatalina.base=${build.tests}"/> <!-- needed to satisfy ref in log4j.properties -->
+        <formatter type="xml"/>
+        <classpath>
+            <path refid="junit.path"/>
+        </classpath>
+    </junit>
+    
+    <junitreport todir="${build.reports}/servlets/xml">
+       <fileset dir="${build.reports}/servlets/xml">
+          <include name="TEST-*.xml"/>
+       </fileset>
+    <report format="noframes" toDir="${build.reports}/servlets/html"/>
+    </junitreport>
+    
+    <sql driver="org.hsqldb.jdbcDriver"
+         url="jdbc:hsqldb:hsql://localhost:3219"
+         userid="sa" password=""
+         src="./build/roller/WEB-INF/dbscripts/droptables.sql"
+         classpath="${ro.tools}/buildtime/hsqldb.jar" />
+
+    <stopdb port="3219" />
+</target>
+
+<target name="test-utils" depends="build-test" >
+    <mkdir dir="${build.reports}/utils/xml"/>
+    <mkdir dir="${build.reports}/utils/html"/>
+    
+	<junit fork="true" dir="${build.tests}">
+        <batchtest toDir="${build.reports}/utils/xml">
+            <fileset dir="${build.tests}/WEB-INF/classes">
+                <include name="org/roller/util/*Test.class"/>
+            </fileset>
+        </batchtest>
+        <jvmarg value="-DrollerImpl=hibernate"/>
+        <jvmarg value="-Dcatalina.base=."/> <!-- needed to satisfy ref in log4j.properties -->
+        <formatter type="xml"/>
+        <classpath>
+            <path refid="junit.path"/>
+        </classpath>
+    </junit>
+
+	<junitreport todir="${build.reports}/utils/xml">
+      <fileset dir="${build.reports}/utils/xml">
+        <include name="TEST-*.xml"/>
+      </fileset>
+      <report format="noframes" toDir="${build.reports}/utils/html"/>
+    </junitreport>
+
+</target>
+
+<!-- You can specify testClass using -DtestClass=foo -->
+<property name="testClass" value="org.roller.presentation.velocity.plugins.smileys.SmileysTest"/>
+<target name="test-one" depends="build-test">
+    <java classname="junit.textui.TestRunner" fork="yes" failonerror="false">
+        <arg value="${testClass}"/>
+        <classpath>
+            <path refid="junit.path"/>
+        </classpath>
+    </java>
+</target>
+
+<!-- ********************************************************************* -->
+<!-- EXAMPLE targets -->
+<!-- ********************************************************************* -->
+	
+<target name="deploy-tomcat" depends="stage-web" >
+    <ant dir="./personal" target="deploy-tomcat" />
+</target>
+<target name="deploy-resin" depends="stage-web" >
+    <ant dir="./personal" target="deploy-resin" />
+</target>
+<target name="deploy-isp" depends="stage-web" >
+    <ant dir="./personal" target="deploy-isp" />
+</target>
+<target name="clean-isp">
+    <ant dir="./personal" target="clean-isp" />
+</target>
+<target name="official-release" depends="tests,full-release" > 
+    <ant dir="./personal" target="official-release" />
+</target>
+
+<!-- ********************************************************************* -->
+<!-- EXPERIMENTAL targets -->
+<!-- ********************************************************************* -->
+	
+<!-- EXPERIMENTAL: Run ConsistencyCheck. -->
+<target name="consistency-check">
+<echo>Use -Ddelete=1 to delete all orphans.
+Use -Dverbose=1 to get verbose output.
+'delete' and 'verbose' are exclusive, 'delete' wins.
+</echo>
+    <condition property="command" value="-v">
+        <isset property="verbose" />
+    </condition>
+    <condition property="command" value="-purge">
+        <isset property="delete" />
+    </condition>
+    <java classname="org.roller.business.utils.ConsistencyCheck" fork="yes">
+        <arg value="${command}"/>
+        <jvmarg value="-Dusername=roller"/>
+        <jvmarg value="-Dpassword=tiger"/>
+        <classpath>
+            <path refid="base.path"/>
+            <path location="${ro.build}/lib/rollerbeans.jar"/>
+            <path location="${ro.tools}/lib/mm.mysql-2.0.14-bin.jar"/>
+        </classpath>
+    </java>
+</target>
+	
+<target name="findbugs" depends="build">
+    <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" 
+    	    classpathref="findbugs.path" />
+
+    <property name="findbugs.home" value="${ro.tools}/buildtime/findbugs" />
+    <findbugs home="${findbugs.home}"
+              output="xml"
+              outputFile="${findbugs.home}/roller-fb.xml"
+              projectFile="${basedir}/tools/buildtime/findbugs/roller.fb" >
+      <!--
+      <auxClasspath refid="findbugs.path" />
+      <sourcePath path="${basedir}/src/" />
+      <sourcePath path="${basedir}/contrib/plugins/src/" />
+      <sourcePath path="${basedir}/tests/" />
+      <class location="${build.stage_web}/WEB-INF/lib/rollerbeans.jar" />
+      <class location="${build.stage_web}/WEB-INF/lib/rollerweb.jar" />
+      <class location="${build.stage_web}/WEB-INF/lib/rollercontrib.jar" />
+      -->
+    </findbugs>
+</target>
+
+<target name="compile-jsps" depends="stage-web">
+   <path id="jasper.path">
+     <path location="${build.stage_web}/WEB-INF/classes" />
+     <fileset dir="${build.stage_web}/WEB-INF/lib">
+       <include name="**/*.jar"/>
+     </fileset>
+     <fileset dir="${ro.tools}/tomcat-4.1.24">
+       <include name="*.jar"/>
+     </fileset>
+     <fileset dir="${ro.tools}/lib">
+       <include name="servlet-*.jar"/>
+       <include name="ant-*.jar"/>
+     </fileset>
+   </path>
+     <mkdir dir="${ro.build}/jspc"/>
+  <jspc srcdir="${build.stage_web}" destdir="${ro.build}/jspc"
+        package="test" verbose="9">
+      <include name="**/*.jsp" />
+        <classpath refid="jasper.path"/>
+  </jspc>
+     <mkdir dir="${ro.build}/jspc.classes"/>
+    <javac source="1.4" debug="true" srcdir="${ro.build}/jspc"
+        destdir="${ro.build}/jspc.classes" fork="true">
+        <classpath refid="jasper.path"/>
+  </javac>
+
+</target>
+	    
+<!-- ********************************************************************* -->
+<!-- HSQLDB start, init and stop targets -->
+<!-- ********************************************************************* -->
+
+<target name="init-hsqldb" description=
+    "Initializes HSQLDB on port 3219 by running Roller's droptable and createdb scripts">
+    &custom-post-dbtest;
+    <sql driver="org.hsqldb.jdbcDriver"
+         url="jdbc:hsqldb:hsql://localhost:3219"
+         userid="sa" password=""
+         src="./build/roller/WEB-INF/dbscripts/droptables.sql" onerror="continue"
+         classpath="${ro.tools}/buildtime/hsqldb.jar" />    
+    <sql driver="org.hsqldb.jdbcDriver"
+         url="jdbc:hsqldb:hsql://localhost:3219"
+         userid="sa" password=""
+         src="./build/roller/WEB-INF/dbscripts/hsql/createdb.sql"
+         classpath="${ro.tools}/buildtime/hsqldb.jar" />    
+    &custom-pre-dbtest;
+</target>
+
+<target name="start-hsqldb" description="Starts HSQLDB database on port 3219">  
+    <java classname="org.hsqldb.Server" fork="yes" classpath="./tools/buildtime/hsqldb.jar">
+        <arg value="-database"/>
+        <arg value="${build.tests}/testdb"/>
+        <arg value="-port"/>
+        <arg value="3219"/>
+    </java>
+</target>
+        
+<target name="stop-hsqldb" description="Drop tables and stops the HSQLDB database on port 3219">
+    <sql driver="org.hsqldb.jdbcDriver"
+         url="jdbc:hsqldb:hsql://localhost:3219"
+         userid="sa" password=""
+         src="./build/roller/WEB-INF/dbscripts/droptables.sql"
+         classpath="${ro.tools}/buildtime/hsqldb.jar" />
+    <sql driver="org.hsqldb.jdbcDriver"
+         url="jdbc:hsqldb:hsql://localhost:3219"
+         userid="sa" password=""
+         classpath="${ro.tools}/buildtime/hsqldb.jar" >
+         SHUTDOWN
+    </sql>  
+</target>
+
+</project>

Added: incubator/roller/branches/roller_1.x/contrib/ant.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/contrib/ant.properties?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/contrib/ant.properties (added)
+++ incubator/roller/branches/roller_1.x/contrib/ant.properties Fri Oct 21 14:27:36 2005
@@ -0,0 +1,4 @@
+build.debug=on
+build.deprecation=false
+ro.build=../build
+ro.tools=../tools

Added: incubator/roller/branches/roller_1.x/contrib/build.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/contrib/build.xml?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/contrib/build.xml (added)
+++ incubator/roller/branches/roller_1.x/contrib/build.xml Fri Oct 21 14:27:36 2005
@@ -0,0 +1 @@
+<?xml version="1.0"?>
<!DOCTYPE project [
    <!ENTITY properties SYSTEM "file:../properties.xmlf">
]>
<project name="contrib" default="build-contrib">  
 
    <!-- Bring in properties.xml -->
    &properties;
    
    <target name="build-contrib" description="Build Roller contributions">
   
        <echo message="making ${ro.build}/compile_contrib" />
        <mkdir dir="${ro.build}/compile_contrib" />
        
	<ant dir="plugins" inheritAll="false" />
        
        <copy todir="${ro.build}/roller/WEB-INF/lib" flatten="true">
            <fileset dir="./" includes="**/*.jar"/>
        </copy>

        <!-- Jar up web classes -->
        <jar jarfile="${ro.build}/roller/WEB-INF/lib/rollercontrib.jar">
            <fileset dir="${ro.build}/compile_contrib" />
        </jar>
        
    </target>  
</project>
\ No newline at end of file

Added: incubator/roller/branches/roller_1.x/contrib/lib/JSPWiki.jar
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/contrib/lib/JSPWiki.jar?rev=327589&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/branches/roller_1.x/contrib/lib/JSPWiki.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/branches/roller_1.x/contrib/lib/jython.jar
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/contrib/lib/jython.jar?rev=327589&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/branches/roller_1.x/contrib/lib/jython.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/branches/roller_1.x/contrib/lib/radeox.jar
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/contrib/lib/radeox.jar?rev=327589&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/branches/roller_1.x/contrib/lib/radeox.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/branches/roller_1.x/contrib/lib/textile4j-1.20.jar
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/contrib/lib/textile4j-1.20.jar?rev=327589&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/branches/roller_1.x/contrib/lib/textile4j-1.20.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/branches/roller_1.x/contrib/plugins/ant.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/contrib/plugins/ant.properties?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/contrib/plugins/ant.properties (added)
+++ incubator/roller/branches/roller_1.x/contrib/plugins/ant.properties Fri Oct 21 14:27:36 2005
@@ -0,0 +1,4 @@
+build.debug=on
+build.deprecation=false
+ro.build=../../build
+ro.tools=../../tools

Added: incubator/roller/branches/roller_1.x/contrib/plugins/build.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_1.x/contrib/plugins/build.xml?rev=327589&view=auto
==============================================================================
--- incubator/roller/branches/roller_1.x/contrib/plugins/build.xml (added)
+++ incubator/roller/branches/roller_1.x/contrib/plugins/build.xml Fri Oct 21 14:27:36 2005
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!DOCTYPE project [
+    <!ENTITY properties SYSTEM "file:../../properties.xmlf">
+]>
+<project name="plugins" default="plugins">
+ 
+    <!-- Bring in properties.xml -->
+    &properties;
+    
+   <target name="plugins" description="Build Roller Page Plugins">
+       <javac debug="${build.debug}" 
+             srcdir="./src" 
+            destdir="${ro.build}/compile_contrib">
+           <classpath>
+               <path refid="presentation.path"/>
+               <path location="${ro.build}/compile_beans"/>
+               <path location="${ro.build}/compile_web"/>
+               <fileset dir="../lib">
+                  <include name="*.jar"/>
+               </fileset>
+           </classpath>
+       </javac>
+       <copy todir="${ro.build}/compile_contrib">
+           <fileset dir="./src" includes="**/*.properties"/>
+       </copy>
+   </target>
+</project>
\ No newline at end of file