NbPythonHgBuild

Building NetBeans IDE source for Python Development

For the generic guide to work with NetBeans sources, see http://wiki.netbeans.org/HgNetBeansSources

This build requires JDK 7, and assumes you have installed ant and Mercurial, and both are included on your system's path.


Obtaining the Sources

  • Open a terminal (command prompt) window, and navigate to a directory (folder) where you want the code to reside.
  • Clone the core-main repository.
    hg clone http://hg.netbeans.org/core-main
  • Navigate to the main root directory (just created by the hg clone command), and clone the contrib repository.
    hg clone http://hg.netbeans.org/main/contrib
    This will create the contrib directory containing the Python sources (and other community-supported projects).

Building

  • After the clone is over, go to the main/nbbuild directory and create the file user.build.properties with the following recommended entries:
cluster.config=python
nbjdk.home=[Your JDK location here]
permit.jdk7.builds=true
build.compiler=extJavac
javac.compilerargs=-J-Xmx512m

Line 1 allows building with JDK 7.
Line 2: You must enter the path to your JDK here. On Windows, use double-backslashes. (e.g. nbjdk.home=C:\\Program Files\\Java\\jdk1.7.0_71)
Lines 3 and 4 point to the 'javac' compiler details.

  • Now execute ant from the nbbuild directory. This starts the build process.
  • After the build is successful, navigate to the nbbuild/netbeans/bin directory to fire up the NetBeans executable (netbeans[.exe]).

Debugging

If you need to debug the resulting netbeans executable, add the following line to your user.build.properties :
build.compiler.debug=true

and build again. You can follow the ‘Debugging the NetBeans Platform' guide as a starting point for debugging the NetBeans/Python environment.

Working with mercurial

Mercurial is the distributed version control software used by Netbeans and the Python NetBeans module. The starting point to use it is the 'Netbeans Mercurial How-to'

When working daily (or nightly!) in the Netbeans python code you may be faced with urgent simple fixes (ready to commit) mixed with more complex changes that you want keep locally until they reach a stable state. Meanwhile another developer has pushed modifications ready to be merged. This tricky situation may happen often and you'll may find yourself scratching your head when you see the infamous:

$ hg merge
abort: outstanding uncommitted changes

Tor Norbye provided some good Mercurial tips regarding this scenario on his blog.

Filing Bugs

Before filing a bug, check for duplicates by searching Bugzilla at https://netbeans.org/bugzilla/query.cgi?format=advanced&product=python
If you find an existing report for your bug, please comment on it and/or "vote" for it.
Otherwise, file your newly-found bug under the Python category: http://www.netbeans.org/issues/enter_bug.cgi?component=python&issue_type=DEFECT

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo