Migrate to asciidoc

This commit is contained in:
Stephane Nicoll
2014-12-08 15:54:25 +01:00
parent 1dca5d4630
commit e86830df39

View File

@@ -1,76 +1,96 @@
# Spring Initializr = Spring Initializr
## Prerequisites == Prerequisites
You need Java (1.6 or better) and a bash-like shell. You need Java (1.6 or better) and a bash-like shell.
If you are on a Mac and using [homebrew](http://brew.sh/), all you need to do to install it is: If you are on a Mac and using http://brew.sh/[homebrew], all you need to do to install it is:
[indent=0]
----
$ brew tap pivotal/tap $ brew tap pivotal/tap
$ brew install springboot $ brew install springboot
----
It will install `/usr/local/bin/spring`. You can jump right to [running the app](#running_the_app). It will install `/usr/local/bin/spring`. You can jump right to <<run-app>>.
An alternative way to install the `spring` command line interface can be installed like this: An alternative way to install the `spring` command line interface can be installed like this:
[indent=0]
----
$ curl start.spring.io/install.sh | bash $ curl start.spring.io/install.sh | bash
----
After running that command you should see a `spring` directory: After running that command you should see a `spring` directory:
[indent=0]
----
$ ./spring/bin/spring --help $ ./spring/bin/spring --help
usage: spring [--help] [--version] usage: spring [--help] [--version]
<command> [<args>] <command> [<args>]
... ...
----
You could add that `bin` directory to your `PATH` (the examples below You could add that `bin` directory to your `PATH` (the examples below
assume you did that). assume you did that).
If you don't have `curl` or `zip` you can probably get them (for If you don't have `curl` or `zip` you can probably get them (for
Windows users we recommend [cygwin](http://cygwin.org)), or you can Windows users we recommend http://cygwin.org[cygwin]), or you can
download the [zip file](http://start.spring.io/spring.zip) and unpack download the http://start.spring.io/spring.zip[zip file] and unpack
it yourself. it yourself.
## Project structure == Project structure
Initializr is a library that provides all the default features and a service with a very simple script Initializr is a library that provides all the default features and a service with a very simple script
that uses the auto-configuration feature of Spring Boot. All you need is _grabbing_ the library and that uses the auto-configuration feature of Spring Boot. All you need is _grabbing_ the library and
create a proper configuration file with the following script: create a proper configuration file with the following script:
``` [indent=0]
package org.acme.myapp ----
package org.acme.myapp
@Grab('io.spring.initalizr:initializr:1.0.0.BUILD-SNAPSHOT') @Grab('io.spring.initalizr:initializr:1.0.0.BUILD-SNAPSHOT')
class InitializerService { } class InitializerService { }
``` ----
As a reference, `initializr-service` represents the _default_ service that runs at http://start.spring.io As a reference, `initializr-service` represents the _default_ service that runs at http://start.spring.io
<a name="running_the_app"></a> [[run-app]]
## Running the app locally == Running the app locally
Initializr currently uses a milestone release of `spring-test-htmlunit` that is available from NOTE: Initializr currently uses a milestone release of `spring-test-htmlunit` that is available from
the [spring.io milestone repository](http://repo.spring.io/milestone). If you use a repository the http://repo.spring.io/milestone[spring.io milestone repository]. If you use a repository
manager, please make sure to configure it accordingly. For your convenience, the project defines manager, please make sure to configure it accordingly. For your convenience, the project defines
a `springMilestone` that you should activate if you haven't defined that repository yourself. a `springMilestone` that you should activate if you haven't defined that repository yourself.
First make sure that you have built the library: First make sure that you have built the library:
[indent=0]
----
$ cd initializr $ cd initializr
$ mvn clean install -PspringMilestone $ mvn clean install -PspringMilestone
----
Once you have done that, you can easily start the app using the spring command from the `initializr-service` Once you have done that, you can easily start the app using the spring command from the `initializr-service`
directory (`cd ../initializr-service`): directory (`cd ../initializr-service`):
[indent=0]
----
$ spring run app.groovy $ spring run app.groovy
----
## Deploying to Cloud Foundry ## Deploying to Cloud Foundry
If you are on a Mac and using [homebrew](http://brew.sh/), install the Cloud Foundry CLI: If you are on a Mac and using http://brew.sh/[homebrew], install the Cloud Foundry CLI:
[indent=0]
----
$ brew install cloudfoundry-cli $ brew install cloudfoundry-cli
----
Alternatively, download a suitable binary for your platform from [Pivotal Web Services](https://console.run.pivotal.io/tools). Alternatively, download a suitable binary for your platform from
https://console.run.pivotal.io/tools[Pivotal Web Services].
An example Cloud Foundry `manifest.yml` file is provided. You should ensure that An example Cloud Foundry `manifest.yml` file is provided. You should ensure that
the application name and URL (name and host values) are suitable for your environment the application name and URL (name and host values) are suitable for your environment
@@ -78,11 +98,17 @@ before running `cf push`.
You can jar up the app and make it executable in any environment. You can jar up the app and make it executable in any environment.
[indent=0]
----
$ spring jar start.jar app.groovy $ spring jar start.jar app.groovy
----
Once the jar has been created, you can push the application: Once the jar has been created, you can push the application:
[indent=0]
----
$ cf push start -p start.jar -n start-<space> $ cf push start -p start.jar -n start-<space>
----
Where `<space>` is the name of the space. As a failsafe, and a Where `<space>` is the name of the space. As a failsafe, and a
reminder to be explicit, the deployment will fail in production reminder to be explicit, the deployment will fail in production