Added: kylin/site/cn/development/coding_naming_convention.html
URL: 
http://svn.apache.org/viewvc/kylin/site/cn/development/coding_naming_convention.html?rev=1838640&view=auto
==============================================================================
--- kylin/site/cn/development/coding_naming_convention.html (added)
+++ kylin/site/cn/development/coding_naming_convention.html Wed Aug 22 14:10:06 
2018
@@ -0,0 +1,846 @@
+<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<!doctype html>
+<html>
+       <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>Apache Kylin | 编码和命名惯例</title>
+  <meta name="description" content="Apache Kylin Home">
+  <meta name="author"      content="Apache Kylin">
+  <link rel="shortcut icon" href="fav.png" type="image/png">
+
+
+
+<link rel="stylesheet" href="/assets/css/animate.css">
+<!-- Bootstrap -->
+<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
+
+<!-- Fonts -->
+<!-- <link rel="stylesheet" 
href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
+
+<!-- Icons -->
+<link rel="stylesheet" href="/assets/css/font-awesome.min.css">
+
+  <!-- Custom styles -->
+  <link rel="stylesheet" href="/assets/css/styles.css">
+  <link rel="stylesheet" href="/assets/css/docs.css">
+
+  <link rel="canonical" 
href="http://kylin.apache.org/cn/development/coding_naming_convention.html";>
+  <link rel="alternate" type="application/rss+xml" title="Apache Kylin" 
href="http://kylin.apache.org/feed.xml"; />
+
+<!--[if lt IE 9]> <script src="assets/js/html5shiv.js"></script> <![endif]-->
+<!-- Global site tag (gtag.js) - Google Analytics -->
+<script async 
src="https://www.googletagmanager.com/gtag/js?id=UA-120788561-1";></script>
+<script>
+  window.dataLayer = window.dataLayer || [];
+  function gtag(){dataLayer.push(arguments);}
+  gtag('js', new Date());
+
+  gtag('config', 'UA-120788561-1');
+</script>
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
+<script>
+var _hmt = _hmt || [];
+(function() {
+  var hm = document.createElement("script");
+  hm.src = "https://hm.baidu.com/hm.js?bdc5e03add430c0b72cc0eb91eabfa99";;
+  var s = document.getElementsByTagName("script")[0]; 
+  s.parentNode.insertBefore(hm, s);
+})();
+</script>
+</head>
+
+       <body>
+               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<header id="header" >
+  <!-- Main Menu -->
+  <nav class="navbar navbar-default" role="navigation" id="nav-wrapper">
+    <div class="container-fluid" id="nav">
+      <!-- Brand and toggle get grouped for better mobile display -->
+      <div class="navbar-header">
+        <img class="navbar-logo" width="46" src="/assets/images/kylin_logo.png 
"></img> 
+        
+        <button type="button" class="navbar-toggle collapsed" 
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <ul class="nav icon-navbar">
+            <li><a href="https://twitter.com/apachekylin"; target="_blank" 
class="fa fa-twitter fa-lg"  title="Twitter: @ApacheKylin" ></a></li>
+            <li><a href="https://github.com/apache/kylin"; target="_blank" 
class="fa fa-github-alt fa-lg" title="Github: apache/kylin" ></a></li>          
+            <li><a href="https://www.facebook.com/kylinio"; target="_blank" 
class="fa fa-facebook fa-lg" title="Facebook: kylin.io" ></a></li>    
+        </ul>
+      </div>
+
+      <!-- Collect the nav links, forms, and other content for toggling -->
+      <div class="navbar-collapse" id="bs-example-navbar-collapse-1">
+        <ul class="nav navbar-nav">
+            <li><a href="/cn">首页</a></li>
+            <li><a href="/cn/docs" >文档</a></li>
+            <li><a href="/cn/download">下载</a></li>
+            <li><a href="/cn/community" >社区</a></li>
+            <li><a href="/cn/development" >开发</a></li>
+            <li><a href="/blog">博客</a></li>
+            <li><a href="/" >English</a></li>           
+        </ul>
+        
+
+      </div><!-- /.navbar-collapse -->
+    </div><!-- /.container-fluid -->
+  </nav>
+
+  <div id="head" class="parallax normal-header" >
+    <div class="text-center header-apache">
+      <a href="http://apache.org/foundation/contributing.html"; title="Support 
Apache" style="margin-left: 150px;">
+        <div>
+          <img src="https://www.apache.org/images/SupportApache-small.png";>
+        </div>
+      </a>
+    </div>  
+  </div>
+
+ </header>
+
+               
+               <div class="container">
+                       <div class="row"  style="clear:both;">
+                               
+                               <div class="col-md-8 col-lg-8 col-xs-12 
col-sm-12 aside2" style="float: right;">
+                                       <div id="container" class="docs">
+                                               <div id="pjax">
+                                                       <h1 
class="post-title">编码和命名惯例</h1>
+                                                       <article 
class="post-content" >
+                                                       <h2 id="section">编ç 
æƒ¯ä¾‹</h2>
+
+<p>团队合作中编码管理是非常重要的。它不仅使得代ç 
æ•´é½åŠæ•´æ´ï¼Œå®ƒä¹ŸèŠ‚çœäº†è®¸å¤šçš„å·¥ä½œã€‚ä¸åŒçš„ä»£ç 
æƒ¯ä¾‹ï¼ˆè‡ªåŠ¨æ ¼å¼åŒ–ï¼‰å°†ä¼šå¯¼è‡´ä¸å¿…è¦çš„ä»£ç æ”¹åŠ¨ä½¿å¾—åœ¨ä»£ç 
å¤å®¡å’Œåˆå¹¶æ—¶éœ€è¦æ›´å¤šçš„努力。</p>
+
+<p>对于 Java 代码,我们使用 Eclipse 默认的格式化配置,å…
¶ä¸­ä¸€ä¸ªæ”¹åŠ¨å…è®¸é•¿è¡Œã€‚</p>
+
+<ul>
+  <li>对于 Eclipse 开发者,无需手动设置。代码格式化配置 
<code class="highlighter-rouge">.settings/org.eclipse.jdt.core.prefs</code> 在 
git 仓库。当项目被引入时,您的 IDE 应该自动配置。</li>
+  <li>对于 intellij IDEA 开发者,您需要安装 “Eclipse Code 
Formatter” 并手动将 Eclipse 格式化配置加载到您的 IDE。详细内
容请看<a href="dev_env.html">搭建开发环境</a>。</li>
+  <li>我们在 maven 中有 <em>checkstyle plugin</em> 
能强制进行规范检查。</li>
+</ul>
+
+<p>对于 JavaScript,XML 和其它编码,请使用空æ 
¼æ¥ç¼©è¿›ã€‚作为常规,请保持代码æ 
¼å¼ä¸ŽçŽ°æœ‰è¡Œä¸€è‡´ã€‚ç›®å‰æ²¡æœ‰å…¶ä»–çš„å¼ºåˆ¶æŽªæ–½ã€‚</p>
+
+<h2 id="section-1">配置命名惯例</h2>
+
+<p>Kylin 配置名称(在 <code 
class="highlighter-rouge">kylin.properties</code> 中的那些)</p>
+
+<ul>
+  <li>惯例是 <code 
class="highlighter-rouge">dot.separated.namespace.config-name-separated-by-dash</code>,所有的字符都是小写。</li>
+  <li>基本原理:点分隔前缀用于命名空间,如 java 包
名。最后一级与类名相同,但要小写并以短划线分隔。结果与常见的
 hadoop 配置名称一致,即。<code 
