94 changed files with 1101 additions and 160 deletions
@ -0,0 +1,187 @@
@@ -0,0 +1,187 @@
|
||||
// Do not edit this file (e.g. go instead to src/main/asciidoc) |
||||
|
||||
image::https://circleci.com/gh/spring-cloud-incubator/spring-cloud-gateway/tree/master.svg?style=svg["CircleCI", link="https://circleci.com/gh/spring-cloud/spring-cloud-gateway/tree/master"] |
||||
image::https://codecov.io/gh/spring-cloud-incubator/spring-cloud-gateway/branch/master/graph/badge.svg["Codecov", link="https://codecov.io/gh/spring-cloud/spring-cloud-gateway/branch/master"] |
||||
image::https://api.codacy.com/project/badge/Grade/a6885a06921e4f72a0df0b7aabd6d118["Codacy code quality", link="https://www.codacy.com/app/spring-cloud-incubator/spring-cloud-gateway?utm_source=github.com&utm_medium=referral&utm_content=spring-cloud/spring-cloud-gateway&utm_campaign=Badge_Grade"] |
||||
|
||||
|
||||
TODO: write intro |
||||
This project provides |
||||
|
||||
|
||||
== Features |
||||
|
||||
* TODO: document features |
||||
|
||||
== Building |
||||
|
||||
:jdkversion: 1.8 |
||||
|
||||
=== 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. |
||||
|
||||
For hints on how to build the project look in `.travis.yml` if there |
||||
is one. There should be a "script" and maybe "install" command. Also |
||||
look at the "services" section to see if any services need to be |
||||
running locally (e.g. mongo or rabbit). Ignore the git-related bits |
||||
that you might find in "before_install" since they're related to setting git |
||||
credentials and you already have those. |
||||
|
||||
The projects that require middleware generally include a |
||||
`docker-compose.yml`, so consider using |
||||
http://compose.docker.io/[Docker Compose] to run the middeware servers |
||||
in Docker containers. See the README in the |
||||
https://github.com/spring-cloud-samples/scripts[scripts demo |
||||
repository] for specific instructions about the common cases of mongo, |
||||
rabbit and redis. |
||||
|
||||
NOTE: If all else fails, build with the command from `.travis.yml` (usually |
||||
`./mvnw install`). |
||||
|
||||
=== Documentation |
||||
|
||||
The spring-cloud-build module has a "docs" profile, and if you switch |
||||
that on it will try to build asciidoc sources from |
||||
`src/main/asciidoc`. As part of that process it will look for a |
||||
`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 |
||||
If you don't have an IDE preference we would recommend that you use |
||||
http://www.springsource.com/developer/sts[Spring Tools Suite] or |
||||
http://eclipse.org[Eclipse] when working with the code. We use the |
||||
http://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. |
||||
|
||||
==== Importing into eclipse with m2eclipse |
||||
We recommend the http://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 |
||||
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. |
||||
|
||||
|
||||
|
||||
==== Adding Project Lombok Agent |
||||
|
||||
Spring Cloud uses http://projectlombok.org/features/index.html[Project Lombok] |
||||
to generate getters and setters etc. Compiling from the command line this |
||||
shouldn't cause any problems, but in an IDE you need to add an agent |
||||
to the JVM. Full instructions can be found in the Lombok website. The |
||||
sign that you need to do this is a lot of compiler errors to do with |
||||
missing methods and fields, e.g. |
||||
|
||||
[indent=0] |
||||
---- |
||||
The method getInitialStatus() is undefined for the type EurekaInstanceConfigBean EurekaDiscoveryClientConfiguration.java /spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka line 120 Java Problem |
||||
The method getInitialStatus() is undefined for the type EurekaInstanceConfigBean EurekaDiscoveryClientConfiguration.java /spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka line 121 Java Problem |
||||
The method setNonSecurePort(int) is undefined for the type EurekaInstanceConfigBean EurekaDiscoveryClientConfiguration.java /spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka line 112 Java Problem |
||||
The type EurekaInstanceConfigBean.IdentifyingDataCenterInfo must implement the inherited abstract method DataCenterInfo.getName() EurekaInstanceConfigBean.java /spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka line 131 Java Problem |
||||
The method getId() is undefined for the type ProxyRouteLocator.ProxyRouteSpec PreDecorationFilter.java /spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/pre line 60 Java Problem |
||||
The method getLocation() is undefined for the type ProxyRouteLocator.ProxyRouteSpec PreDecorationFilter.java /spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/pre line 55 Java Problem |
||||
---- |
||||
|
||||
==== Importing into Intellij |
||||
Spring Cloud projects use annotation processing, particularly Lombok, which requires configuration |
||||
or you will encounter compile problems. It also needs a specific version of maven and a profile |
||||
enabled. Intellij 14.1+ requires some configuration to ensure these are setup properly. |
||||
|
||||
1. Click Preferences, Plugins. *Ensure Lombok is installed* |
||||
2. Click New, Project from Existing Sources, choose your spring-cloud project directory |
||||
3. Choose Maven, and select Environment Settings. *Ensure you are using Maven 3.3.3* |
||||
4. In the next screen, *Select the profile `spring`* click Next until Finish. |
||||
5. Click Preferences, "Build, Execution, Deployment", Compiler, Annotation Processors. *Click Enable Annotation Processing* |
||||
6. Click Build, Rebuild Project, and you are ready to go! |
||||
|
||||
==== Importing into other IDEs |
||||
Maven is well supported by most Java IDEs. Refer to you vendor documentation. |
||||
|
||||
== Contributing |
||||
|
||||
Spring Cloud is released under the non-restrictive Apache 2.0 license, |
||||
and follows a very standard Github development process, using Github |
||||
tracker for issues and merging pull requests into master. If you want |
||||
to contribute even something trivial please do not hesitate, but |
||||
follow the guidelines below. |
||||
|
||||
=== Sign the Contributor License Agreement |
||||
Before we accept a non-trivial patch or pull request we will need you to sign the |
||||
https://cla.pivotal.io/sign/spring[Contributor License Agreement]. |
||||
Signing the contributor's agreement does not grant anyone commit rights to the main |
||||
repository, but it does mean that we can accept your contributions, and you will get an |
||||
author credit if we do. Active contributors might be asked to join the core team, and |
||||
given the ability to merge pull requests. |
||||
|
||||
=== Code of Conduct |
||||
This project adheres to the Contributor Covenant https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/asciidoc/code-of-conduct.adoc[code of |
||||
conduct]. By participating, you are expected to uphold this code. Please report |
||||
unacceptable behavior to spring-code-of-conduct@pivotal.io. |
||||
|
||||
=== Code Conventions and Housekeeping |
||||
None of these is essential for a pull request, but they will all help. They can also be |
||||
added after the original pull request but before a merge. |
||||
|
||||
* Use the Spring Framework code format conventions. If you use Eclipse |
||||
you can import formatter settings using the |
||||
`eclipse-code-formatter.xml` file from the |
||||
https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring |
||||
Cloud Build] project. If using IntelliJ, you can use the |
||||
http://plugins.jetbrains.com/plugin/6546[Eclipse Code Formatter |
||||
Plugin] to import the same file. |
||||
* Make sure all new `.java` files to have a simple Javadoc class comment with at least an |
||||
`@author` tag identifying you, and preferably at least a paragraph on what the class is |
||||
for. |
||||
* Add the ASF license header comment to all new `.java` files (copy from existing files |
||||
in the project) |
||||
* Add yourself as an `@author` to the .java files that you modify substantially (more |
||||
than cosmetic changes). |
||||
* Add some Javadocs and, if you change the namespace, some XSD doc elements. |
||||
* A few unit tests would help a lot as well -- someone has to do it. |
||||
* If no-one else is using your branch, please rebase it against the current master (or |
||||
other target branch in the main project). |
||||
* When writing a commit message please follow http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[these conventions], |
||||
if you are fixing an existing issue please add `Fixes gh-XXXX` at the end of the commit |
||||
message (where XXXX is the issue number). |
@ -0,0 +1,53 @@
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
<parent> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-gateway</artifactId> |
||||
<version>1.0.0.BUILD-SNAPSHOT</version> |
||||
</parent> |
||||
<artifactId>spring-cloud-gateway-docs</artifactId> |
||||
<packaging>pom</packaging> |
||||
<name>Spring Cloud Gateway Docs</name> |
||||
<description>Spring Cloud Docs</description> |
||||
<properties> |
||||
<docs.main>spring-cloud-gateway</docs.main> |
||||
<main.basedir>${basedir}/..</main.basedir> |
||||
<docs.whitelisted.branches>1.0.x</docs.whitelisted.branches> |
||||
</properties> |
||||
<build> |
||||
<plugins> |
||||
<plugin> |
||||
<artifactId>maven-deploy-plugin</artifactId> |
||||
<configuration> |
||||
<skip>true</skip> |
||||
</configuration> |
||||
</plugin> |
||||
</plugins> |
||||
</build> |
||||
<profiles> |
||||
<profile> |
||||
<id>docs</id> |
||||
<build> |
||||
<plugins> |
||||
<plugin> |
||||
<groupId>org.asciidoctor</groupId> |
||||
<artifactId>asciidoctor-maven-plugin</artifactId> |
||||
<inherited>false</inherited> |
||||
</plugin> |
||||
<plugin> |
||||
<groupId>org.apache.maven.plugins</groupId> |
||||
<artifactId>maven-antrun-plugin</artifactId> |
||||
<inherited>false</inherited> |
||||
</plugin> |
||||
<plugin> |
||||
<groupId>org.codehaus.mojo</groupId> |
||||
<artifactId>build-helper-maven-plugin</artifactId> |
||||
<inherited>false</inherited> |
||||
</plugin> |
||||
</plugins> |
||||
</build> |
||||
</profile> |
||||
</profiles> |
||||
</project> |
@ -0,0 +1,20 @@
@@ -0,0 +1,20 @@
|
||||
image::https://circleci.com/gh/spring-cloud-incubator/spring-cloud-gateway/tree/master.svg?style=svg["CircleCI", link="https://circleci.com/gh/spring-cloud/spring-cloud-gateway/tree/master"] |
||||
image::https://codecov.io/gh/spring-cloud-incubator/spring-cloud-gateway/branch/master/graph/badge.svg["Codecov", link="https://codecov.io/gh/spring-cloud/spring-cloud-gateway/branch/master"] |
||||
image::https://api.codacy.com/project/badge/Grade/a6885a06921e4f72a0df0b7aabd6d118["Codacy code quality", link="https://www.codacy.com/app/spring-cloud-incubator/spring-cloud-gateway?utm_source=github.com&utm_medium=referral&utm_content=spring-cloud/spring-cloud-gateway&utm_campaign=Badge_Grade"] |
||||
|
||||
|
||||
include::intro.adoc[] |
||||
|
||||
== Features |
||||
|
||||
* TODO: document features |
||||
|
||||
== Building |
||||
|
||||
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/building-jdk8.adoc[] |
||||
|
||||
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/building-lombok.adoc[] |
||||
|
||||
== Contributing |
||||
|
||||
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/contributing.adoc[] |
@ -0,0 +1,330 @@
@@ -0,0 +1,330 @@
|
||||
#!/bin/bash -x |
||||
|
||||
set -e |
||||
|
||||
# Set default props like MAVEN_PATH, ROOT_FOLDER etc. |
||||
function set_default_props() { |
||||
# The script should be executed from the root folder |
||||
ROOT_FOLDER=`pwd` |
||||
echo "Current folder is ${ROOT_FOLDER}" |
||||
|
||||
if [[ ! -e "${ROOT_FOLDER}/.git" ]]; then |
||||
echo "You're not in the root folder of the project!" |
||||
exit 1 |
||||
fi |
||||
|
||||
# Prop that will let commit the changes |
||||
COMMIT_CHANGES="no" |
||||
MAVEN_PATH=${MAVEN_PATH:-} |
||||
echo "Path to Maven is [${MAVEN_PATH}]" |
||||
REPO_NAME=${PWD##*/} |
||||
echo "Repo name is [${REPO_NAME}]" |
||||
SPRING_CLOUD_STATIC_REPO=${SPRING_CLOUD_STATIC_REPO:-git@github.com:spring-cloud/spring-cloud-static.git} |
||||
echo "Spring Cloud Static repo is [${SPRING_CLOUD_STATIC_REPO}" |
||||
} |
||||
|
||||
# Check if gh-pages exists and docs have been built |
||||
function check_if_anything_to_sync() { |
||||
git remote set-url --push origin `git config remote.origin.url | sed -e 's/^git:/https:/'` |
||||
|
||||
if ! (git remote set-branches --add origin gh-pages && git fetch -q); then |
||||
echo "No gh-pages, so not syncing" |
||||
exit 0 |
||||
fi |
||||
|
||||
if ! [ -d docs/target/generated-docs ] && ! [ "${BUILD}" == "yes" ]; then |
||||
echo "No gh-pages sources in docs/target/generated-docs, so not syncing" |
||||
exit 0 |
||||
fi |
||||
} |
||||
|
||||
function retrieve_current_branch() { |
||||
# Code getting the name of the current branch. For master we want to publish as we did until now |
||||
# http://stackoverflow.com/questions/1593051/how-to-programmatically-determine-the-current-checked-out-git-branch |
||||
# If there is a branch already passed will reuse it - otherwise will try to find it |
||||
CURRENT_BRANCH=${BRANCH} |
||||
if [[ -z "${CURRENT_BRANCH}" ]] ; then |
||||
CURRENT_BRANCH=$(git symbolic-ref -q HEAD) |
||||
CURRENT_BRANCH=${CURRENT_BRANCH##refs/heads/} |
||||
CURRENT_BRANCH=${CURRENT_BRANCH:-HEAD} |
||||
fi |
||||
echo "Current branch is [${CURRENT_BRANCH}]" |
||||
git checkout ${CURRENT_BRANCH} || echo "Failed to check the branch... continuing with the script" |
||||
} |
||||
|
||||
# Switches to the provided value of the release version. We always prefix it with `v` |
||||
function switch_to_tag() { |
||||
git checkout v${VERSION} |
||||
} |
||||
|
||||
# Build the docs if switch is on |
||||
function build_docs_if_applicable() { |
||||
if [[ "${BUILD}" == "yes" ]] ; then |
||||
./mvnw clean install -P docs -pl docs -DskipTests |
||||
fi |
||||
} |
||||
|
||||
# Get the name of the `docs.main` property |
||||
# Get whitelisted branches - assumes that a `docs` module is available under `docs` profile |
||||
function retrieve_doc_properties() { |
||||
MAIN_ADOC_VALUE=$("${MAVEN_PATH}"mvn -q \ |
||||
-Dexec.executable="echo" \ |
||||
-Dexec.args='${docs.main}' \ |
||||
--non-recursive \ |
||||
org.codehaus.mojo:exec-maven-plugin:1.3.1:exec) |
||||
echo "Extracted 'main.adoc' from Maven build [${MAIN_ADOC_VALUE}]" |
||||
|
||||
|
||||
WHITELIST_PROPERTY=${WHITELIST_PROPERTY:-"docs.whitelisted.branches"} |
||||
WHITELISTED_BRANCHES_VALUE=$("${MAVEN_PATH}"mvn -q \ |
||||
-Dexec.executable="echo" \ |
||||
-Dexec.args="\${${WHITELIST_PROPERTY}}" \ |
||||
org.codehaus.mojo:exec-maven-plugin:1.3.1:exec \ |
||||
-P docs \ |
||||
-pl docs) |
||||
echo "Extracted '${WHITELIST_PROPERTY}' from Maven build [${WHITELISTED_BRANCHES_VALUE}]" |
||||
} |
||||
|
||||
# Stash any outstanding changes |
||||
function stash_changes() { |
||||
git diff-index --quiet HEAD && dirty=$? || (echo "Failed to check if the current repo is dirty. Assuming that it is." && dirty="1") |
||||
if [ "$dirty" != "0" ]; then git stash; fi |
||||
} |
||||
|
||||
# Switch to gh-pages branch to sync it with current branch |
||||
function add_docs_from_target() { |
||||
local DESTINATION_REPO_FOLDER |
||||
if [[ -z "${DESTINATION}" && -z "${CLONE}" ]] ; then |
||||
DESTINATION_REPO_FOLDER=${ROOT_FOLDER} |
||||
elif [[ "${CLONE}" == "yes" ]]; then |
||||
mkdir -p ${ROOT_FOLDER}/target |
||||
local clonedStatic=${ROOT_FOLDER}/target/spring-cloud-static |
||||
if [[ ! -e "${clonedStatic}/.git" ]]; then |
||||
echo "Cloning Spring Cloud Static to target" |
||||
git clone ${SPRING_CLOUD_STATIC_REPO} ${clonedStatic} && git checkout gh-pages |
||||
else |
||||
echo "Spring Cloud Static already cloned - will pull changes" |
||||
cd ${clonedStatic} && git checkout gh-pages && git pull origin gh-pages |
||||
fi |
||||
DESTINATION_REPO_FOLDER=${clonedStatic}/${REPO_NAME} |
||||
mkdir -p ${DESTINATION_REPO_FOLDER} |
||||
else |
||||
if [[ ! -e "${DESTINATION}/.git" ]]; then |
||||
echo "[${DESTINATION}] is not a git repository" |
||||
exit 1 |
||||
fi |
||||
DESTINATION_REPO_FOLDER=${DESTINATION}/${REPO_NAME} |
||||
mkdir -p ${DESTINATION_REPO_FOLDER} |
||||
echo "Destination was provided [${DESTINATION}]" |
||||
fi |
||||
cd ${DESTINATION_REPO_FOLDER} |
||||
git checkout gh-pages |
||||
git pull origin gh-pages |
||||
|
||||
# Add git branches |
||||
################################################################### |
||||
if [[ -z "${VERSION}" ]] ; then |
||||
copy_docs_for_current_version |
||||
else |
||||
copy_docs_for_provided_version |
||||
fi |
||||
commit_changes_if_applicable |
||||
} |
||||
|
||||
|
||||
# Copies the docs by using the retrieved properties from Maven build |
||||
function copy_docs_for_current_version() { |
||||
if [[ "${CURRENT_BRANCH}" == "master" ]] ; then |
||||
echo -e "Current branch is master - will copy the current docs only to the root folder" |
||||
for f in docs/target/generated-docs/*; do |
||||
file=${f#docs/target/generated-docs/*} |
||||
if ! git ls-files -i -o --exclude-standard --directory | grep -q ^$file$; then |
||||
# Not ignored... |
||||
cp -rf $f ${ROOT_FOLDER}/ |
||||
git add -A ${ROOT_FOLDER}/$file |
||||
fi |
||||
done |
||||
COMMIT_CHANGES="yes" |
||||
else |
||||
echo -e "Current branch is [${CURRENT_BRANCH}]" |
||||
# http://stackoverflow.com/questions/29300806/a-bash-script-to-check-if-a-string-is-present-in-a-comma-separated-list-of-strin |
||||
if [[ ",${WHITELISTED_BRANCHES_VALUE}," = *",${CURRENT_BRANCH},"* ]] ; then |
||||
mkdir -p ${ROOT_FOLDER}/${CURRENT_BRANCH} |
||||
echo -e "Branch [${CURRENT_BRANCH}] is whitelisted! Will copy the current docs to the [${CURRENT_BRANCH}] folder" |
||||
for f in docs/target/generated-docs/*; do |
||||
file=${f#docs/target/generated-docs/*} |
||||
if ! git ls-files -i -o --exclude-standard --directory | grep -q ^$file$; then |
||||
# Not ignored... |
||||
# We want users to access 1.0.0.RELEASE/ instead of 1.0.0.RELEASE/spring-cloud.sleuth.html |
||||
if [[ "${file}" == "${MAIN_ADOC_VALUE}.html" ]] ; then |
||||
# We don't want to copy the spring-cloud-sleuth.html |
||||
# we want it to be converted to index.html |
||||
cp -rf $f ${ROOT_FOLDER}/${CURRENT_BRANCH}/index.html |
||||
git add -A ${ROOT_FOLDER}/${CURRENT_BRANCH}/index.html |
||||
else |
||||
cp -rf $f ${ROOT_FOLDER}/${CURRENT_BRANCH} |
||||
git add -A ${ROOT_FOLDER}/${CURRENT_BRANCH}/$file |
||||
fi |
||||
fi |
||||
done |
||||
COMMIT_CHANGES="yes" |
||||
else |
||||
echo -e "Branch [${CURRENT_BRANCH}] is not on the white list! Check out the Maven [${WHITELIST_PROPERTY}] property in |
||||
[docs] module available under [docs] profile. Won't commit any changes to gh-pages for this branch." |
||||
fi |
||||
fi |
||||
} |
||||
|
||||
# Copies the docs by using the explicitly provided version |
||||
function copy_docs_for_provided_version() { |
||||
local FOLDER=${DESTINATION_REPO_FOLDER}/${VERSION} |
||||
mkdir -p ${FOLDER} |
||||
echo -e "Current tag is [v${VERSION}] Will copy the current docs to the [${FOLDER}] folder" |
||||
for f in ${ROOT_FOLDER}/docs/target/generated-docs/*; do |
||||
file=${f#${ROOT_FOLDER}/docs/target/generated-docs/*} |
||||
copy_docs_for_branch ${file} ${FOLDER} |
||||
done |
||||
COMMIT_CHANGES="yes" |
||||
CURRENT_BRANCH="v${VERSION}" |
||||
} |
||||
|
||||
# Copies the docs from target to the provided destination |
||||
# Params: |
||||
# $1 - file from target |
||||
# $2 - destination to which copy the files |
||||
function copy_docs_for_branch() { |
||||
local file=$1 |
||||
local destination=$2 |
||||
if ! git ls-files -i -o --exclude-standard --directory | grep -q ^${file}$; then |
||||
# Not ignored... |
||||
# We want users to access 1.0.0.RELEASE/ instead of 1.0.0.RELEASE/spring-cloud.sleuth.html |
||||
if [[ ("${file}" == "${MAIN_ADOC_VALUE}.html") || ("${file}" == "${REPO_NAME}.html") ]] ; then |
||||
# We don't want to copy the spring-cloud-sleuth.html |
||||
# we want it to be converted to index.html |
||||
cp -rf $f ${destination}/index.html |
||||
git add -A ${destination}/index.html |
||||
else |
||||
cp -rf $f ${destination} |
||||
git add -A ${destination}/$file |
||||
fi |
||||
fi |
||||
} |
||||
|
||||
function commit_changes_if_applicable() { |
||||
if [[ "${COMMIT_CHANGES}" == "yes" ]] ; then |
||||
COMMIT_SUCCESSFUL="no" |
||||
git commit -a -m "Sync docs from ${CURRENT_BRANCH} to gh-pages" && COMMIT_SUCCESSFUL="yes" || echo "Failed to commit changes" |
||||
|
||||
# Uncomment the following push if you want to auto push to |
||||
# the gh-pages branch whenever you commit to master locally. |
||||
# This is a little extreme. Use with care! |
||||
################################################################### |
||||
if [[ "${COMMIT_SUCCESSFUL}" == "yes" ]] ; then |
||||
git push origin gh-pages |
||||
fi |
||||
fi |
||||
} |
||||
|
||||
# Switch back to the previous branch and exit block |
||||
function checkout_previous_branch() { |
||||
# If -version was provided we need to come back to root project |
||||
cd ${ROOT_FOLDER} |
||||
git checkout ${CURRENT_BRANCH} || echo "Failed to check the branch... continuing with the script" |
||||
if [ "$dirty" != "0" ]; then git stash pop; fi |
||||
exit 0 |
||||
} |
||||
|
||||
# Assert if properties have been properly passed |
||||
function assert_properties() { |
||||
echo "VERSION [${VERSION}], DESTINATION [${DESTINATION}], CLONE [${CLONE}]" |
||||
if [[ "${VERSION}" != "" && (-z "${DESTINATION}" && -z "${CLONE}") ]] ; then echo "Version was set but destination / clone was not!"; exit 1;fi |
||||
if [[ ("${DESTINATION}" != "" && "${CLONE}" != "") && -z "${VERSION}" ]] ; then echo "Destination / clone was set but version was not!"; exit 1;fi |
||||
if [[ "${DESTINATION}" != "" && "${CLONE}" == "yes" ]] ; then echo "Destination and clone was set. Pick one!"; exit 1;fi |
||||
} |
||||
|
||||
# Prints the usage |
||||
function print_usage() { |
||||
cat <<EOF |
||||
The idea of this script is to update gh-pages branch with the generated docs. Without any options |
||||
the script will work in the following manner: |
||||
|
||||
- if there's no gh-pages / target for docs module then the script ends |
||||
- for master branch the generated docs are copied to the root of gh-pages branch |
||||
- for any other branch (if that branch is whitelisted) a subfolder with branch name is created |
||||
and docs are copied there |
||||
- if the version switch is passed (-v) then a tag with (v) prefix will be retrieved and a folder |
||||
with that version number will be created in the gh-pages branch. WARNING! No whitelist verification will take place |
||||
- if the destination switch is passed (-d) then the script will check if the provided dir is a git repo and then will |
||||
switch to gh-pages of that repo and copy the generated docs to `docs/<project-name>/<version>` |
||||
- if the destination switch is passed (-d) then the script will check if the provided dir is a git repo and then will |
||||
switch to gh-pages of that repo and copy the generated docs to `docs/<project-name>/<version>` |
||||
|
||||
USAGE: |
||||
|
||||
You can use the following options: |
||||
|
||||
-v|--version - the script will apply the whole procedure for a particular library version |
||||
-d|--destination - the root of destination folder where the docs should be copied. You have to use the full path. |
||||
E.g. point to spring-cloud-static folder. Can't be used with (-c) |
||||
-b|--build - will run the standard build process after checking out the branch |
||||
-c|--clone - will automatically clone the spring-cloud-static repo instead of providing the destination. |
||||
Obviously can't be used with (-d) |
||||
|
||||
EOF |
||||
} |
||||
|
||||
|
||||
# ========================================== |
||||
# ____ ____ _____ _____ _____ _______ |
||||
# / ____|/ ____| __ \|_ _| __ \__ __| |
||||
# | (___ | | | |__) | | | | |__) | | | |
||||
# \___ \| | | _ / | | | ___/ | | |
||||
# ____) | |____| | \ \ _| |_| | | | |
||||
# |_____/ \_____|_| \_\_____|_| |_| |
||||
# |
||||
# ========================================== |
||||
|
||||
while [[ $# > 0 ]] |
||||
do |
||||
key="$1" |
||||
case ${key} in |
||||
-v|--version) |
||||
VERSION="$2" |
||||
shift # past argument |
||||
;; |
||||
-d|--destination) |
||||
DESTINATION="$2" |
||||
shift # past argument |
||||
;; |
||||
-b|--build) |
||||
BUILD="yes" |
||||
;; |
||||
-c|--clone) |
||||
CLONE="yes" |
||||
;; |
||||
-h|--help) |
||||
print_usage |
||||
exit 0 |
||||
;; |
||||
*) |
||||
echo "Invalid option: [$1]" |
||||
print_usage |
||||
exit 1 |
||||
;; |
||||
esac |
||||
shift # past argument or value |
||||
done |
||||
|
||||
assert_properties |
||||
set_default_props |
||||
check_if_anything_to_sync |
||||
if [[ -z "${VERSION}" ]] ; then |
||||
retrieve_current_branch |
||||
else |
||||
switch_to_tag |
||||
fi |
||||
build_docs_if_applicable |
||||
retrieve_doc_properties |
||||
stash_changes |
||||
add_docs_from_target |
||||
checkout_previous_branch |
@ -0,0 +1,3 @@
@@ -0,0 +1,3 @@
|
||||
TODO: write intro |
||||
This project provides |
||||
|
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
:github-tag: master |
||||
:github-repo: spring-cloud-incubator/spring-cloud-gateway |
||||
:github-raw: http://raw.github.com/{github-repo}/{github-tag} |
||||
:github-code: http://github.com/{github-repo}/tree/{github-tag} |
||||
:all: {asterisk}{asterisk} |
||||
:nofooter: |
||||
:imagesdir: ./images |
||||
= Spring Cloud Gateway |
||||
|
||||
*{spring-cloud-version}* |
||||
|
||||
include::intro.adoc[] |
||||
|
||||
== TODO: Document Spring Cloud Gateway |
||||
|
||||
TODO: Do documentation |
||||
|
||||
[[gateway-starter]] |
||||
=== How to Include Spring Cloud Gateway |
||||
|
||||
To include Spring Cloud Gateway in your project use the starter with group `org.springframework.cloud` |
||||
and artifact id `spring-cloud-starter-gateway`. See the http://projects.spring.io/spring-cloud/[Spring Cloud Project page] |
||||
for details on setting up your build system with the current Spring Cloud Release Train. |
||||
|
||||
|
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env ruby |
||||
|
||||
base_dir = File.join(File.dirname(__FILE__),'../../..') |
||||
src_dir = File.join(base_dir, "/src/main/asciidoc") |
||||
require 'asciidoctor' |
||||
require 'optparse' |
||||
|
||||
options = {} |
||||
file = "#{src_dir}/README.adoc" |
||||
|
||||
OptionParser.new do |o| |
||||
o.on('-o OUTPUT_FILE', 'Output file (default is stdout)') { |file| options[:to_file] = file unless file=='-' } |
||||
o.on('-h', '--help') { puts o; exit } |
||||
o.parse! |
||||
end |
||||
|
||||
file = ARGV[0] if ARGV.length>0 |
||||
|
||||
# Copied from https://github.com/asciidoctor/asciidoctor-extensions-lab/blob/master/scripts/asciidoc-coalescer.rb |
||||
doc = Asciidoctor.load_file file, safe: :unsafe, header_only: true, attributes: options[:attributes] |
||||
header_attr_names = (doc.instance_variable_get :@attributes_modified).to_a |
||||
header_attr_names.each {|k| doc.attributes[%(#{k}!)] = '' unless doc.attr? k } |
||||
attrs = doc.attributes |
||||
attrs['allow-uri-read'] = true |
||||
puts attrs |
||||
|
||||
out = "// Do not edit this file (e.g. go instead to src/main/asciidoc)\n\n" |
||||
doc = Asciidoctor.load_file file, safe: :unsafe, parse: false, attributes: attrs |
||||
out << doc.reader.read |
||||
|
||||
unless options[:to_file] |
||||
puts out |
||||
else |
||||
File.open(options[:to_file],'w+') do |file| |
||||
file.write(out) |
||||
end |
||||
end |
@ -1,194 +1,247 @@
@@ -1,194 +1,247 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
|
||||
<groupId>org.springframework.cloud.gateway</groupId> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-gateway</artifactId> |
||||
<version>0.0.1-SNAPSHOT</version> |
||||
<packaging>jar</packaging> |
||||
<version>1.0.0.BUILD-SNAPSHOT</version> |
||||
<packaging>pom</packaging> |
||||
|
||||
<name>spring-cloud-gateway</name> |
||||
<description>Demo project for Spring Boot</description> |
||||
<name>Spring Cloud Gateway</name> |
||||
<description>Spring Cloud Gateway</description> |
||||
|
||||
<parent> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-parent</artifactId> |
||||
<version>2.0.0.BUILD-SNAPSHOT</version> |
||||
<relativePath/> <!-- lookup parent from repository --> |
||||
</parent> |
||||
<parent> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-build</artifactId> |
||||
<version>1.3.1.BUILD-SNAPSHOT</version> |
||||
<relativePath/> |
||||
</parent> |
||||
<scm> |
||||
<url>https://github.com/spring-cloud-incubator/spring-cloud-gateway</url> |
||||
<connection>scm:git:git://github.com/spring-cloud-incubator/spring-cloud-gateway.git</connection> |
||||
<developerConnection>scm:git:ssh://git@github.com/spring-cloud-incubator/spring-cloud-gateway.git |
||||
</developerConnection> |
||||
<tag>HEAD</tag> |
||||
</scm> |
||||
|
||||
<properties> |
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
||||
<java.version>1.8</java.version> |
||||
<reactor.version>3.0.4.RELEASE</reactor.version> |
||||
</properties> |
||||
<licenses> |
||||
<license> |
||||
<name>Apache License, Version 2.0</name> |
||||
<url>http://www.apache.org/licenses/LICENSE-2.0</url> |
||||
</license> |
||||
</licenses> |
||||
<developers> |
||||
<developer> |
||||
<id>sgibb</id> |
||||
<name>Spencer Gibb</name> |
||||
<email>sgibb at pivotal.io</email> |
||||
<organization>Pivotal Software, Inc.</organization> |
||||
<organizationUrl>http://www.spring.io</organizationUrl> |
||||
<roles> |
||||
<role>Project lead</role> |
||||
</roles> |
||||
</developer> |
||||
</developers> |
||||
|
||||
<licenses> |
||||
<license> |
||||
<name>Apache License, Version 2.0</name> |
||||
<url>http://www.apache.org/licenses/LICENSE-2.0</url> |
||||
</license> |
||||
</licenses> |
||||
<scm> |
||||
<url>https://github.com/spring-cloud/spring-cloud-gateway</url> |
||||
</scm> |
||||
<developers> |
||||
<developer> |
||||
<id>sgibb</id> |
||||
<name>Spencer Gibb</name> |
||||
<email>sgibb at pivotal.io</email> |
||||
<organization>Pivotal Software, Inc.</organization> |
||||
<organizationUrl>http://www.spring.io</organizationUrl> |
||||
<roles> |
||||
<role>Project lead</role> |
||||
</roles> |
||||
</developer> |
||||
</developers> |
||||
|
||||
<dependencies> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-actuator</artifactId> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-webflux</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-configuration-processor</artifactId> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-ribbon</artifactId> |
||||
<optional>true</optional> |
||||
<exclusions> |
||||
<exclusion> |
||||
<groupId>com.netflix.ribbon</groupId> |
||||
<artifactId>ribbon-transport</artifactId> |
||||
</exclusion> |
||||
<exclusion> |
||||
<groupId>io.reactivex</groupId> |
||||
<artifactId>rxnetty</artifactId> |
||||
</exclusion> |
||||
</exclusions> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-hystrix</artifactId> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
<!-- TODO: should be part of spring-cloud-starter-netflix --> |
||||
<dependency> |
||||
<groupId>io.reactivex</groupId> |
||||
<artifactId>rxjava-reactive-streams</artifactId> |
||||
<version>1.2.1</version> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-devtools</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>commons-net</groupId> |
||||
<artifactId>commons-net</artifactId> |
||||
<version>3.5</version> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-eureka</artifactId> |
||||
<scope>test</scope> |
||||
<exclusions> |
||||
<exclusion> |
||||
<!-- TODO: this should be optional --> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-web</artifactId> |
||||
</exclusion> |
||||
</exclusions> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-test</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>io.projectreactor.addons</groupId> |
||||
<artifactId>reactor-test</artifactId> |
||||
<version>${reactor.version}</version> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.assertj</groupId> |
||||
<artifactId>assertj-core</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
</dependencies> |
||||
<properties> |
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
||||
<java.version>1.8</java.version> |
||||
<reactor.version>3.0.4.RELEASE</reactor.version> |
||||
<spring-boot.version>2.0.0.BUILD-SNAPSHOT</spring-boot.version> |
||||
<spring-cloud-commons.version>1.2.0.BUILD-SNAPSHOT</spring-cloud-commons.version> |
||||
<spring-cloud-netflix.version>1.3.0.BUILD-SNAPSHOT</spring-cloud-netflix.version> |
||||
</properties> |
||||
|
||||
<dependencyManagement> |
||||
<dependencies> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-gateway-dependencies</artifactId> |
||||
<version>${project.version}</version> |
||||
<type>pom</type> |
||||
<scope>import</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-dependencies</artifactId> |
||||
<version>2.0.0.BUILD-SNAPSHOT</version> |
||||
<version>${spring-boot.version}</version> |
||||
<type>pom</type> |
||||
<scope>import</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-commons-dependencies</artifactId> |
||||
<version>1.2.0.BUILD-SNAPSHOT</version> |
||||
<version>${spring-cloud-commons.version}</version> |
||||
<type>pom</type> |
||||
<scope>import</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-netflix-dependencies</artifactId> |
||||
<version>1.3.0.BUILD-SNAPSHOT</version> |
||||
<version>${spring-cloud-netflix.version}</version> |
||||
<type>pom</type> |
||||
<scope>import</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-ribbon</artifactId> |
||||
<version>${spring-cloud-netflix.version}</version> |
||||
<exclusions> |
||||
<exclusion> |
||||
<groupId>com.netflix.ribbon</groupId> |
||||
<artifactId>ribbon-transport</artifactId> |
||||
</exclusion> |
||||
<exclusion> |
||||
<groupId>io.reactivex</groupId> |
||||
<artifactId>rxnetty</artifactId> |
||||
</exclusion> |
||||
</exclusions> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-eureka</artifactId> |
||||
<version>${spring-cloud-netflix.version}</version> |
||||
<exclusions> |
||||
<exclusion> |
||||
<!-- TODO: this should be optional --> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-web</artifactId> |
||||
</exclusion> |
||||
</exclusions> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-hystrix</artifactId> |
||||
<version>${spring-cloud-netflix.version}</version> |
||||
</dependency> |
||||
<!-- TODO: should be part of spring-cloud-starter-netflix --> |
||||
<dependency> |
||||
<groupId>io.reactivex</groupId> |
||||
<artifactId>rxjava-reactive-streams</artifactId> |
||||
<version>1.2.1</version> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-devtools</artifactId> |
||||
<version>${spring-boot.version}</version> |
||||
</dependency> |
||||
</dependencies> |
||||
</dependencyManagement> |
||||
|
||||
<repositories> |
||||
<repository> |
||||
<id>spring-snapshots</id> |
||||
<name>Spring Snapshots</name> |
||||
<url>https://repo.spring.io/snapshot</url> |
||||
<snapshots> |
||||
<enabled>true</enabled> |
||||
</snapshots> |
||||
</repository> |
||||
<repository> |
||||
<id>spring-milestones</id> |
||||
<name>Spring Milestones</name> |
||||
<url>https://repo.spring.io/milestone</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</repository> |
||||
</repositories> |
||||
<pluginRepositories> |
||||
<pluginRepository> |
||||
<id>spring-snapshots</id> |
||||
<name>Spring Snapshots</name> |
||||
<url>https://repo.spring.io/snapshot</url> |
||||
<snapshots> |
||||
<enabled>true</enabled> |
||||
</snapshots> |
||||
</pluginRepository> |
||||
<pluginRepository> |
||||
<id>spring-milestones</id> |
||||
<name>Spring Milestones</name> |
||||
<url>https://repo.spring.io/milestone</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</pluginRepository> |
||||
</pluginRepositories> |
||||
<modules> |
||||
<module>spring-cloud-gateway-dependencies</module> |
||||
<module>spring-cloud-gateway-core</module> |
||||
<module>spring-cloud-starter-gateway</module> |
||||
<module>docs</module> |
||||
</modules> |
||||
|
||||
<profiles> |
||||
<profile> |
||||
<id>spring</id> |
||||
<repositories> |
||||
<repository> |
||||
<id>spring-snapshots</id> |
||||
<name>Spring Snapshots</name> |
||||
<url>https://repo.spring.io/libs-snapshot-local</url> |
||||
<snapshots> |
||||
<enabled>true</enabled> |
||||
</snapshots> |
||||
<releases> |
||||
<enabled>false</enabled> |
||||
</releases> |
||||
</repository> |
||||
<repository> |
||||
<id>spring-milestones</id> |
||||
<name>Spring Milestones</name> |
||||
<url>https://repo.spring.io/libs-milestone-local</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</repository> |
||||
<repository> |
||||
<id>spring-releases</id> |
||||
<name>Spring Releases</name> |
||||
<url>https://repo.spring.io/release</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</repository> |
||||
</repositories> |
||||
<pluginRepositories> |
||||
<pluginRepository> |
||||
<id>spring-snapshots</id> |
||||
<name>Spring Snapshots</name> |
||||
<url>https://repo.spring.io/libs-snapshot-local</url> |
||||
<snapshots> |
||||
<enabled>true</enabled> |
||||
</snapshots> |
||||
<releases> |
||||
<enabled>false</enabled> |
||||
</releases> |
||||
</pluginRepository> |
||||
<pluginRepository> |
||||
<id>spring-milestones</id> |
||||
<name>Spring Milestones</name> |
||||
<url>https://repo.spring.io/libs-milestone-local</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</pluginRepository> |
||||
<pluginRepository> |
||||
<id>spring-releases</id> |
||||
<name>Spring Releases</name> |
||||
<url>https://repo.spring.io/libs-release-local</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</pluginRepository> |
||||
</pluginRepositories> |
||||
</profile> |
||||
<profile> |
||||
<id>sonar</id> |
||||
<build> |
||||
<plugins> |
||||
<plugin> |
||||
<groupId>org.jacoco</groupId> |
||||
<artifactId>jacoco-maven-plugin</artifactId> |
||||
<executions> |
||||
<execution> |
||||
<id>pre-unit-test</id> |
||||
<goals> |
||||
<goal>prepare-agent</goal> |
||||
</goals> |
||||
<configuration> |
||||
<propertyName>surefireArgLine</propertyName> |
||||
<destFile>${project.build.directory}/jacoco.exec</destFile> |
||||
</configuration> |
||||
</execution> |
||||
<execution> |
||||
<id>post-unit-test</id> |
||||
<phase>test</phase> |
||||
<goals> |
||||
<goal>report</goal> |
||||
</goals> |
||||
<configuration> |
||||
<!-- Sets the path to the file which contains the execution data. --> |
||||
<dataFile>${project.build.directory}/jacoco.exec</dataFile> |
||||
</configuration> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
<plugin> |
||||
<groupId>org.apache.maven.plugins</groupId> |
||||
<artifactId>maven-surefire-plugin</artifactId> |
||||
<configuration> |
||||
<!-- Sets the VM argument line used when unit tests are run. --> |
||||
<argLine>${surefireArgLine}</argLine> |
||||
</configuration> |
||||
</plugin> |
||||
</plugins> |
||||
</build> |
||||
</profile> |
||||
</profiles> |
||||
|
||||
</project> |
||||
|
@ -0,0 +1,102 @@
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
|
||||
<parent> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-gateway</artifactId> |
||||
<version>1.0.0.BUILD-SNAPSHOT</version> |
||||
<relativePath>..</relativePath> <!-- lookup parent from repository --> |
||||
</parent> |
||||
<artifactId>spring-cloud-gateway-core</artifactId> |
||||
<packaging>jar</packaging> |
||||
<name>Spring Cloud Gateway Core</name> |
||||
<description>Spring Cloud Gateway Core</description> |
||||
<properties> |
||||
<main.basedir>${basedir}/..</main.basedir> |
||||
</properties> |
||||
|
||||
<dependencies> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-actuator</artifactId> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-webflux</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-configuration-processor</artifactId> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-ribbon</artifactId> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-hystrix</artifactId> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
<!-- TODO: should be part of spring-cloud-starter-netflix --> |
||||
<dependency> |
||||
<groupId>io.reactivex</groupId> |
||||
<artifactId>rxjava-reactive-streams</artifactId> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-devtools</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>commons-net</groupId> |
||||
<artifactId>commons-net</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-eureka</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-test</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>io.projectreactor.addons</groupId> |
||||
<artifactId>reactor-test</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.assertj</groupId> |
||||
<artifactId>assertj-core</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
</dependencies> |
||||
<profiles> |
||||
<profile> |
||||
<id>java8plus</id> |
||||
<activation> |
||||
<jdk>[1.8,2.0)</jdk> |
||||
</activation> |
||||
<build> |
||||
<plugins> |
||||
<plugin> |
||||
<groupId>org.apache.maven.plugins</groupId> |
||||
<artifactId>maven-compiler-plugin</artifactId> |
||||
<version>3.6.0</version> |
||||
<configuration> |
||||
<compilerArgs> |
||||
<arg>-parameters</arg> |
||||
</compilerArgs> |
||||
</configuration> |
||||
</plugin> |
||||
</plugins> |
||||
</build> |
||||
</profile> |
||||
</profiles> |
||||
</project> |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@ -0,0 +1,104 @@
@@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
<parent> |
||||
<artifactId>spring-cloud-dependencies-parent</artifactId> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<version>1.3.1.BUILD-SNAPSHOT</version> |
||||
<relativePath/> |
||||
</parent> |
||||
|
||||
<artifactId>spring-cloud-gateway-dependencies</artifactId> |
||||
<version>1.0.0.BUILD-SNAPSHOT</version> |
||||
<packaging>pom</packaging> |
||||
|
||||
<name>spring-cloud-gateway-dependencies</name> |
||||
<description>Spring Cloud Gateway Dependencies</description> |
||||
|
||||
<properties> |
||||
<reactor-test.version>3.0.5.RELEASE</reactor-test.version> |
||||
</properties> |
||||
|
||||
<dependencyManagement> |
||||
<dependencies> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-gateway-core</artifactId> |
||||
<version>${project.version}</version> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-gateway</artifactId> |
||||
<version>${project.version}</version> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>commons-net</groupId> |
||||
<artifactId>commons-net</artifactId> |
||||
<version>3.5</version> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>io.projectreactor.addons</groupId> |
||||
<artifactId>reactor-test</artifactId> |
||||
<version>${reactor-test.version}</version> |
||||
</dependency> |
||||
</dependencies> |
||||
</dependencyManagement> |
||||
|
||||
<profiles> |
||||
<profile> |
||||
<id>spring</id> |
||||
<repositories> |
||||
<repository> |
||||
<id>spring-snapshots</id> |
||||
<name>Spring Snapshots</name> |
||||
<url>https://repo.spring.io/libs-snapshot-local</url> |
||||
<snapshots> |
||||
<enabled>true</enabled> |
||||
</snapshots> |
||||
<releases> |
||||
<enabled>false</enabled> |
||||
</releases> |
||||
</repository> |
||||
<repository> |
||||
<id>spring-milestones</id> |
||||
<name>Spring Milestones</name> |
||||
<url>https://repo.spring.io/libs-milestone-local</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</repository> |
||||
<repository> |
||||
<id>spring-releases</id> |
||||
<name>Spring Releases</name> |
||||
<url>https://repo.spring.io/release</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</repository> |
||||
</repositories> |
||||
<pluginRepositories> |
||||
<pluginRepository> |
||||
<id>spring-snapshots</id> |
||||
<name>Spring Snapshots</name> |
||||
<url>https://repo.spring.io/libs-snapshot-local</url> |
||||
<snapshots> |
||||
<enabled>true</enabled> |
||||
</snapshots> |
||||
<releases> |
||||
<enabled>false</enabled> |
||||
</releases> |
||||
</pluginRepository> |
||||
<pluginRepository> |
||||
<id>spring-milestones</id> |
||||
<name>Spring Milestones</name> |
||||
<url>https://repo.spring.io/libs-milestone-local</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</pluginRepository> |
||||
</pluginRepositories> |
||||
</profile> |
||||
</profiles> |
||||
|
||||
</project> |
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
<parent> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-gateway</artifactId> |
||||
<version>1.0.0.BUILD-SNAPSHOT</version> |
||||
<relativePath>..</relativePath> <!-- lookup parent from repository --> |
||||
</parent> |
||||
<artifactId>spring-cloud-starter-gateway</artifactId> |
||||
<name>spring-cloud-starter-gateway</name> |
||||
<description>Spring Cloud Starter</description> |
||||
<url>https://projects.spring.io/spring-cloud</url> |
||||
<organization> |
||||
<name>Pivotal Software, Inc.</name> |
||||
<url>https://www.spring.io</url> |
||||
</organization> |
||||
<properties> |
||||
<main.basedir>${basedir}/../..</main.basedir> |
||||
</properties> |
||||
<dependencies> |
||||
<dependency> |
||||
<groupId>org.springframework.cloud</groupId> |
||||
<artifactId>spring-cloud-gateway-core</artifactId> |
||||
</dependency> |
||||
</dependencies> |
||||
</project> |
Loading…
Reference in new issue