本指南文件最好的方法使Apache火花,各种类型的贡献包括之前需要提交代码更改。
导致火花并不仅仅意味着编写代码。帮助新用户邮件列表,测试版本,提高文档也欢迎。事实上,提出重要的代码更改通常需要先积累经验和信誉在社区内以其他方式帮助。这也是一个引导成为一个有效的贡献。
这引导组织的贡献,以便他们应该考虑新的贡献者打算长期参与。构建一些帮助别人的记录,而不是打开拉请求。
导致火花的好办法是帮助回答用户的问题user@www.leiyimei360.com
邮件列表或StackOverflow。总是有很多新的火花用户;花几分钟来回答一个问题是一个非常有价值的社区服务。
贡献者应该订阅这个列表并遵循它为了赶上时代潮流发生了什么火花。回答问题是一个很好的和可见的方式来帮助社区,也展示了你的专业知识。
看到邮件列表指南指导如何有效地参与讨论邮件列表,以及像StackOverflow论坛。
火花的发布过程是社区,社区成员可以投票在新版本dev@www.leiyimei360.com
邮件列表。引发用户邀请订阅这个列表接收公告,新版本和测试他们的工作负载,提供反馈在任何性能或正确性问题在新版本中找到。
火花源代码提出变更,审核并通过GitHub的请求(稍后介绍)。任何人都可以查看和评论在这里积极变化。检查别人的变化是一个很好的学习方式改变的过程是如何工作的,并获得接触活动代码的各个部分。你可以帮助检查更改并提问或指出问题,简单的拼写错误或小问题的风格。另请参阅https://spark-prs.appspot.com/一个方便的方式来查看和过滤器PRs开放。
提出更改释放文档(文档下出现的//www.leiyimei360.com/docs/),在火花源文件编辑减价的文档/
目录的自述
本地文件显示了如何构建文档来测试您的更改。流程提出医生改变否则一样的过程提出了下面的代码更改。
提出改变文档(即文档的其余部分不出现在//www.leiyimei360.com/docs/),同样的,编辑的减价spark-website库和打开一个请求。
就像Java和Scala应用程序可以访问一个巨大的选择的库和工具,其中没有一个是Java或Scala本身的一部分,火花旨在形成一个丰富的生态系统,库的支持。许多新的有用的实用程序或功能属于外部的火花,而不是核心。例如:语言支持可能是核心火花的一部分,但是,有用的机器学习算法可以幸福MLlib之外的存在。
为此,大的和独立的新功能往往是拒绝列入火花本身,但是,可以而且应该被托管作为一个单独的项目和存储库,并包含在spark-packages.org收集。
理想的情况是,伴随着bug报告提出修复bug的代码更改。这并不总是可能的,那些发现一个bug可能没有经验来解决它。错误可能是通过创建一个报告JIRA但没有创建一个请求(见下文)。
Bug报告仅仅是有用的但是如果他们包含足够的信息来理解,隔离和理想情况下重现Bug。只是遇到一个错误并不意味着一个错误应该报道;如下所示,搜索JIRA和搜索和查询引发用户/ dev邮件列表。Unreproducible bug,或者简单的错误报告,可能被关闭。
很有帮助,如果错误报告介绍了如何描述错误,提交的,所以评论者可以很容易地理解错误。它还帮助提交者来决定应该如何补丁目前bug修复,当拉请求合并。拉请求修复bug应该缩小问题的根本原因。
性能回归也是一种错误。拉请求修复性能回归必须提供一个基准来证明这个问题确实是固定的。
注意,数据正确性/数据丢失错误是非常严重的。确保JIRA票贴上相应的bug报告正确性
或数据丢失
。如果错误报告并没有得到足够的重视,请发送电子邮件dev@www.leiyimei360.com
吸引更多的关注。
可以提出新的功能。这些通常不会有帮助,除非伴随着细节,比如设计文档和/或代码更改。应该考虑大新的贡献spark-packages.org第一次(见上图),或者在邮件列表上讨论。特性请求可能会被拒绝,或关闭经过一段长时间的不活动。
鉴于Apache大量问题引发JIRA,不可避免地有一些问题重复,或过时,并最终固定否则,或不能复制,或可能受益更多细节,等等。是有用的帮助识别和解决这些问题,通过推进甚至解决JIRA的讨论。大多数贡献者能够直接解决jira。使用的判断决定是否你很自信这个问题应该解决,尽管变化可以轻易消除。如果有疑问,JIRA上留下评论。
当解决jira,看到一些有用的约定:
火花是一个异常忙碌的项目,一个新的JIRA或拉请求平均每隔几个小时。审查提交者可以几小时或几天的时间。每个人都好处如果贡献者关注变化,是有用的,清晰,容易评估,基本已经通过检查。
有时,一个贡献者将已经有一个特定的新的变更或错误。如果寻求想法,请咨询JIRA启动任务的列表,或要求user@www.leiyimei360.com
邮件列表。
在继续之前,贡献者应该评估如果拟议的改变可能是相关的,新的和可操作的:
user@www.leiyimei360.com
第一个可能的变化user@www.leiyimei360.com
和dev@www.leiyimei360.com
邮件列表档案相关讨论。通常,问题讨论,决议,不需要一个代码的变化,或记录什么样的变化将不会接受一项决议。[关键词]火花
在右上角的搜索框。如果已经存在一个逻辑上类似的问题,那么为首先讨论现有JIRA和拉请求,而不是创建一个新的。值得重新强调变化引发的核心,或高度复杂和重要模块如SQL和催化剂,更难以正确。他们将受到更严格的审查,承担审查标准高于变化较少的关键代码。
虽然一组丰富的算法是一个重要的目标MLLib,扩展项目要求可维护性、一致性和代码质量放在首位。新算法:
@Since
注释在公共类、方法和变量。火花应该抛出异常与标准化和可操作的错误消息。
错误消息应该回答下列问题:
写错误信息时,你应该:
看到错误消息的指导方针为更多的细节。
在考虑如何贡献代码,是有用的了解代码审查,以及为什么变化可能被拒绝。看到详细的指南代码评审从谷歌的工程实践文档。简单地说,有很多的变化,或大优点,和一些负面影响或风险,更有可能被合并,合并后的迅速。风险和价值的变化很可能被合并,并可能被直接驳回,而不是接受迭代的审查。
前请检查前一节提出一个代码变化。本节文档如何这样做。
贡献代码时,您肯定贡献你的原创作品,并且您许可的工作项目在项目的开放源码许可。你们国家是否明确,通过将请求提交任何受版权保护的材料,电子邮件,或者其他方式你同意许可项目的开源许可下的材料和保证你的合法权力。
如果你有兴趣使用最新的开发代码或导致Apache火花发展,你可以查看从Git主分支:
#主开发分支git克隆git: / /github.com/apache/spark.git
一旦你下载的火花,你可以找到指导安装和建筑上文档页面。
一般来说,火花使用JIRA跟踪逻辑问题,包括错误和改进,并使用GitHub拉请求管理特定代码更改的评审和合并。也就是说,jira用于描述什么应固定或变化,和高级方法,并把请求描述如何实现这一变化在项目的源代码。例如,JIRA的主要设计决策进行了讨论。
修复在Foo scaladoc拼写错误
正确性
:一个正确性问题数据丢失
:一个数据丢失的问题发布说明
:在发布说明变化的影响需要提及。JIRA或拉请求应包括详细适用于包含在发布说明,请参见下面的“文本文档”。起动器
:小,简单改变适合新的贡献者dev@www.leiyimei360.com
首先在继续之前实现改变。之前创建一个请求在Apache火花,重要的是要检查测试是否可以通过在你的部门,因为我们的GitHub操作工作流自动运行测试后你把请求/提交和每次运行负担GitHub行为的有限的资源在Apache火花库。下面的步骤将引导你完成这一过程。
测试(“火星- 12345:一个简短的描述测试”){…
@Test公共空testCase(){/ /火花- 12345:一个简短的描述测试的…
def test_case(自我):#火花- 12345:一个简短的描述测试的…
test_that(“火星- 12345:一个简短的描述的测试”,{…
,/ dev /运行测试
验证代码编译,通过测试,通过风格检查。如果风格检查失败,检查下面的代码风格指南。主
的分支apache /火花
。(只有在特殊情况下的公关会打开对其他分支)。这将触发工作流”拉请求*”(火花回购)/观察寻找成功的工作流运行在“你”分叉的存储库(它会等待如果运行)。[SPARK-xxxx](组件)标题
,在那里SPARK-xxxx
是有关JIRA的数字,组件
是一个公关类别显示在哪里spark-prs.appspot.com和标题可能JIRA的标题或描述公关本身更具体的标题。(在制品)
后的组件。@用户名
在公关描述萍。git远程上游添加https://github.com/apache/spark.git
,运行git获取上游
紧随其后的是git变基上游/主人
和解决冲突,然后把结果你的分支。主
,你会不得不关闭手动拉请求请跟现有的代码库的风格。
如果你不确定正确的风格的东西,尽量遵循现有的代码库的风格。看看是否有其他的例子的代码中使用你的特性。请提出来的dev@www.leiyimei360.com
列表和/或要求提交者。
Apache项目遵循火花Apache软件基金会的行为准则。的的行为准则适用于所有空间由Apache软件基金会管理,包括IRC,所有公共和私人邮件列表,问题跟踪器,维基、博客、Twitter和其他我们的社区使用的通信通道。的行为准则,是特定于面对面的事件(即。、会议)编纂的ASF发表反骚扰政策。
我们预计这段代码的行为被人荣幸参与Apache社区正式或非正式地,或声称任何基金会的归属,无论我会提及一些与基金会相关的活动,特别是当代表ASF,在任何角色。
这段代码不详尽或完成。它提炼我们共同了解协作,共享环境和目标。我们期望它遵循的精神在信中,这样它可以丰富我们的人生和技术社区的参与。
和具体的指导方针的更多信息,请参考Apache软件基金会的行为准则。