PageRenderTime 128ms CodeModel.GetById 120ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/www/trunk/htdocs/devel.html

#
HTML | 171 lines | 129 code | 39 blank | 3 comment | 0 complexity | 9aa511849be83793bdaa1fc4c8a06e64 MD5 | raw file
  1<html>
  2<!-- begin devel.text -->
  3<!-- for jEdit: :mode=html:indentSize=2:tabSize=2:noTabs=true: -->
  4
  5<h1 id="development">jEdit Development</h1>
  6
  7<p> Developers, you'll want to bookmark this page. </p>
  8
  9<h2> Handy Links/TOC </h2>
 10<ul>
 11
 12<li><a href="index.php?page=feedback">Mailing list subscription</a>
 13</li>
 14<li> <a href="http://jedit.svn.sourceforge.net/viewvc/jedit/">Browse SVN</a>,
 15     <a href="http://jedit.git.sourceforge.net/git/gitweb-index.cgi">Browse Git</a>,
 16     read more at <a href="https://sourceforge.net/apps/mediawiki/jedit/index.php?title=Code_repositories">wiki</a>.
 17</li>
 18<li> <b>Docs:</b> <a href="http://www.jedit.org/users-guide/">Users Guide</a>,
 19<a href="api/index.html">API docs</a> </li>
 20<li> <b>Trackers: </b> <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=100588">Bugs</a>,
 21<a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=565475">Plugin Bugs</a>,
 22<a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=350588">Feature Requests</a>,
 23
 24<a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=997936">Plugin Feature Requests</a>,
 25<a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=625093">Plugin Central Submissions</a>,
 26<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>, 
 27<a href="https://sourceforge.net/tracker/?group_id=588&atid=1235750">Merge Requests</a> </li>
 28<li> <a href="#patches">Creating</a> and <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=300588">Submitting</a> patches. </li>
 29<li> <a href="http://plugins.jedit.org/releasing.php">Releasing plugins</a></li>
 30<li> <a href="#help">Want to join us? Help wanted!</a> </li>
 31<li> <a href="https://sourceforge.net/apps/mediawiki/jedit/index.php?title=Main_Page">Developers Zone</a> - the Wiki community. </li>
 32<li> <a href="#contributions">Types of Contributions</a> </li>
 33<li> <a href="#schedule">Release Schedule</a></li>
 34<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>
 35</ul>
 36
 37
 38<a name="schedule">
 39<h2> Release Schedule </h2>
 40</a>
 41<p> A new release of jEdit is scheduled to come out every 1-3 months.
 42Whether it is a "pre" or a final depends on what kinds of bugs
 43are reported/fixed.</p>
 44
 45
 46<ul>
 47<li> <b>jEdit 4.3pre9</b>: January 20 2007</li>
 48<li> <b>jEdit 4.3pre10</b>: July 15 2007</li>
 49<li> <b>jEdit 4.3pre11</b>: October 04 2007</li>
 50<li> <b>jEdit 4.3pre12</b>: December 08 2007</li>
 51<li> <b>jEdit 4.3pre13</b>: March 13 2008</li>
 52<li> <b>jEdit 4.3pre14</b>: April 27 2008</li>
 53<li> <b>jEdit 4.3pre15</b>: August 10 2008</li>
 54<li> <b>jEdit 4.3pre16</b>: November 19 2008</li>
 55<li> <b>jEdit 4.3pre17</b>: July 05 2009</li>
 56<li> <b>jEdit 4.3pre18</b>: November 07 2009</li>
 57<li> <b>jEdit 4.3</b>: December 23 2009</li>
 58<li> <b>jEdit 4.3.1</b>: January 28 2010</li>
 59<li> <b>jEdit 4.3.2</b>: May 09 2010</li>
 60<li> <b>jEdit 4.4pre1</b>: February 03 2011</li>
 61<li> <b>jEdit 4.3.3</b>: June 21 2011</li>
 62<li> <b>jEdit 4.4.1</b>: June 21 2011</li>
 63<li> <b>jEdit 4.4.2</b>: October 14 2011</li>
 64<li> <b>jEdit 4.5pre1</b>: November 19 2011</li>
 65<li> <b>jEdit 4.5.0</b>: January 31 2012</li>
 66</ul>
 67
 68<a name="help" >
 69<h2> Want to join us? Help Wanted! </h2>
 70</a>
 71
 72<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>
 73
 74<h2>Becoming a jEdit developer</h2>
 75
 76<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>
 77
 78<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>
 79
 80<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.
 81</p>
 82
 83<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>
 84
 85<p>Inclusion in the jEdit "development team" is informal and open to anyone. You can "join" simply by <a
 86href="index.php?page=feedback">subscribing to the <tt>jEdit-devel</tt> and
 87<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.
 88</p>
 89
 90<p>Membership in the <a
 91href="http://www.sourceforge.net/projects/jedit/">jEdit</a>
 92SourceForge 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.
 93</p>
 94
 95<a name="contributions" >
 96<h2>Specific contributions</h2>
 97</a>
 98
 99<h3>Reviewing other bug reports, patches</h3>