class="highlighter-rouge">dfs.namenode.servicerpc-bind-host</code>。</li>
+  <li>正面例子:<code 
class="highlighter-rouge">kylin.metadata.url</code>; <code 
class="highlighter-rouge">kylin.snapshot.max-mb</code></li>
+  <li>反面例子:<code 
class="highlighter-rouge">kylin.cube.customEncodingFactories</code>,应该为 
<code class="highlighter-rouge">kylin.cube.custom-encoding-factories</code></li>
+  <li>名称的命名空间(或包)应映射来自配置中使用的 Java 
项目和包。 下面是当前名称空间的列表。
+    <ul>
+      <li>kylin.env</li>
+      <li>kylin.metadata</li>
+      <li>kylin.snapshot</li>
+      <li>kylin.dictionary</li>
+      <li>kylin.cube</li>
+      <li>kylin.job</li>
+      <li>kylin.engine</li>
+      <li>kylin.engine.mr</li>
+      <li>kylin.engine.spark</li>
+      <li>kylin.source</li>
+      <li>kylin.source.hive</li>
+      <li>kylin.source.kafka</li>
+      <li>kylin.storage</li>
+      <li>kylin.storage.hbase</li>
+      <li>kylin.storage.partition</li>
+      <li>kylin.query</li>
+      <li>kylin.security</li>
+      <li>kylin.server</li>
+      <li>kylin.web</li>
+    </ul>
+  </li>
+</ul>
+
+<h2 id="section-2">配置文件命名惯例</h2>
+
+<p>对于配置文件如日志配置,spring 配置,mapreduce job é…
ç½®ç­‰ã€‚</p>
+
+<ul>
+  <li>惯例是 <code 
class="highlighter-rouge">words-separated-by-dash.ext</code>,所有的字符要小写。</li>
+  <li>基本原理:要和 hadoop é…
ç½®æ–‡ä»¶å‘½åä¸€è‡´ï¼Œå³ã€‚hdfs-site.xml</li>
+  <li>正面例子:<code 
class="highlighter-rouge">kylin-server-log4j.properties</code></li>
+  <li>反面例子:<code 
class="highlighter-rouge">kylin_hive_conf.xml</code>,应该为 <code 
class="highlighter-rouge">kylin-hive-conf.xml</code></li>
+</ul>
+
+
+                                                       </article>
+                                               </div>
+                                       </div>
+                               </div>
+                               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<div class="col-md-4 col-lg-4 col-xs-12 col-sm-12 aside1 visible-sm visible-xs 
visible-md visible-lg" id="nside1" style=" margin-top: 5em;float:right;">
+    <ul class="nav nav-pills nav-stacked">
+    
+    <li><a href="#title开发指南" data-toggle="collapse" 
class="navtitle">开发指南</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul>
+    
+
+
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/index.html" class="list-group-item-lay 
pjaxlink">开发快速指南</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/dev_env.html" class="list-group-item-lay 
pjaxlink">搭建开发环境</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/coding_naming_convention.html" 
class="list-group-item-lay pjaxlink">编码和命名惯例</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_test.html" class="list-group-item-lay 
pjaxlink">如何测试</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_contribute.html" 
class="list-group-item-lay pjaxlink">如何贡献</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_docs.html" class="list-group-item-lay 
pjaxlink">如何写文档</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_package.html" 
class="list-group-item-lay pjaxlink">如何打二进制包</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_hbase_branches.html" 
class="list-group-item-lay pjaxlink">如何维护 HBase 分支</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_release.html" 
class="list-group-item-lay pjaxlink">如何发布</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/plugin_arch.html" class="list-group-item-lay 
pjaxlink">插件架构</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/new_metadata.html" class="list-group-item-lay 
pjaxlink">新的元数据模型</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/web_tech.html" class="list-group-item-lay 
pjaxlink">Kylin Web 摘要</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/about_temp_files.html" 
class="list-group-item-lay pjaxlink">关于临时文件</a></li>      
+      
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+
+    </ul>
+</div>
+                       </div>
+               </div>          
+               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<footer id="underfooter">
+    <div>
+        <div class="row">
+            <div class="col-md-12 widget">
+                <div class="widget-body">
+                    <div class="footer-img">
+                        <a href="http://www.apache.org";>
+                            <img id="asf-logo" height="78px" alt="Apache 
Software Foundation" src="/assets/images/apache_footer.png">
+                        </a>
+                    </div>
+                    <p style="padding-top: 11px;">
+                        The contents of this website are © 2015 Apache 
Software Foundation under the terms of the 
+                        <a href="http://www.apache.org/licenses/LICENSE-2.0";> 
Apache License v2 </a>. 
+                    </p>
+                    <p style="margin-bottom: 11px;">    
+                        Apache Kylin and its logo are trademarks of the Apache 
Software Foundation.
+                    </div>
+
+                </div>
+            </div>
+        </div>
+        <!-- /row of widgets -->
+
+    </div>
+    <div></div>
+
+</footer>
+
+       <script src="/assets/js/jquery-1.9.1.min.js"></script> 
+       <script src="/assets/js/bootstrap.min.js"></script> 
+       <script src="/assets/js/main.js"></script>
+       </body>
+</html>

