С предстоящото излизане на Ruby 2.0 , сега е момента да следите развитието на неговото разработване. Нарастващото внимание към увеличи нуждата от талантливи програмисти, които да помогната с разработването и подобряването на Ruby. От къде да започнем ?
Темите, свързани с разработването на Ruby описани тук са:
- Използване на Subversion за следене на процеса на разработка
- Усъвършенстване на Ruby, кръпка по кръпка
- Правила за Core разработчиците
>Използване на Subversion за следене на процеса на разработка
Изтегляне на последната версия на сорс кода е въпрос на логване в Subversion с анонимен акаунт. От командния ред:
$ svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby
Директорията ruby съдържа последната версия на сорс кода на Ruby 1.9 (trunk), който е все още в разработка и ще бъде пуснат официално като версия 1.9.1 в края на 2008.
Ако искате да работите над Ruby 1.8, можете да ползвате ruby_1_8 клона:
$ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8
По този начин ще свалите Ruby 1.8 в ruby_1_8 директорията.
Ако искате, можете да прегледате хранилището на този адрес.
За повече информация относно Subversion, можете да посетите the Subversion FAQ и the Subversion book. Друг вариент е книгата Pragmatic Version Control with Subversion
Усъвършенстване, кръпка по кръпка
Основния екип поддържа a bug tracker за приемането на кръпки и репорти за бъгове. Тези репорти се публикуват също така и в пощенския списък Ruby-Core mailing list за дискусия.
На кратко стъпките за изготвянето на кръпка:
- Ако пишете кръпка за Ruby 1.8, изтеглете копие от Subversion, като използвате клона
ruby_1_8.Ако искате да добавите функционалност в Ruby, първо качете кръпката в trunk-а на Ruby сорс кода.$ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8
$ svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby
- Добавете подобренията на кода.
- Създайте кръпка.
$ svn diff > ruby-changes.patch
- Пратете елетронно писмо до Ruby-Core mailing list с CHANGELOG, описващ кръпката.
- Ако няма проблеми с кръпката, тя ще бъде предадена за одобрение.
Забележка: кръпките трябва да бъдат изпратени като unified diff. За повече информация вижте the diffutils reference.
Дискусията ще бъде пренесена на пощенския списък Ruby-Core mailing list.
Помнете, че екипа, който разработва Ruby живее в Япония и въпреки, че повечето владеят английски, има съществена часова разлика. Бъдете търпеливи и ако имате проблем – бъдете настойчиви, опитайте пак след няколко дни.
Правила за Core разработчиците
Разработчиците на Ruby трябва да са запознати в общи линии със сорс кода и стила на писане, използван от основния екип разработчици. За по-голяма яснота, моля спазвайте следните правила:
- Всички промени трябва да са описани в
ChangeLog, спазващи GNU конвенциите. (много рубисти ползват Emacsadd-logmode, който е достъпен с командатаC-x 4 a.) - Промените трябва да са в японско стандартно време (UTC+9).
- Означените точки във вашия ChangeLog трябва да присъстват в Subversion commit съобщение, което ще бъде пратено автоматично като електронна поща до Ruby-CVS списъка.
- Стила на писане използва K&R декларации на функциите в сорс кода на Ruby и неговите разширения.
- Моля, не ползвайте C++- стил на коментарите (
//), а. (/* .. */)
