Sync docs from master to gh-pages
This commit is contained in:
1
css/spring.css
Normal file
1
css/spring.css
Normal file
File diff suppressed because one or more lines are too long
BIN
favicon.ico
Normal file
BIN
favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 109 KiB |
2
js/highlight/highlight.min.js
vendored
Normal file
2
js/highlight/highlight.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
99
js/highlight/styles/a11y-dark.min.css
vendored
Normal file
99
js/highlight/styles/a11y-dark.min.css
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
/* a11y-dark theme */
|
||||
/* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */
|
||||
/* @author: ericwbailey */
|
||||
|
||||
/* Comment */
|
||||
.hljs-comment,
|
||||
.hljs-quote {
|
||||
color: #d4d0ab;
|
||||
}
|
||||
|
||||
/* Red */
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-tag,
|
||||
.hljs-name,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-regexp,
|
||||
.hljs-deletion {
|
||||
color: #ffa07a;
|
||||
}
|
||||
|
||||
/* Orange */
|
||||
.hljs-number,
|
||||
.hljs-built_in,
|
||||
.hljs-builtin-name,
|
||||
.hljs-literal,
|
||||
.hljs-type,
|
||||
.hljs-params,
|
||||
.hljs-meta,
|
||||
.hljs-link {
|
||||
color: #f5ab35;
|
||||
}
|
||||
|
||||
/* Yellow */
|
||||
.hljs-attribute {
|
||||
color: #ffd700;
|
||||
}
|
||||
|
||||
/* Green */
|
||||
.hljs-string,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-addition {
|
||||
color: #abe338;
|
||||
}
|
||||
|
||||
/* Blue */
|
||||
.hljs-title,
|
||||
.hljs-section {
|
||||
color: #00e0e0;
|
||||
}
|
||||
|
||||
/* Purple */
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag {
|
||||
color: #dcc6e0;
|
||||
}
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
background: #2b2b2b;
|
||||
color: #f8f8f2;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@media screen and (-ms-high-contrast: active) {
|
||||
.hljs-addition,
|
||||
.hljs-attribute,
|
||||
.hljs-built_in,
|
||||
.hljs-builtin-name,
|
||||
.hljs-bullet,
|
||||
.hljs-comment,
|
||||
.hljs-link,
|
||||
.hljs-literal,
|
||||
.hljs-meta,
|
||||
.hljs-number,
|
||||
.hljs-params,
|
||||
.hljs-string,
|
||||
.hljs-symbol,
|
||||
.hljs-type,
|
||||
.hljs-quote {
|
||||
color: highlight;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
89
js/highlight/styles/an-old-hope.min.css
vendored
Normal file
89
js/highlight/styles/an-old-hope.min.css
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
|
||||
An Old Hope – Star Wars Syntax (c) Gustavo Costa <gusbemacbe@gmail.com>
|
||||
Original theme - Ocean Dark Theme – by https://github.com/gavsiu
|
||||
Based on Jesse Leite's Atom syntax theme 'An Old Hope' – https://github.com/JesseLeite/an-old-hope-syntax-atom
|
||||
|
||||
*/
|
||||
|
||||
/* Death Star Comment */
|
||||
.hljs-comment,
|
||||
.hljs-quote
|
||||
{
|
||||
color: #B6B18B;
|
||||
}
|
||||
|
||||
/* Darth Vader */
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-tag,
|
||||
.hljs-name,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-regexp,
|
||||
.hljs-deletion
|
||||
{
|
||||
color: #EB3C54;
|
||||
}
|
||||
|
||||
/* Threepio */
|
||||
.hljs-number,
|
||||
.hljs-built_in,
|
||||
.hljs-builtin-name,
|
||||
.hljs-literal,
|
||||
.hljs-type,
|
||||
.hljs-params,
|
||||
.hljs-meta,
|
||||
.hljs-link
|
||||
{
|
||||
color: #E7CE56;
|
||||
}
|
||||
|
||||
/* Luke Skywalker */
|
||||
.hljs-attribute
|
||||
{
|
||||
color: #EE7C2B;
|
||||
}
|
||||
|
||||
/* Obi Wan Kenobi */
|
||||
.hljs-string,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-addition
|
||||
{
|
||||
color: #4FB4D7;
|
||||
}
|
||||
|
||||
/* Yoda */
|
||||
.hljs-title,
|
||||
.hljs-section
|
||||
{
|
||||
color: #78BB65;
|
||||
}
|
||||
|
||||
/* Mace Windu */
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag
|
||||
{
|
||||
color: #B45EA4;
|
||||
}
|
||||
|
||||
/* Millenium Falcon */
|
||||
.hljs
|
||||
{
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
background: #1C1D21;
|
||||
color: #c0c5ce;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
.hljs-emphasis
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-strong
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
77
js/highlight/styles/atom-one-dark-reasonable.min.css
vendored
Normal file
77
js/highlight/styles/atom-one-dark-reasonable.min.css
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
|
||||
Atom One Dark With support for ReasonML by Gidi Morris, based off work by Daniel Gamage
|
||||
|
||||
Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax
|
||||
|
||||
*/
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
line-height: 1.3em;
|
||||
color: #abb2bf;
|
||||
background: #282c34;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.hljs-keyword, .hljs-operator {
|
||||
color: #F92672;
|
||||
}
|
||||
.hljs-pattern-match {
|
||||
color: #F92672;
|
||||
}
|
||||
.hljs-pattern-match .hljs-constructor {
|
||||
color: #61aeee;
|
||||
}
|
||||
.hljs-function {
|
||||
color: #61aeee;
|
||||
}
|
||||
.hljs-function .hljs-params {
|
||||
color: #A6E22E;
|
||||
}
|
||||
.hljs-function .hljs-params .hljs-typing {
|
||||
color: #FD971F;
|
||||
}
|
||||
.hljs-module-access .hljs-module {
|
||||
color: #7e57c2;
|
||||
}
|
||||
.hljs-constructor {
|
||||
color: #e2b93d;
|
||||
}
|
||||
.hljs-constructor .hljs-string {
|
||||
color: #9CCC65;
|
||||
}
|
||||
.hljs-comment, .hljs-quote {
|
||||
color: #b18eb1;
|
||||
font-style: italic;
|
||||
}
|
||||
.hljs-doctag, .hljs-formula {
|
||||
color: #c678dd;
|
||||
}
|
||||
.hljs-section, .hljs-name, .hljs-selector-tag, .hljs-deletion, .hljs-subst {
|
||||
color: #e06c75;
|
||||
}
|
||||
.hljs-literal {
|
||||
color: #56b6c2;
|
||||
}
|
||||
.hljs-string, .hljs-regexp, .hljs-addition, .hljs-attribute, .hljs-meta-string {
|
||||
color: #98c379;
|
||||
}
|
||||
.hljs-built_in, .hljs-class .hljs-title {
|
||||
color: #e6c07b;
|
||||
}
|
||||
.hljs-attr, .hljs-variable, .hljs-template-variable, .hljs-type, .hljs-selector-class, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-number {
|
||||
color: #d19a66;
|
||||
}
|
||||
.hljs-symbol, .hljs-bullet, .hljs-link, .hljs-meta, .hljs-selector-id, .hljs-title {
|
||||
color: #61aeee;
|
||||
}
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
.hljs-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
96
js/highlight/styles/atom-one-dark.min.css
vendored
Normal file
96
js/highlight/styles/atom-one-dark.min.css
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
|
||||
Atom One Dark by Daniel Gamage
|
||||
Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax
|
||||
|
||||
base: #282c34
|
||||
mono-1: #abb2bf
|
||||
mono-2: #818896
|
||||
mono-3: #5c6370
|
||||
hue-1: #56b6c2
|
||||
hue-2: #61aeee
|
||||
hue-3: #c678dd
|
||||
hue-4: #98c379
|
||||
hue-5: #e06c75
|
||||
hue-5-2: #be5046
|
||||
hue-6: #d19a66
|
||||
hue-6-2: #e6c07b
|
||||
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
color: #abb2bf;
|
||||
background: #282c34;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-quote {
|
||||
color: #5c6370;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-doctag,
|
||||
.hljs-keyword,
|
||||
.hljs-formula {
|
||||
color: #c678dd;
|
||||
}
|
||||
|
||||
.hljs-section,
|
||||
.hljs-name,
|
||||
.hljs-selector-tag,
|
||||
.hljs-deletion,
|
||||
.hljs-subst {
|
||||
color: #e06c75;
|
||||
}
|
||||
|
||||
.hljs-literal {
|
||||
color: #56b6c2;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-regexp,
|
||||
.hljs-addition,
|
||||
.hljs-attribute,
|
||||
.hljs-meta-string {
|
||||
color: #98c379;
|
||||
}
|
||||
|
||||
.hljs-built_in,
|
||||
.hljs-class .hljs-title {
|
||||
color: #e6c07b;
|
||||
}
|
||||
|
||||
.hljs-attr,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-type,
|
||||
.hljs-selector-class,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo,
|
||||
.hljs-number {
|
||||
color: #d19a66;
|
||||
}
|
||||
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-link,
|
||||
.hljs-meta,
|
||||
.hljs-selector-id,
|
||||
.hljs-title {
|
||||
color: #61aeee;
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hljs-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
96
js/highlight/styles/atom-one-light.min.css
vendored
Normal file
96
js/highlight/styles/atom-one-light.min.css
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
|
||||
Atom One Light by Daniel Gamage
|
||||
Original One Light Syntax theme from https://github.com/atom/one-light-syntax
|
||||
|
||||
base: #fafafa
|
||||
mono-1: #383a42
|
||||
mono-2: #686b77
|
||||
mono-3: #a0a1a7
|
||||
hue-1: #0184bb
|
||||
hue-2: #4078f2
|
||||
hue-3: #a626a4
|
||||
hue-4: #50a14f
|
||||
hue-5: #e45649
|
||||
hue-5-2: #c91243
|
||||
hue-6: #986801
|
||||
hue-6-2: #c18401
|
||||
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
color: #383a42;
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-quote {
|
||||
color: #a0a1a7;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-doctag,
|
||||
.hljs-keyword,
|
||||
.hljs-formula {
|
||||
color: #a626a4;
|
||||
}
|
||||
|
||||
.hljs-section,
|
||||
.hljs-name,
|
||||
.hljs-selector-tag,
|
||||
.hljs-deletion,
|
||||
.hljs-subst {
|
||||
color: #e45649;
|
||||
}
|
||||
|
||||
.hljs-literal {
|
||||
color: #0184bb;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-regexp,
|
||||
.hljs-addition,
|
||||
.hljs-attribute,
|
||||
.hljs-meta-string {
|
||||
color: #50a14f;
|
||||
}
|
||||
|
||||
.hljs-built_in,
|
||||
.hljs-class .hljs-title {
|
||||
color: #c18401;
|
||||
}
|
||||
|
||||
.hljs-attr,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-type,
|
||||
.hljs-selector-class,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo,
|
||||
.hljs-number {
|
||||
color: #986801;
|
||||
}
|
||||
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-link,
|
||||
.hljs-meta,
|
||||
.hljs-selector-id,
|
||||
.hljs-title {
|
||||
color: #4078f2;
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hljs-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
76
js/highlight/styles/dracula.min.css
vendored
Normal file
76
js/highlight/styles/dracula.min.css
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
|
||||
Dracula Theme v1.2.0
|
||||
|
||||
https://github.com/zenorocha/dracula-theme
|
||||
|
||||
Copyright 2015, All rights reserved
|
||||
|
||||
Code licensed under the MIT license
|
||||
http://zenorocha.mit-license.org
|
||||
|
||||
@author Éverton Ribeiro <nuxlli@gmail.com>
|
||||
@author Zeno Rocha <hi@zenorocha.com>
|
||||
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
background: #282a36;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-literal,
|
||||
.hljs-section,
|
||||
.hljs-link {
|
||||
color: #8be9fd;
|
||||
}
|
||||
|
||||
.hljs-function .hljs-keyword {
|
||||
color: #ff79c6;
|
||||
}
|
||||
|
||||
.hljs,
|
||||
.hljs-subst {
|
||||
color: #f8f8f2;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-title,
|
||||
.hljs-name,
|
||||
.hljs-type,
|
||||
.hljs-attribute,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-addition,
|
||||
.hljs-variable,
|
||||
.hljs-template-tag,
|
||||
.hljs-template-variable {
|
||||
color: #f1fa8c;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-quote,
|
||||
.hljs-deletion,
|
||||
.hljs-meta {
|
||||
color: #6272a4;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-literal,
|
||||
.hljs-title,
|
||||
.hljs-section,
|
||||
.hljs-doctag,
|
||||
.hljs-type,
|
||||
.hljs-name,
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
99
js/highlight/styles/github.min.css
vendored
Normal file
99
js/highlight/styles/github.min.css
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
|
||||
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
|
||||
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
color: #333;
|
||||
background: #f8f8f8;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-quote {
|
||||
color: #998;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-subst {
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hljs-number,
|
||||
.hljs-literal,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-tag .hljs-attr {
|
||||
color: #008080;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-doctag {
|
||||
color: #d14;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-section,
|
||||
.hljs-selector-id {
|
||||
color: #900;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hljs-subst {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.hljs-type,
|
||||
.hljs-class .hljs-title {
|
||||
color: #458;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hljs-tag,
|
||||
.hljs-name,
|
||||
.hljs-attribute {
|
||||
color: #000080;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.hljs-regexp,
|
||||
.hljs-link {
|
||||
color: #009926;
|
||||
}
|
||||
|
||||
.hljs-symbol,
|
||||
.hljs-bullet {
|
||||
color: #990073;
|
||||
}
|
||||
|
||||
.hljs-built_in,
|
||||
.hljs-builtin-name {
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.hljs-meta {
|
||||
color: #999;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
background: #fdd;
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
background: #dfd;
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
83
js/highlight/styles/monokai-sublime.min.css
vendored
Normal file
83
js/highlight/styles/monokai-sublime.min.css
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
|
||||
Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/
|
||||
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
background: #23241f;
|
||||
}
|
||||
|
||||
.hljs,
|
||||
.hljs-tag,
|
||||
.hljs-subst {
|
||||
color: #f8f8f2;
|
||||
}
|
||||
|
||||
.hljs-strong,
|
||||
.hljs-emphasis {
|
||||
color: #a8a8a2;
|
||||
}
|
||||
|
||||
.hljs-bullet,
|
||||
.hljs-quote,
|
||||
.hljs-number,
|
||||
.hljs-regexp,
|
||||
.hljs-literal,
|
||||
.hljs-link {
|
||||
color: #ae81ff;
|
||||
}
|
||||
|
||||
.hljs-code,
|
||||
.hljs-title,
|
||||
.hljs-section,
|
||||
.hljs-selector-class {
|
||||
color: #a6e22e;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-name,
|
||||
.hljs-attr {
|
||||
color: #f92672;
|
||||
}
|
||||
|
||||
.hljs-symbol,
|
||||
.hljs-attribute {
|
||||
color: #66d9ef;
|
||||
}
|
||||
|
||||
.hljs-params,
|
||||
.hljs-class .hljs-title {
|
||||
color: #f8f8f2;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-type,
|
||||
.hljs-built_in,
|
||||
.hljs-builtin-name,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo,
|
||||
.hljs-addition,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable {
|
||||
color: #e6db74;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-deletion,
|
||||
.hljs-meta {
|
||||
color: #75715e;
|
||||
}
|
||||
70
js/highlight/styles/monokai.min.css
vendored
Normal file
70
js/highlight/styles/monokai.min.css
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
Monokai style - ported by Luigi Maselli - http://grigio.org
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
background: #272822; color: #ddd;
|
||||
}
|
||||
|
||||
.hljs-tag,
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-literal,
|
||||
.hljs-strong,
|
||||
.hljs-name {
|
||||
color: #f92672;
|
||||
}
|
||||
|
||||
.hljs-code {
|
||||
color: #66d9ef;
|
||||
}
|
||||
|
||||
.hljs-class .hljs-title {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.hljs-attribute,
|
||||
.hljs-symbol,
|
||||
.hljs-regexp,
|
||||
.hljs-link {
|
||||
color: #bf79db;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-bullet,
|
||||
.hljs-subst,
|
||||
.hljs-title,
|
||||
.hljs-section,
|
||||
.hljs-emphasis,
|
||||
.hljs-type,
|
||||
.hljs-built_in,
|
||||
.hljs-builtin-name,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo,
|
||||
.hljs-addition,
|
||||
.hljs-variable,
|
||||
.hljs-template-tag,
|
||||
.hljs-template-variable {
|
||||
color: #a6e22e;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-quote,
|
||||
.hljs-deletion,
|
||||
.hljs-meta {
|
||||
color: #75715e;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-literal,
|
||||
.hljs-doctag,
|
||||
.hljs-title,
|
||||
.hljs-section,
|
||||
.hljs-type,
|
||||
.hljs-selector-id {
|
||||
font-weight: bold;
|
||||
}
|
||||
84
js/highlight/styles/solarized-light.min.css
vendored
Normal file
84
js/highlight/styles/solarized-light.min.css
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
|
||||
Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>
|
||||
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
background: #fdf6e3;
|
||||
color: #657b83;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-quote {
|
||||
color: #93a1a1;
|
||||
}
|
||||
|
||||
/* Solarized Green */
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-addition {
|
||||
color: #859900;
|
||||
}
|
||||
|
||||
/* Solarized Cyan */
|
||||
.hljs-number,
|
||||
.hljs-string,
|
||||
.hljs-meta .hljs-meta-string,
|
||||
.hljs-literal,
|
||||
.hljs-doctag,
|
||||
.hljs-regexp {
|
||||
color: #2aa198;
|
||||
}
|
||||
|
||||
/* Solarized Blue */
|
||||
.hljs-title,
|
||||
.hljs-section,
|
||||
.hljs-name,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class {
|
||||
color: #268bd2;
|
||||
}
|
||||
|
||||
/* Solarized Yellow */
|
||||
.hljs-attribute,
|
||||
.hljs-attr,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-class .hljs-title,
|
||||
.hljs-type {
|
||||
color: #b58900;
|
||||
}
|
||||
|
||||
/* Solarized Orange */
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-subst,
|
||||
.hljs-meta,
|
||||
.hljs-meta .hljs-keyword,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo,
|
||||
.hljs-link {
|
||||
color: #cb4b16;
|
||||
}
|
||||
|
||||
/* Solarized Red */
|
||||
.hljs-built_in,
|
||||
.hljs-deletion {
|
||||
color: #dc322f;
|
||||
}
|
||||
|
||||
.hljs-formula {
|
||||
background: #eee8d5;
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
80
js/highlight/styles/zenburn.min.css
vendored
Normal file
80
js/highlight/styles/zenburn.min.css
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
|
||||
Zenburn style from voldmar.ru (c) Vladimir Epifanov <voldmar@voldmar.ru>
|
||||
based on dark.css by Ivan Sagalaev
|
||||
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
background: #3f3f3f;
|
||||
color: #dcdcdc;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-tag {
|
||||
color: #e3ceab;
|
||||
}
|
||||
|
||||
.hljs-template-tag {
|
||||
color: #dcdcdc;
|
||||
}
|
||||
|
||||
.hljs-number {
|
||||
color: #8cd0d3;
|
||||
}
|
||||
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-attribute {
|
||||
color: #efdcbc;
|
||||
}
|
||||
|
||||
.hljs-literal {
|
||||
color: #efefaf;
|
||||
}
|
||||
|
||||
.hljs-subst {
|
||||
color: #8f8f8f;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-name,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-section,
|
||||
.hljs-type {
|
||||
color: #efef8f;
|
||||
}
|
||||
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-link {
|
||||
color: #dca3a3;
|
||||
}
|
||||
|
||||
.hljs-deletion,
|
||||
.hljs-string,
|
||||
.hljs-built_in,
|
||||
.hljs-builtin-name {
|
||||
color: #cc9393;
|
||||
}
|
||||
|
||||
.hljs-addition,
|
||||
.hljs-comment,
|
||||
.hljs-quote,
|
||||
.hljs-meta {
|
||||
color: #7f9f7f;
|
||||
}
|
||||
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
107
js/toc.js
Normal file
107
js/toc.js
Normal file
@@ -0,0 +1,107 @@
|
||||
var toctitle = document.getElementById('toctitle');
|
||||
var path = window.location.pathname;
|
||||
if (toctitle != null) {
|
||||
var oldtoc = toctitle.nextElementSibling;
|
||||
var newtoc = document.createElement('div');
|
||||
newtoc.setAttribute('id', 'tocbot');
|
||||
newtoc.setAttribute('class', 'js-toc desktop-toc');
|
||||
oldtoc.setAttribute('class', 'mobile-toc');
|
||||
oldtoc.parentNode.appendChild(newtoc);
|
||||
tocbot.init({
|
||||
contentSelector: '#content',
|
||||
headingSelector: 'h1, h2, h3, h4, h5',
|
||||
positionFixedSelector: 'body',
|
||||
fixedSidebarOffset: 90,
|
||||
smoothScroll: false
|
||||
});
|
||||
if (!path.endsWith("index.html") && !path.endsWith("/")) {
|
||||
var link = document.createElement("a");
|
||||
link.setAttribute("href", "index.html");
|
||||
link.innerHTML = "<span><i class=\"fa fa-chevron-left\" aria-hidden=\"true\"></i></span> Back to index";
|
||||
var block = document.createElement("div");
|
||||
block.setAttribute('class', 'back-action');
|
||||
block.appendChild(link);
|
||||
var toc = document.getElementById('toc');
|
||||
var next = document.getElementById('toctitle').nextElementSibling;
|
||||
toc.insertBefore(block, next);
|
||||
}
|
||||
}
|
||||
|
||||
var headerHtml = '<div id="header-spring">\n' +
|
||||
'<h1>\n' +
|
||||
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0"\n' +
|
||||
'viewBox="0 0 245.8 45.3" style="enable-background:new 0 0 245.8 45.3;" xml:space="preserve">\n' +
|
||||
'<g id="logos">\n' +
|
||||
'<g>\n' +
|
||||
'<path class="st0" d="M39.4,3.7c-0.6,1.5-1.4,2.8-2.3,4c-3.9-4-9.3-6.4-15.2-6.4c-11.7,0-21.3,9.5-21.3,21.3\n' +
|
||||
'c0,6.2,2.6,11.7,6.8,15.6l0.8,0.7c3.7,3.1,8.5,5,13.7,5c11.2,0,20.4-8.7,21.2-19.8C43.7,18.7,42.1,11.8,39.4,3.7z M10.5,38.3\n' +
|
||||
'c-0.6,0.8-1.8,0.9-2.6,0.3C7.1,37.9,7,36.8,7.6,36c0.6-0.8,1.8-0.9,2.6-0.3C11,36.4,11.1,37.5,10.5,38.3z M39.3,31.9\n' +
|
||||
'c-5.2,7-16.5,4.6-23.6,5c0,0-1.3,0.1-2.6,0.3c0,0,0.5-0.2,1.1-0.4c5-1.7,7.4-2.1,10.5-3.7c5.8-3,11.5-9.4,12.7-16.1\n' +
|
||||
'c-2.2,6.4-8.9,12-14.9,14.2c-4.2,1.5-11.7,3-11.7,3c0,0-0.3-0.2-0.3-0.2c-5.1-2.5-5.3-13.6,4-17.1c4.1-1.6,8-0.7,12.4-1.8\n' +
|
||||
'C31.6,14.1,37,10.6,39.2,6C41.7,13.3,44.7,24.8,39.3,31.9z"/>\n' +
|
||||
'<g>\n' +
|
||||
'<path class="st0" d="M55.2,30.9c-0.5-0.3-0.9-0.9-0.9-1.6c0-1.1,0.8-1.9,1.9-1.9c0.4,0,0.7,0.1,1,0.3c2,1.3,4.1,2,5.9,2\n' +
|
||||
'c2,0,3.2-0.9,3.2-2.2v-0.1c0-1.6-2.2-2.2-4.6-2.9c-3-0.9-6.5-2.1-6.5-6.1v-0.1c0-3.9,3.2-6.3,7.4-6.3c2.2,0,4.5,0.6,6.5,1.7\n' +
|
||||
'c0.7,0.4,1.1,1,1.1,1.8c0,1.1-0.9,1.9-2,1.9c-0.4,0-0.6-0.1-0.9-0.2c-1.7-0.9-3.4-1.4-4.9-1.4c-1.8,0-2.9,0.9-2.9,2v0.1\n' +
|
||||
'c0,1.5,2.2,2.2,4.7,2.9c3,0.9,6.4,2.3,6.4,6v0.1c0,4.3-3.4,6.5-7.7,6.5C60.4,33.3,57.6,32.5,55.2,30.9z"/>\n' +
|
||||
'<path class="st0" d="M72.5,14.3c0-1.3,1-2.4,2.3-2.4c1.3,0,2.4,1.1,2.4,2.4v1.4c1.5-2.2,3.7-3.9,7-3.9c4.8,0,9.6,3.8,9.6,10.7\n' +
|
||||
'v0.1c0,6.8-4.7,10.7-9.6,10.7c-3.4,0-5.6-1.7-7-3.6V37c0,1.3-1.1,2.4-2.4,2.4c-1.3,0-2.3-1-2.3-2.4V14.3z M89.1,22.7L89.1,22.7\n' +
|
||||
'c0-4.1-2.7-6.7-5.9-6.7c-3.2,0-6,2.7-6,6.6v0.1c0,4,2.8,6.6,6,6.6C86.4,29.3,89.1,26.7,89.1,22.7z"/>\n' +
|
||||
'<path class="st0" d="M95.7,14.3c0-1.3,1-2.4,2.3-2.4c1.3,0,2.4,1.1,2.4,2.4v1.1c0.2-1.8,3.1-3.5,5.2-3.5c1.5,0,2.3,1,2.3,2.3\n' +
|
||||
'c0,1.3-0.8,2.1-1.9,2.3c-3.4,0.6-5.7,3.5-5.7,7.6V31c0,1.3-1.1,2.3-2.4,2.3c-1.3,0-2.3-1-2.3-2.3V14.3z"/>\n' +
|
||||
'<path class="st0" d="M109.7,14.3c0-1.3,1-2.4,2.3-2.4c1.3,0,2.4,1.1,2.4,2.4V31c0,1.3-1.1,2.3-2.4,2.3c-1.3,0-2.3-1-2.3-2.3V14.3\n' +
|
||||
'z"/>\n' +
|
||||
'<path class="st0" d="M116.9,14.3c0-1.3,1-2.4,2.3-2.4c1.3,0,2.4,1.1,2.4,2.4v1c1.3-1.9,3.2-3.4,6.5-3.4c4.7,0,7.4,3.1,7.4,7.9V31\n' +
|
||||
'c0,1.3-1,2.3-2.3,2.3c-1.3,0-2.4-1-2.4-2.3v-9.7c0-3.2-1.6-5-4.4-5c-2.7,0-4.7,1.9-4.7,5.1V31c0,1.3-1.1,2.3-2.4,2.3\n' +
|
||||
'c-1.3,0-2.3-1-2.3-2.3V14.3z"/>\n' +
|
||||
'<path class="st0" d="M156.2,11.9c-1.3,0-2.4,1.1-2.4,2.4v1.4c-1.5-2.2-3.7-3.9-7-3.9c-4.9,0-9.6,3.8-9.6,10.7v0.1\n' +
|
||||
'c0,6.8,4.7,10.7,9.6,10.7c3.4,0,5.6-1.7,7-3.6c-0.2,3.7-2.5,5.7-6.5,5.7c-2.4,0-4.5-0.6-6.3-1.6c-0.2-0.1-0.5-0.2-0.9-0.2\n' +
|
||||
'c-1.1,0-2,0.9-2,2c0,0.9,0.5,1.6,1.3,1.9c2.5,1.2,5.1,1.8,8,1.8c3.7,0,6.6-0.9,8.5-2.8c1.7-1.7,2.7-4.3,2.7-7.8V14.3\n' +
|
||||
'C158.5,13,157.5,11.9,156.2,11.9z M147.9,29.2c-3.2,0-5.9-2.5-5.9-6.6v-0.1c0-4,2.7-6.6,5.9-6.6c3.2,0,6,2.7,6,6.6v0.1\n' +
|
||||
'C153.9,26.6,151.1,29.2,147.9,29.2z"/>\n' +
|
||||
'<path class="st0" d="M114.5,6.3c0,1.3-1.1,2.4-2.4,2.4c-1.3,0-2.4-1.1-2.4-2.4c0-1.3,1.1-2.4,2.4-2.4\n' +
|
||||
'C113.4,3.9,114.5,4.9,114.5,6.3z"/>\n' +
|
||||
'</g>\n' +
|
||||
'</g>\n' +
|
||||
'<g class="st1">\n' +
|
||||
'<g>\n' +
|
||||
'<g>\n' +
|
||||
'<g>\n' +
|
||||
'<path class="st2" d="M200.1,21.1H198V19h2.1V21.1z M200.1,32.9H198V22.6h2.1V32.9z"/>\n' +
|
||||
'</g>\n' +
|
||||
'<g>\n' +
|
||||
'<g>\n' +
|
||||
'<path class="st2" d="M212.5,22.6l-3,8.9c-0.5,1.5-1.4,1.6-2.2,1.6c-1.1,0-1.8-0.5-2.2-1.6l-2.5-7.4h-1v-1.5h2.6l2.6,8.3\n' +
|
||||
'c0.1,0.4,0.2,0.6,0.5,0.6c0.3,0,0.4-0.2,0.5-0.6l2.6-8.3H212.5z"/>\n' +
|
||||
'<path class="st2" d="M217.8,22.6c2.8,0,4.7,1.8,4.7,4.5v1.6c0,2.6-1.9,4.5-4.7,4.5c-2.8,0-4.7-1.8-4.7-4.5v-1.6\n' +
|
||||
'C213,24.4,215,22.6,217.8,22.6 M217.8,31.4c1.7,0,2.7-1.3,2.7-2.8v-1.6c0-1.5-1-2.8-2.7-2.8c-1.8,0-2.7,1.3-2.7,2.8v1.6\n' +
|
||||
'C215.1,30.2,216,31.4,217.8,31.4"/>\n' +
|
||||
'<path class="st2" d="M239.6,22.9c-1.1-0.3-2.7-0.5-4-0.5c-2.8,0-4.6,1.8-4.6,4.6v1.1c0,2.9,1.7,4.7,4.6,4.7c0.1,0,0.6,0,0.8,0\n' +
|
||||
'v-1.7c-0.1,0-0.7,0-0.8,0c-1.5,0-2.6-1.2-2.6-2.9v-1.1c0-1.8,1-2.9,2.6-2.9c0.7,0,1.7,0.1,2.1,0.1l0.1,0l0,8.6h2.1v-9.6\n' +
|
||||
'C240,23.1,240,23,239.6,22.9"/>\n' +
|
||||
'<rect x="242.1" y="19" class="st2" width="2.1" height="13.9"/>\n' +
|
||||
'<path class="st2" d="M190.5,19h-3.8v13.9h2.2V20.9h1.3c0.3,0,0.5,0,0.8,0c1.9,0,2.9,0.8,2.9,2.3c0,0.1,0,0.1,0,0.2\n' +
|
||||
'c0,1.4-0.8,2.3-2.9,2.3c-0.2,0-0.4,0-0.6,0c0,0.5,0,1.5,0,1.9c0.2,0,0.4,0,0.6,0c3,0,5.2-1.2,5.2-4.2c0-0.1,0-0.1,0-0.2\n' +
|
||||
'C196.2,20.2,193.9,19,190.5,19"/>\n' +
|
||||
'<path class="st2" d="M226.3,20.4v2.2h3.5v1.7h-3.5v6c0,0.9,0.6,1,1.5,1h2v1.7H227c-2,0-2.9-0.8-2.9-2.6v-9.6L226.3,20.4z"/>\n' +
|
||||
'</g>\n' +
|
||||
'</g>\n' +
|
||||
'</g>\n' +
|
||||
'</g>\n' +
|
||||
'<g>\n' +
|
||||
'<path class="st2" d="M167.7,32.9v-10h1.1v3.8c0.6-0.8,1.5-1.3,2.4-1.3c1.9,0,3.2,1.5,3.2,3.8c0,2.4-1.3,3.8-3.2,3.8\n' +
|
||||
'c-1,0-1.9-0.5-2.4-1.3v1.1H167.7z M171,32.1c1.5,0,2.3-1.2,2.3-2.8c0-1.6-0.9-2.8-2.3-2.8c-0.9,0-1.8,0.5-2.2,1.2v3.3\n' +
|
||||
'C169.2,31.6,170.1,32.1,171,32.1z"/>\n' +
|
||||
'<path class="st2" d="M175.9,34.7c0.2,0.1,0.4,0.1,0.6,0.1c0.5,0,0.8-0.2,1.1-0.8l0.5-1.1l-3-7.3h1.2l2.4,5.9l2.4-5.9h1.2\n' +
|
||||
'l-3.6,8.7c-0.4,1-1.2,1.5-2.1,1.5c-0.2,0-0.6,0-0.8-0.1L175.9,34.7z"/>\n' +
|
||||
'</g>\n' +
|
||||
'</g>\n' +
|
||||
'</g>\n' +
|
||||
'</svg>\n' +
|
||||
'\n' +
|
||||
'</h1>\n' +
|
||||
'</div>';
|
||||
|
||||
var header = document.createElement("div");
|
||||
header.innerHTML = headerHtml;
|
||||
document.body.insertBefore(header, document.body.firstChild);
|
||||
1
js/tocbot/tocbot.css
Normal file
1
js/tocbot/tocbot.css
Normal file
@@ -0,0 +1 @@
|
||||
.toc{overflow-y:auto}.toc>.toc-list{overflow:hidden;position:relative}.toc>.toc-list li{list-style:none}.toc-list{margin:0;padding-left:10px}a.toc-link{color:currentColor;height:100%}.is-collapsible{max-height:1000px;overflow:hidden;transition:all 300ms ease-in-out}.is-collapsed{max-height:0}.is-position-fixed{position:fixed !important;top:0}.is-active-link{font-weight:700}.toc-link::before{background-color:#EEE;content:' ';display:inline-block;height:inherit;left:0;margin-top:-1px;position:absolute;width:2px}.is-active-link::before{background-color:#54BC4B}
|
||||
1
js/tocbot/tocbot.min.js
vendored
Normal file
1
js/tocbot/tocbot.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -5,8 +5,9 @@
|
||||
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="generator" content="Asciidoctor 1.5.7.1">
|
||||
<title>spring-cloud-release-tools</title>
|
||||
<link rel="stylesheet" href="css/manual-singlepage.css">
|
||||
<title>Spring Cloud Release Tools</title>
|
||||
<link rel="stylesheet" href="css/spring.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<style>
|
||||
.hidden {
|
||||
display: none;
|
||||
@@ -32,7 +33,7 @@
|
||||
color: #ffffff;
|
||||
}
|
||||
</style>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js"></script>
|
||||
<script src="http://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
function addBlockSwitches() {
|
||||
$('.primary').each(function() {
|
||||
@@ -82,36 +83,769 @@ $(addBlockSwitches);
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="article">
|
||||
<body class="book toc2 toc-left">
|
||||
<div id="header">
|
||||
<h1>spring-cloud-release-tools</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div id="preamble">
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph">
|
||||
<p>1.0.0.BUILD-SNAPSHOT</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_pick_the_documentation_option">Pick The Documentation Option</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="ulist">
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="single/spring-cloud-release-tools.html">Single HTML</a></p>
|
||||
<div id="toc" class="toc2">
|
||||
<div id="toctitle">Table of Contents</div>
|
||||
<ul class="sectlevel1">
|
||||
<li><a href="#_spring_cloud_release_tools">Spring Cloud Release Tools</a>
|
||||
<ul class="sectlevel2">
|
||||
<li><a href="#_what_does_it_do">What does it do?</a>
|
||||
<ul class="sectlevel3">
|
||||
<li><a href="#_single_project">Single project</a></li>
|
||||
<li><a href="#_meta_release">Meta-release</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="multi/multi_spring-cloud-release-tools.html">Multi HTML</a></p>
|
||||
<li><a href="#_what_should_i_do_first">What should I do first?</a></li>
|
||||
<li><a href="#_how_to_run_it_interactive_mode">How to run it (interactive mode)</a></li>
|
||||
<li><a href="#_how_to_run_it_automatic_mode">How to run it (automatic mode)</a></li>
|
||||
<li><a href="#_how_to_run_meta_release_automatic_mode">How to run meta-release (automatic-mode)</a></li>
|
||||
<li><a href="#_project_options">Project options</a></li>
|
||||
<li><a href="#_examples">Examples</a>
|
||||
<ul class="sectlevel3">
|
||||
<li><a href="#_keeping_configuration_in_the_project">Keeping configuration in the project</a></li>
|
||||
<li><a href="#_specifying_a_branch">Specifying A Branch</a></li>
|
||||
<li><a href="#_using_environment_variables">Using Environment Variables</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#_faq">FAQ</a>
|
||||
<ul class="sectlevel3">
|
||||
<li><a href="#_jschexception_auth_fail">JSchException: Auth fail</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="sect1">
|
||||
<h2 id="_spring_cloud_release_tools"><a class="link" href="#_spring_cloud_release_tools">Spring Cloud Release Tools</a></h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph">
|
||||
<p>Spring Cloud projects reuse the same pattern of building and deploying the applications. That’s
|
||||
why this tool makes it easy to automate the release / dependency update process of our applications.</p>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="_what_does_it_do"><a class="link" href="#_what_does_it_do">What does it do?</a></h3>
|
||||
<div class="sect3">
|
||||
<h4 id="_single_project"><a class="link" href="#_single_project">Single project</a></h4>
|
||||
<div class="paragraph">
|
||||
<p>For a single project</p>
|
||||
</div>
|
||||
<div class="ulist">
|
||||
<ul>
|
||||
<li>
|
||||
<p>Clones the Spring Cloud Release project and picks all versions (Boot + Cloud projects)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Modifies the project versions with values from a BOM (e.g. for Spring Cloud it’s Spring Cloud Release)</p>
|
||||
<div class="ulist">
|
||||
<ul>
|
||||
<li>
|
||||
<p>throws an exception when we bump versions to release and there’s a SNAPSHOT version referenced in the POM</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p>Performs the build and checks if the <code>docs</code> modules have properly created the documentation</p>
|
||||
<div class="ulist">
|
||||
<ul>
|
||||
<li>
|
||||
<p>throws an exception when in the <code>docs</code> module there’s an unresolved tag in any HTML file</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p>Commits changed poms (ONLY FOR NON-SNAPSHOT VERSIONS)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Creates a tag for the release / milestone (ONLY FOR NON-SNAPSHOT VERSIONS)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Runs the deployment of the artifacts</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Publishes the docs (to <code>spring-cloud-static</code> for non-snapshots, to <code>gh-pages</code> for snapshots)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Reverts back to snapshots, bumps the version by a patch (<code>1.0.1.RELEASE</code> → <code>1.0.2.BUILD-SNAPSHOT</code>) (ONLY FOR RELEASE VERSIONS)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Closes the milestone on Github (e.g. <code>v1.0.1.RELEASE</code>) (ONLY FOR NON-SNAPSHOT VERSIONS)</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="admonitionblock important">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<i class="fa icon-important" title="Important"></i>
|
||||
</td>
|
||||
<td class="content">
|
||||
Starting with version that does Sagan integration, you MUST pass the OAuth token,
|
||||
otherwise the application will fail to start
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>After project release</p>
|
||||
</div>
|
||||
<div class="ulist">
|
||||
<ul>
|
||||
<li>
|
||||
<p>Generates an email template under <code>target/email.txt</code> (ONLY FOR NON-SNAPSHOT VERSIONS)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Generates a blog template under <code>target/blog.md</code> (ONLY FOR NON-SNAPSHOT VERSIONS)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Generates a tweet template under <code>target/tweet.txt</code> (ONLY FOR NON-SNAPSHOT VERSIONS)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Generates a release notes template under <code>target/notes.md</code> (ONLY FOR NON-SNAPSHOT VERSIONS)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Updates project information in Sagan (<a href="https://spring.io" class="bare">https://spring.io</a>) (ONLY FOR SNAPSHOT / RELEASE VERSIONS)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>For <code>GA</code>/ <code>SR</code> release will create an issue in Spring Guides under <a href="https://github.com/spring-guides/getting-started-guides/issues/" class="bare">https://github.com/spring-guides/getting-started-guides/issues/</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>For <code>GA</code>/ <code>SR</code> release will update the links under <a href="https://github.com/spring-cloud/spring-cloud-static/tree/gh-pages/current" class="bare">https://github.com/spring-cloud/spring-cloud-static/tree/gh-pages/current</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Will update the release train project page (for Spring Cloud it will be <code><a href="https://github.com/spring-projects/spring-cloud" class="bare">https://github.com/spring-projects/spring-cloud</a></code>)</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.min.js"></script>
|
||||
<script>prettyPrint()</script>
|
||||
<div class="sect3">
|
||||
<h4 id="_meta_release"><a class="link" href="#_meta_release">Meta-release</a></h4>
|
||||
<div class="ulist">
|
||||
<ul>
|
||||
<li>
|
||||
<p>Uses the fixed versions to clone and check out each project (e.g. <code>spring-cloud-sleuth: 2.1.0.RELEASE</code>)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>From the version analyzes the branch and checks it out. E.g.</p>
|
||||
<div class="ulist">
|
||||
<ul>
|
||||
<li>
|
||||
<p>for <code>spring-cloud-release’s `Finchley.RELEASE</code> version will resolve either <code>Finchley</code> branch or will fallback to <code>master</code> if there’s no <code>Finchley</code> branch.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>for <code>spring-cloud-sleuth’s `2.1.0.RELEASE</code> version will resolve <code>2.1.x</code> branch</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p>Performs the release tasks per each project</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Performs the post release tasks at the end of the release</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Will update and run smoke test samples (for Spring Cloud it will be <code><a href="https://github.com/spring-cloud/spring-cloud-core-tests" class="bare">https://github.com/spring-cloud/spring-cloud-core-tests</a></code>)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Will clone provided test samples and will update all versions to the latest ones</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Will clone the release train wiki and update it with the latest release versions (for Spring Cloud it will be <code><a href="https://github.com/spring-projects/spring-cloud.wiki.git" class="bare">https://github.com/spring-projects/spring-cloud.wiki.git</a></code>)</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="admonitionblock important">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<i class="fa icon-important" title="Important"></i>
|
||||
</td>
|
||||
<td class="content">
|
||||
For the meta-releaser to work we assume that the path to the
|
||||
custom configuration file for each project is always <code>config/releaser.yml</code>.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="_what_should_i_do_first"><a class="link" href="#_what_should_i_do_first">What should I do first?</a></h3>
|
||||
<div class="paragraph">
|
||||
<p>Members of the Spring Cloud Team typically use this tool as follows. They first
|
||||
clone the releaser locally and build the jar manually</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ git clone git@github.com:spring-cloud/spring-cloud-release-tools.git
|
||||
$ cd spring-cloud-release-tools
|
||||
$ ./mvnw clean install</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="admonitionblock important">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<i class="fa icon-important" title="Important"></i>
|
||||
</td>
|
||||
<td class="content">
|
||||
You must set the value of the OAuth token. You can do it either via
|
||||
the command line <code>--releaser.git.oauth-token=…​</code> or put it as an env variable in <code>.bashrc</code>
|
||||
or <code>.zshrc</code> e.g. <code>export RELEASER_GIT_OAUTH_TOKEN=…​</code>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="_how_to_run_it_interactive_mode"><a class="link" href="#_how_to_run_it_interactive_mode">How to run it (interactive mode)</a></h3>
|
||||
<div class="paragraph">
|
||||
<p>Go to your project (e.g. Spring Cloud Sleuth)</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ git clone git@github.com:spring-cloud/spring-cloud-sleuth.git
|
||||
$ cd spring-cloud-sleuth
|
||||
$ # example of running the releaser agains Dalston.SR1 tag with 1.0.0.BUILD-SNAPSHOT version of the releaser
|
||||
$ java -jar ~/repo/spring-cloud-release-tools/spring-cloud-release-tools-spring/target/spring-cloud-release-tools-spring-1.0.0.BUILD-SNAPSHOT.jar --releaser.pom.branch=vDalston.SR1 --spring.config.name=releaser</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>The application will start running from your working directory. Running this code
|
||||
follows the convention that you have the OAuth token environment variable set. It also assumes
|
||||
that you might have some custom configuration in <code>config/releaser.yml</code> file. This setting is optional - if
|
||||
you don’t have that file, nothing will happen.</p>
|
||||
</div>
|
||||
<div class="admonitionblock tip">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<i class="fa icon-tip" title="Tip"></i>
|
||||
</td>
|
||||
<td class="content">
|
||||
It is important that you clone the repository you are going to release using SSH in order for the
|
||||
<code>releaser</code> to be able to push tags and commit changes automatically.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>You will see text similar to this one</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code>=== WHAT DO YOU WANT TO DO? ===
|
||||
|
||||
0) Perform a full release of this project without interruptions
|
||||
1) Perform a full release of this project in a verbose mode (you'll be asked about skipping steps)
|
||||
2) Update poms with versions from Spring Cloud Release
|
||||
3) Build the project
|
||||
4) Commit, tag and push the tag
|
||||
5) Deploy the artifacts
|
||||
6) Publish the docs
|
||||
7) Go back to snapshots and bump originalVersion by patch
|
||||
8) Push the commits
|
||||
9) Close the milestone at Github
|
||||
10) Create email / blog / tweet etc. templates
|
||||
|
||||
You can pick a range of options by using the hyphen - e.g. '2-4' will execute jobs [2,3,4]
|
||||
You can execute all tasks starting from a job by using a hyphen and providing only one number - e.g. '8-' will execute jobs [8,9,10]
|
||||
You can execute given tasks by providing a comma separated list of tasks - e.g. '3,7,8' will execute jobs [3,7,8]
|
||||
|
||||
You can press 'q' to quit</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Just pick a number and continue! Pick either a full release or single steps. You can also pick
|
||||
ranges or multiple steps. You can also provide the range only with the starting step
|
||||
- that you will execute all steps starting from the given one.</p>
|
||||
</div>
|
||||
<div class="admonitionblock tip">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<i class="fa icon-tip" title="Tip"></i>
|
||||
</td>
|
||||
<td class="content">
|
||||
Read before picking a number cause it might have changed between tool releases ;)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="_how_to_run_it_automatic_mode"><a class="link" href="#_how_to_run_it_automatic_mode">How to run it (automatic mode)</a></h3>
|
||||
<div class="paragraph">
|
||||
<p>Go to your project (e.g. Spring Cloud Sleuth) and execute the application with <code>-h</code> or <code>--help</code>
|
||||
flag.</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ git clone git@github.com:spring-cloud/spring-cloud-sleuth.git
|
||||
$ cd spring-cloud-sleuth
|
||||
$ # example of running the releaser agains Dalston.SR1 tag with 1.0.0.BUILD-SNAPSHOT version of the releaser
|
||||
$ java -jar ~/repo/spring-cloud-release-tools/spring-cloud-release-tools-spring/target/spring-cloud-release-tools-spring-1.0.0.BUILD-SNAPSHOT.jar --releaser.pom.branch=vDalston.SR1 --spring.config.name=releaser -h</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>You will see a help screen looking like more or less like this</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">Here you can find the list of tasks in order
|
||||
|
||||
[release,releaseVerbose,metaRelease,postRelease,updatePoms,build,commit,deploy,docs,snapshots,push,closeMilestone,updateSagan,createTemplates,updateGuides,updateDocumentation]
|
||||
|
||||
|
||||
Option Description
|
||||
------ -----------
|
||||
-a, --start-from <String> Starts all release task starting from the
|
||||
given task. Requires passing the task
|
||||
name (either one letter or the full
|
||||
name)
|
||||
-b, --build [String] Build the project
|
||||
-c, --commit [String] Commit, tag and push the tag
|
||||
-d, --deploy [String] Deploy the artifacts
|
||||
-f, --full-release [Boolean] Do you want to do the full release of a
|
||||
single project? (default: false)
|
||||
-g, --updateSagan [String] Updating Sagan with release info
|
||||
-h, --help [String]
|
||||
-i, --interactive <Boolean> Do you want to set the properties from
|
||||
the command line of a single project?
|
||||
(default: true)
|
||||
-m, --closeMilestone [String] Close the milestone at Github
|
||||
-o, --docs [String] Publish the docs
|
||||
-p, --push [String] Push the commits
|
||||
-r, --range <String> Runs release tasks from the given range.
|
||||
Requires passing the task names with a
|
||||
hyphen. The first task is inclusive,
|
||||
the second inclusive. E.g. 's-m' would
|
||||
mean running 'snapshot', 'push' and
|
||||
'milestone' tasks
|
||||
-s, --snapshots [String] Go back to snapshots and bump
|
||||
originalVersion by patch
|
||||
-t, --createTemplates [String] Create email / blog / tweet etc. templates
|
||||
--task-names, --tn <String> Starts all release task for the given
|
||||
task names
|
||||
-u, --updatePoms [String] Update poms with versions from Spring
|
||||
Cloud Release
|
||||
--ud, --updateDocumentation [String] Updating documentation repository
|
||||
--ug, --updateGuides [String] Updating Spring Guides
|
||||
-x, --meta-release <Boolean> Do you want to do the meta release?
|
||||
(default: false)
|
||||
|
||||
Examples of usage:
|
||||
|
||||
Run 'build' & 'commit' & 'deploy'
|
||||
java -jar jar.jar -b -c -d
|
||||
|
||||
Start from 'push'
|
||||
java -jar releaser.jar -a push
|
||||
|
||||
Range 'docs' -> 'push'
|
||||
java -jar releaser.jar -r o-p</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>The Releaser can use two sets of options. The configuration options like <code>releaser.pom.branch</code>
|
||||
and the task switches. For the tasks you can use either the full names or short switches. For example
|
||||
providing range of tasks via switches <code>o-p</code> is equivalent to full name <code>docs-push</code>.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>A couple of examples:</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="title">Doing the full release in interactive mode (asking for skipping steps)</div>
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ git clone git@github.com:spring-cloud/spring-cloud-sleuth.git
|
||||
$ cd spring-cloud-sleuth
|
||||
$ # example of running the releaser agains Dalston.SR1 tag with 1.0.0.BUILD-SNAPSHOT version of the releaser
|
||||
$ java -jar ~/repo/spring-cloud-release-tools/spring-cloud-release-tools-spring/target/spring-cloud-release-tools-spring-1.0.0.BUILD-SNAPSHOT.jar --releaser.pom.branch=vDalston.SR1 --spring.config.name=releaser --full-release</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="title">Doing the full release in non interactive mode (automatic release)</div>
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ java -jar ~/repo/spring-cloud-release-tools/spring-cloud-release-tools-spring/target/spring-cloud-release-tools-spring-1.0.0.BUILD-SNAPSHOT.jar --releaser.pom.branch=vDalston.SR1 --spring.config.name=releaser --full-release --interactive=false</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="title">Updating pom, closing milestone & createTemplates in interactive mode</div>
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ java -jar ~/repo/spring-cloud-release-tools/spring-cloud-release-tools-spring/target/spring-cloud-release-tools-spring-1.0.0.BUILD-SNAPSHOT.jar --releaser.pom.branch=vDalston.SR1 --spring.config.name=releaser -u -m -t</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="title">Running all tasks starting from 'push' (automatic)</div>
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ java -jar ~/repo/spring-cloud-release-tools/spring-cloud-release-tools-spring/target/spring-cloud-release-tools-spring-1.0.0.BUILD-SNAPSHOT.jar --releaser.pom.branch=vDalston.SR1 --spring.config.name=releaser -a push -i=false</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="title">Running tasks from 'docs' (inclusive) to 'push' (inclusive) (automatic)</div>
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ java -jar ~/repo/spring-cloud-release-tools/spring-cloud-release-tools-spring/target/spring-cloud-release-tools-spring-1.0.0.BUILD-SNAPSHOT.jar --releaser.pom.branch=vDalston.SR1 --spring.config.name=releaser -r d-p -i=false</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="title">Running single task 'closeMilestone' (automatic)</div>
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ java -jar ~/repo/spring-cloud-release-tools/spring-cloud-release-tools-spring/target/spring-cloud-release-tools-spring-1.0.0.BUILD-SNAPSHOT.jar --releaser.pom.branch=vDalston.SR1 --spring.config.name=releaser --closeMilestone -i=false</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="_how_to_run_meta_release_automatic_mode"><a class="link" href="#_how_to_run_meta_release_automatic_mode">How to run meta-release (automatic-mode)</a></h3>
|
||||
<div class="paragraph">
|
||||
<p>All you have to do is run the jar with the releaser and pass the
|
||||
<code>-x=true</code> option to turn on meta-release and a list of fixed versions
|
||||
in the `--"releaser.fixed-versions[project-name]=project-version" format</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code>$ java -jar spring-cloud-release-tools-spring/target/spring-cloud-release-tools-spring-1.0.0.BUILD-SNAPSHOT.jar --spring.config.name=releaser -x=true --"releaser.fixed-versions[spring-cloud-sleuth]=2.0.1.BUILD-SNAPSHOT"</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="admonitionblock important">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<i class="fa icon-important" title="Important"></i>
|
||||
</td>
|
||||
<td class="content">
|
||||
For the meta release the <code>startFrom</code> or <code>taskNames</code> take into consideration
|
||||
the project names, not task names. E.g. you can start from <code>spring-cloud-netflix</code> project,
|
||||
or build only tasks with names <code>spring-cloud-build,spring-cloud-sleuth</code>.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="_project_options"><a class="link" href="#_project_options">Project options</a></h3>
|
||||
<div class="ulist">
|
||||
<ul>
|
||||
<li>
|
||||
<p><code>releaser.fixed-versions</code> - A String to String mapping of manually set versions. E.g. <code>"spring-cloud-cli" → "1.0.0.RELEASE"</code> will set
|
||||
the <code>spring-cloud-cli.version</code> to <code>1.0.0.RELEASE</code> regardless of what was set in <code>spring-cloud-release</code> project. Example <code>--releaser.fixed-versions[spring-cloud-cli]=1.0.0.RELEASE</code>.
|
||||
Use these properties to provide versions for the meta release.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.meta-release.enabled</code> - You have to turn it on to enable a meta release. Defaults to <code>false</code></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.meta-release.git-org-url</code> - The URL of the Git organization. We’ll append each project’s name to it.
|
||||
Defaults to <code><a href="https://github.com/spring-cloud" class="bare">https://github.com/spring-cloud</a></code></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.meta-release.projects-to-skip</code> - List of projects that we should not clone and release. Spring Cloud release
|
||||
train depends on projects that got already released. We default this list to <code>[spring-boot, spring-cloud-stream, spring-cloud-task]</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.update-documentation-repo</code> - If <code>true</code> then will update documentation repository with the <code>current</code> URL. Defaults to <code>true</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.spring-project-url</code> - URL to the documentation Git repository. Defaults to <code><a href="https://github.com/spring-projects/spring-cloud" class="bare">https://github.com/spring-projects/spring-cloud</a></code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.spring-project-branch</code> - Branch to check out for the documentation project. Defaults to <code>gh-pages</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.update-spring-project</code> - If <code>true</code> then will update Project Sagan with the current release train values. Defaults to <code>true</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.test-samples-project-url</code> - URL to the test samples to be checked against the given release train. Defaults to <code><a href="https://github.com/spring-cloud/spring-cloud-core-tests" class="bare">https://github.com/spring-cloud/spring-cloud-core-tests</a></code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.test-samples-project-branch</code> - Branch to check out for test samples. Defaults to <code>master</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.release-train-wiki-url</code> - URL to the project’s release train wiki page. Defaults to <code><a href="https://github.com/spring-projects/spring-cloud.wiki.git" class="bare">https://github.com/spring-projects/spring-cloud.wiki.git</a></code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.update-release-train-wiki</code> - If <code>true</code> then will update the release train wiki page with the current release train values. Defaults to <code>true</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.run-updated-samples</code> - If <code>true</code> then will update samples and run the the build. Defaults to <code>true</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.all-test-samples-urls</code> - URLs to the test samples to be cloned and updated with proper snapshot versions.
|
||||
E.g. <code>"--releaser.git.all-test-samples-urls[spring-cloud-sleuth]=https://github.com/spring-cloud-samples/sleuth-issues/,https://github.com/spring-cloud-samples/sleuth-documentation-apps/"</code>.
|
||||
Defaults to Sleuth and Contract samples.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.update-all-test-samples</code> - If <code>true</code> then will update samples with bumped snapshots after release. Defaults to <code>true</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.release-train-docs-url</code> - URL to the release train documentation. Defaults to <code><a href="https://github.com/spring-cloud-sample/scripts" class="bare">https://github.com/spring-cloud-sample/scripts</a></code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.release-train-docs-branch</code> - Branch to check out for release train documentation. Defaults to <code>master</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.update-release-train-docs</code> - If <code>true</code> then will update the release train documentation project and run the generation. Defaults to <code>true</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.update-spring-guides</code> - If <code>true</code> then will update Spring Guides with the current release train. Defaults to <code>true</code>.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>The following properties are used for both meta release and a release of an individual module.</p>
|
||||
</div>
|
||||
<div class="ulist">
|
||||
<ul>
|
||||
<li>
|
||||
<p><code>releaser.post-release-tasks-only</code> - If set to <code>true</code> will run only post release tasks. Defaults to <code>false</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.meta-release.release-train-project-name</code> - Name of the project that represents the BOM of the release train. Defaults to <code>spring-cloud-release</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.meta-release.release-train-dependency-names</code> - Names of the projects that should be updated with the version of the release train. Defaults to <code>[spring-cloud, spring-cloud-dependencies, spring-cloud-starter]</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.fetch-versions-from-git</code> - If <code>true</code> then should fill the map of versions from Git. If <code>false</code> then picks fixed versions.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.clone-destination-dir</code> - Where should the Spring Cloud Release repo get cloned to. If null defaults to a temporary directory.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.release-train-bom-url</code> - URL to a project containing a BOM. Defaults to Spring Cloud Release Git repository: <code><a href="https://github.com/spring-cloud/spring-cloud-release" class="bare">https://github.com/spring-cloud/spring-cloud-release</a></code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.documentation-url</code> - URL to the documentation Git repository. Defaults to <code><a href="https://github.com/spring-cloud/spring-cloud-static" class="bare">https://github.com/spring-cloud/spring-cloud-static</a></code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.documentation-branch</code> - Branch to check out for the documentation project. Defaults to <code>gh-pages</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.sagan.update-sagan</code> - If <code>true</code> then will update project sagan with information about this project. Defaults to <code>true</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.sagan.docs-adocs-file</code> - Folder with asciidoctor files for docs. Defaults to <code>docs/src/main/asciidoc</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.sagan.index-section-file-name</code> - Name of the ascii doc file with core part of this project’s Sagan project page. Will search under <code>releaser.sagan.docs-adocs-file</code> folder.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.sagan.boot-section-file-name</code> - Name of the ascii doc file with boot part of this project’s Sagan project page. Will search under <code>releaser.sagan.docs-adocs-file</code> folder.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.oauth-token</code> - GitHub OAuth token to be used to interact with GitHub repo.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.username</code> - Optional Git username. If not passed keys will be used for authentication.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.password</code> - Optional Git password. If not passed keys will be used for authentication.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.git.number-of-checked-milestones</code> - In order not to iterate endlessly over milestones we introduce a threshold of milestones that
|
||||
we will go through to find the matching milestone. Defaults to <code>10</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.maven.build-command</code> - Command to be executed to build the project. Defaults to <code>./mvnw clean install -Pdocs</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.maven.deploy-command</code> - Command to be executed to deploy a built project". Defaults to <code>./mvnw deploy -DskipTests -Pfast</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.maven.publish-docs-commands</code> - Command to be executed to deploy a built project. If present <code>{{version}}</code> will be replaced by the proper version.
|
||||
Defaults to the standard Spring Cloud wget and execution of ghpages.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.maven.system-properties</code> - Additional system properties that should be passed to any commands. If present <code>{{systemProps}}</code> will be replaced by the contents of this property.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.maven.wait-time-in-minutes</code> - Max wait time in minutes for the process to finish. Defaults to <code>20</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.gradle.gradle-props-substitution</code> - a map containing a <code>key</code> which is a property key inside <code>gradle.properties</code> and a <code>value</code> of
|
||||
a project name. E.g. in <code>gradle.properties</code> you have <code>foo=1.0.0.BUILD-SNAPSHOT</code> and you would like <code>spring-cloud-contract</code> version to
|
||||
be set there. Just provide a mapping for the <code>gradle-props-substition</code> looking like this <code>foo=spring-cloud-contract</code> and the result
|
||||
(e.g for sc-contract version <code>2.0.0.RELEASE</code>) will be an updated <code>gradle.properties</code> with entry <code>foo=2.0.0.RELEASE</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.pom.branch</code> - Which branch of Spring Cloud Release should be checked out. Defaults to <code>master</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.pom.pom-with-boot-starter-parent</code> - What is the location of the <code>pom.xml</code> that contains the <code>spring-boot-starter-parent</code> as its parent pom. Defaults to <code>spring-cloud-starter-parent/pom.xml</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.pom.this-train-bom</code> - What is the location of the <code>pom.xml</code> that contains all the versions for the release train. Defaults to <code>spring-cloud-dependencies/pom.xml</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.pom.bom-version-pattern</code> - Regular expression that will match the versions of projects in the BOM pom.xml. Defaults to <code>^(spring-cloud-.*)\.version$</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.pom.ignored-pom-regex</code> - List of regular expressions of ignored poms. Defaults to test projects and samples.
|
||||
Example: <code>"--releaser.pom.ignored-pom-regex=".*\\.git/.*$,.{asterisk}spring-cloud-contract-maven-plugin/src/test/projects/.*$,.*spring-cloud-contract-maven-plugin/target/.*$,.*samples/standalone/[a-z]+/.*$"</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.working-dir</code> - By default Releaser assumes running the program from the current working directory.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><code>releaser.template.template-folder</code> - Tells which subfolder with templates to pick for blog, email etc. generation. Defaults to <code>cloud</code>.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="admonitionblock tip">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<i class="fa icon-tip" title="Tip"></i>
|
||||
</td>
|
||||
<td class="content">
|
||||
You can pass the options either via system properties or via application arguments.
|
||||
Example for system properties: <code>java -Dreleaser.pom.branch=Camden.SR6 -jar target/spring-cloud-release-tools-spring-1.0.0.M1.jar</code>
|
||||
Example for application arguments: <code>java -jar target/spring-cloud-release-tools-spring-1.0.0.M1.jar --releaser.pom.branch=Camden.SR6</code>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="admonitionblock important">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<i class="fa icon-important" title="Important"></i>
|
||||
</td>
|
||||
<td class="content">
|
||||
For the GA release to be successful, it’s important that if the <code>build</code> / <code>deploy</code> command
|
||||
run a script (e.g. <code>scripts/foo.sh</code>) then inside <code>foo.sh</code> if you call a Maven build <code>./mvnw clean install</code>
|
||||
then <strong>remember to pass all arguments of the script there too</strong>. E.g. <code>./mvnw clean install ${@}</code>. That’s because
|
||||
the releaser will pass any system properties to the <code>build</code> / <code>deploy</code> command, such as system properties
|
||||
with keys and we need them to be passed inside the command executed by the releaser.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="_examples"><a class="link" href="#_examples">Examples</a></h3>
|
||||
<div class="sect3">
|
||||
<h4 id="_keeping_configuration_in_the_project"><a class="link" href="#_keeping_configuration_in_the_project">Keeping configuration in the project</a></h4>
|
||||
<div class="paragraph">
|
||||
<p>If your project has some custom configuration (e.g. Spring Cloud Contract needs a script to be executed
|
||||
to build the project and properly merge the docs) then you can put a file named e.g. <code>releaser.yml</code> under <code>config</code>
|
||||
folder and run your application like this:</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ wget https://repo.spring.io/libs-milestone/org/springframework/cloud/internal/spring-cloud-release-tools-spring/1.0.0.M1/spring-cloud-release-tools-spring-1.0.0.M1.jar -O ../spring-cloud-release-tools-spring-1.0.0.M1.jar
|
||||
$ java -jar target/spring-cloud-release-tools-spring-1.0.0.M1.jar --spring.config.name=releaser</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="admonitionblock tip">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<i class="fa icon-tip" title="Tip"></i>
|
||||
</td>
|
||||
<td class="content">
|
||||
Notice that we’re downloading the jar to a parent folder, not to <code>target</code>. That’s because <code>target</code> get cleaned
|
||||
during the build process
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="admonitionblock important">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<i class="fa icon-important" title="Important"></i>
|
||||
</td>
|
||||
<td class="content">
|
||||
For the meta-releaser to work we assume that the path to the
|
||||
configuration file is always <code>config/releaser.yml</code>.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="_specifying_a_branch"><a class="link" href="#_specifying_a_branch">Specifying A Branch</a></h4>
|
||||
<div class="paragraph">
|
||||
<p>By deafult the releaser will default to using the <code>master</code> branch of <code>spring-cloud-release</code>.
|
||||
If you would like to use another branch you can specify it using the <code>releaser.pom.branch</code> property.</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ java -jar spring-cloud-release-tools-spring-1.0.0.M1.jar --releaser.pom.branch=Camden.SR6</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="_using_environment_variables"><a class="link" href="#_using_environment_variables">Using Environment Variables</a></h4>
|
||||
<div class="paragraph">
|
||||
<p>In some cases it might be easier to specify environment variables instead of passing parameters to
|
||||
<code>releaser</code>. For example, you might want to use environment variables if you are going to be
|
||||
releasing multiple projects, this keeps you from having to specify the same parameters for
|
||||
each release</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ export RELEASER_POM_BRANCH=Dalston.RELEASE
|
||||
$ export RELEASER_GIT_OAUTH_TOKEN=...
|
||||
$ wget https://repo.spring.io/libs-milestone/org/springframework/cloud/internal/spring-cloud-release-tools-spring/1.0.0.M1/spring-cloud-release-tools-spring-1.0.0.M1.jar -O spring-cloud-release-tools-spring-1.0.0.M1.jar
|
||||
$ java -jar target/spring-cloud-release-tools-spring-1.0.0.M1.jar --releaser.working-dir=/path/to/project/root</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="_faq"><a class="link" href="#_faq">FAQ</a></h3>
|
||||
<div class="sect3">
|
||||
<h4 id="_jschexception_auth_fail"><a class="link" href="#_jschexception_auth_fail">JSchException: Auth fail</a></h4>
|
||||
<div class="paragraph">
|
||||
<p>I got such an exception</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code>Caused by: org.eclipse.jgit.errors.TransportException: git@github.com:spring-cloud/spring-cloud-sleuth.git: Auth fail
|
||||
at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:160) ~[org.eclipse.jgit-4.6.0.201612231935-r.jar!/:4.6.0.201612231935-r]
|
||||
at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:137) ~[org.eclipse.jgit-4.6.0.201612231935-r.jar!/:4.6.0.201612231935-r]
|
||||
at org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.<init>(TransportGitSsh.java:322) ~[org.eclipse.jgit-4.6.0.201612231935-r.jar!/:4.6.0.201612231935-r]
|
||||
at org.eclipse.jgit.transport.TransportGitSsh.openPush(TransportGitSsh.java:167) ~[org.eclipse.jgit-4.6.0.201612231935-r.jar!/:4.6.0.201612231935-r]
|
||||
at org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:160) ~[org.eclipse.jgit-4.6.0.201612231935-r.jar!/:4.6.0.201612231935-r]
|
||||
at org.eclipse.jgit.transport.Transport.push(Transport.java:1275) ~[org.eclipse.jgit-4.6.0.201612231935-r.jar!/:4.6.0.201612231935-r]
|
||||
at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:161) ~[org.eclipse.jgit-4.6.0.201612231935-r.jar!/:4.6.0.201612231935-r]
|
||||
... 25 common frames omitted
|
||||
Caused by: com.jcraft.jsch.JSchException: Auth fail
|
||||
at com.jcraft.jsch.Session.connect(Session.java:512) ~[jsch-0.1.53.jar!/:na]
|
||||
at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:117) ~[org.eclipse.jgit-4.6.0.201612231935-r.jar!/:4.6.0.201612231935-r]
|
||||
... 31 common frames omitted</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>To fix that just call</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash"># to run the agent
|
||||
$ eval `ssh-agent`
|
||||
# to store the pass in the agent
|
||||
$ ssh-add ~/.ssh/id_rsa</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>before running the app</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="js/tocbot/tocbot.min.js"></script>
|
||||
<script type="text/javascript" src="js/toc.js"></script>
|
||||
<link rel="stylesheet" href="js/highlight/styles/atom-one-dark-reasonable.min.css">
|
||||
<script src="js/highlight/highlight.min.js"></script>
|
||||
<script>hljs.initHighlighting()</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user