* Migrate Structure * Insert explicit ids for headers * Copy default antora files * Fix indentation for all pages * Generate a default navigation * Remove includes * Enable Section Summary TOC for small pages * WIP * Updated the docs * Removed unnecessary file deployment step * Left deploy goal only * Fixed configprops location * Fixed gitignores and path of configprops generation * Upgraded ui bundle * Removed node files * Removed unnecessary docs zip uploading
87 lines
3.6 KiB
Plaintext
87 lines
3.6 KiB
Plaintext
:jdkversion: 17
|
|
|
|
[[basic-compile-and-test]]
|
|
== Basic Compile and Test
|
|
|
|
To build the source you will need to install JDK {jdkversion}.
|
|
|
|
Spring Cloud uses Maven for most build-related activities, and you
|
|
should be able to get off the ground quite quickly by cloning the
|
|
project you are interested in and typing
|
|
|
|
----
|
|
$ ./mvnw install
|
|
----
|
|
|
|
NOTE: You can also install Maven (>=3.3.3) yourself and run the `mvn` command
|
|
in place of `./mvnw` in the examples below. If you do that you also
|
|
might need to add `-P spring` if your local Maven settings do not
|
|
contain repository declarations for spring pre-release artifacts.
|
|
|
|
NOTE: Be aware that you might need to increase the amount of memory
|
|
available to Maven by setting a `MAVEN_OPTS` environment variable with
|
|
a value like `-Xmx512m -XX:MaxPermSize=128m`. We try to cover this in
|
|
the `.mvn` configuration, so if you find you have to do it to make a
|
|
build succeed, please raise a ticket to get the settings added to
|
|
source control.
|
|
|
|
The projects that require middleware (i.e. Redis) for testing generally
|
|
require that a local instance of [Docker](https://www.docker.com/get-started) is installed and running.
|
|
|
|
[[documentation]]
|
|
== Documentation
|
|
|
|
The spring-cloud-build module has a "docs" profile, and if you switch
|
|
that on it will try to build asciidoc sources using https://docs.antora.org/antora/latest/[Antora] from
|
|
`modules/ROOT/`.
|
|
|
|
As part of that process it will look for a
|
|
`docs/src/main/asciidoc/README.adoc` and process it by loading all the includes, but not
|
|
parsing or rendering it, just copying it to `${main.basedir}`
|
|
(defaults to `$\{basedir}`, i.e. the root of the project). If there are
|
|
any changes in the README it will then show up after a Maven build as
|
|
a modified file in the correct place. Just commit it and push the change.
|
|
|
|
[[working-with-the-code]]
|
|
== Working with the code
|
|
If you don't have an IDE preference we would recommend that you use
|
|
https://www.springsource.com/developer/sts[Spring Tools Suite] or
|
|
https://eclipse.org[Eclipse] when working with the code. We use the
|
|
https://eclipse.org/m2e/[m2eclipse] eclipse plugin for maven support. Other IDEs and tools
|
|
should also work without issue as long as they use Maven 3.3.3 or better.
|
|
|
|
[[activate-the-spring-maven-profile]]
|
|
=== Activate the Spring Maven profile
|
|
Spring Cloud projects require the 'spring' Maven profile to be activated to resolve
|
|
the spring milestone and snapshot repositories. Use your preferred IDE to set this
|
|
profile to be active, or you may experience build errors.
|
|
|
|
[[importing-into-eclipse-with-m2eclipse]]
|
|
=== Importing into eclipse with m2eclipse
|
|
We recommend the https://eclipse.org/m2e/[m2eclipse] eclipse plugin when working with
|
|
eclipse. If you don't already have m2eclipse installed it is available from the "eclipse
|
|
marketplace".
|
|
|
|
NOTE: Older versions of m2e do not support Maven 3.3, so once the
|
|
projects are imported into Eclipse you will also need to tell
|
|
m2eclipse to use the right profile for the projects. If you
|
|
see many different errors related to the POMs in the projects, check
|
|
that you have an up to date installation. If you can't upgrade m2e,
|
|
add the "spring" profile to your `settings.xml`. Alternatively you can
|
|
copy the repository settings from the "spring" profile of the parent
|
|
pom into your `settings.xml`.
|
|
|
|
[[importing-into-eclipse-without-m2eclipse]]
|
|
=== Importing into eclipse without m2eclipse
|
|
If you prefer not to use m2eclipse you can generate eclipse project metadata using the
|
|
following command:
|
|
|
|
[indent=0]
|
|
----
|
|
$ ./mvnw eclipse:eclipse
|
|
----
|
|
|
|
The generated eclipse projects can be imported by selecting `import existing projects`
|
|
from the `file` menu.
|
|
|