Skip to content

Commit 88599d5

Browse files
committed
v1.1.3
1 parent e2ce1b1 commit 88599d5

File tree

181 files changed

+1033
-2012
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

181 files changed

+1033
-2012
lines changed

README.md

Lines changed: 5 additions & 159 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
[![Google Group](https://img.shields.io/badge/google-group-orange.svg)](https://groups.google.com/forum/#!forum/jooby-project)
44
[![Join the chat at https://gitter.im/jooby-project/jooby](https://badges.gitter.im/jooby-project/jooby.svg)](https://gitter.im/jooby-project/jooby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
55
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.jooby/jooby/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.jooby/jooby)
6-
[![ASF2](http://img.shields.io/badge/license-ASF2-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.txt)
7-
[![Twitter @joobyproject](https://img.shields.io/badge/twitter--blue.svg)](https://twitter.com/joobyproject)
6+
[![@joobyproject](https://img.shields.io/badge/twitter--blue.svg)](https://twitter.com/joobyproject)
87

98
# ∞ do more, more easily
109

11-
[Jooby](http://jooby.org) a scalable, fast and modular micro web framework for Java.
10+
[Jooby](http://jooby.org) a scalable, fast and modular micro web framework for Java, [JavaScript](http://jooby.org/doc/lang-js) and [Kotlin](http://jooby.org/doc/lang-kotlin).
1211

1312
* **Simple, effective and easy to learn**. Ideal for small but also large scale applications.
1413

@@ -40,7 +39,7 @@ public class App extends Jooby {
4039

4140
```
4241

43-
[Kotlin](/jooby-lang-kotlin):
42+
[Kotlin](http://jooby.org/doc/lang-kotlin):
4443

4544
```kotlin
4645

@@ -56,7 +55,7 @@ fun main(args: Array<String>) {
5655

5756
```
5857

59-
[JavaScript](/jooby-lang-js):
58+
[JavaScript](http://jooby.org/doc/lang-js):
6059

6160
```js
6261

@@ -66,11 +65,10 @@ app.get('/', function () 'Hey Jooby!');
6665

6766
```
6867

69-
## Found this project useful :heart:
68+
## found this project useful :heart:
7069

7170
* Support by clicking the :star: button on the upper right of this page. :v:
7271

73-
7472
## killer features
7573

7674
* **Multi-language**. Write your application in Java, [Kotlin](https://github.com/jooby-project/jooby/tree/master/jooby-lang-kotlin) or [JavaScript](https://github.com/jooby-project/jooby/tree/master/jooby-lang-js)
@@ -84,140 +82,6 @@ app.get('/', function () 'Hey Jooby!');
8482
* **Dependency Injection**
8583
* **Hot reload** for development
8684

87-
requirements
88-
=====
89-
90-
* Install [JDK 8+](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
91-
* Install [Maven 3+](http://maven.apache.org/)
92-
93-
quickstart
94-
=====
95-
96-
Just paste this into a terminal (make sure [Java 8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) and [Maven 3.x](http://maven.apache.org/download.cgi) are installed):
97-
98-
```bash
99-
mvn archetype:generate -B -DgroupId=com.mycompany -DartifactId=my-app -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=jooby-archetype -DarchetypeGroupId=org.jooby -DarchetypeVersion=1.1.2
100-
```
101-
102-
You might want to edit/change:
103-
104-
* -DgroupId: A Java package's name
105-
106-
* -DartifactId: A project's name in lower case and without spaces
107-
108-
* -Dversion: A project's version, like ```1.0-SNAPSHOT``` or ```1.0.0-SNAPSHOT```
109-
110-
111-
Let's try it!:
112-
113-
```bash
114-
mvn archetype:generate -B -DgroupId=com.mycompany -DartifactId=my-app -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=jooby-archetype -DarchetypeGroupId=org.jooby -DarchetypeVersion=1.1.2
115-
cd my-app
116-
mvn jooby:run
117-
```
118-
119-
You should see something similar to this at the end of the output:
120-
121-
```bash
122-
INFO [2015-03-19 21:34:00,365] Hotswap available on: [my-app/public, my-app/conf, my-app/target/classes]
123-
INFO [2015-03-19 21:34:00,368] includes: [**/*.class,**/*.conf,**/*.properties]
124-
INFO [2015-03-19 21:34:00,369] excludes: []
125-
INFO [2015-03-19 21:34:00,937] [dev@netty]: App server started in 502ms
126-
127-
GET / [*/*] [*/*] (anonymous)
128-
129-
listening on:
130-
http://0.0.0.0:8080/
131-
```
132-
133-
**Jooby**! is up and running!
134-
135-
getting started
136-
=====
137-
138-
exploring the newly created project
139-
-----
140-
141-
A new directory was created: ```my-app```. Let's see what it looks like:
142-
143-
```bash
144-
.
145-
├── public
146-
| └── (empty)
147-
├── conf
148-
| ├── application.conf
149-
| └── logback.xml
150-
└── src
151-
├── main
152-
| └── java
153-
| └── com
154-
| └── mycompany
155-
| └── App.java
156-
└── test
157-
└── java
158-
└── com
159-
└── mycompany
160-
└── AppTest.java
161-
```
162-
163-
The **public** folder contains static content like ```*.html```, ```*.js```, ```*.css```, ..., ```*.png``` files.
164-
165-
The **conf** folder contains ```*.conf```.
166-
167-
The **src/main/java** folder contains ```*.java``` files (of course).
168-
169-
The **src/test/java** folder contains unit and integration tests.
170-
171-
> **NOTE**: The ```public``` and ```conf``` folders are part of the classpath.
172-
173-
### App.java
174-
175-
176-
```java
177-
178-
import org.jooby.Jooby;
179-
180-
public class App extends Jooby { // 1
181-
182-
{
183-
// 2
184-
get("/", () -> "Hello World!");
185-
}
186-
187-
public static void main(final String[] args) {
188-
run(App::new, args); // 3. start the application.
189-
}
190-
191-
}
192-
193-
```
194-
195-
Steps involved are:
196-
197-
1) extend Jooby
198-
199-
2) define some routes
200-
201-
3) call the ```run``` method
202-
203-
running
204-
-----
205-
206-
Open a console and type:
207-
208-
mvn jooby:run
209-
210-
The maven plugin will compile the code (if necessary) and start the application.
211-
212-
Of course, you can generate the IDE metadata from Maven or import as a Maven project in your favorite IDE.
213-
Afterwards, all you have to do is run the: ```App.java``` class. After all, this is a plain Java application with a ```main``` method.
214-
215-
where to go now?
216-
-----
217-
218-
* read the [documentation](/doc)
219-
* check out one of the [starter projects](https://github.com/search?q=topic%3Astarter+org%3Ajooby-project&type=Repositories)
220-
22185
want to contribute?
22286
=====
22387

@@ -232,24 +96,6 @@ want to contribute?
23296
* Please suggest changes to javadoc/exception messages when you find something unclear.
23397
* If you have problems with documentation, find it non intuitive or hard to follow - let us know about it, we'll try to make it better according to your suggestions. Any constructive critique is greatly appreciated. Don't forget that this is an open source project developed and documented in spare time.
23498

235-
useful links
236-
=====
237-
238-
* [jooby.org](http://jooby.org)
239-
* [twitter](https://twitter.com/joobyproject)
240-
* [gitter](https://gitter.im/jooby-project/jooby)
241-
* [group](https://groups.google.com/forum/#!forum/jooby-project)
242-
* [issues](https://github.com/jooby-project/jooby/issues)
243-
244-
related projects
245-
=====
246-
247-
* [Netty](http://netty.io/)
248-
* [Jetty](http://eclipse.org/jetty)
249-
* [Undertow](http://undertow.io/)
250-
* [Guice](https://github.com/google/guice)
251-
* [Type Safe](https://github.com/typesafehub/config)
252-
* [Logback](http://logback.qos.ch)
25399

254100
author
255101
=====

build/release.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
ALPN_VERSION="`groovy -e 'String v = (System.getProperty("java.vendor").contains("IBM") ? {def m = (["java", "-version"].execute().err.text =~ /(?s)java version "([0-9]*.[0-9]*.[0-9]*)".*Oracle jdk[0-9]u([0-9]*)-.*/); "${m[0][1]}_${m[0][2]}"}.call() : System.getProperty("java.version")); ((new URL("http://www.eclipse.org/jetty/documentation/9.4.x/alpn-chapter.html")).text =~ /ALPN vs. OpenJDK versions(.*)<\/table>/).each { m, s -> ( s =~ /([0-9].[0-9].[0-9]*u[0-9]*)[^0-9]*([0-9].[0-9]*.[0-9]*.v2[0-9]*)/).each { _, jdkv, alpnv -> if (v.equals(jdkv.replace("u","_"))){ println alpnv }}}'`"
33
echo "ALPN $ALPN_VERSION"
44

5-
mvn -Dalpn-boot-version=$ALPN_VERSION -pl '!coverage-report' clean deploy -P sonatype-oss-release
5+
mvn -Dalpn-boot-version=$ALPN_VERSION -pl '!modules/coverage-report' clean deploy -P sonatype-oss-release
66

7-
cd jooby-bom
7+
cd modules/jooby-bom
88

9-
groovy bom.groovy ../pom.xml > pom.xml
9+
groovy bom.groovy ../../pom.xml > pom.xml
1010

1111
mvn -Dalpn-boot-version=$ALPN_VERSION clean deploy -P sonatype-oss-release

doc/README.md

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,14 @@
33
[![Google Group](https://img.shields.io/badge/google-group-orange.svg)](https://groups.google.com/forum/#!forum/jooby-project)
44
[![Join the chat at https://gitter.im/jooby-project/jooby](https://badges.gitter.im/jooby-project/jooby.svg)](https://gitter.im/jooby-project/jooby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
55
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.jooby/jooby/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.jooby/jooby)
6-
[![ASF2](http://img.shields.io/badge/license-ASF2-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.txt)
7-
[![Twitter @joobyproject](https://img.shields.io/badge/twitter--blue.svg)](https://twitter.com/joobyproject)
6+
[![@joobyproject](https://img.shields.io/badge/twitter--blue.svg)](https://twitter.com/joobyproject)
87

98
{{jooby-pre.md}}
109

1110
{{jooby-lang.md}}
1211

1312
{{jooby-post.md}}
1413

15-
{{quickstart.md}}
16-
1714
want to contribute?
1815
=====
1916

@@ -28,24 +25,6 @@ want to contribute?
2825
* Please suggest changes to javadoc/exception messages when you find something unclear.
2926
* If you have problems with documentation, find it non intuitive or hard to follow - let us know about it, we'll try to make it better according to your suggestions. Any constructive critique is greatly appreciated. Don't forget that this is an open source project developed and documented in spare time.
3027

31-
useful links
32-
=====
33-
34-
* [jooby.org](http://jooby.org)
35-
* [twitter](https://twitter.com/joobyproject)
36-
* [gitter](https://gitter.im/jooby-project/jooby)
37-
* [group](https://groups.google.com/forum/#!forum/jooby-project)
38-
* [issues](https://github.com/jooby-project/jooby/issues)
39-
40-
related projects
41-
=====
42-
43-
* [Netty](http://netty.io/)
44-
* [Jetty](http://eclipse.org/jetty)
45-
* [Undertow](http://undertow.io/)
46-
* [Guice](https://github.com/google/guice)
47-
* [Type Safe](https://github.com/typesafehub/config)
48-
* [Logback](http://logback.qos.ch)
4928

5029
author
5130
=====

doc/jooby-lang.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class App extends Jooby {
1818

1919
```
2020

21-
[Kotlin](/jooby-lang-kotlin):
21+
[Kotlin](http://jooby.org/doc/lang-kotlin):
2222

2323
```kotlin
2424

@@ -34,7 +34,7 @@ fun main(args: Array<String>) {
3434

3535
```
3636

37-
[JavaScript](/jooby-lang-js):
37+
[JavaScript](http://jooby.org/doc/lang-js):
3838

3939
```js
4040

doc/jooby-post.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## found this project useful :heart:
2+
3+
* Support by clicking the :star: button on the upper right of this page. :v:
4+
15
## killer features
26

37
* **Multi-language**. Write your application in Java, [Kotlin](https://github.com/jooby-project/jooby/tree/master/jooby-lang-kotlin) or [JavaScript](https://github.com/jooby-project/jooby/tree/master/jooby-lang-js)

doc/jooby-pre.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# &infin; do more, more easily
22

3-
[Jooby](http://jooby.org) a scalable, fast and modular micro web framework for Java.
3+
[Jooby](http://jooby.org) a scalable, fast and modular micro web framework for Java, [JavaScript](http://jooby.org/doc/lang-js) and [Kotlin](http://jooby.org/doc/lang-kotlin).
44

55
* **Simple, effective and easy to learn**. Ideal for small but also large scale applications.
66

doc/kotlin.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# kotlin
22

3-
{{jooby}} provides a tiny module with some functions that will make an application more Kotlin idiomatic.
3+
A tiny module that makes a Jooby application more Kotlin idiomatic.
44

55
## dependency
66

@@ -14,6 +14,8 @@
1414

1515
## usage
1616

17+
via run function:
18+
1719
```java
1820

1921
import org.jooby.*
@@ -30,6 +32,23 @@ fun main(args: Array<String>) {
3032

3133
The `run` function is a [type-safe builder](http://kotlinlang.org/docs/reference/type-safe-builders.html) that initializes, configures and executes a {{jooby}} application.
3234

35+
via Kooby class:
36+
37+
```java
38+
39+
import org.jooby.*
40+
41+
Class App: Kooby({
42+
get {
43+
"Hello Kotlin"
44+
}
45+
})
46+
47+
fun main(args: Array<String>) {
48+
run(::App, *args)
49+
}
50+
```
51+
3352
## idioms
3453

3554

@@ -57,6 +76,21 @@ run(*args) {
5776
}
5877
```
5978

79+
Reified `param`, `header`, `body` calls:
80+
81+
```java
82+
run(*args) {
83+
get("/:name") {
84+
val count = param<Int>("count")
85+
count
86+
}
87+
88+
post("/") {
89+
val myobj = body<MyObject>()
90+
myobj
91+
}
92+
}
93+
```
6094

6195
### route group
6296

jooby/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.jooby</groupId>
77
<artifactId>jooby-project</artifactId>
8-
<version>1.1.3-SNAPSHOT</version>
8+
<version>1.1.3</version>
99
</parent>
1010

1111
<modelVersion>4.0.0</modelVersion>

modules/coverage-report/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.jooby</groupId>
77
<artifactId>modules</artifactId>
8-
<version>1.1.3-SNAPSHOT</version>
8+
<version>1.1.3</version>
99
</parent>
1010

1111
<modelVersion>4.0.0</modelVersion>

0 commit comments

Comments
 (0)