PageRenderTime 52ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/www/trunk/htdocs/devel.html

#
HTML | 171 lines | 129 code | 39 blank | 3 comment | 0 complexity | 9aa511849be83793bdaa1fc4c8a06e64 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. <html>
  2. <!-- begin devel.text -->
  3. <!-- for jEdit: :mode=html:indentSize=2:tabSize=2:noTabs=true: -->
  4. <h1 id="development">jEdit Development</h1>
  5. <p> Developers, you'll want to bookmark this page. </p>
  6. <h2> Handy Links/TOC </h2>
  7. <ul>
  8. <li><a href="index.php?page=feedback">Mailing list subscription</a>
  9. </li>
  10. <li> <a href="http://jedit.svn.sourceforge.net/viewvc/jedit/">Browse SVN</a>,
  11. <a href="http://jedit.git.sourceforge.net/git/gitweb-index.cgi">Browse Git</a>,
  12. read more at <a href="https://sourceforge.net/apps/mediawiki/jedit/index.php?title=Code_repositories">wiki</a>.
  13. </li>
  14. <li> <b>Docs:</b> <a href="http://www.jedit.org/users-guide/">Users Guide</a>,
  15. <a href="api/index.html">API docs</a> </li>
  16. <li> <b>Trackers: </b> <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=100588">Bugs</a>,
  17. <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=565475">Plugin Bugs</a>,
  18. <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=350588">Feature Requests</a>,
  19. <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=997936">Plugin Feature Requests</a>,
  20. <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=625093">Plugin Central Submissions</a>,
  21. <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=300588">Patches</a>, <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=997936">Plugin Patches</a>,
  22. <a href="https://sourceforge.net/tracker/?group_id=588&atid=1235750">Merge Requests</a> </li>
  23. <li> <a href="#patches">Creating</a> and <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=300588">Submitting</a> patches. </li>
  24. <li> <a href="http://plugins.jedit.org/releasing.php">Releasing plugins</a></li>
  25. <li> <a href="#help">Want to join us? Help wanted!</a> </li>
  26. <li> <a href="https://sourceforge.net/apps/mediawiki/jedit/index.php?title=Main_Page">Developers Zone</a> - the Wiki community. </li>
  27. <li> <a href="#contributions">Types of Contributions</a> </li>
  28. <li> <a href="#schedule">Release Schedule</a></li>
  29. <li> <a href="http://www.tellurianring.com/projects/jedit-daily/">Daily Builds</a> - The core + many plugins under development have daily builds you can download here. </li>
  30. </ul>
  31. <a name="schedule">
  32. <h2> Release Schedule </h2>
  33. </a>
  34. <p> A new release of jEdit is scheduled to come out every 1-3 months.
  35. Whether it is a "pre" or a final depends on what kinds of bugs
  36. are reported/fixed.</p>
  37. <ul>
  38. <li> <b>jEdit 4.3pre9</b>: January 20 2007</li>
  39. <li> <b>jEdit 4.3pre10</b>: July 15 2007</li>
  40. <li> <b>jEdit 4.3pre11</b>: October 04 2007</li>
  41. <li> <b>jEdit 4.3pre12</b>: December 08 2007</li>
  42. <li> <b>jEdit 4.3pre13</b>: March 13 2008</li>
  43. <li> <b>jEdit 4.3pre14</b>: April 27 2008</li>
  44. <li> <b>jEdit 4.3pre15</b>: August 10 2008</li>
  45. <li> <b>jEdit 4.3pre16</b>: November 19 2008</li>
  46. <li> <b>jEdit 4.3pre17</b>: July 05 2009</li>
  47. <li> <b>jEdit 4.3pre18</b>: November 07 2009</li>
  48. <li> <b>jEdit 4.3</b>: December 23 2009</li>
  49. <li> <b>jEdit 4.3.1</b>: January 28 2010</li>
  50. <li> <b>jEdit 4.3.2</b>: May 09 2010</li>
  51. <li> <b>jEdit 4.4pre1</b>: February 03 2011</li>
  52. <li> <b>jEdit 4.3.3</b>: June 21 2011</li>
  53. <li> <b>jEdit 4.4.1</b>: June 21 2011</li>
  54. <li> <b>jEdit 4.4.2</b>: October 14 2011</li>
  55. <li> <b>jEdit 4.5pre1</b>: November 19 2011</li>
  56. <li> <b>jEdit 4.5.0</b>: January 31 2012</li>
  57. </ul>
  58. <a name="help" >
  59. <h2> Want to join us? Help Wanted! </h2>
  60. </a>
  61. <p> Specific requests for help can be found on the <a href="https://sourceforge.net/apps/mediawiki/jedit/index.php?title=Help_Wanted">wiki page</a>. </p>
  62. <h2>Becoming a jEdit developer</h2>
  63. <p> <a href="https://sourceforge.net/apps/mediawiki/jedit/index.php?title=Roadmap">Core Development Road Map</a> contains a road map of what needs to be done, and who is paying attention to what in the core. </p>
  64. <p>jEdit is always looking for more people to help. If you examine the <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=350588">Feature Requests</a> and open <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=100588">Bugs</a>, you will see that many of them are "unassigned". </p>
  65. <p> Most of our code is managed using an open-source tool called Subversion. It is recommended you learn the basics of this tool, to help you keep up to date on the latest changes from other developers, as well as to generate patches against specific file revisions.
  66. </p>
  67. <p> Slava is no longer actively involved in development, and many other plugin authors have also left the community and are not maintaining their plugins. Some plugins have a new maintainer, others have been replaced by newer plugins. Once you become a developer, we can always use help by closing some of these open issues. You can make comments on them, or if you want to assign yourself tracker items, feel free. </p>
  68. <p>Inclusion in the jEdit "development team" is informal and open to anyone. You can "join" simply by <a
  69. href="index.php?page=feedback">subscribing to the <tt>jEdit-devel</tt> and
  70. <tt>jEdit-users</tt> mailing lists</a>. Your level and focus of involvement is entirely up to you. For active developers, it is also highly recommended you join <a href="http://lists.sourceforge.net/mailman/listinfo/jedit-cvs">jedit-commits</a> which includes commit logs on the subversion repository. Watching this list allows you to see clearly who are the active developers, and precisely what they are working on.
  71. </p>
  72. <p>Membership in the <a
  73. href="http://www.sourceforge.net/projects/jedit/">jEdit</a>
  74. SourceForge project is granted on an as-needed basis. If you join the jEdit mailing lists, participate, and end up working on one or more plugins (either your own, or existing ones), then you can ask one of the administrators of the project for access to the CVS or SVN repository. If you still find yourself with inadquate permissions to do your work, ask one of the project administrators for the permissions you need. This includes access to statistics, databases, etc.
  75. </p>
  76. <a name="contributions" >
  77. <h2>Specific contributions</h2>
  78. </a>
  79. <h3>Reviewing other bug reports, patches</h3>
  80. <p> Some open patches need to be reviewed, some bugs can use extra information.
  81. A review of the open tickets in trackers will quickly show you what is on
  82. the mind of other users and developers. You can pick something to do based on
  83. that. </p>
  84. <h3>Writing/updating edit modes</h3>
  85. <p>Writing syntax highlighting modes is covered in detail in the jEdit user's guide.
  86. If you want your mode to be included with jEdit, send it along with a mode catalog
  87. entry, and an attached example file (for exotic languages) containing a code snippet
  88. in that language for testing, to the <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=300588">jedit patches</a>
  89. tracker. </p>
  90. <h3>Writing macros</h3>
  91. <p>Macro development is covered in the jEdit user's guide. Macros should only
  92. be used for simple tasks; more complicated features should be coded as
  93. plugins. If you want your macro to be included with jEdit, send it to
  94. <a href="mailto:jedit-devel@lists.sourceforge.net">jedit-devel</a> or the
  95. <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=300588">jedit patches</a>
  96. tracker. </p>
  97. <h3>Writing plugins</h3>
  98. <p>Plugin development is covered in the jEdit user's guide, but the information there only scratches the surface, since plugins
  99. can do anything any Java program can. You can learn more by looking at the sourcecode of another plugin which does something similar to what you want. </p>
  100. <p>
  101. Once your plugin is in a minimally useful state, send a message to the
  102. <tt>jEdit-users</tt> mailing list with a
  103. short summary of your plugin, and possibly a download link. Remember to
  104. release early and often - feedback at early stages of development is
  105. always a good thing.
  106. </p>
  107. <h3> Fixing plugin or core bugs </h3>
  108. <p> Even if you can't fix a bug yourself, you can still help in its eventual resolution by adding useful comments or metadata to the existing tracker items. If you want to help in categorizing or closing bugs, just ask for tracker admin permissions from one of the existing project admins. </p>
  109. <p>
  110. If you want to make changes to existing plugins, or jEdit itself, make sure that you are working on the latest released (i.e. development) versions. Until you are ready to commit directly, you can submit your patches via the
  111. <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=300588">jedit patches</a> tracker, as an attachment or a comment in the actual tracker item. After you have submitted a few patches, you can ask for permission to commit directly.
  112. </p>
  113. <a name="patches" >
  114. <h3>Creating and submitting Patches</h3>
  115. </a>
  116. <p> We prefer patches which are generated against the latest "trunk" in subversion. By checking out a copy of the source and making changes to your local copy, you can create a patch by simply typing <tt>svn diff</tt>, (or <tt>cvs diff</tt>, if it's in CVS) from the root directory of your project. This command will give you context, as well as version numbers for all differences between your versions and the versions you checked out from the repository. Redirect this command to a file and attach it with proper documentation to a <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=300588">patches</a> tracker item.
  117. </p>
  118. <h3>Adding plugins to the Subversion repository</h3>
  119. <p>To get an account on the sourceforge jedit Subversion repository, first you need a <a href="http://www.sourceforge.net">SourceForge</a>
  120. user account.</p>
  121. <p> For your own plugin, add a file named "README.<i>name of plugin</i>" to the
  122. "guidelines" module detailing your policy regarding others making changes; if they should ask for permission first, if they should commit directly or send a patch, and so on.</p>
  123. <p>Once you feel your plugin is reasonably complete (this should be determined partly by feedback you get during the development process), you can post your submission on the submissions tracker. At this point, it will become a candidate for release on <a href="http://plugins.jedit.org">plugin central</a>.
  124. See <a href="http://plugins.jedit.org/releasing.php">this page</a> to find out how.</p>
  125. <h2>Thanks</h2>
  126. <p>Special thanks to the <a href="http://www.gjt.org">Giant Java Tree</a>, which
  127. hosted the jEdit CVS and web site for the first few years of jEdit's
  128. development. </p>
  129. <p> Thanks to sourceforge.net for hosting and providing for free, all of the online services we need to collaborate. </p>
  130. <p> Questions? Ask on the <tt>jedit-devel</tt> mailing list. </p>
  131. <!-- end devel.text -->
  132. </html>