Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 144 lines (84 sloc) 7.309 kb
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
1 # The Lift Web Framework
2
3 Lift is the most powerful, most secure web framework available today. There are [Seven Things](http://seventhings.liftweb.net/) that distinguish Lift from other web frameworks.
4
5 Lift applications are:
6
7 - Secure -- Lift apps are resistant to common vulnerabilities including many of the OWASP Top 10
d72d585 @dcbriccetti Fixed spelling error
dcbriccetti authored
8 - Developer centric -- Lift apps are fast to build, concise and easy to maintain
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
9 - Scalable -- Lift apps are high performance and scale in the real world to handle insane traffic levels
10 - Interactive like a desktop app -- Lift's Comet support is unparalled and Lift's ajax support is super-easy and very secure
11
12 Because Lift applications are written in [Scala](http://www.scala-lang.org), an elegant JVM language, you can still use your favorite Java libraries and deploy to your favorite Servlet Container and app server. Use the code you've already written and deploy to the container you've already configured!
13
1b7c328 @dpp Updated the README
dpp authored
14 ## Pull Requests
b9e4de9 @d6y Added prominent section indicating no pull requests, in relation to comm...
d6y authored
15
1b7c328 @dpp Updated the README
dpp authored
16 We will accept pull requests into the [Lift codebase](https://github.com/lift)
17 if the pull requests meet the following criteria:
b9e4de9 @d6y Added prominent section indicating no pull requests, in relation to comm...
d6y authored
18
1b7c328 @dpp Updated the README
dpp authored
19 * One or more of the following:
20 * Documentation including ScalaDoc comments in code
21 * Example code
22 * Small changes, enhancements, or bug fixes to Lift's code
23 * Each pull request must include a signature at the bottom of the
24 `/contributors.md` file.
b9e4de9 @d6y Added prominent section indicating no pull requests, in relation to comm...
d6y authored
25
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
26 ## Getting Started
27
28 You can create a new Lift project using your favorite build system by adding Lift as a dependency:
29
3238ef5 @fmpwizard Updated to Lift 2.5-RC1
fmpwizard authored
30 #### sbt 0.12.1
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
31
32 Create or update your `project/plugins.sbt` file with the `xsbt-web-plugin`:
33
3238ef5 @fmpwizard Updated to Lift 2.5-RC1
fmpwizard authored
34 libraryDependencies <+= sbtVersion(v => "com.github.siasia" %% "xsbt-web-plugin" % ("0.12.0-0.2.11.1"))
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
35
36 Then, add the plugin and Lift to your `build.sbt` file:
37
38 seq(webSettings :_*)
39
40 libraryDependencies ++= {
3238ef5 @fmpwizard Updated to Lift 2.5-RC1
fmpwizard authored
41 val liftVersion = "2.5-RC1"
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
42 Seq(
3238ef5 @fmpwizard Updated to Lift 2.5-RC1
fmpwizard authored
43 "net.liftweb" %% "lift-webkit" % liftVersion % "compile",
44 "net.liftmodules" %% "lift-jquery-module" % (liftVersion + "-2.2"),
45 "org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container,test",
46 "org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container,test" artifacts Artifact("javax.servlet", "jar", "jar"),
47 "ch.qos.logback" % "logback-classic" % "1.0.6"
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
48 )
49 }
50
3238ef5 @fmpwizard Updated to Lift 2.5-RC1
fmpwizard authored
51 You can [learn more on the cookbook](http://cookbook.liftweb.net/#LiftFromScratch).
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
52
53 #### Maven:
54
55 You can use one of the several archetypes -- `lift-archetype-blank`, `lift-archetype-basic`, `lift-archetype-jpa-basic` -- to generate a new Lift project. You must set `archetypeRepository` and `remoteRepositories` to `http://scala-tools.org/repo-releases` or `http://scala-tools.org/repo-snapshots`, depending on whether you are using a release or the latest SNAPSHOT.
56
57 Or, you can add Lift to your `pom.xml` like so:
58
59 <dependency>
60 <groupId>net.liftweb</groupId>
61 <artifactId>lift-mapper_${scala.version}</artifactId>
ddbea98 @jeppenejsum Update versions to 2.4
jeppenejsum authored
62 <version>2.4</version>
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
63 </dependency>
64
65 Where `${scala.version}` is `2.8.0`, `2.8.1`, `2.9.1` etc.
66
67 You can [learn more on the wiki](http://www.assembla.com/wiki/show/liftweb/Using_Maven).
68
69 ## Project Organization
70
71 The Lift Framework is divided into several Git repositories, which in turn are divided into several components that are published independently. This organization enables you to use just the elements of Lift necessary for your project and no more.
72
73 ### This Repository
74
75 This repository, `framework`, contains the following components:
76
77 #### core
78
b72bff7 @dcbriccetti Fix some spelling and grammatical errors: “check out” is a phrasal verb,...
dcbriccetti authored
79 Core elements used by Lift projects. If you wish to reuse some of Lift's helpers and constructs, such as `Box`, this component may be all you need. However, a web application will most likely require one or more of Lift's components.
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
80
81 #### web
82
b72bff7 @dcbriccetti Fix some spelling and grammatical errors: “check out” is a phrasal verb,...
dcbriccetti authored
83 This component includes all of Lift's core HTTP and web handling. Including `lift-webkit` in your build process should be sufficient for basic applications and will include `lift-core` as a transitive dependency.
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
84
85 #### persistence
86
87 This component includes Mapper and Record, Lift's two ORMs. While you needn't use either and can use the ORM of your choice, Mapper and Record integrate nicely with Lift's idioms. Mapper is an ORM for relational databases, while Record is a broader ORM with support for both SQL databases and NoSQL datastores.
88
89 ### Other Repostories
90
91 There are a variety of other repositories available on the Lift GitHub page. While many are concerned with building Lift or are build program archetypes, there are two you will probably encounter fairly frequently as a Lift user:
92
93 #### modules
94
b9e4de9 @d6y Added prominent section indicating no pull requests, in relation to comm...
d6y authored
95 The [modules](https://github.com/liftmodules) repository contains the many add-on modules that are part of the Lift project. If you don't find a module you need here, consider [creating a module](http://www.assembla.com/spaces/liftweb/wiki/Modules) and sharing it with the community.
96
97 Please note that the modules project does accept pull requests.
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
98
99 #### examples
100
101 The [examples](https://github.com/lift/examples) repository contains the source code for several example Lift applications, including [demo.liftweb.com](http://demo.liftweb.com/).
102
103 ## Building Lift
104
105 If you simply want to use Lift in your project, add Lift as a dependency to your build system or [download the JAR files directly](www.liftweb.net/download).
106
b72bff7 @dcbriccetti Fix some spelling and grammatical errors: “check out” is a phrasal verb,...
dcbriccetti authored
107 If you wish to build Lift from source, check out this repository and use the included `liftsh` script to build some or all of the components you want.
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
108
109 git clone https://github.com/lift/framework.git
110 cd framework
42ec31b @pr1001 Added '+update' to instructions for building Lift in README
pr1001 authored
111 ./liftsh +update +publish
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
112
113 There is [additional documentation on the wiki](http://www.assembla.com/spaces/liftweb/wiki/Building_Lift).
114
115 ## Additional Resources
116
117 ### Homepage
118
119 The main Lift website is [http://www.liftweb.net](http://www.liftweb.net). The site contains information on the latest Lift releases, a getting started guide, links to several Lift online books, and additional information.
120
121 ### Mailing List
122
123 The Lift Google Group is the official place for support and is an active, friendly community to boot! It can be found at [http://groups.google.com/forum/#!forum/liftweb](http://groups.google.com/forum/#!forum/liftweb).
124
125 ### Wiki
126
b72bff7 @dcbriccetti Fix some spelling and grammatical errors: “check out” is a phrasal verb,...
dcbriccetti authored
127 The Lift wiki is hosted on Assembla and can be found at [http://www.assembla.com/spaces/liftweb/wiki/](http://www.assembla.com/spaces/liftweb/wiki/). Anyone is welcome to contribute to the wiki; you must create an account and watch the Lift project in order to create or edit wiki pages.
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
128
129 ### ScalaDocs
130
b72bff7 @dcbriccetti Fix some spelling and grammatical errors: “check out” is a phrasal verb,...
dcbriccetti authored
131 The ScalaDocs for each release of Lift, in additional to the actual JARs, are available on ScalaTools. You can access the source code–based documentation for releases via the site's homepage or by navigating directly to the URL for the specific release. For instance, the Lift 2.4 release can be accessed at [http://scala-tools.org/mvnsites/liftweb-2.4/](http://scala-tools.org/mvnsites/liftweb-2.4/).
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
132
3238ef5 @fmpwizard Updated to Lift 2.5-RC1
fmpwizard authored
133 ### Cookbook
134
135 You can find up-to-date information on the [Lift Cookbook](http://cookbook.liftweb.net/)
136
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situate...
pr1001 authored
137 ## License
138
b9e4de9 @d6y Added prominent section indicating no pull requests, in relation to comm...
d6y authored
139 Lift is open source software released under the **Apache 2.0 license**. You must be a committer with signed committer agreement to submit patches. You can learn more about Lift's committer policy on the Lift website.
238de8a @jeppenejsum Add link to Jenkins
jeppenejsum authored
140
141 ## Continuous Integration
142
3238ef5 @fmpwizard Updated to Lift 2.5-RC1
fmpwizard authored
143 SNAPSHOTs are built at CloudBees: https://lift.ci.cloudbees.com/
Something went wrong with that request. Please try again.