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   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="<!-- RESIN-CACHE -->" >
+ <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="<!-- TOMCAT_RESOURCE_REF -->">
+ <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