Added: kylin/site/cn/development/dev_env.html
URL: 
http://svn.apache.org/viewvc/kylin/site/cn/development/dev_env.html?rev=1838640&view=auto
==============================================================================
--- kylin/site/cn/development/dev_env.html (added)
+++ kylin/site/cn/development/dev_env.html Wed Aug 22 14:10:06 2018
@@ -0,0 +1,950 @@
+<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<!doctype html>
+<html>
+       <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>Apache Kylin | 搭建开发环境</title>
+  <meta name="description" content="Apache Kylin Home">
+  <meta name="author"      content="Apache Kylin">
+  <link rel="shortcut icon" href="fav.png" type="image/png">
+
+
+
+<link rel="stylesheet" href="/assets/css/animate.css">
+<!-- Bootstrap -->
+<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
+
+<!-- Fonts -->
+<!-- <link rel="stylesheet" 
href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
+
+<!-- Icons -->
+<link rel="stylesheet" href="/assets/css/font-awesome.min.css">
+
+  <!-- Custom styles -->
+  <link rel="stylesheet" href="/assets/css/styles.css">
+  <link rel="stylesheet" href="/assets/css/docs.css">
+
+  <link rel="canonical" 
href="http://kylin.apache.org/cn/development/dev_env.html";>
+  <link rel="alternate" type="application/rss+xml" title="Apache Kylin" 
href="http://kylin.apache.org/feed.xml"; />
+
+<!--[if lt IE 9]> <script src="assets/js/html5shiv.js"></script> <![endif]-->
+<!-- Global site tag (gtag.js) - Google Analytics -->
+<script async 
src="https://www.googletagmanager.com/gtag/js?id=UA-120788561-1";></script>
+<script>
+  window.dataLayer = window.dataLayer || [];
+  function gtag(){dataLayer.push(arguments);}
+  gtag('js', new Date());
+
+  gtag('config', 'UA-120788561-1');
+</script>
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
+<script>
+var _hmt = _hmt || [];
+(function() {
+  var hm = document.createElement("script");
+  hm.src = "https://hm.baidu.com/hm.js?bdc5e03add430c0b72cc0eb91eabfa99";;
+  var s = document.getElementsByTagName("script")[0]; 
+  s.parentNode.insertBefore(hm, s);
+})();
+</script>
+</head>
+
+       <body>
+               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<header id="header" >
+  <!-- Main Menu -->
+  <nav class="navbar navbar-default" role="navigation" id="nav-wrapper">
+    <div class="container-fluid" id="nav">
+      <!-- Brand and toggle get grouped for better mobile display -->
+      <div class="navbar-header">
+        <img class="navbar-logo" width="46" src="/assets/images/kylin_logo.png 
"></img> 
+        
+        <button type="button" class="navbar-toggle collapsed" 
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <ul class="nav icon-navbar">
+            <li><a href="https://twitter.com/apachekylin"; target="_blank" 
class="fa fa-twitter fa-lg"  title="Twitter: @ApacheKylin" ></a></li>
+            <li><a href="https://github.com/apache/kylin"; target="_blank" 
class="fa fa-github-alt fa-lg" title="Github: apache/kylin" ></a></li>          
+            <li><a href="https://www.facebook.com/kylinio"; target="_blank" 
class="fa fa-facebook fa-lg" title="Facebook: kylin.io" ></a></li>    
+        </ul>
+      </div>
+
+      <!-- Collect the nav links, forms, and other content for toggling -->
+      <div class="navbar-collapse" id="bs-example-navbar-collapse-1">
+        <ul class="nav navbar-nav">
+            <li><a href="/cn">首页</a></li>
+            <li><a href="/cn/docs" >文档</a></li>
+            <li><a href="/cn/download">下载</a></li>
+            <li><a href="/cn/community" >社区</a></li>
+            <li><a href="/cn/development" >开发</a></li>
+            <li><a href="/blog">博客</a></li>
+            <li><a href="/" >English</a></li>           
+        </ul>
+        
+
+      </div><!-- /.navbar-collapse -->
+    </div><!-- /.container-fluid -->
+  </nav>
+
+  <div id="head" class="parallax normal-header" >
+    <div class="text-center header-apache">
+      <a href="http://apache.org/foundation/contributing.html"; title="Support 
Apache" style="margin-left: 150px;">
+        <div>
+          <img src="https://www.apache.org/images/SupportApache-small.png";>
+        </div>
+      </a>
+    </div>  
+  </div>
+
+ </header>
+
+               
+               <div class="container">
+                       <div class="row"  style="clear:both;">
+                               
+                               <div class="col-md-8 col-lg-8 col-xs-12 
col-sm-12 aside2" style="float: right;">
+                                       <div id="container" class="docs">
+                                               <div id="pjax">
+                                                       <h1 
class="post-title">搭建开发环境</h1>
+                                                       <article 
class="post-content" >
+                                                       <p>开发者
想要在他们的开发机器上运行 Kylin 测试用例或应用。</p>
+
+<p>跟随这个教程,您可以通过运行一个具体测试样例构建 
Kylin 测试 cubes,且您能针对已构建的 cube 进一步运行å…
¶å®ƒæµ‹è¯•样例</p>
+
+<h2 id="hadoop-">Hadoop 客户端环境</h2>
+
+<p>Off-Hadoop-CLI 安装需要您有一个有 hadoop 
客户端的机器(或一个 hadoop 
沙箱)以及本地开发机器。为了简化操作,我们强烈建议您从
 hadoop 沙箱上运行 Kylin 开始。在下面的教程中,我们将使用 
