a2209ba Initial Lucee on Jetty template files.
BY-SA.license.txt (new) | 425 ++++++++++++++++++++
LGPL.license.txt (new) | 165 ++++++++
build/build.sh (new) | 72 ++++
readme.md | 46 ++-
src/README.TXT (new) | 118 ++++++
src/lucee-base/etc/lucee-servlets.xml (new) | 90 +++++
src/lucee-base/etc/readme.md (new) | 13 +
src/lucee-base/etc/rewrite-rules.xml (new) | 32 ++
src/lucee-base/lib/ext/readme.md (new) | 10 +
src/lucee-base/logs/readme.md (new) | 12 +
src/lucee-base/lucee-server/readme.md (new) | 17 +
src/lucee-base/modules/lucee.mod (new) | 11 +
src/lucee-base/modules/readme.md (new) | 13 +
src/lucee-base/readme.md (new) | 50 +++
src/lucee-base/resources/jetty-logging.properties (new) | 1 +
src/lucee-base/resources/readme.md (new) | 13 +
src/lucee-base/start.ini (new) | 7 +
src/lucee-base/webapps/ROOT.xml (new) | 26 ++
src/lucee-base/webapps/ROOT/index.cfm (new) | 21 +
src/lucee-base/webapps/readme.md (new) | 45 +++
src/lucee-base/webinfs/readme.md (new) | 14 +
src/start-server.bat (new) | 20 +
src/start-server.sh (new) | 12 +
23 files changed, 1229 insertions(+), 4 deletions(-)
diff --git a/BY-SA.license.txt b/BY-SA.license.txt
new file mode 100644
index 0000000..34ec65f
--- /dev/null
+++ b/BY-SA.license.txt
@@ -0,0 +1,425 @@
+Attribution-ShareAlike 4.0 International
+
+=======================================================================
+
+Creative Commons Corporation ("Creative Commons") is not a law firm and
+does not provide legal services or legal advice. Distribution of
+Creative Commons public licenses does not create a lawyer-client or
+other relationship. Creative Commons makes its licenses and related
+information available on an "as-is" basis. Creative Commons gives no
+warranties regarding its licenses, any material licensed under their
+terms and conditions, or any related information. Creative Commons
+disclaims all liability for damages resulting from their use to the
+fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and
+conditions that creators and other rights holders may use to share
+original works of authorship and other material subject to copyright
+and certain other rights specified in the public license below. The
+following considerations are for informational purposes only, are not
+exhaustive, and do not form part of our licenses.
+
+ Considerations for licensors: Our public licenses are
+ intended for use by those authorized to give the public
+ permission to use material in ways otherwise restricted by
+ copyright and certain other rights. Our licenses are
+ irrevocable. Licensors should read and understand the terms
+ and conditions of the license they choose before applying it.
+ Licensors should also secure all rights necessary before
+ applying our licenses so that the public can reuse the
+ material as expected. Licensors should clearly mark any
+ material not subject to the license. This includes other CC-
+ licensed material, or material used under an exception or
+ limitation to copyright. More considerations for licensors:
+ wiki.creativecommons.org/Considerations_for_licensors
+
+ Considerations for the public: By using one of our public
+ licenses, a licensor grants the public permission to use the
+ licensed material under specified terms and conditions. If
+ the licensor's permission is not necessary for any reason--for
+ example, because of any applicable exception or limitation to
+ copyright--then that use is not regulated by the license. Our
+ licenses grant only permissions under copyright and certain
+ other rights that a licensor has authority to grant. Use of
+ the licensed material may still be restricted for other
+ reasons, including because others have copyright or other
+ rights in the material. A licensor may make special requests,
+ such as asking that all changes be marked or described.
+ Although not required by our licenses, you are encouraged to
+ respect those requests where reasonable. More_considerations
+ for the public:
+ wiki.creativecommons.org/Considerations_for_licensees
+
+=======================================================================
+
+Creative Commons Attribution-ShareAlike 4.0 International Public
+License
+
+By exercising the Licensed Rights (defined below), You accept and agree
+to be bound by the terms and conditions of this Creative Commons
+Attribution-ShareAlike 4.0 International Public License ("Public
+License"). To the extent this Public License may be interpreted as a
+contract, You are granted the Licensed Rights in consideration of Your
+acceptance of these terms and conditions, and the Licensor grants You
+such rights in consideration of benefits the Licensor receives from
+making the Licensed Material available under these terms and
+conditions.
+
+
+Section 1 -- Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar
+ Rights that is derived from or based upon the Licensed Material
+ and in which the Licensed Material is translated, altered,
+ arranged, transformed, or otherwise modified in a manner requiring
+ permission under the Copyright and Similar Rights held by the
+ Licensor. For purposes of this Public License, where the Licensed
+ Material is a musical work, performance, or sound recording,
+ Adapted Material is always produced where the Licensed Material is
+ synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright
+ and Similar Rights in Your contributions to Adapted Material in
+ accordance with the terms and conditions of this Public License.
+
+ c. BY-SA Compatible License means a license listed at
+ creativecommons.org/compatiblelicenses, approved by Creative
+ Commons as essentially the equivalent of this Public License.
+
+ d. Copyright and Similar Rights means copyright and/or similar rights
+ closely related to copyright including, without limitation,
+ performance, broadcast, sound recording, and Sui Generis Database
+ Rights, without regard to how the rights are labeled or
+ categorized. For purposes of this Public License, the rights
+ specified in Section 2(b)(1)-(2) are not Copyright and Similar
+ Rights.
+
+ e. Effective Technological Measures means those measures that, in the
+ absence of proper authority, may not be circumvented under laws
+ fulfilling obligations under Article 11 of the WIPO Copyright
+ Treaty adopted on December 20, 1996, and/or similar international
+ agreements.
+
+ f. Exceptions and Limitations means fair use, fair dealing, and/or
+ any other exception or limitation to Copyright and Similar Rights
+ that applies to Your use of the Licensed Material.
+
+ g. License Elements means the license attributes listed in the name
+ of a Creative Commons Public License. The License Elements of this
+ Public License are Attribution and ShareAlike.
+
+ h. Licensed Material means the artistic or literary work, database,
+ or other material to which the Licensor applied this Public
+ License.
+
+ i. Licensed Rights means the rights granted to You subject to the
+ terms and conditions of this Public License, which are limited to
+ all Copyright and Similar Rights that apply to Your use of the
+ Licensed Material and that the Licensor has authority to license.
+
+ j. Licensor means the individual(s) or entity(ies) granting rights
+ under this Public License.
+
+ k. Share means to provide material to the public by any means or
+ process that requires permission under the Licensed Rights, such
+ as reproduction, public display, public performance, distribution,
+ dissemination, communication, or importation, and to make material
+ available to the public including in ways that members of the
+ public may access the material from a place and at a time
+ individually chosen by them.
+
+ l. Sui Generis Database Rights means rights other than copyright
+ resulting from Directive 96/9/EC of the European Parliament and of
+ the Council of 11 March 1996 on the legal protection of databases,
+ as amended and/or succeeded, as well as other essentially
+ equivalent rights anywhere in the world.
+
+ m. You means the individual or entity exercising the Licensed Rights
+ under this Public License. Your has a corresponding meaning.
+
+
+Section 2 -- Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License,
+ the Licensor hereby grants You a worldwide, royalty-free,
+ non-sublicensable, non-exclusive, irrevocable license to
+ exercise the Licensed Rights in the Licensed Material to:
+
+ a. reproduce and Share the Licensed Material, in whole or
+ in part; and
+
+ b. produce, reproduce, and Share Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where
+ Exceptions and Limitations apply to Your use, this Public
+ License does not apply, and You do not need to comply with
+ its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section
+ 6(a).
+
+ 4. Media and formats; technical modifications allowed. The
+ Licensor authorizes You to exercise the Licensed Rights in
+ all media and formats whether now known or hereafter created,
+ and to make technical modifications necessary to do so. The
+ Licensor waives and/or agrees not to assert any right or
+ authority to forbid You from making technical modifications
+ necessary to exercise the Licensed Rights, including
+ technical modifications necessary to circumvent Effective
+ Technological Measures. For purposes of this Public License,
+ simply making modifications authorized by this Section 2(a)
+ (4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ a. Offer from the Licensor -- Licensed Material. Every
+ recipient of the Licensed Material automatically
+ receives an offer from the Licensor to exercise the
+ Licensed Rights under the terms and conditions of this
+ Public License.
+
+ b. Additional offer from the Licensor -- Adapted Material.
+ Every recipient of Adapted Material from You
+ automatically receives an offer from the Licensor to
+ exercise the Licensed Rights in the Adapted Material
+ under the conditions of the Adapter's License You apply.
+
+ c. No downstream restrictions. You may not offer or impose
+ any additional or different terms or conditions on, or
+ apply any Effective Technological Measures to, the
+ Licensed Material if doing so restricts exercise of the
+ Licensed Rights by any recipient of the Licensed
+ Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or
+ may be construed as permission to assert or imply that You
+ are, or that Your use of the Licensed Material is, connected
+ with, or sponsored, endorsed, or granted official status by,
+ the Licensor or others designated to receive attribution as
+ provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not
+ licensed under this Public License, nor are publicity,
+ privacy, and/or other similar personality rights; however, to
+ the extent possible, the Licensor waives and/or agrees not to
+ assert any such rights held by the Licensor to the limited
+ extent necessary to allow You to exercise the Licensed
+ Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this
+ Public License.
+
+ 3. To the extent possible, the Licensor waives any right to
+ collect royalties from You for the exercise of the Licensed
+ Rights, whether directly or through a collecting society
+ under any voluntary or waivable statutory or compulsory
+ licensing scheme. In all other cases the Licensor expressly
+ reserves any right to collect such royalties.
+
+
+Section 3 -- License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the
+following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified
+ form), You must:
+
+ a. retain the following if it is supplied by the Licensor
+ with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed
+ Material and any others designated to receive
+ attribution, in any reasonable manner requested by
+ the Licensor (including by pseudonym if
+ designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of
+ warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the
+ extent reasonably practicable;
+
+ b. indicate if You modified the Licensed Material and
+ retain an indication of any previous modifications; and
+
+ c. indicate the Licensed Material is licensed under this
+ Public License, and include the text of, or the URI or
+ hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any
+ reasonable manner based on the medium, means, and context in
+ which You Share the Licensed Material. For example, it may be
+ reasonable to satisfy the conditions by providing a URI or
+ hyperlink to a resource that includes the required
+ information.
+
+ 3. If requested by the Licensor, You must remove any of the
+ information required by Section 3(a)(1)(A) to the extent
+ reasonably practicable.
+
+ b. ShareAlike.
+
+ In addition to the conditions in Section 3(a), if You Share
+ Adapted Material You produce, the following conditions also apply.
+
+ 1. The Adapter's License You apply must be a Creative Commons
+ license with the same License Elements, this version or
+ later, or a BY-SA Compatible License.
+
+ 2. You must include the text of, or the URI or hyperlink to, the
+ Adapter's License You apply. You may satisfy this condition
+ in any reasonable manner based on the medium, means, and
+ context in which You Share Adapted Material.
+
+ 3. You may not offer or impose any additional or different terms
+ or conditions on, or apply any Effective Technological
+ Measures to, Adapted Material that restrict exercise of the
+ rights granted under the Adapter's License You apply.
+
+
+Section 4 -- Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that
+apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right
+ to extract, reuse, reproduce, and Share all or a substantial
+ portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database
+ contents in a database in which You have Sui Generis Database
+ Rights, then the database in which You have Sui Generis Database
+ Rights (but not its individual contents) is Adapted Material,
+
+ including for purposes of Section 3(b); and
+ c. You must comply with the conditions in Section 3(a) if You Share
+ all or a substantial portion of the contents of the database.
+
+For the avoidance of doubt, this Section 4 supplements and does not
+replace Your obligations under this Public License where the Licensed
+Rights include other Copyright and Similar Rights.
+
+
+Section 5 -- Disclaimer of Warranties and Limitation of Liability.
+
+ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+
+ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+
+ c. The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
+
+
+Section 6 -- Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and
+ Similar Rights licensed here. However, if You fail to comply with
+ this Public License, then Your rights under this Public License
+ terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under
+ Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided
+ it is cured within 30 days of Your discovery of the
+ violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ For the avoidance of doubt, this Section 6(b) does not affect any
+ right the Licensor may have to seek remedies for Your violations
+ of this Public License.
+
+ c. For the avoidance of doubt, the Licensor may also offer the
+ Licensed Material under separate terms or conditions or stop
+ distributing the Licensed Material at any time; however, doing so
+ will not terminate this Public License.
+
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
+ License.
+
+
+Section 7 -- Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different
+ terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the
+ Licensed Material not stated herein are separate from and
+ independent of the terms and conditions of this Public License.
+
+
+Section 8 -- Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and
+ shall not be interpreted to, reduce, limit, restrict, or impose
+ conditions on any use of the Licensed Material that could lawfully
+ be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is
+ deemed unenforceable, it shall be automatically reformed to the
+ minimum extent necessary to make it enforceable. If the provision
+ cannot be reformed, it shall be severed from this Public License
+ without affecting the enforceability of the remaining terms and
+ conditions.
+
+ c. No term or condition of this Public License will be waived and no
+ failure to comply consented to unless expressly agreed to by the
+ Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted
+ as a limitation upon, or waiver of, any privileges and immunities
+ that apply to the Licensor or You, including from the legal
+ processes of any jurisdiction or authority.
+
+
+=======================================================================
+
+Creative Commons is not a party to its public licenses.
+Notwithstanding, Creative Commons may elect to apply one of its public
+licenses to material it publishes and in those instances will be
+considered the "Licensor." Except for the limited purpose of indicating
+that material is shared under a Creative Commons public license or as
+otherwise permitted by the Creative Commons policies published at
+creativecommons.org/policies, Creative Commons does not authorize the
+use of the trademark "Creative Commons" or any other trademark or logo
+of Creative Commons without its prior written consent including,
+without limitation, in connection with any unauthorized modifications
+to any of its public licenses or any other arrangements,
+understandings, or agreements concerning use of licensed material. For
+the avoidance of doubt, this paragraph does not form part of the public
+licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/LGPL.license.txt b/LGPL.license.txt
new file mode 100644
index 0000000..02bbb60
--- /dev/null
+++ b/LGPL.license.txt
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
\ No newline at end of file
diff --git a/build/build.sh b/build/build.sh
new file mode 100644
index 0000000..579164a
--- /dev/null
+++ b/build/build.sh
@@ -0,0 +1,72 @@
+#!/bin/bash
+
+echo -e "\n\e[1;97mBuilding Lucee on Jetty!\e[0m\n"
+
+JettyFile=`echo $* | perl -ne 'print $_ =~ /--jetty=(\S+)/'`
+LuceeFile=`echo $* | perl -ne 'print $_ =~ /--lucee=(\S+)/'`
+Errors=0
+
+if [ -z $JettyFile ]; then
+ echo "Specify --jetty=/path/to/jetty-distribution.tgz"
+ Errors=1
+fi
+
+if [ -z $LuceeFile ]; then
+ echo "Specify --lucee=/path/to/lucee-jars.zip"
+ Errors=1
+fi
+
+if [ ! -f $JettyFile ]; then
+ echo "Invalid Jetty file [$JettyFile]"
+ Errors=1
+fi
+
+if [ ! -f $LuceeFile ]; then
+ echo "Invalid Lucee file [$LuceeFile]"
+ Errors=1
+fi
+
+if [ $Errors -ne 0 ]; then
+ echo "Aborting..."
+ exit
+fi
+
+
+cd `dirname $0`
+echo "In build directory [`pwd`]"
+
+WorkingDir=luje-`date '+%s'`
+mkdir $WorkingDir
+
+cd $WorkingDir
+echo "In working directory [`pwd`]"
+
+echo "1/5 Copying template files"
+cp -r ../../src/* ./
+
+echo "2/5 Extracing $JettyFile"
+if [ ${JettyFile##*.} = "zip" ]
+then
+ unzip -q $JettyFile
+else
+ tar -xzf $JettyFile
+fi
+mv jetty-distribution-* jetty-home
+
+echo "3/5 Extracing $LuceeFile"
+unzip -q $LuceeFile -d lucee-base/lib/ext/
+
+JettyVersion=`echo $JettyFile | perl -ne 'print $_ =~ /jetty-distribution-([\d.]*)(?:(\.M\d)|\.v\d+)\.(?:zip|tgz|tar\.gz)$/'`
+LuceeVersion=`echo $LuceeFile | perl -ne 'print $_ =~ /lucee-([\d.]*)-jars\.(?:zip|tgz|tar\.gz)$/'`
+echo "4/5 Setting versions [$JettyVersion] and [$LuceeVersion]"
+sed s/{JETTY_VERSION}/$JettyVersion/g < README.TXT > README.TMP
+sed s/{LUCEE_VERSION}/$LuceeVersion/g < README.TMP > README.TXT
+rm README.TMP
+
+echo "5/5 Creating dist/$WorkingDir.tgz"
+mkdir -p ../../dist
+tar -czf ../../dist/$WorkingDir.tgz *
+cd ..
+rm -r $WorkingDir
+
+echo -e "\n\e[1;97mBuild Complete!\e[0m\n"
diff --git a/readme.md b/readme.md
index 6771e11..f51a524 100644
--- a/readme.md
+++ b/readme.md
@@ -1,6 +1,44 @@
-Lucee on Jetty is a template for bundling Lucee with Jetty.
-It is currently in development and has not yet been released.
+Lucee on Jetty
-You are on master branch, which will contain stable releases.
-Switch to develop branch to view the latest version.
\ No newline at end of file
+Description
+-----------
+
+Lucee on Jetty is a project to provide a Lucee package that is easy to use and
+provides a fully functional & capable web server, with extensive documentation
+on how everything has been done, so it can be understood and adapted as needed.
+
+This repository contains the template for bundling Lucee with Jetty. It uses
+Jetty's home/base functionality to simplify the process and avoid the need to
+modify the Jetty files.
+
+The project's homepage, including links to download the bundles, is at:
+
+ http://sorcerersisle.com/projects:lucee-on-jetty
+
+
+How to build
+------------
+
+The build directory contains a bash build script, but the basic process is:
+
+ 1) cp src -> {target}
+ 2) unzip jetty-X.zip -> {target}/jetty-home
+ 3) unzip lucee-jars.zip -> {target}/lucee-base/lib/ext/
+ 4) update versions in {target}/README.TXT
+ 5) zip {target} lucee-on-jetty.zip
+
+That's all there is to it.
+
+
+Licensing
+---------
+
+Lucee on Jetty is a project created and maintained by Peter Boughton, licensed
+under the LGPLv3, aside from the documentation and wiki which is CC BY-SA v4.0.
+
+This repository does not contain Lucee or Jetty themselves; these have their
+own licenses (Lucee: LGPLv2; Jetty: Apache License 2.0 or EPLv2).
+
+
+/eof
\ No newline at end of file
diff --git a/src/README.TXT b/src/README.TXT
new file mode 100644
index 0000000..f624cf5
--- /dev/null
+++ b/src/README.TXT
@@ -0,0 +1,118 @@
+Lucee on Jetty
+
+
+Description
+-----------
+
+Lucee on Jetty is an unzip-and-run Lucee-enabled Jetty server. It does not
+require installation, simply extract the files from the zip and run the
+start-server script and you have a server running Lucee.
+
+The file structure uses Jetty's home/base directory split - this means:
+* The directory jetty-home is an unmodified copy of the latest Jetty release.
+* The directory lucee-base contains Lucee JARs and configuration.
+(See readme file in lucee-base for further details.)
+
+This bundle was created from the template at:
+
+ https://github.com/boughtonp/lucee-on-jetty
+
+
+Usage
+-----
+
+Unzip to a suitable location.
+On Windows, double-click the start-server.bat to start the server.
+All other operating systems, execute start-server.sh to start the server.
+Pressing Ctrl-C will shutdown the server.
+
+There are README files in many directories. Reading them is highly recommended.
+
+Key points:
+* The default port (8080) can be changed in lucee-base/start.ini
+* The default webroot is lucee-base/webapps/ROOT
+* Instructions for adding more are in lucee-base/webapps/readme.md
+* The Lucee web admin for a context is at http://{hostname}/lucee/admin/web.cfm
+and the context directories are at lucee-base/webinfs/{lucee-context-label}
+* The Lucee server admin is http://{hostname}/lucee/admin/server.cfm and the
+server context can be found in lucee-base/lucee-server
+
+
+Licensing
+---------
+
+This Lucee on Jetty bundle is collectively licensed as LGPLv3, with its included
+documentation licensed as CC-BY-SA v4.0.
+
+The primary components are licensed as below. These in turn have their own
+components - see respective READMEs for details.
+
+Jetty v{JETTY_VERSION}
+* Website: http://eclipse.org/jetty
+* Source: http://git.eclipse.org/c/jetty
+* License: Apache v2.0 (also available under EPL v2)
+* Files: jetty-home/*
+
+Lucee v{LUCEE_VERSION}
+* Website: http://lucee.org
+* Source: https://bitbucket.org/lucee/lucee
+* License: LGPLv2
+* Files: lucee-base/lib/ext/*
+
+
+
+FAQ
+---
+
+> What port does it run on?
+
+The HTTP server will run on the port specified by the `jetty.port` setting in
+the lucee-base/start.ini config file, and uses the Jetty default of 8080. It can
+be changed to any available port. Note that changes to start.ini require a Jetty
+restart to be picked up.
+
+> Where is the hostname/aliases set?
+
+Jetty runs on localhost only by default, but can be set to respond to any IP or
+hostname. This is configured on a per-context basis, e.g. each host can have its
+own context, or multiple virtual host aliases can point to a single context.
+
+The configuration for this is via the webapp context XML config files, which
+reside in lucee-base/webapps - see the associated readme for further details.
+
+> Where is the webroot?
+
+The default webroot is lucee-base/webapps/ROOT/
+You can add virtual host aliases by editing lucee-base/webapps/ROOT.xml
+You can add other webroots (contexts) by copying and changing the XML file.
+
+See the readme in lucee-base/webapps for details of both of these.
+
+> Where are the Lucee logs?
+
+Lucee logs are stored in a context's web config directory - that is in
+lucee-base/webinfs/{web-context-label}/logs
+(The web-context-label defaults to a unique value for each context. To see - and
+change - this label, for all contexts, login to the Lucee Server Admin.)
+
+The logs directory in lucee-base is used by the Jetty instance.
+
+> How is Jetty upgraded?
+
+Download a new Jetty distribution and replace the jetty-home directory with it.
+
+> How is Lucee upgraded?
+
+Use Lucee's own upgrade functionality (i.e. via admin, or an lco patch file).
+For major upgrades, replace lucee-base/lib/ext with a new Lucee JAR download.
+
+> I have a question not answered here?
+
+Check the documentation wiki:
+ https://github.com/boughtonp/lucee-on-jetty/wiki
+
+If the answer is not there, raise an issue:
+ https://github.com/boughtonp/lucee-on-jetty/issues
+
+
+/eof
\ No newline at end of file
diff --git a/src/lucee-base/etc/lucee-servlets.xml b/src/lucee-base/etc/lucee-servlets.xml
new file mode 100644
index 0000000..711d2bb
--- /dev/null
+++ b/src/lucee-base/etc/lucee-servlets.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app
+ xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
+ metadata-complete="false"
+ version="3.1"
+ >
+ <!--
+ # lucee-servlets.xml
+
+ This file is a partial web.xml file which configures the lucee servlets
+ for a webapp context. It should be included into a context's XML config
+ file using the overrideDescriptor, as described by the readme within the
+ lucee-base/webapps directory.
+ -->
+
+ <!--
+ ## Servlets
+
+ The first servlet definition tells Jetty that any mapping referring to
+ the "CFMLServlet" is referring to the specified Lucee servlet class.
+ Additionally, it sets the lucee-server-directory and lucee-web-directory
+ parameters to different paths, relative to the lucee-base directory.
+
+ The second servlet is for Lucee's built-in REST functionality.
+ The load-on-startup value specifies the order the servlets start in;
+ Lucee's REST servlet must come after its CFML servlet.
+ -->
+ <servlet>
+ <servlet-name>CFMLServlet</servlet-name>
+ <servlet-class>lucee.loader.servlet.CFMLServlet</servlet-class>
+ <init-param>
+ <param-name>lucee-server-directory</param-name>
+ <param-value>.</param-value>
+ </init-param>
+ <init-param>
+ <param-name>lucee-web-directory</param-name>
+ <param-value>webinfs/{web-context-label}/</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>RESTServlet</servlet-name>
+ <servlet-class>lucee.loader.servlet.RestServlet</servlet-class>
+ <load-on-startup>2</load-on-startup>
+ </servlet>
+
+
+ <!--
+ ## Servlet Mappings
+
+ Servlet mappings are what link a request URL to a servlet - any context
+ including this configuration which receives a matching URL will send the
+ request to the specified servlet.
+
+ NOTE: The servlet specification only allows a single wildcard - Jetty's
+ rewrite handler is used to enable index.cfm/path_info (see rewrite-rules.xml)
+ and can be updated further to provide fully user-friendly URLs.
+ -->
+ <servlet-mapping>
+ <servlet-name>CFMLServlet</servlet-name>
+ <url-pattern>*.cfc</url-pattern>
+ <url-pattern>*.cfm</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>RESTServlet</servlet-name>
+ <url-pattern>/rest/*</url-pattern>
+ </servlet-mapping>
+
+
+ <!--
+ ## Welcome Files
+
+ If a URL points to a directory rather than a file, the filenames listed
+ here will be checked in order and the first one to match will be served
+ instead of a directory listing.
+
+ This list is checked AFTER the list in the jetty-home/etc/webdefault.xml
+ config, thus if both index.html and index.cfm exist in a directory, the
+ former is used.
+ -->
+ <welcome-file-list>
+ <welcome-file>index.cfm</welcome-file>
+ </welcome-file-list>
+
+
+</web-app>
\ No newline at end of file
diff --git a/src/lucee-base/etc/readme.md b/src/lucee-base/etc/readme.md
new file mode 100644
index 0000000..fdeb5ed
--- /dev/null
+++ b/src/lucee-base/etc/readme.md
@@ -0,0 +1,13 @@
+# Lucee on Jetty etc directory.
+
+The primary Lucee on Jetty readme is README.TXT in the top-level directory.
+
+This directory is where Jetty settings can be overridden.
+
+The **lucee-servlets.xml** file contains the servlet and servlet-mapping
+settings for the Lucee CFML and REST servlets. It is included in web context
+configuration using Jetty's overrideDescriptor functionality.
+
+The **rewrite-rules.xml** file configures Jetty's rewrite handler. It applies
+to all contexts, but rules can be grouped per virtualhost. Jetty's documentation
+is at: http://www.eclipse.org/jetty/documentation/current/rewrite-handler.html
diff --git a/src/lucee-base/etc/rewrite-rules.xml b/src/lucee-base/etc/rewrite-rules.xml
new file mode 100644
index 0000000..45fd119
--- /dev/null
+++ b/src/lucee-base/etc/rewrite-rules.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+ <!--
+ # rewrite-rules.xml
+
+ This file can be used to configure Jetty's Rewrite Handler. There are a
+ variety of possible rewrite/redirect methods avaiable, so check the
+ Jetty documentation for details:
+ http://www.eclipse.org/jetty/documentation/current/rewrite-handler.html
+ -->
+
+ <Ref refid="Rewrite">
+
+ <!--
+ Rewrite {anyscript}.cfm/path_info URLs to {anyscript}.cfm so it is
+ matched by Lucee's servlet mapping. (Lucee populates cgi.path_info
+ from Jetty's requestedPath, which holds the original Request URI.)
+ -->
+ <Call name="addRule">
+ <Arg>
+ <New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule">
+ <Set name="regex">(.*?\.cfm)/.*</Set>
+ <Set name="replacement">$1</Set>
+ </New>
+ </Arg>
+ </Call>
+
+ </Ref>
+
+</Configure>
\ No newline at end of file
diff --git a/src/lucee-base/lib/ext/readme.md b/src/lucee-base/lib/ext/readme.md
new file mode 100644
index 0000000..2b15da3
--- /dev/null
+++ b/src/lucee-base/lib/ext/readme.md
@@ -0,0 +1,10 @@
+# Lucee on Jetty lib/ext directory.
+
+The primary Lucee on Jetty readme is README.TXT in the top-level directory.
+
+This lib/ext directory contains the Lucee JAR files. Jetty's ext module looks in
+this directory (and any subdirectories) for *.jar and automatically adds them to
+the classpath.
+
+Jetty's documentation for this is at:
+ http://www.eclipse.org/jetty/documentation/current/startup-classpath.html
diff --git a/src/lucee-base/logs/readme.md b/src/lucee-base/logs/readme.md
new file mode 100644
index 0000000..99e285a
--- /dev/null
+++ b/src/lucee-base/logs/readme.md
@@ -0,0 +1,12 @@
+# Lucee on Jetty logs directory.
+
+The primary Lucee on Jetty readme is README.TXT in the top-level directory.
+
+This directory is where Jetty will place log files, including stderr and stdout.
+
+For details on Jetty logging, see the Jetty documentation:
+ http://www.eclipse.org/jetty/documentation/current/configuring-logging.html
+
+
+Lucee log files are located within a web context's configuration directory, that
+is, within `lucee-base/webinfs/{web-context-label}/logs`
diff --git a/src/lucee-base/lucee-server/readme.md b/src/lucee-base/lucee-server/readme.md
new file mode 100644
index 0000000..db4baa5
--- /dev/null
+++ b/src/lucee-base/lucee-server/readme.md
@@ -0,0 +1,17 @@
+# Lucee on Jetty lucee-server directory.
+
+The primary Lucee on Jetty readme is README.TXT in the top-level directory.
+
+This lucee-server directory is where Lucee stores the configuration for the
+Lucee Server and the patches when Lucee is updated - by default this directory
+is found in lib/ext/lucee-server (alongside the Lucee JARs), but this bundle has
+been configured for a more convenient location.
+
+The context directory contains the lucee-server.xml config file for the Lucee
+Server Admin, along with other global/server-level files.
+
+The patches directory will contain one or more X.X.X.xxx.lco files - the latest
+patch in this directory is the version Lucee will run.
+
+A manual upgrade can be performed by copying a newer .lco file to this directory
+and restarting Lucee.
diff --git a/src/lucee-base/modules/lucee.mod b/src/lucee-base/modules/lucee.mod
new file mode 100644
index 0000000..1557829
--- /dev/null
+++ b/src/lucee-base/modules/lucee.mod
@@ -0,0 +1,11 @@
+#
+# Lucee Module
+#
+
+[depend]
+ext
+http
+jsp
+
+[lib]
+lib/ext/lucee.jar
\ No newline at end of file
diff --git a/src/lucee-base/modules/readme.md b/src/lucee-base/modules/readme.md
new file mode 100644
index 0000000..0f67731
--- /dev/null
+++ b/src/lucee-base/modules/readme.md
@@ -0,0 +1,13 @@
+# Lucee on Jetty modules directory.
+
+The primary Lucee on Jetty readme is README.TXT in the top-level directory.
+
+Jetty uses modules to group dependenies, libraries, and configuration so that
+a single module can be enabled without needing to manually enable all the others
+that it uses, and to verify that relevant files exist.
+
+You can read more about modules in the Jetty documentation:
+ http://www.eclipse.org/jetty/documentation/current/startup-modules.html
+
+The **lucee.mod** file defines a Lucee module consisting of the other modules
+Lucee requires to run, plus a reference to the Lucee JAR.
diff --git a/src/lucee-base/readme.md b/src/lucee-base/readme.md
new file mode 100644
index 0000000..49fde6b
--- /dev/null
+++ b/src/lucee-base/readme.md
@@ -0,0 +1,50 @@
+# Lucee on Jetty lucee-base directory.
+
+For the primary Lucee on Jetty readme, see README.TXT in the parent directory.
+
+This lucee-base directory uses the split jetty-home/jetty-base functionality
+available in Jetty 9, to allow configuration of Lucee against an unmodified
+Jetty instance. For more information on jetty-base see the Jetty documentation
+at http://www.eclipse.org/jetty/documentation/current/startup-base-and-home.html
+
+This file contains information about the following:
+* The structure and purpose of the files and directories here.
+* Jetty and Lucee configurations which have been made.
+
+For more specific information, check for a readme in the relevant directory.
+(If there is no readme, check the Jetty documentation for further details.)
+
+
+## Directories and files
+
+ readme.md - this file.
+ start.ini - Jetty startup modules & configuration.
+ etc - Jetty configuration overrides.
+ ~ lucee-servlets.xml - Lucee CFML Servlet configuration.
+ ~ rewrite-rules.xml - Jetty URL rewrite rules.
+ lib/ext - Lucee's JAR files.
+ logs - Jetty's log files are created here.
+ lucee-server - Lucee's server context and patches go here.
+ modules - Additional Jetty module files.
+ ~ lucee.mod - Lucee module for Jetty.
+ resources - Jetty resource files.
+ ~ jetty-logging.properties - Jetty logging configuration
+ webapps - Jetty looks for webapp contexts here.
+ ~ ROOT.xml - the XML config file for the default webapp context.
+ webinfs - Lucee's webapp context configuration and log files.
+
+
+## Jetty configuration
+
+* The `start.ini` file lists the relevant built-in modules plus `modules/lucee.mod`
+* The `etc/rewrite-rules.xml` file is loaded by start.ini and rewrites *.cfm to enable path info.
+* The `etc/lucee-servlets.xml` file is loaded via the overrideDescriptor setting
+in a webapp XML config file, and maps *.cfm and *.cfc to Lucee's CFMLServlet.
+
+
+## Lucee configuration
+
+* The `lucee-server-directory` parameter is set to use `lucee-base/lucee-server`
+instead of the `lucee-base/lib/ext/lucee-server` default.
+* The `lucee-web-directory` parameter is set to use `lucee-base/webinfs/{web-context-label}`
+instead of `lucee-base/webapps/{context}/WEB-INF/lucee`
diff --git a/src/lucee-base/resources/jetty-logging.properties b/src/lucee-base/resources/jetty-logging.properties
new file mode 100644
index 0000000..07faa86
--- /dev/null
+++ b/src/lucee-base/resources/jetty-logging.properties
@@ -0,0 +1 @@
+org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog
\ No newline at end of file
diff --git a/src/lucee-base/resources/readme.md b/src/lucee-base/resources/readme.md
new file mode 100644
index 0000000..b5d8b54
--- /dev/null
+++ b/src/lucee-base/resources/readme.md
@@ -0,0 +1,13 @@
+# Lucee on Jetty resources directory.
+
+The primary Lucee on Jetty readme is README.TXT in the top-level directory.
+
+The resources directory is where Jetty looks for logging configuration, in the
+form of either jetty-logging.properties or logging.properties files.
+
+You can read more about logging in the Jetty documentation:
+ http://eclipse.org/jetty/documentation/current/configuring-logging.html
+
+The **jetty-logging.properties** file instructs Lucee to use the StdErrLog class
+for its logging, resulting in stdout and stderr being redirected to a log file
+in the lucee-base/logs directory.
\ No newline at end of file
diff --git a/src/lucee-base/start.ini b/src/lucee-base/start.ini
new file mode 100644
index 0000000..c24303b
--- /dev/null
+++ b/src/lucee-base/start.ini
@@ -0,0 +1,7 @@
+--module=lucee,deploy,logging
+
+--module=http
+jetty.port=8080
+
+--module=rewrite
+etc/rewrite-rules.xml
\ No newline at end of file
diff --git a/src/lucee-base/webapps/ROOT.xml b/src/lucee-base/webapps/ROOT.xml
new file mode 100644
index 0000000..08bc45a
--- /dev/null
+++ b/src/lucee-base/webapps/ROOT.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<Configure class="org.eclipse.jetty.webapp.WebAppContext">
+
+ <!--
+ # ROOT.xml
+
+ This file configures a webapp context named "ROOT", which responds on
+ localhost for the port Jetty is running on (see lucee-base/start.ini).
+
+ Additional contexts can be added by creating further XML files. See the
+ readme.md in this directory for details, or check Jetty's documentation.
+ -->
+
+ <Set name="overrideDescriptor"><SystemProperty name="jetty.base" default="."/>/etc/lucee-servlets.xml</Set>
+
+ <Set name="resourceBase"><SystemProperty name="jetty.base" default="."/>/webapps/ROOT/</Set>
+
+ <Set name="virtualHosts">
+ <Array type="String">
+ <Item>localhost</Item>
+ <Item>127.0.0.1</Item>
+ </Array>
+ </Set>
+
+</Configure>
\ No newline at end of file
diff --git a/src/lucee-base/webapps/ROOT/index.cfm b/src/lucee-base/webapps/ROOT/index.cfm
new file mode 100644
index 0000000..e99112c
--- /dev/null
+++ b/src/lucee-base/webapps/ROOT/index.cfm
@@ -0,0 +1,21 @@
+<cfoutput><!doctype html>
+
+ <title>Lucee on Jetty</title>
+
+ <h1>Congratulations, you are running Lucee on Jetty.</h1>
+
+ <p>Lucee Version: <var>#Server.Lucee.Version#</var>
+ <p>Jetty Version: <var>#ListRest(Server.Servlet.Name,'/')#</var>
+
+ <p>This file is located at <var>#HtmlEditFormat(getCurrentTemplatePath())#</var>
+
+ <h2>Local Links</h2>
+ <p>Server Admin: <a href="#cgi.context_path#/lucee/admin/server.cfm">/lucee/admin/server.cfm</a>
+ <p>Web Admin: <a href="#cgi.context_path#/lucee/admin/web.cfm">/lucee/admin/web.cfm</a>
+ <p>Built-in documentation: <a href="#cgi.context_path#/lucee/doc.cfm">/lucee/doc.cfm</a>
+
+ <h2>Online Links</h2>
+ <p>Website: <a href="http://lucee.org">//lucee.org</a>
+ <p>Online documentation: <a href="https://bitbucket.org/lucee/lucee/wiki/Home">//bitbucket.org/lucee/lucee/wiki/Home</a>
+
+</cfoutput>
\ No newline at end of file
diff --git a/src/lucee-base/webapps/readme.md b/src/lucee-base/webapps/readme.md
new file mode 100644
index 0000000..d324640
--- /dev/null
+++ b/src/lucee-base/webapps/readme.md
@@ -0,0 +1,45 @@
+# Lucee on Jetty webapps directory.
+
+The primary Lucee on Jetty readme is README.TXT in the top-level directory.
+The default Jetty webapps readme is README.TXT in jetty-home/webapps
+
+This webapps directory is where Jetty WebApp Contexts are located.
+
+There is one context by default - ROOT.xml - which listens on localhost and has
+its resourceBase (webroot) set to the lucee-base/webapps/ROOT directory.
+
+These context XML config files work as per Jetty documentation, with the
+addendum that invoking Lucee means including the lucee-servlets.xml
+configuration via the overrideDescriptor setting:
+
+ <Set name="overrideDescriptor"><SystemProperty name="jetty.base" default="."/>/etc/lucee-servlets.xml</Set>
+
+
+## Adding a new context
+
+Create a new XML file from the ROOT.xml, set the resourceBase appropriately, and
+specify the virtual host aliases that the context responds to.
+
+Jetty is configured to automatically deploy new contexts, without needing to
+restart the Jetty server. For details on this, see the Jetty Documentation
+section below.
+
+
+## Adding a virtual host to a context
+
+A context will respond to the hostnames specified in its virtual host aliases
+section. The default ROOT context has been configured to run only on localhost,
+but can be reconfigured if desired.
+
+If a context does not have any virtual hosts configured, it will respond for any
+hostname or IP which points to the machine.
+
+Details on how to configure virtual hosts are available at:
+ http://www.eclipse.org/jetty/documentation/current/configuring-virtual-hosts.html
+
+
+## Jetty Documentation
+
+There is a README.txt in jetty-home/webapps which provides some information on
+webapp deployment, or a more complete explanation is available online:
+ http://www.eclipse.org/jetty/documentation/current/configuring-deployment.html
diff --git a/src/lucee-base/webinfs/readme.md b/src/lucee-base/webinfs/readme.md
new file mode 100644
index 0000000..eaf917a
--- /dev/null
+++ b/src/lucee-base/webinfs/readme.md
@@ -0,0 +1,14 @@
+# Lucee on Jetty webinfs directory.
+
+The primary Lucee on Jetty readme is README.TXT in the top-level directory.
+
+This webinfs directory contains the configuration for web contexts which Lucee
+has been enabled for - by default this would be found in a WEB-INF/lucee
+directory in each context's webroot (resourceBase), but this bundle has been
+configured to place them here instead.
+(Configuration is done via the CFMLServlet `lucee-web-directory` parameter in
+the `etc/lucee-servlets.xml` file.)
+
+Each Jetty context that Lucee is enabled for will have its own directory, named
+as the lucee-context-label - this defaults to a unique hash but can be changed
+in Lucee Server Admin.
diff --git a/src/start-server.bat b/src/start-server.bat
new file mode 100644
index 0000000..84b677f
--- /dev/null
+++ b/src/start-server.bat
@@ -0,0 +1,20 @@
+@ECHO OFF
+
+@ECHO.
+@ECHO * Welcome to Lucee on Jetty! *
+@ECHO.
+
+PUSHD "%~dp0%lucee-base"
+@ECHO In lucee-base directory [%cd%]
+
+@ECHO "Starting Jetty... (Use Ctrl-C to shutdown server.)"
+@ECHO.
+java -jar ../jetty-home/start.jar
+
+POPD
+
+@ECHO.
+@ECHO Jetty stopped.
+@ECHO.
+
+PAUSE
\ No newline at end of file
diff --git a/src/start-server.sh b/src/start-server.sh
new file mode 100644
index 0000000..26aff97
--- /dev/null
+++ b/src/start-server.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+echo -e "\n\e[1;97mWelcome to Lucee on Jetty!\e[0m\n"
+
+cd `dirname $0`/lucee-base
+echo "In lucee-base directory [`pwd`]"
+
+echo -e "Starting Jetty... (Use Ctrl-C to shutdown server.)\n"
+java -jar ../jetty-home/start.jar
+
+echo -e "\nJetty stopped.\n"
+read -rs -n 1 -p "Press any key to continue..."
\ No newline at end of file