100
101<p> Some open patches need to be reviewed, some bugs can use extra information. 
102A review of the open tickets in trackers will quickly show you what is on 
103the mind of other users and developers. You can pick something to do based on
104that. </p>
105
106<h3>Writing/updating edit modes</h3>
107
108<p>Writing syntax highlighting modes is covered in detail in the jEdit user's guide.
109If you want your mode to be included with jEdit, send it along with a mode catalog
110entry, and an attached example file (for exotic languages) containing a code snippet
111in that language for testing, to the <a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=300588">jedit patches</a>
112tracker. </p>
113
114<h3>Writing macros</h3>
115
116<p>Macro development is covered in the jEdit user's guide. Macros should only
117be used for simple tasks; more complicated features should be coded as
118plugins. If you want your macro to be included with jEdit, send it to
119<a href="mailto:jedit-devel@lists.sourceforge.net">jedit-devel</a> or the
120<a href="https://sourceforge.net/tracker/?group_id=588&amp;atid=300588">jedit patches</a>
121tracker. </p>
122
123<h3>Writing plugins</h3>
124
125<p>Plugin development is covered in the jEdit user's guide, but the information there only scratches the surface, since plugins
126can 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>
127
128<p>
129Once your plugin is in a minimally useful state, send a message to the
130<tt>jEdit-users</tt> mailing list with a
131short summary of your plugin, and possibly a download link. Remember to
132release early and often - feedback at early stages of development is
133always a good thing.
134</p>
135
136<h3> Fixing plugin or core bugs </h3>
137
138<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>
139
140<p>
141If 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
142<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.
143</p>
144
145<a name="patches" >
146<h3>Creating and submitting Patches</h3>
147</a>
148<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.
149</p>
150
151<h3>Adding plugins to the Subversion repository</h3>
152
153<p>To get an account on the sourceforge jedit Subversion repository, first you need a <a href="http://www.sourceforge.net">SourceForge</a>
154user account.</p>
155
156<p> For your own plugin, add a file named "README.<i>name of plugin</i>" to the
157"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>
158
159<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>.
160See <a href="http://plugins.jedit.org/releasing.php">this page</a> to find out how.</p>
161
162
163<h2>Thanks</h2>
164
165<p>Special thanks to the <a href="http://www.gjt.org">Giant Java Tree</a>, which
166hosted the jEdit CVS and web site for the first few years of jEdit's
167development. </p>
168<p> Thanks to sourceforge.net for hosting and providing for free, all of the online services we need to collaborate. </p>
169<p> Questions? Ask on the <tt>jedit-devel</tt> mailing list. </p>
170<!-- end devel.text -->
171</html>