Hortonworks®Sandbox2.4.0.0-169,您可以从 Hortonworks 
下载页面下载它,展开“Hortonworks Sandbox 
Archive”链接,然后搜索“HDP® 2.4 on Hortonworks 
Sandbox”进行下载。建议您为沙箱虚拟机提供足够的内
存,首选 8G 或更多。</p>
+
+<h3 id="hadoop">启动 Hadoop</h3>
+
+<p>在 Hortonworks sandbox 中, ambari 会帮助您运行 hadoop:</p>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">ambari-agent start
+ambari-server start</code></pre></div>
+
+<p>上述命令执行成功后您可以到 ambari 主页 <a 
href="http://yoursandboxip:8080";>http://yoursandboxip:8080</a> 
去检查所有组件的状态。默认情况下 ambari 使 HBase 
失效,您需要手动启动 <code class="highlighter-rouge">HBase</code> 
服务。<br />
+<img 
src="https://raw.githubusercontent.com/KylinOLAP/kylinolap.github.io/master/docs/installation/starthbase.png";
 alt="start hbase in ambari" /></p>
+
+<p>对于 hadoop 分布式,基本上启动 hadoop 集群,确保 
HDFS,YARN,Hive,HBase 运行着即可。</p>
+
+<h2 id="section">开发机器的环境</h2>
+
+<h3 id="maven">安装 Maven</h3>
+
+<p>最新的 maven 下载地址:<a 
href="http://maven.apache.org/download.cgi";>http://maven.apache.org/download.cgi</a>,我们创建一个符号,以便
 <code class="highlighter-rouge">mvn</code> 可以在任何地方运行。</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">cd ~
+wget 
http://xenia.sote.hu/ftp/mirrors/www.apache.org/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
+tar -xzvf apache-maven-3.2.5-bin.tar.gz
+ln -s /root/apache-maven-3.2.5/bin/mvn /usr/bin/mvn</code></pre></div>
+
+<h3 id="spark">安装 Spark</h3>
+
+<p>在像 /usr/local/spark 这样的本地文件夹下手动安装 
spark-2.1.2-bin-hadoop2.7</p>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">wget -O /tmp/spark-2.1.2-bin-hadoop2.7.tgz 
http://d3kbcqa49mib13.cloudfront.net/spark-2.1.2-bin-hadoop2.7.tgz
+cd /usr/local
+tar -zxvf /tmp/spark-2.1.2-bin-hadoop2.7.tgz
+ln -s spark-2.1.2-bin-hadoop2.7 spark</code></pre></div>
+
+<p>为 hbase 客户端创建本地临时文件夹(如果å…
¶ä¸å­˜åœ¨ï¼‰ï¼š</p>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">mkdir -p /hadoop/hbase/local/jars
+chmod 777 /hadoop/hbase/local/jars</code></pre></div>
+
+<h3 id="section-1">编译</h3>
+
+<p>首先将 Kylin 工程下载到本地:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">git 
clone https://github.com/apache/kylin.git</code></pre></div>
+
+<p>将 Kylin 工件安装到 maven 仓库</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">mvn 
clean install -DskipTests</code></pre></div>
+
+<h3 id="section-2">修改本地配置</h3>
+
+<p>必须修改本地配置以指向 hadoop 沙箱(或 CLI)机器。</p>
+
+<ul>
+  <li>在 <strong>examples/test_case_data/sandbox/kylin.properties</strong> 中
+    <ul>
+      <li>找到 <code class="highlighter-rouge">sandbox</code> 
并替换成您的 hadoop hosts(如果您使用的是 HDP 
沙箱,这步可以跳过)</li>
+      <li>找到 <code 
class="highlighter-rouge">kylin.job.use-remote-cli</code> 并修改为 
“true”(在代码库中其默认值为 false,假定其运行在 hadoop 
CLI 上)</li>
+      <li>找到 <code 
class="highlighter-rouge">kylin.job.remote.cli.username</code> 和 <code 
class="highlighter-rouge">kylin.job.remote.cli.password</code>,填写用于登录
 hadoop 集群执行 hadoop 命令的用户名和密码;如果您使用的是 
HDP 沙箱,默认用户名使 <code class="highlighter-rouge">root</code> 
密码是 <code class="highlighter-rouge">hadoop</code>。</li>
+    </ul>
+  </li>
+  <li>在 <strong>examples/test_case_data/sandbox</strong> 中
+    <ul>
+      <li>遍历每一个 xml 配置文件,找到所有的 <code 
class="highlighter-rouge">sandbox</code> 和 <code 
class="highlighter-rouge">sandbox.hortonworks.com</code>,替换成您的 
hadoop hosts;(如果您使用的是 HDP 沙箱,这步可以跳过)</li>
+    </ul>
+  </li>
+</ul>
+
+<p>host 替换的替代方法是更新您的 <code 
class="highlighter-rouge">hosts</code> 文件,来解决 <code 
class="highlighter-rouge">sandbox</code> 和 <code 
class="highlighter-rouge">sandbox.hortonworks.com</code> 映
射为沙箱机器的 IP 的问题。</p>
+
+<h3 id="section-3">运行单元测试</h3>
+<p>运行单元测试来测试每一个 classes 基本功能的有效性。</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">mvn 
test -fae -Dhdp.version=&lt;hdp-version&gt; -P sandbox</code></pre></div>
+
+<h3 id="section-4">运行集成测试</h3>
+<p>在真正运行集成测试前,需要为测试数据的填充
运行一些端到端的 cube 构建作业,同时验证 cube 
过程。然后是集成测试。</p>
+
+<p>其可能需要一段时间(也许一小时),请保持耐心。</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">mvn 
verify -fae -Dhdp.version=&lt;hdp-version&gt; -P sandbox</code></pre></div>
+
+<p>关于测试想要了解更多,请参考<a 
href="/cn/development/howto_test.html">如何测试</a>.</p>
+
+<h3 id="kylin-web-">本地运行 Kylin Web 服务器</h3>
+
+<p>拷贝 server/src/main/webapp/WEB-INF 到 webapp/app/WEB-INF</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">cp 
-r server/src/main/webapp/WEB-INF webapp/app/WEB-INF</code></pre></div>
+
+<p>为 Kylin web GUI 下载 JS。<code class="highlighter-rouge">npm</code> 
是 <code class="highlighter-rouge">Node.js</code> 的一部分,请搜索有å…
³å¦‚何在您的操作系统上安装它的信息。</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">cd 
webapp
+npm install -g bower
+bower --allow-root install</code></pre></div>
+
+<p>注意,如果是在 Windows 上,安装完 bower,需要将 
“bower.cmd” 的路径加入系统环境变量 ‘PATH’ 
中,然后运行:</p>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">bower.cmd --allow-root install</code></pre></div>
+
+<p>在 IDE,运行 <code 
class="highlighter-rouge">org.apache.kylin.rest.DebugTomcat</code> 
将工作目录设置为 /server 文件夹。(默认情况下 Kylin 
服务器将会监听 7070 
端口;如果您想要使用另一个端口,请在运行 <code 
class="highlighter-rouge">DebugTomcat</code> 时将其指定为参数)</p>
+
+<p>查看 Kylin Web <code 
class="highlighter-rouge">http://localhost:7070/kylin</code>(用户名:ADMIN,密ç
 ï¼šKYLIN)</p>
