Category:Development: Difference between revisions

From Octave
Jump to navigation Jump to search
(Better announce developer meetings.)
mNo edit summary
Line 1: Line 1:
:''This page contains links to pages of interest to Octave developers.''
:''This page contains links to pages of interest to Octave developers.''


== 💡 Getting started ==
= 💡 Getting started 🔰 =
* [[Developer FAQ]] -- Start here.
* [[Developer FAQ]] -- Start here.
* [[Contribution guidelines]] for Octave
* [[Contribution guidelines]] for Octave
Line 8: Line 8:
** [[Help text style guide]]
** [[Help text style guide]]


== 🔬 Octave development ==
= 🔬 Octave development =


: {{Note|Attend our [[:Category:Meetings | Monthly developer meetings]].}}
: {{Note|Attend our [[:Category:Meetings | Monthly developer meetings]].}}


=== 🛠️ [[:Category:Building|Building]] ===
== 🛠️ [[:Category:Building|Building]] ==


* [[Building]] -- General information how to build Octave from source.
* [[Building]] -- General information how to build Octave from source.
Line 21: Line 21:
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Large array support]] --
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Large array support]] --


==== 🔧 Tools ====
=== 🔧 Tools ===


* [[Mercurial]] -- How to use Octave's version control scheme, creating patches (changesets).
* [[Mercurial]] -- How to use Octave's version control scheme, creating patches (changesets).
Line 28: Line 28:
* [[:Category:Editors|Editors]] -- A list of editors supporting Octave syntax highlighting.
* [[:Category:Editors|Editors]] -- A list of editors supporting Octave syntax highlighting.


=== ⚖️ [[:Category:Testing|Testing]] ===
== ⚖️ [[:Category:Testing|Testing]] ==


* [[Tests]]
* [[Tests]]
Line 34: Line 34:
* [[Add BIST tests for octave functions written in C++|BIST for C++ files]]
* [[Add BIST tests for octave functions written in C++|BIST for C++ files]]


=== 🐞 Debugging ===
== 🐞 Debugging ==


* [[Debugging Octave]] -- How to use [https://www.gnu.org/software/gdb/ gdb] to obtain stack traces.
* [[Debugging Octave]] -- How to use [https://www.gnu.org/software/gdb/ gdb] to obtain stack traces.
* [[Finding Memory Leaks]] -- How to use [https://www.valgrind.org/ valgrind].
* [[Finding Memory Leaks]] -- How to use [https://www.valgrind.org/ valgrind].


=== 🎉 [[:Category:Releases|Releasing]] ===
== 🎉 [[:Category:Releases|Releasing]] ==


* The next major release will be '''GNU Octave 7.1'''.  The release procedure has not yet started.  Use '''[[6.1 Release Checklist]]''' as template for organization.
* The next major release will be '''GNU Octave 7.1'''.  The release procedure has not yet started.  Use '''[[6.1 Release Checklist]]''' as template for organization.
Line 45: Line 45:
* "Nightly" Octave releases on https://octave.space
* "Nightly" Octave releases on https://octave.space


=== 🎯 Goals for upcoming releases ===
== 🎯 Goals for upcoming releases ==


As discussed in the [[Online Developer Meeting (2020-10-27)]], this wiki section is for a list of possible goals for the next release.  Although anyone may edit the wiki, '''this section is intended for active developers, not a place to dump wishlist items or feature requests'''.  Please create a subsection for your ideas/priorities.
As discussed in the [[Online Developer Meeting (2020-10-27)]], this wiki section is for a list of possible goals for the next release.  Although anyone may edit the wiki, '''this section is intended for active developers, not a place to dump wishlist items or feature requests'''.  Please create a subsection for your ideas/priorities.


==== jwe priorities ====
=== jwe priorities ===
:''See also [[JWE Project Ideas]] for additional info about some of these items.''
:''See also [[JWE Project Ideas]] for additional info about some of these items.''


Line 63: Line 63:
* Accept Matlab's new argument validation syntax in parser.
* Accept Matlab's new argument validation syntax in parser.


== [[:Category:Project_Ideas|Project ideas]] and work in progress ==
= 💡 [[:Category:Project_Ideas|Project ideas]] and work in progress =
 
* [[Short projects]] -- Good starting point to get into the Octave development.
* [[Short projects]] -- Good starting point to get into the Octave development.
* [[Summer of Code - Getting Started]] -- Ideas page for GSoC, SOCIS, ... projects.
* [[Summer of Code - Getting Started]] -- Ideas page for GSoC, SOCIS, ... projects.
Line 73: Line 74:
** [[Pythonic]] -- Calling Python functions directly from Octave.
** [[Pythonic]] -- Calling Python functions directly from Octave.


== Other ==
= Other =
 
* [[Project Infrastructure]]
* [[Project Infrastructure]]


[[Category:Contents]]
[[Category:Contents]]

Revision as of 02:54, 26 April 2021

This page contains links to pages of interest to Octave developers.

💡 Getting started 🔰

🔬 Octave development

🛠️ Building

🔧 Tools

  • Mercurial -- How to use Octave's version control scheme, creating patches (changesets).
  • Doxygen -- Documentation for C++ files
  • ccache -- How to faster compile Octave.
  • Editors -- A list of editors supporting Octave syntax highlighting.

⚖️ Testing

🐞 Debugging

🎉 Releasing

🎯 Goals for upcoming releases

As discussed in the Online Developer Meeting (2020-10-27), this wiki section is for a list of possible goals for the next release. Although anyone may edit the wiki, this section is intended for active developers, not a place to dump wishlist items or feature requests. Please create a subsection for your ideas/priorities.

jwe priorities

See also JWE Project Ideas for additional info about some of these items.
  • Bug fixes, especially those related to compatibility issues.
  • Work through the open bug reports for which patches have been submitted. Review/apply/reject and close as many of these reports as possible.
  • Refactor/rewrite code for handling load path.
  • Refactor/rewrite exist and which functions.
  • Create a low-level interface to HDF5 functions.
  • Support Matlab's HDF5-based MAT file format using the proposed low-level interface to HDF5 functions.
    • Allow all types of function handles to be saved and loaded.
    • Allow classdef objects to be saved and loaded.
  • Replace the terminal widget in the GUI.
  • Accept Matlab's new argument validation syntax in parser.

💡 Project ideas and work in progress

Other