This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler-website.git
The following commit(s) were added to refs/heads/asf-site by this push: new f929500 Automated deployment: Sun Dec 1 16:14:04 UTC 2019 3d2234432863d9174354f718a72aa664c7ea363d f929500 is described below commit f92950089a00497b85fa71bb40d86ca42401b4fe Author: dailidong <dailid...@users.noreply.github.com> AuthorDate: Sun Dec 1 16:14:05 2019 +0000 Automated deployment: Sun Dec 1 16:14:04 UTC 2019 3d2234432863d9174354f718a72aa664c7ea363d --- build/blog.css | 36 ++++- build/blog.js | 2 +- build/blogDetail.css | 36 ++++- build/blogDetail.js | 2 +- build/community.css | 36 ++++- build/community.js | 2 +- build/documentation.css | 36 ++++- build/documentation.js | 6 +- build/home.css | 36 ++++- build/home.js | 2 +- en-us/docs/development/contribute.html | 23 +-- en-us/docs/development/contribute.json | 2 +- .../{contribute.html => unit-test.html} | 6 +- .../{contribute.json => unit-test.json} | 4 +- zh-cn/docs/development/contribute.html | 178 +++++++++++++++++++-- zh-cn/docs/development/contribute.json | 2 +- .../{contribute.html => submit-bug.html} | 30 +--- zh-cn/docs/development/submit-bug.json | 6 + .../{contribute.html => unit-test.html} | 6 +- .../{contribute.json => unit-test.json} | 4 +- 20 files changed, 332 insertions(+), 123 deletions(-) diff --git a/build/blog.css b/build/blog.css index 3e05a36..5121744 100644 --- a/build/blog.css +++ b/build/blog.css @@ -1,7 +1,7 @@ @charset "UTF-8"; /*! * - * antd v3.25.3 + * antd v3.26.0 * * Copyright 2015-present, Alipay, Inc. * All rights reserved. @@ -3249,7 +3249,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input { border-right-width: 1px; border-radius: 0; } @@ -3258,7 +3259,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:hover, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:hover { z-index: 1; } .ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:focus, @@ -3266,7 +3268,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:focus, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:focus { z-index: 1; } .ant-input-group.ant-input-group-compact > *:first-child, @@ -4412,7 +4415,9 @@ textarea.ant-input { shape-rendering: optimizeSpeed; } .ant-btn.ant-btn-loading { - position: relative; + position: relative; } + +.ant-btn.ant-btn-loading:not([disabled]) { pointer-events: none; } .ant-btn.ant-btn-loading::before { @@ -15658,6 +15663,9 @@ textarea.ant-time-picker-input { form .has-feedback .ant-input { padding-right: 24px; } +form .has-feedback .ant-input-affix-wrapper .ant-input-suffix { + padding-right: 18px; } + form .has-feedback .ant-input-password-icon { margin-right: 18px; } @@ -19460,6 +19468,9 @@ textarea.ant-mentions { left: 2px; margin-bottom: -4px; } +.ant-slider-tooltip .ant-tooltip-inner { + min-width: unset; } + .ant-slider-with-marks { margin-bottom: 28px; } @@ -21113,7 +21124,7 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { background-clip: padding-box; } } .ant-table-middle > .ant-table-title, -.ant-table-middle > .ant-table-footer { +.ant-table-middle > .ant-table-content > .ant-table-footer { padding: 12px 8px; } .ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, @@ -21142,13 +21153,20 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { border-radius: 4px; } .ant-table-small > .ant-table-title, -.ant-table-small > .ant-table-footer { +.ant-table-small > .ant-table-content > .ant-table-footer { padding: 8px 8px; } .ant-table-small > .ant-table-title { top: 0; border-bottom: 1px solid #e8e8e8; } +.ant-table-small > .ant-table-content > .ant-table-footer { + background-color: transparent; + border-top: 1px solid #e8e8e8; } + +.ant-table-small > .ant-table-content > .ant-table-footer::before { + background-color: transparent; } + .ant-table-small > .ant-table-content > .ant-table-body { margin: 0 8px; } @@ -21219,7 +21237,7 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { padding: 0; } .ant-table-small > .ant-table-content .ant-table-header { - background-color: #fff; + background-color: transparent; border-radius: 4px 4px 0 0; } .ant-table-small > .ant-table-content .ant-table-placeholder, @@ -23381,6 +23399,8 @@ div.ant-typography-edit-content { text-align: center; } .ant-upload-list-picture-card .anticon-picture + .ant-upload-list-item-name { + position: absolute; + bottom: 10px; display: block; } .ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { diff --git a/build/blog.js b/build/blog.js index d524674..f8930f7 100644 --- a/build/blog.js +++ b/build/blog.js @@ -8,7 +8,7 @@ object-assign (c) Sindre Sorhus @license MIT */ -var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...] +var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...] * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. diff --git a/build/blogDetail.css b/build/blogDetail.css index e85e4da..52f2ed5 100644 --- a/build/blogDetail.css +++ b/build/blogDetail.css @@ -1,7 +1,7 @@ @charset "UTF-8"; /*! * - * antd v3.25.3 + * antd v3.26.0 * * Copyright 2015-present, Alipay, Inc. * All rights reserved. @@ -3249,7 +3249,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input { border-right-width: 1px; border-radius: 0; } @@ -3258,7 +3259,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:hover, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:hover { z-index: 1; } .ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:focus, @@ -3266,7 +3268,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:focus, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:focus { z-index: 1; } .ant-input-group.ant-input-group-compact > *:first-child, @@ -4412,7 +4415,9 @@ textarea.ant-input { shape-rendering: optimizeSpeed; } .ant-btn.ant-btn-loading { - position: relative; + position: relative; } + +.ant-btn.ant-btn-loading:not([disabled]) { pointer-events: none; } .ant-btn.ant-btn-loading::before { @@ -15658,6 +15663,9 @@ textarea.ant-time-picker-input { form .has-feedback .ant-input { padding-right: 24px; } +form .has-feedback .ant-input-affix-wrapper .ant-input-suffix { + padding-right: 18px; } + form .has-feedback .ant-input-password-icon { margin-right: 18px; } @@ -19460,6 +19468,9 @@ textarea.ant-mentions { left: 2px; margin-bottom: -4px; } +.ant-slider-tooltip .ant-tooltip-inner { + min-width: unset; } + .ant-slider-with-marks { margin-bottom: 28px; } @@ -21113,7 +21124,7 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { background-clip: padding-box; } } .ant-table-middle > .ant-table-title, -.ant-table-middle > .ant-table-footer { +.ant-table-middle > .ant-table-content > .ant-table-footer { padding: 12px 8px; } .ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, @@ -21142,13 +21153,20 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { border-radius: 4px; } .ant-table-small > .ant-table-title, -.ant-table-small > .ant-table-footer { +.ant-table-small > .ant-table-content > .ant-table-footer { padding: 8px 8px; } .ant-table-small > .ant-table-title { top: 0; border-bottom: 1px solid #e8e8e8; } +.ant-table-small > .ant-table-content > .ant-table-footer { + background-color: transparent; + border-top: 1px solid #e8e8e8; } + +.ant-table-small > .ant-table-content > .ant-table-footer::before { + background-color: transparent; } + .ant-table-small > .ant-table-content > .ant-table-body { margin: 0 8px; } @@ -21219,7 +21237,7 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { padding: 0; } .ant-table-small > .ant-table-content .ant-table-header { - background-color: #fff; + background-color: transparent; border-radius: 4px 4px 0 0; } .ant-table-small > .ant-table-content .ant-table-placeholder, @@ -23381,6 +23399,8 @@ div.ant-typography-edit-content { text-align: center; } .ant-upload-list-picture-card .anticon-picture + .ant-upload-list-item-name { + position: absolute; + bottom: 10px; display: block; } .ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { diff --git a/build/blogDetail.js b/build/blogDetail.js index 6c890cc..418b6bd 100644 --- a/build/blogDetail.js +++ b/build/blogDetail.js @@ -8,7 +8,7 @@ object-assign (c) Sindre Sorhus @license MIT */ -var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...] +var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...] * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. diff --git a/build/community.css b/build/community.css index e6d192a..2e18f96 100644 --- a/build/community.css +++ b/build/community.css @@ -1,7 +1,7 @@ @charset "UTF-8"; /*! * - * antd v3.25.3 + * antd v3.26.0 * * Copyright 2015-present, Alipay, Inc. * All rights reserved. @@ -3249,7 +3249,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input { border-right-width: 1px; border-radius: 0; } @@ -3258,7 +3259,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:hover, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:hover { z-index: 1; } .ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:focus, @@ -3266,7 +3268,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:focus, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:focus { z-index: 1; } .ant-input-group.ant-input-group-compact > *:first-child, @@ -4412,7 +4415,9 @@ textarea.ant-input { shape-rendering: optimizeSpeed; } .ant-btn.ant-btn-loading { - position: relative; + position: relative; } + +.ant-btn.ant-btn-loading:not([disabled]) { pointer-events: none; } .ant-btn.ant-btn-loading::before { @@ -15658,6 +15663,9 @@ textarea.ant-time-picker-input { form .has-feedback .ant-input { padding-right: 24px; } +form .has-feedback .ant-input-affix-wrapper .ant-input-suffix { + padding-right: 18px; } + form .has-feedback .ant-input-password-icon { margin-right: 18px; } @@ -19460,6 +19468,9 @@ textarea.ant-mentions { left: 2px; margin-bottom: -4px; } +.ant-slider-tooltip .ant-tooltip-inner { + min-width: unset; } + .ant-slider-with-marks { margin-bottom: 28px; } @@ -21113,7 +21124,7 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { background-clip: padding-box; } } .ant-table-middle > .ant-table-title, -.ant-table-middle > .ant-table-footer { +.ant-table-middle > .ant-table-content > .ant-table-footer { padding: 12px 8px; } .ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, @@ -21142,13 +21153,20 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { border-radius: 4px; } .ant-table-small > .ant-table-title, -.ant-table-small > .ant-table-footer { +.ant-table-small > .ant-table-content > .ant-table-footer { padding: 8px 8px; } .ant-table-small > .ant-table-title { top: 0; border-bottom: 1px solid #e8e8e8; } +.ant-table-small > .ant-table-content > .ant-table-footer { + background-color: transparent; + border-top: 1px solid #e8e8e8; } + +.ant-table-small > .ant-table-content > .ant-table-footer::before { + background-color: transparent; } + .ant-table-small > .ant-table-content > .ant-table-body { margin: 0 8px; } @@ -21219,7 +21237,7 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { padding: 0; } .ant-table-small > .ant-table-content .ant-table-header { - background-color: #fff; + background-color: transparent; border-radius: 4px 4px 0 0; } .ant-table-small > .ant-table-content .ant-table-placeholder, @@ -23381,6 +23399,8 @@ div.ant-typography-edit-content { text-align: center; } .ant-upload-list-picture-card .anticon-picture + .ant-upload-list-item-name { + position: absolute; + bottom: 10px; display: block; } .ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { diff --git a/build/community.js b/build/community.js index 748e70d..b7ec32f 100644 --- a/build/community.js +++ b/build/community.js @@ -8,7 +8,7 @@ object-assign (c) Sindre Sorhus @license MIT */ -var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...] +var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...] * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. diff --git a/build/documentation.css b/build/documentation.css index bd68a9a..3787ab5 100644 --- a/build/documentation.css +++ b/build/documentation.css @@ -1,7 +1,7 @@ @charset "UTF-8"; /*! * - * antd v3.25.3 + * antd v3.26.0 * * Copyright 2015-present, Alipay, Inc. * All rights reserved. @@ -3249,7 +3249,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input { border-right-width: 1px; border-radius: 0; } @@ -3258,7 +3259,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:hover, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:hover { z-index: 1; } .ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:focus, @@ -3266,7 +3268,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:focus, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:focus { z-index: 1; } .ant-input-group.ant-input-group-compact > *:first-child, @@ -4412,7 +4415,9 @@ textarea.ant-input { shape-rendering: optimizeSpeed; } .ant-btn.ant-btn-loading { - position: relative; + position: relative; } + +.ant-btn.ant-btn-loading:not([disabled]) { pointer-events: none; } .ant-btn.ant-btn-loading::before { @@ -15658,6 +15663,9 @@ textarea.ant-time-picker-input { form .has-feedback .ant-input { padding-right: 24px; } +form .has-feedback .ant-input-affix-wrapper .ant-input-suffix { + padding-right: 18px; } + form .has-feedback .ant-input-password-icon { margin-right: 18px; } @@ -19460,6 +19468,9 @@ textarea.ant-mentions { left: 2px; margin-bottom: -4px; } +.ant-slider-tooltip .ant-tooltip-inner { + min-width: unset; } + .ant-slider-with-marks { margin-bottom: 28px; } @@ -21113,7 +21124,7 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { background-clip: padding-box; } } .ant-table-middle > .ant-table-title, -.ant-table-middle > .ant-table-footer { +.ant-table-middle > .ant-table-content > .ant-table-footer { padding: 12px 8px; } .ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, @@ -21142,13 +21153,20 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { border-radius: 4px; } .ant-table-small > .ant-table-title, -.ant-table-small > .ant-table-footer { +.ant-table-small > .ant-table-content > .ant-table-footer { padding: 8px 8px; } .ant-table-small > .ant-table-title { top: 0; border-bottom: 1px solid #e8e8e8; } +.ant-table-small > .ant-table-content > .ant-table-footer { + background-color: transparent; + border-top: 1px solid #e8e8e8; } + +.ant-table-small > .ant-table-content > .ant-table-footer::before { + background-color: transparent; } + .ant-table-small > .ant-table-content > .ant-table-body { margin: 0 8px; } @@ -21219,7 +21237,7 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { padding: 0; } .ant-table-small > .ant-table-content .ant-table-header { - background-color: #fff; + background-color: transparent; border-radius: 4px 4px 0 0; } .ant-table-small > .ant-table-content .ant-table-placeholder, @@ -23381,6 +23399,8 @@ div.ant-typography-edit-content { text-align: center; } .ant-upload-list-picture-card .anticon-picture + .ant-upload-list-item-name { + position: absolute; + bottom: 10px; display: block; } .ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { diff --git a/build/documentation.js b/build/documentation.js index 480cb2e..d763ca7 100644 --- a/build/documentation.js +++ b/build/documentation.js @@ -3,12 +3,12 @@ Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ -!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(993)() [...] +!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(993)() [...] object-assign (c) Sindre Sorhus @license MIT */ -var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...] +var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...] * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. @@ -32,4 +32,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com> * Licensed under MIT License */ -return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},h={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...] \ No newline at end of file +return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},h={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...] \ No newline at end of file diff --git a/build/home.css b/build/home.css index 156f5c5..69c6d0c 100644 --- a/build/home.css +++ b/build/home.css @@ -1,7 +1,7 @@ @charset "UTF-8"; /*! * - * antd v3.25.3 + * antd v3.26.0 * * Copyright 2015-present, Alipay, Inc. * All rights reserved. @@ -3249,7 +3249,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input { border-right-width: 1px; border-radius: 0; } @@ -3258,7 +3259,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:hover, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:hover { z-index: 1; } .ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:focus, @@ -3266,7 +3268,8 @@ textarea.ant-input { .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus, .ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:focus, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus { +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:focus { z-index: 1; } .ant-input-group.ant-input-group-compact > *:first-child, @@ -4412,7 +4415,9 @@ textarea.ant-input { shape-rendering: optimizeSpeed; } .ant-btn.ant-btn-loading { - position: relative; + position: relative; } + +.ant-btn.ant-btn-loading:not([disabled]) { pointer-events: none; } .ant-btn.ant-btn-loading::before { @@ -15658,6 +15663,9 @@ textarea.ant-time-picker-input { form .has-feedback .ant-input { padding-right: 24px; } +form .has-feedback .ant-input-affix-wrapper .ant-input-suffix { + padding-right: 18px; } + form .has-feedback .ant-input-password-icon { margin-right: 18px; } @@ -19460,6 +19468,9 @@ textarea.ant-mentions { left: 2px; margin-bottom: -4px; } +.ant-slider-tooltip .ant-tooltip-inner { + min-width: unset; } + .ant-slider-with-marks { margin-bottom: 28px; } @@ -21113,7 +21124,7 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { background-clip: padding-box; } } .ant-table-middle > .ant-table-title, -.ant-table-middle > .ant-table-footer { +.ant-table-middle > .ant-table-content > .ant-table-footer { padding: 12px 8px; } .ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, @@ -21142,13 +21153,20 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { border-radius: 4px; } .ant-table-small > .ant-table-title, -.ant-table-small > .ant-table-footer { +.ant-table-small > .ant-table-content > .ant-table-footer { padding: 8px 8px; } .ant-table-small > .ant-table-title { top: 0; border-bottom: 1px solid #e8e8e8; } +.ant-table-small > .ant-table-content > .ant-table-footer { + background-color: transparent; + border-top: 1px solid #e8e8e8; } + +.ant-table-small > .ant-table-content > .ant-table-footer::before { + background-color: transparent; } + .ant-table-small > .ant-table-content > .ant-table-body { margin: 0 8px; } @@ -21219,7 +21237,7 @@ tr.ant-table-expanded-row td > .ant-table-wrapper { padding: 0; } .ant-table-small > .ant-table-content .ant-table-header { - background-color: #fff; + background-color: transparent; border-radius: 4px 4px 0 0; } .ant-table-small > .ant-table-content .ant-table-placeholder, @@ -23381,6 +23399,8 @@ div.ant-typography-edit-content { text-align: center; } .ant-upload-list-picture-card .anticon-picture + .ant-upload-list-item-name { + position: absolute; + bottom: 10px; display: block; } .ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { diff --git a/build/home.js b/build/home.js index effe44e..0898026 100644 --- a/build/home.js +++ b/build/home.js @@ -8,7 +8,7 @@ object-assign (c) Sindre Sorhus @license MIT */ -var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...] +var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...] * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. diff --git a/en-us/docs/development/contribute.html b/en-us/docs/development/contribute.html index 8e0cbda..ca2ce36 100644 --- a/en-us/docs/development/contribute.html +++ b/en-us/docs/development/contribute.html @@ -12,28 +12,7 @@ <link rel="stylesheet" href="/build/documentation.css" /> </head> <body> - <div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...] -<p>Unit test writing reference <a href="https://github.com/apache/incubator-dolphinscheduler/blob/dev/escheduler-common/src/test/java/cn/escheduler/common/utils/CollectionUtilsTest.java">link</a></p> -<h3>1.The benefits of unit testing</h3> -<ul> -<li>Unit test code can help everyone to go into details and understand the function of the code.</li> -<li>We can find bugs by test case, and then enhance the robustness of the code.</li> -<li>Test case code is also the demo usage of the core code.</li> -</ul> -<h3>2.Some design principle of unit test case</h3> -<ul> -<li>Steps, fine-grained and combination conditions should be well designed.</li> -<li>Attention to boundary condition test</li> -<li>Test code should also be designed without writing useless code.</li> -<li>When you find a <code>method</code> that is hard to write unit test, if you can be sure the <code>method</code> is "smelly code", then refactor it with the committer.</li> -<li>The mock framework in DolphinScheduler is: <a href="http://site.mockito.org/">mockito</a>. Some tutorials:<a href="http://www.baeldung.com/bdd-mockito">mockito tutorial</a>,<a href="https://dzone.com/refcardz/mockito">mockito refcard</a></li> -<li>TDD(optional):When you start a new issue, you can try to write test case at first</li> -</ul> -<h3>3.The specified value of the test coverage</h3> -<ul> -<li>In the stage, the test coverage specified value of delta changed codes is :>=60%. The higher, the better.</li> -<li>We can see the coverage report in this page: <a href="https://codecov.io/gh/apache/dolphinscheduler">https://codecov.io/gh/apache/dolphinscheduler</a></li> -</ul> + <div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...] </div></section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. diff --git a/en-us/docs/development/contribute.json b/en-us/docs/development/contribute.json index 7f85cf7..8382210 100644 --- a/en-us/docs/development/contribute.json +++ b/en-us/docs/development/contribute.json @@ -1,6 +1,6 @@ { "filename": "contribute.md", - "__html": "<h2>Unit Test coverage</h2>\n<p>Unit test writing reference <a href=\"https://github.com/apache/incubator-dolphinscheduler/blob/dev/escheduler-common/src/test/java/cn/escheduler/common/utils/CollectionUtilsTest.java\">link</a></p>\n<h3>1.The benefits of unit testing</h3>\n<ul>\n<li>Unit test code can help everyone to go into details and understand the function of the code.</li>\n<li>We can find bugs by test case, and then enhance the robustness of the code.</li>\n<li>Test ca [...] + "__html": "<h1>todo</h1>\n", "link": "/en-us/docs/development/contribute.html", "meta": {} } \ No newline at end of file diff --git a/en-us/docs/development/contribute.html b/en-us/docs/development/unit-test.html similarity index 98% copy from en-us/docs/development/contribute.html copy to en-us/docs/development/unit-test.html index 8e0cbda..cccfb13 100644 --- a/en-us/docs/development/contribute.html +++ b/en-us/docs/development/unit-test.html @@ -4,10 +4,10 @@ <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> - <meta name="keywords" content="contribute" /> - <meta name="description" content="contribute" /> + <meta name="keywords" content="unit-test" /> + <meta name="description" content="unit-test" /> <!-- 网页标签标题 --> - <title>contribute</title> + <title>unit-test</title> <link rel="shortcut icon" href="/img/docsite.ico"/> <link rel="stylesheet" href="/build/documentation.css" /> </head> diff --git a/en-us/docs/development/contribute.json b/en-us/docs/development/unit-test.json similarity index 95% copy from en-us/docs/development/contribute.json copy to en-us/docs/development/unit-test.json index 7f85cf7..e658a4e 100644 --- a/en-us/docs/development/contribute.json +++ b/en-us/docs/development/unit-test.json @@ -1,6 +1,6 @@ { - "filename": "contribute.md", + "filename": "unit-test.md", "__html": "<h2>Unit Test coverage</h2>\n<p>Unit test writing reference <a href=\"https://github.com/apache/incubator-dolphinscheduler/blob/dev/escheduler-common/src/test/java/cn/escheduler/common/utils/CollectionUtilsTest.java\">link</a></p>\n<h3>1.The benefits of unit testing</h3>\n<ul>\n<li>Unit test code can help everyone to go into details and understand the function of the code.</li>\n<li>We can find bugs by test case, and then enhance the robustness of the code.</li>\n<li>Test ca [...] - "link": "/en-us/docs/development/contribute.html", + "link": "/en-us/docs/development/unit-test.html", "meta": {} } \ No newline at end of file diff --git a/zh-cn/docs/development/contribute.html b/zh-cn/docs/development/contribute.html index 44021e0..ecd82d3 100644 --- a/zh-cn/docs/development/contribute.html +++ b/zh-cn/docs/development/contribute.html @@ -12,27 +12,173 @@ <link rel="stylesheet" href="/build/documentation.css" /> </head> <body> - <div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass an [...] -<p>Unit Test编写参考<a href="https://github.com/apache/incubator-dolphinscheduler/blob/dev/escheduler-common/src/test/java/cn/escheduler/common/utils/CollectionUtilsTest.java">链接</a></p> -<h3>1.写单元测试的收益</h3> + <div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass an [...] +<p>您可以提交一个bug,一个Feature建议或者直接提交改进。</p> +<h3>1. 如何提交Bug</h3> +<p>当您发现一个Bug时,请提交Bug,提交前:</p> <ul> -<li>单元测试能帮助每个人深入代码细节,了解代码的功能。</li> -<li>通过测试用例我们能发现bug,并提交代码的健壮性。</li> -<li>测试用例同时也是代码的demo用法。</li> +<li>请先在issue列表里查找一下是否该bug已经提交,如果已经有此bug,请在此bug下接着回复。</li> +<li>如果该Bug是可以复现的。请尽量提供完整的重现步骤。</li> </ul> -<h3>2.单元测试用例的一些设计原则</h3> +<p>请在issues页面中提交Bug。</p> +<p>一个高质量的Bug通常有以下特征:</p> <ul> -<li>应该精心设计好步骤,颗粒度和组合条件。</li> -<li>注意边界条件。</li> -<li>单元测试也应该好好设计,不要写无用的代码。</li> -<li>当你发现一个<code>方法</code>很难写单元测试时,如果可以确认这个<code>方法</code>是<code>臭代码</code>,那么就和开发者一起重构它。</li> -<li>DolphinScheduler: <a href="http://site.mockito.org/">mockito</a>. 下面是一些开发向导:<a href="http://www.baeldung.com/bdd-mockito">mockito tutorial</a>,<a href="https://dzone.com/refcardz/mockito">mockito refcard</a></li> -<li>TDD(可选):当你开始写一个新的功能时,你可以试着先写测试用例。</li> +<li>使用一个清晰并有描述性的标题来定义Bug。</li> +<li>详细的描述复现Bug的步骤。包括您的配置情况,预计产生的结果,实际产生的结果。并附加详细的TRACE日志。</li> +<li>如果程序抛出异常,请附加完整的堆栈日志。</li> +<li>如有可能,请附上屏幕截图或动态的GIF图,这些图片能帮助演示整个问题的产生过程。</li> +<li>哪个版本。</li> +<li>需要修复的优先级(危急、重大、次要、细微)。</li> </ul> -<h3>3.测试覆盖率设定值</h3> +<p>下面是Bug的Markdown模板,请按照该模板填写issue。</p> +<pre><code class="language-shell">**标题** +标题格式: [BUG][Priority] bug标题 +Priority分为四级: Critical、Major、Minor、Trivial + +**问题描述** +[清晰准确描述遇到的问题] + +**问题复现步骤:** +1. [第一步] +2. [第二步] +3. [...] + +**期望的表现:** +[在这里描述期望的表现] + +**观察到的表现:** +[在这里描述观察到的表现] + +**屏幕截图和动态GIF图** + + +**DolphinScheduler版本:(以1.1.0为例)** + -[1.1.0] + +**补充的内容:** +[请描述补充的内容,比如] + +**需求或者建议** +[请描述你的需求或者建议] +</code></pre> +<h3>2. 如何提交功能(Feature)建议</h3> +<p>提交前:</p> <ul> -<li>在现阶段,Delta更改代码的测试覆盖设定值为:>=60%,越高越好。</li> -<li>我们可以在这个页面中看到测试报告: <a href="https://codecov.io/gh/apache/dolphinscheduler">https://codecov.io/gh/apache/dolphinscheduler</a></li> +<li>请确定这不是一个重复的功能增强建议。 查看Issue Page列表,搜索您要提交的功能增强建议是否已经被提交过。</li> +</ul> +<p>请在issues页面中提交Feature。</p> +<p>一个高质量的Feature通常有以下特征:</p> +<ul> +<li>一个清晰的标题来定义Feature</li> +<li>详细描述Feature的行为模式</li> +<li>说明为什么该Feature对大多数用户是有用的。新功能应该具有广泛的适用性。</li> +<li>尽量列出其他调度已经具备的类似功能。商用与开源软件均可。</li> +</ul> +<p>以下是Feature的Markdown模板,请按照该模板填写issue。</p> +<pre><code class="language-shell">**标题** +标题格式: [Feature][Priority] feature标题 +Priority分为四级: Critical、Major、Minor、Trivial + +**Feature的描述** +[描述新Feature应实现的功能] + +**为什么这个新功能是对大多数用户有用的** +[解释这个功能为什么对大多数用户是有用的] + +**补充的内容** +[列出其他的调度是否包含该功能,是如何实现的] + +</code></pre> +<h3>3. 如何领取Bug/Feature</h3> +<p>如果您想实现某个Feature或者修复某个Bug。请参考以下内容:</p> +<ul> +<li>所有的Bug与新Feature建议使用Issues Page进行管理。</li> +<li>如果想要开发实现某个Feature功能,请先回复该功能所关联的Issue,表明您当前正在这个Issue上工作。 并在回复的时候为自己设置一个deadline,并添加的回复内容中。</li> +<li>最好在核心贡献者找到一个导师(指导者),导师会在设计与功能实现上给予即时的反馈。</li> +<li>您应该新建一个分支来开始您的工作,分支的名字为Feature功能名称/issueId。 比如,您想完成依赖功能并提交了Issue 111,那么您的branch名字应为 dependency/111。 功能名称可与导师讨论后确定。</li> +<li>完成后,发送一个pull request到incubator-dolphinscheduler,提交过程具体请参考下面《如何提交代码》。</li> +</ul> +<h3>4. 如何提交代码</h3> +<ul> +<li> +<p>首先从远端仓库<em><a href="https://github.com/apache/incubator-dolphinscheduler.git">https://github.com/apache/incubator-dolphinscheduler.git</a></em> fork一份代码到自己的仓库中</p> +</li> +<li> +<p>远端仓库中目前有三个分支:</p> +<ul> +<li> +<p>master 正常交付分支 +发布稳定版本以后,将稳定版本分支的代码合并到master上。</p> +</li> +<li> +<p>dev 日常开发分支 +日常dev开发分支,新提交的代码都可以pull request到这个分支上。</p> +</li> +<li> +<p>branch-1.0.0 发布版本分支 +发布版本分支,后续会有2.0...等版本分支,版本分支只修改bug,不增加新功能。</p> +</li> +</ul> +</li> +<li> +<p>把自己仓库clone到本地</p> +<p><code>git clone https://github.com/apache/incubator-dolphinscheduler.git</code></p> +</li> +<li> +<p>添加远端仓库地址,命名为upstream</p> +<p><code>git remote add upstream https://github.com/apache/incubator-dolphinscheduler.git</code></p> +</li> +<li> +<p>查看仓库:</p> +<p><code>git remote -v</code></p> +</li> +</ul> +<blockquote> +<p>此时会有两个仓库:origin(自己的仓库)和upstream(远端仓库)</p> +</blockquote> +<ul> +<li> +<p>获取/更新远端仓库代码(已经是最新代码,就跳过)</p> +<p><code>git fetch upstream</code></p> +</li> +<li> +<p>同步远端仓库代码到本地仓库</p> +</li> +</ul> +<pre><code> git checkout origin/dev + git merge --no-ff upstream/dev +</code></pre> +<p>如果远端分支有新加的分支比如<code>dev-1.0</code>,需要同步这个分支到本地仓库</p> +<pre><code>git checkout -b dev-1.0 upstream/dev-1.0 +git push --set-upstream origin dev1.0 +</code></pre> +<ul> +<li> +<p>在本地修改代码以后,提交到自己仓库:</p> +<p><code>git commit -m 'commit content'</code> +<code>git push</code></p> +</li> +<li> +<p>将修改提交到远端仓库</p> +<ul> +<li>在github页面,点击New pull request. <p align="center"> + <img src="http://geek.analysys.cn/static/upload/221/2019-04-02/90f3abbf-70ef-4334-b8d6-9014c9cf4c7f.png" width="60%" /> +</li> +</ul> + </p> +<ul> +<li>选择修改完的本地分支和要合并过去的分支,Create pull request. <p align="center"> + <img src="http://geek.analysys.cn/static/upload/221/2019-04-02/fe7eecfe-2720-4736-951b-b3387cf1ae41.png" width="60%" /> +</li> +</ul> + </p> +</li> +<li> +<p>接着社区Committer们会做CodeReview,然后他会与您讨论一些细节(包括设计,实现,性能等)。当团队中所有人员对本次修改满意后,会将提交合并到dev分支</p> +</li> +<li> +<p>最后,恭喜您已经成为了dolphinscheduler的官方贡献者!</p> +</li> </ul> </div></section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Incubator. Incubation is required of all newly accepted projects until a further review indicates diff --git a/zh-cn/docs/development/contribute.json b/zh-cn/docs/development/contribute.json index c52be85..030d171 100644 --- a/zh-cn/docs/development/contribute.json +++ b/zh-cn/docs/development/contribute.json @@ -1,6 +1,6 @@ { "filename": "contribute.md", - "__html": "<h2>Unit Test覆盖率</h2>\n<p>Unit Test编写参考<a href=\"https://github.com/apache/incubator-dolphinscheduler/blob/dev/escheduler-common/src/test/java/cn/escheduler/common/utils/CollectionUtilsTest.java\">链接</a></p>\n<h3>1.写单元测试的收益</h3>\n<ul>\n<li>单元测试能帮助每个人深入代码细节,了解代码的功能。</li>\n<li>通过测试用例我们能发现bug,并提交代码的健壮性。</li>\n<li>测试用例同时也是代码的demo用法。</li>\n</ul>\n<h3>2.单元测试用例的一些设计原则</h3>\n<ul>\n<li>应该精心设计好步骤,颗粒度和组合条件。</li>\n<li>注意边界条件。</li>\n<li>单元测试也应该好好设计,不要写无用的代码。</li>\n<li>当你发现一个<code>方法</cod [...] + "__html": "<h2>贡献</h2>\n<p>您可以提交一个bug,一个Feature建议或者直接提交改进。</p>\n<h3>1. 如何提交Bug</h3>\n<p>当您发现一个Bug时,请提交Bug,提交前:</p>\n<ul>\n<li>请先在issue列表里查找一下是否该bug已经提交,如果已经有此bug,请在此bug下接着回复。</li>\n<li>如果该Bug是可以复现的。请尽量提供完整的重现步骤。</li>\n</ul>\n<p>请在issues页面中提交Bug。</p>\n<p>一个高质量的Bug通常有以下特征:</p>\n<ul>\n<li>使用一个清晰并有描述性的标题来定义Bug。</li>\n<li>详细的描述复现Bug的步骤。包括您的配置情况,预计产生的结果,实际产生的结果。并附加详细的TRACE日志。</li>\n<li>如果程序抛出异常,请附加完整的堆栈日志。</li>\n<li>如有可能,请附上屏幕截图或动态的GIF图,这些图片能帮助演示整个问题的产生过程。</li>\n<li>哪个版本。</li>\n<li>需要修复的优� �级( [...] "link": "/zh-cn/docs/development/contribute.html", "meta": {} } \ No newline at end of file diff --git a/zh-cn/docs/development/contribute.html b/zh-cn/docs/development/submit-bug.html similarity index 78% copy from zh-cn/docs/development/contribute.html copy to zh-cn/docs/development/submit-bug.html index 44021e0..a01b98e 100644 --- a/zh-cn/docs/development/contribute.html +++ b/zh-cn/docs/development/submit-bug.html @@ -4,37 +4,15 @@ <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> - <meta name="keywords" content="contribute" /> - <meta name="description" content="contribute" /> + <meta name="keywords" content="submit-bug" /> + <meta name="description" content="submit-bug" /> <!-- 网页标签标题 --> - <title>contribute</title> + <title>submit-bug</title> <link rel="shortcut icon" href="/img/docsite.ico"/> <link rel="stylesheet" href="/build/documentation.css" /> </head> <body> - <div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass an [...] -<p>Unit Test编写参考<a href="https://github.com/apache/incubator-dolphinscheduler/blob/dev/escheduler-common/src/test/java/cn/escheduler/common/utils/CollectionUtilsTest.java">链接</a></p> -<h3>1.写单元测试的收益</h3> -<ul> -<li>单元测试能帮助每个人深入代码细节,了解代码的功能。</li> -<li>通过测试用例我们能发现bug,并提交代码的健壮性。</li> -<li>测试用例同时也是代码的demo用法。</li> -</ul> -<h3>2.单元测试用例的一些设计原则</h3> -<ul> -<li>应该精心设计好步骤,颗粒度和组合条件。</li> -<li>注意边界条件。</li> -<li>单元测试也应该好好设计,不要写无用的代码。</li> -<li>当你发现一个<code>方法</code>很难写单元测试时,如果可以确认这个<code>方法</code>是<code>臭代码</code>,那么就和开发者一起重构它。</li> -<li>DolphinScheduler: <a href="http://site.mockito.org/">mockito</a>. 下面是一些开发向导:<a href="http://www.baeldung.com/bdd-mockito">mockito tutorial</a>,<a href="https://dzone.com/refcardz/mockito">mockito refcard</a></li> -<li>TDD(可选):当你开始写一个新的功能时,你可以试着先写测试用例。</li> -</ul> -<h3>3.测试覆盖率设定值</h3> -<ul> -<li>在现阶段,Delta更改代码的测试覆盖设定值为:>=60%,越高越好。</li> -<li>我们可以在这个页面中看到测试报告: <a href="https://codecov.io/gh/apache/dolphinscheduler">https://codecov.io/gh/apache/dolphinscheduler</a></li> -</ul> -</div></section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Incubator. + <div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass an [...] Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, diff --git a/zh-cn/docs/development/submit-bug.json b/zh-cn/docs/development/submit-bug.json new file mode 100644 index 0000000..f303569 --- /dev/null +++ b/zh-cn/docs/development/submit-bug.json @@ -0,0 +1,6 @@ +{ + "filename": "submit-bug.md", + "__html": "", + "link": "/zh-cn/docs/development/submit-bug.html", + "meta": {} +} \ No newline at end of file diff --git a/zh-cn/docs/development/contribute.html b/zh-cn/docs/development/unit-test.html similarity index 98% copy from zh-cn/docs/development/contribute.html copy to zh-cn/docs/development/unit-test.html index 44021e0..770d7e6 100644 --- a/zh-cn/docs/development/contribute.html +++ b/zh-cn/docs/development/unit-test.html @@ -4,10 +4,10 @@ <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> - <meta name="keywords" content="contribute" /> - <meta name="description" content="contribute" /> + <meta name="keywords" content="unit-test" /> + <meta name="description" content="unit-test" /> <!-- 网页标签标题 --> - <title>contribute</title> + <title>unit-test</title> <link rel="shortcut icon" href="/img/docsite.ico"/> <link rel="stylesheet" href="/build/documentation.css" /> </head> diff --git a/zh-cn/docs/development/contribute.json b/zh-cn/docs/development/unit-test.json similarity index 95% copy from zh-cn/docs/development/contribute.json copy to zh-cn/docs/development/unit-test.json index c52be85..d0dc567 100644 --- a/zh-cn/docs/development/contribute.json +++ b/zh-cn/docs/development/unit-test.json @@ -1,6 +1,6 @@ { - "filename": "contribute.md", + "filename": "unit-test.md", "__html": "<h2>Unit Test覆盖率</h2>\n<p>Unit Test编写参考<a href=\"https://github.com/apache/incubator-dolphinscheduler/blob/dev/escheduler-common/src/test/java/cn/escheduler/common/utils/CollectionUtilsTest.java\">链接</a></p>\n<h3>1.写单元测试的收益</h3>\n<ul>\n<li>单元测试能帮助每个人深入代码细节,了解代码的功能。</li>\n<li>通过测试用例我们能发现bug,并提交代码的健壮性。</li>\n<li>测试用例同时也是代码的demo用法。</li>\n</ul>\n<h3>2.单元测试用例的一些设计原则</h3>\n<ul>\n<li>应该精心设计好步骤,颗粒度和组合条件。</li>\n<li>注意边界条件。</li>\n<li>单元测试也应该好好设计,不要写无用的代码。</li>\n<li>当你发现一个<code>方法</cod [...] - "link": "/zh-cn/docs/development/contribute.html", + "link": "/zh-cn/docs/development/unit-test.html", "meta": {} } \ No newline at end of file