+
+<p>对于 IntelliJ IDEA 用户,需要修改 “server/kylin-server.iml” 
文件,将所有的 “PROVIDED” 替换为 
“COMPILE”,否则可能会抛出 “java.lang.NoClassDefFoundError: 
org/apache/catalina/LifecycleListener” 错误。</p>
+
+<h2 id="ide-">安装 IDE 编码格式化工具</h2>
+
+<p>如果你正在为 Kylin 编写代码,你应该确保你的代ç 
ç¬¦åˆé¢„期的格式。</p>
+
+<p>对于 Eclipse 用户,只需在提交代码之前格式化代码。</p>
+
+<p>对于 intellij IDEA 用户,您还需要执行一些额外步骤:</p>
+
+<ol>
+  <li>
+    <p>安装 “Eclipse Code Formatter” 并在 core-common/.settings 
中使用 “org.eclipse.jdt.core.prefs” 和 “org.eclipse.jdt.ui.prefs” 
来配置 “Eclipse Java Formatter config file” 和 “Import order”</p>
+
+    <p><img src="/images/develop/eclipse_code_formatter_config.png" 
alt="Eclipse_Code_Formatter_Config" /></p>
+  </li>
+  <li>
+    <p>去 Preference =&gt; Code Style =&gt; Java,将 “Scheme” 
设为默认,并设置 “Class count to use import with ‘*’” 和 
“Names count to use static import with ‘*’” 为 99。</p>
+
+    <p><img src="/images/develop/kylin-intellij-code-style.png" 
alt="Kylin_Intellj_Code_Style" /></p>
+  </li>
+  <li>
+    <p>禁用 intellij IDEA 的 “Optimize imports on the fly”</p>
+
+    <p><img src="/images/develop/disable_import_on_the_fly.png" 
alt="Disable_Optimize_On_The_Fly" /></p>
+  </li>
+  <li>
+    <p>提交代码前格式化代码。</p>
+  </li>
+</ol>
+
+<h2 id="ide-license-">设置 IDE license 头部模板</h2>
+
+<p>每一个源文件都应该包括以下的 Apache License 头部</p>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.</code></pre></div>
+
+<p>当打包时 checkstyle 插件将会检查头部规则。license 文件在 
<code 
class="highlighter-rouge">dev-support/checkstyle-apache-header.txt</code>。为了方便开发人员,请将头部添åŠ
 ä¸º <code class="highlighter-rouge">Copyright Profile</code>,并将å…
¶è®¾ç½®ä¸º Kylin 项目的默认值。<br />
+<img src="/images/develop/intellij_apache_license.png" alt="Apache License 
Profile" /></p>
+
+                                                       </article>
+                                               </div>
+                                       </div>
+                               </div>
+                               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<div class="col-md-4 col-lg-4 col-xs-12 col-sm-12 aside1 visible-sm visible-xs 
visible-md visible-lg" id="nside1" style=" margin-top: 5em;float:right;">
+    <ul class="nav nav-pills nav-stacked">
+    
+    <li><a href="#title开发指南" data-toggle="collapse" 
class="navtitle">开发指南</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul>
+    
+
+
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/index.html" class="list-group-item-lay 
pjaxlink">开发快速指南</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/dev_env.html" class="list-group-item-lay 
pjaxlink">搭建开发环境</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/coding_naming_convention.html" 
class="list-group-item-lay pjaxlink">编码和命名惯例</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_test.html" class="list-group-item-lay 
pjaxlink">如何测试</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_contribute.html" 
class="list-group-item-lay pjaxlink">如何贡献</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_docs.html" class="list-group-item-lay 
pjaxlink">如何写文档</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_package.html" 
class="list-group-item-lay pjaxlink">如何打二进制包</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_hbase_branches.html" 
class="list-group-item-lay pjaxlink">如何维护 HBase 分支</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_release.html" 
class="list-group-item-lay pjaxlink">如何发布</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/plugin_arch.html" class="list-group-item-lay 
pjaxlink">插件架构</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/new_metadata.html" class="list-group-item-lay 
pjaxlink">新的元数据模型</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/web_tech.html" class="list-group-item-lay 
pjaxlink">Kylin Web 摘要</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/about_temp_files.html" 
class="list-group-item-lay pjaxlink">关于临时文件</a></li>      
+      
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+
+    </ul>
+</div>
+                       </div>
+               </div>          
+               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<footer id="underfooter">
+    <div>
+        <div class="row">
+            <div class="col-md-12 widget">
+                <div class="widget-body">
+                    <div class="footer-img">
+                        <a href="http://www.apache.org";>
+                            <img id="asf-logo" height="78px" alt="Apache 
Software Foundation" src="/assets/images/apache_footer.png">
+                        </a>
+                    </div>
+                    <p style="padding-top: 11px;">
+                        The contents of this website are © 2015 Apache 
Software Foundation under the terms of the 
+                        <a href="http://www.apache.org/licenses/LICENSE-2.0";> 
Apache License v2 </a>. 
+                    </p>
+                    <p style="margin-bottom: 11px;">    
+                        Apache Kylin and its logo are trademarks of the Apache 
Software Foundation.
+                    </div>
+
+                </div>
+            </div>
+        </div>
+        <!-- /row of widgets -->
+
+    </div>
+    <div></div>
+
+</footer>
+
+       <script src="/assets/js/jquery-1.9.1.min.js"></script> 
+       <script src="/assets/js/bootstrap.min.js"></script> 
+       <script src="/assets/js/main.js"></script>
+       </body>
+</html>

