Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 132 lines (74 sloc) 6.829 kB
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situ…
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
8 - Developer centeric -- Lift apps are fast to build, concise and easy to maintain
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
b9e4de9 @d6y Added prominent section indicating no pull requests, in relation to c…
d6y authored
14 ## No Pull Requests
15
16 You must be a committer with signed committer agreement to submit patches. We do not accept pull requests from non-committers.
17
18 Please discuss issues and improvements on the [mailing list](http://groups.google.com/forum/#!forum/liftweb), and read up on [other ways you can contribute](https://www.assembla.com/spaces/liftweb/wiki/Contributing).
19
20
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situ…
pr1001 authored
21 ## Getting Started
22
23 You can create a new Lift project using your favorite build system by adding Lift as a dependency:
24
25 #### sbt 0.11
26
27 Create or update your `project/plugins.sbt` file with the `xsbt-web-plugin`:
28
29 libraryDependencies <+= sbtVersion(v => "com.github.siasia" %% "xsbt-web-plugin" % (v+"-0.2.7"))
30
31 Then, add the plugin and Lift to your `build.sbt` file:
32
33 seq(webSettings :_*)
34
35 libraryDependencies ++= {
ddbea98 @jeppenejsum Update versions to 2.4
jeppenejsum authored
36 val liftVersion = "2.4"
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situ…
pr1001 authored
37 Seq(
38 "net.liftweb" %% "lift-webkit" % liftVersion % "compile",
39 "org.mortbay.jetty" % "jetty" % "6.1.22" % "container",
40 "ch.qos.logback" % "logback-classic" % "0.9.26"
41 )
42 }
43
44 You can [learn more on the wiki](http://www.assembla.com/wiki/show/liftweb/Using_SBT).
45
46 #### Maven:
47
48 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.
49
50 Or, you can add Lift to your `pom.xml` like so:
51
52 <dependency>
53 <groupId>net.liftweb</groupId>
54 <artifactId>lift-mapper_${scala.version}</artifactId>
ddbea98 @jeppenejsum Update versions to 2.4
jeppenejsum authored
55 <version>2.4</version>
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situ…
pr1001 authored
56 </dependency>
57
58 Where `${scala.version}` is `2.8.0`, `2.8.1`, `2.9.1` etc.
59
60 You can [learn more on the wiki](http://www.assembla.com/wiki/show/liftweb/Using_Maven).
61
62 ## Project Organization
63
64 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.
65
66 ### This Repository
67
68 This repository, `framework`, contains the following components:
69
70 #### core
71
72 Core elements used by Lift projects. If you wish to reuse some of Lift's helpers and constructs, such as `Box`, this compenent may be all you need. However, a web application will most likely require one or more of Lift's components.
73
74 #### web
75
76 This component included 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 transative dependency.
77
78 #### persistence
79
80 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.
81
82 ### Other Repostories
83
84 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:
85
86 #### modules
87
b9e4de9 @d6y Added prominent section indicating no pull requests, in relation to c…
d6y authored
88 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.
89
90 Please note that the modules project does accept pull requests.
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situ…
pr1001 authored
91
92 #### examples
93
94 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/).
95
96 ## Building Lift
97
98 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).
99
100 If you wish to build Lift from source, checkout this repository and use the included `liftsh` script to build some or all of the components you want.
101
102 git clone https://github.com/lift/framework.git
103 cd framework
42ec31b @pr1001 Added '+update' to instructions for building Lift in README
pr1001 authored
104 ./liftsh +update +publish
c50e55b @pr1001 Add README outlining the Lift project and how this repository is situ…
pr1001 authored
105
106 There is [additional documentation on the wiki](http://www.assembla.com/spaces/liftweb/wiki/Building_Lift).
107
108 ## Additional Resources
109
110 ### Homepage
111
112 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.
113
114 ### Mailing List
115
116 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).
117
118 ### Wiki
119
120 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 contributed to the wiki; you must create an account and watch the Lift project in order to create or edit wiki pages.
121
122 ### ScalaDocs
123
ddbea98 @jeppenejsum Update versions to 2.4
jeppenejsum authored
124 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 situ…
pr1001 authored
125
126 ## License
127
b9e4de9 @d6y Added prominent section indicating no pull requests, in relation to c…
d6y authored
128 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
129
130 ## Continuous Integration
131
132 SNAPSHOTs are built at CloudBees: https://lift.ci.cloudbees.com/
Something went wrong with that request. Please try again.