Added: kylin/site/cn/development/howto_contribute.html
URL: 
http://svn.apache.org/viewvc/kylin/site/cn/development/howto_contribute.html?rev=1838640&view=auto
==============================================================================
--- kylin/site/cn/development/howto_contribute.html (added)
+++ kylin/site/cn/development/howto_contribute.html Wed Aug 22 14:10:06 2018
@@ -0,0 +1,932 @@
+<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<!doctype html>
+<html>
+       <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>Apache Kylin | 如何贡献</title>
+  <meta name="description" content="Apache Kylin Home">
+  <meta name="author"      content="Apache Kylin">
+  <link rel="shortcut icon" href="fav.png" type="image/png">
+
+
+
+<link rel="stylesheet" href="/assets/css/animate.css">
+<!-- Bootstrap -->
+<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
+
+<!-- Fonts -->
+<!-- <link rel="stylesheet" 
href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
+
+<!-- Icons -->
+<link rel="stylesheet" href="/assets/css/font-awesome.min.css">
+
+  <!-- Custom styles -->
+  <link rel="stylesheet" href="/assets/css/styles.css">
+  <link rel="stylesheet" href="/assets/css/docs.css">
+
+  <link rel="canonical" 
href="http://kylin.apache.org/cn/development/howto_contribute.html";>
+  <link rel="alternate" type="application/rss+xml" title="Apache Kylin" 
href="http://kylin.apache.org/feed.xml"; />
+
+<!--[if lt IE 9]> <script src="assets/js/html5shiv.js"></script> <![endif]-->
+<!-- Global site tag (gtag.js) - Google Analytics -->
+<script async 
src="https://www.googletagmanager.com/gtag/js?id=UA-120788561-1";></script>
+<script>
+  window.dataLayer = window.dataLayer || [];
+  function gtag(){dataLayer.push(arguments);}
+  gtag('js', new Date());
+
+  gtag('config', 'UA-120788561-1');
+</script>
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
+<script>
+var _hmt = _hmt || [];
+(function() {
+  var hm = document.createElement("script");
+  hm.src = "https://hm.baidu.com/hm.js?bdc5e03add430c0b72cc0eb91eabfa99";;
+  var s = document.getElementsByTagName("script")[0]; 
+  s.parentNode.insertBefore(hm, s);
+})();
+</script>
+</head>
+
+       <body>
+               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<header id="header" >
+  <!-- Main Menu -->
+  <nav class="navbar navbar-default" role="navigation" id="nav-wrapper">
+    <div class="container-fluid" id="nav">
+      <!-- Brand and toggle get grouped for better mobile display -->
+      <div class="navbar-header">
+        <img class="navbar-logo" width="46" src="/assets/images/kylin_logo.png 
"></img> 
+        
+        <button type="button" class="navbar-toggle collapsed" 
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <ul class="nav icon-navbar">
+            <li><a href="https://twitter.com/apachekylin"; target="_blank" 
class="fa fa-twitter fa-lg"  title="Twitter: @ApacheKylin" ></a></li>
+            <li><a href="https://github.com/apache/kylin"; target="_blank" 
class="fa fa-github-alt fa-lg" title="Github: apache/kylin" ></a></li>          
+            <li><a href="https://www.facebook.com/kylinio"; target="_blank" 
class="fa fa-facebook fa-lg" title="Facebook: kylin.io" ></a></li>    
+        </ul>
+      </div>
+
+      <!-- Collect the nav links, forms, and other content for toggling -->
+      <div class="navbar-collapse" id="bs-example-navbar-collapse-1">
+        <ul class="nav navbar-nav">
+            <li><a href="/cn">首页</a></li>
+            <li><a href="/cn/docs" >文档</a></li>
+            <li><a href="/cn/download">下载</a></li>
+            <li><a href="/cn/community" >社区</a></li>
+            <li><a href="/cn/development" >开发</a></li>
+            <li><a href="/blog">博客</a></li>
+            <li><a href="/" >English</a></li>           
+        </ul>
+        
+
+      </div><!-- /.navbar-collapse -->
+    </div><!-- /.container-fluid -->
+  </nav>
+
+  <div id="head" class="parallax normal-header" >
+    <div class="text-center header-apache">
+      <a href="http://apache.org/foundation/contributing.html"; title="Support 
Apache" style="margin-left: 150px;">
+        <div>
+          <img src="https://www.apache.org/images/SupportApache-small.png";>
+        </div>
+      </a>
+    </div>  
+  </div>
+
+ </header>
+
+               
+               <div class="container">
+                       <div class="row"  style="clear:both;">
+                               
+                               <div class="col-md-8 col-lg-8 col-xs-12 
col-sm-12 aside2" style="float: right;">
+                                       <div id="container" class="docs">
+                                               <div id="pjax">
+                                                       <h1 
class="post-title">如何贡献</h1>
+                                                       <article 
class="post-content" >
+                                                       <p>Apache Kylin 
一直寻求的不只是代ç 
çš„贡献,还寻求使用文档,性能报告,问答等方面的贡献。所有类型的贡献都为成为
 Kylin Committer 铺平了道路。每个人都有机会,尤å…
¶æ˜¯é‚£äº›æœ‰åˆ†æžå’Œè§£å†³æ–¹æ¡ˆèƒŒæ™¯çš„,因
为缺少来自于用户和解决方案视角的内容。</p>
+
+<h2 id="section">源分支</h2>
+<p>代码和文档都在 Git 源代ç 
æŽ§åˆ¶ä¹‹ä¸‹ã€‚注意不同分支的用途。</p>
+
+<ul>
+  <li><code class="highlighter-rouge">master</code>: 
新功能的主开发分支</li>
+  <li><code class="highlighter-rouge">2.[n].x</code>: 
一些主要版本的维护分支</li>
+  <li><code class="highlighter-rouge">document</code>: 文档分支</li>
+</ul>
+
+<h2 id="section-1">组件及拥有者</h2>
+<p>Apache Kylin 有几
个子组件。为了更好地帮助社区的发展,我们为每个组件安排了一个或多个组件负责人。</p>
+
+<ul>
+  <li>
+    <p>组件负责人是志愿者
(组件领域的专家)。负责人需要成为 Apache Kylin 提交者或 
PMC。</p>
+  </li>
+  <li>
+    <p>负责人将尝试审查其组件范围内的补丁。</p>
+  </li>
+  <li>
+    <p>负责人可以根据他的愿望和社区需求进行轮换。</p>
+  </li>
+  <li>
+    <p>在提名或投票新提交者时,提名者
需要说明候选人可以成为哪个组件的负责人。</p>
+  </li>
+  <li>
+    <p>如果您已经是 Apache Kylin 提交者或 PMC 
成员并希望成为组件负责人的志愿者,请给 dev 
列表写信,我们将为您注册。</p>
+  </li>
+  <li>
+    <p>所有项目计划,决策仍由 Apache Kylin PMC 管理。</p>
+  </li>
+  <li>
+    <p>如果您认为组件列表需要更新(添加,删
除,重命名等),请给 dev 列表写信,我们将对其进行审æ 
¸ã€‚</p>
+  </li>
+</ul>
+
+<p>组件负责人列在了这个 Apache Kylin <a 
href="https://issues.apache.org/jira/projects/KYLIN?selectedItem=com.atlassian.jira.jira-projects-plugin:components-page";>JIRA
 components page</a> 页面中的 Description 
字段位置。负责人列在“Description”字段中而不是“Component 
Lead”字段中,因为后者仅允许我们列出一个人,然而å…
¶é¼“励组件具有多个负责人。</p>
+
+<h2 id="section-2">选择一个任务</h2>
+<p>这里有新创建的任务等待被完成,由 JIRA 追踪。为了让å…
¶å®¹æ˜“被搜索,这里有一些过滤条件。</p>
+
+<ul>
+  <li>由李扬管理的<a 
href="https://issues.apache.org/jira/issues/?filter=12339895";>任务列表</a> 
。</li>
+  <li>由 Ted Yu 创建的<a 
href="https://issues.apache.org/jira/issues/?filter=12341496";>任务列表</a>,重要的小的
 bugs 且其中一些很容易被修复。</li>
+  <li>您也可以在 Kylin JIRA 中搜索标签 “newbie”。</li>
+</ul>
+
+<p>在做大任务之前别忘了在<a 
href="/community/index.html">邮箱列表</a>中讨论。</p>
+
+<p>如果为 bug 或功能创建了新的 
JIRA,请记住为社区提供足够的信息:</p>
+
+<ul>
+  <li>问题或功能的良好摘要</li>
+  <li>详细说明,可能包括:
+    <ul>
+      <li>这个问题发生的环境</li>
+      <li>重现问题的步骤</li>
+      <li>错误跟踪或日志文件(作为附件)</li>
+      <li>model 或 cube 的元数据</li>
+    </ul>
+  </li>
+  <li>相关组件:我们将根据此选择安排审核人员。</li>
+  <li>受影响的版本:您正在使用的 Kylin 版本。</li>
+</ul>
+
+<h2 id="section-3">进行代码更改</h2>
+<ul>
+  <li><a href="/cn/development/dev_env.html">搭建开发环境</a></li>
+  <li>提出 JIRA,描述功能/提升/bug</li>
+  <li>在邮件列表或 issue 评论中与å…
¶ä»–人讨论,确保提议的更改符合其他人正在做的事情
以及为项目规划的内容</li>
+  <li>在您的 fork 中进行修改
+    <ul>
+      <li>目前没有严格的代码æ 
·å¼ï¼Œä½†ä¸€èˆ¬è§„则与现有文件保持一致。例如,对 java 
文件使用 4 空格缩进。</li>
+      <li>尽可能为代码更改添加测试用例。</li>
+      <li>确保“mvn clean package”和“mvn 
test”能够获得成功。</li>
+      <li>充分的单元测试和集成测试是代码更改的必
要部分。</li>
+    </ul>
+  </li>
+  <li><a href="/cn/development/howto_test.html">运行测试</a> 
以确保您的更改质量良好且不会破坏任何内
容。如果您的补丁生成不正确或您的代码不符合代ç 
æŒ‡å—,则可能会要求您重做某些工作。</li>
+  <li>生成补丁并将其附加到相关的 JIRA。</li>
+</ul>
+
+<h2 id="patch">生成 Patch</h2>
+<ul>
+  <li>使用 <code 
class="highlighter-rouge">submit-patch.py</code>(推荐)创建 
patches,上传到 jira 并可选择在 Review Board 上创建/更新评论。 
Patch 名称自动格式化为(JIRA).(分支名称).(补丁号).patch,遵循 
Yetus 的命名规则。</li>
+</ul>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>$ 
./dev-support/submit-patch.py -jid KYLIN-xxxxx -b master -srb
+</code></pre>
+</div>
+
+<ul>
+  <li>用 -h æ 
‡å¿—可以了解此脚本的详细用法信息。最有用的选项是:
+    <ul>
+      <li>-b BRANCH, –branch BRANCH : 指定用于生成 diff 
的基本分支。如果未指定,则使用跟踪分支。如果没有跟踪分支,则会抛出错误。</li>
+      <li>-jid JIRA_ID, –jira-id JIRA_ID : 如果使用,则从 jira 
中的附件推断下一个补丁版本并上传新补丁。脚本将要求 
jira 用户名/密ç 
è¿›è¡Œèº«ä»½éªŒè¯ã€‚如果未设置,则将补丁命名为 .patch。</li>
+    </ul>
+  </li>
+  <li>默认情况下,它还会创建/更新 review 
board。要跳过该操作,请使用 -srb 选项。它使用 jira 
中的“Issue Links”来确定审核请求是否已存在。如果没有审æ 
¸è¯·æ±‚,则创建一个新请求并使用 jira 摘要,patch 说明等填充
所有必填字段。此外,还将此评论的链接添加到 jira。</li>
+  <li>
+    <p>安装需要的 python 依赖,从 master 分支执行 <code 
class="highlighter-rouge">pip install -r 
dev-support/python-requirements.txt</code>。</p>
+  </li>
+  <li>或者,您也可以手动生成 patch。请首先使用 <code 
class="highlighter-rouge">git rebase 
-i</code>,将较小的提交组合(squash)为一个较大的提交。然后使用
 <code class="highlighter-rouge">git format-patch</code> 命令生成 
patch,有关详细指南,请参阅<a 
href="https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/";>如何使用
 Git 创建和应用补丁</a>。</li>
+</ul>
+
+<h2 id="section-4">代码审查</h2>
+<p>审核人员需要从以下角度审核 patch:</p>
+
+<ul>
+  <li><em>功能性</em>:patch 必须解决问题,并在提交审æ 
¸ä¹‹å‰å·²ç»è¿‡è´¡çŒ®è€…的验证。</li>
+  <li><em>测试范围</em>:更改必须由 UT 
或集成测试覆盖,否则无法维护。执行案例包括 GUI,shell 
脚本等。</li>
+  <li><em>性能</em>:改变不应该降低 Kylin 的性能。</li>
+  <li><em>元数据兼容性</em>:更改应支持旧å…
ƒæ•°æ®å®šä¹‰ã€‚否则,需要元数据迁移工具和文档。</li>
+  <li><em>API 兼容性</em>:更改不应该破坏公共 API 
的功能和行为;如果需要用新 API 替换旧 
API,请在那里打印警告消息。</li>
+  <li><em>文档</em>:如果需要同时更新 Kylin 
文档,请创建另一个 
JIRA,并将“Document”作为要跟踪的组件。在 JIRA 
文档中,附加“文档”分支的文档更改 patch。</li>
+</ul>
+
+<p>不符合上述规则的补丁可能无法合并。</p>
+
+<h2 id="patch-1-">Patch +1 政策</h2>
+
+<p>在提交之前,适合单个组件范围的修补程序至少需要一个组件负责人的
 +1。如果负责人不在 — 在忙或其他 — 
两个非负责人(即两个提交者)的 +1,就足够了。</p>
+
+<p>跨组件的 patch 在提交之前至少需要两个 +1s,最好由 
x-component patch 涉及的组件负责人的 +1。</p>
+
+<p>任何人都可以在 patch 上 -1,任何 -1 
都可以否决补丁;在解决 -1 的理由之前,它不能被提交。</p>
+
+<h2 id="patch-1">应用 Patch</h2>
+<ul>
+  <li>Committer 将审核 JIRA 中的 Pull Requests 和 Patches 
的正确性,性能,设计,编码风格,测试覆盖率</li>
+  <li>必要时进行讨论和修改;</li>
+  <li>committer 将代码合并到目标分支中
+    <ul>
+      <li>对于 git patch,请使用“git am -s -3 
patch-file”命令进行应用;</li>
+      <li>如果是来自 github Pull Request,则需要添加“This 
closing#”作为提交消息的一部分。这将允许 ASF Git bot 关闭 
PR。</li>
+      <li>使用 <code class="highlighter-rouge">git rebase</code> 
确保合并结果是提交的简化。</li>
+    </ul>
+  </li>
+</ul>
+
+<h2 id="section-5">进行文档更改</h2>
+<p>查看<a href="/cn/development/howto_docs.html">如何写文档</a>.</p>
+
+
+                                                       </article>
+                                               </div>
+                                       </div>
+                               </div>
+                               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<div class="col-md-4 col-lg-4 col-xs-12 col-sm-12 aside1 visible-sm visible-xs 
visible-md visible-lg" id="nside1" style=" margin-top: 5em;float:right;">
+    <ul class="nav nav-pills nav-stacked">
+    
+    <li><a href="#title开发指南" data-toggle="collapse" 
class="navtitle">开发指南</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul>
+    
+
+
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/index.html" class="list-group-item-lay 
pjaxlink">开发快速指南</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/dev_env.html" class="list-group-item-lay 
pjaxlink">搭建开发环境</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/coding_naming_convention.html" 
class="list-group-item-lay pjaxlink">编码和命名惯例</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_test.html" class="list-group-item-lay 
pjaxlink">如何测试</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_contribute.html" 
class="list-group-item-lay pjaxlink">如何贡献</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_docs.html" class="list-group-item-lay 
pjaxlink">如何写文档</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_package.html" 
class="list-group-item-lay pjaxlink">如何打二进制包</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_hbase_branches.html" 
class="list-group-item-lay pjaxlink">如何维护 HBase 分支</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/howto_release.html" 
class="list-group-item-lay pjaxlink">如何发布</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/plugin_arch.html" class="list-group-item-lay 
pjaxlink">插件架构</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/new_metadata.html" class="list-group-item-lay 
pjaxlink">新的元数据模型</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/web_tech.html" class="list-group-item-lay 
pjaxlink">Kylin Web 摘要</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+      <li class="navlist">
+        <a href="/cn/development/about_temp_files.html" 
class="list-group-item-lay pjaxlink">关于临时文件</a></li>      
+      
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+
+    </ul>
+</div>
+                       </div>
+               </div>          
+               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<footer id="underfooter">
+    <div>
+        <div class="row">
+            <div class="col-md-12 widget">
+                <div class="widget-body">
+                    <div class="footer-img">
+                        <a href="http://www.apache.org";>
+                            <img id="asf-logo" height="78px" alt="Apache 
Software Foundation" src="/assets/images/apache_footer.png">
+                        </a>
+                    </div>
+                    <p style="padding-top: 11px;">
+                        The contents of this website are © 2015 Apache 
Software Foundation under the terms of the 
+                        <a href="http://www.apache.org/licenses/LICENSE-2.0";> 
Apache License v2 </a>. 
+                    </p>
+                    <p style="margin-bottom: 11px;">    
+                        Apache Kylin and its logo are trademarks of the Apache 
Software Foundation.
+                    </div>
+
+                </div>
+            </div>
+        </div>
+        <!-- /row of widgets -->
+
+    </div>
+    <div></div>
+
+</footer>
+
+       <script src="/assets/js/jquery-1.9.1.min.js"></script> 
+       <script src="/assets/js/bootstrap.min.js"></script> 
+       <script src="/assets/js/main.js"></script>
+       </body>
+</html>


Reply via email to