/incubator-netbeans

Apache Netbeans (Incubating)

Primary LanguageJavaApache License 2.0Apache-2.0

Apache NetBeans

Apache NetBeans is an open source development environment, tooling platform, and application framework.

Build status

  • TravisCI:
    • Build Status
  • Apache Jenkins:
    • Linux: Build Status
    • Windows: Build Status

Requirements

  • Git
  • Ant 1.9.9 or above
  • Oracle JDK 8 or OpenJDK 8 (to build NetBeans)
  • Oracle JDK 9 or OpenJDK 9 (to run NetBeans)

Note: NetBeans also runs with JDK 8, although then it will not include tools for the JDK 9 Shell.

Note: NetBeans license violation checks are managed via the rat-exclusions.txt file.

Building NetBeans

Build with the default config (See the cluster.config property.)

$ ant

Build the basic project (mainly, JavaSE features):

$ ant -Dcluster.config=basic

Build the full project (including Groovy, PHP, JavaEE/JakartaEE, and JavaScript features):

$ ant -Dcluster.config=full

Build the NetBeans Platform:

$ ant -Dcluster.config=platform

Note: You can also use php, enterprise, etc. See the cluster.properties file.

Running NetBeans

Run the build:

$ ant tryme

Note: Look in nbbuild/netbeans for the NetBeans installation created by the build process.

Get In Touch

Subscribe or mail the users@netbeans.incubator.apache.org list - Ask questions, find answers, and also help other users.

Subscribe or mail the dev@netbeans.incubator.apache.org list - Join development discussions, propose new ideas and connect with contributors.

Download

Developer builds can be downloaded: https://builds.apache.org/job/incubator-netbeans-linux.

Convenience binary of released source artifacts: https://netbeans.apache.org/download/index.html.

Reporting Bugs

Bugs should be reported to https://issues.apache.org/jira/projects/NETBEANS/issues/

Full History

The origins of the code in this repository are older than its Apache existence. As such significant part of the history (before the code was donated to Apache) is kept in an independent repository. To fully understand the code you may want to merge the modern and ancient versions together:

$ git clone https://github.com/apache/incubator-netbeans.git
$ cd incubator-netbeans
$ git log uihandler/arch.xml

This gives you just few log entries including the initial checkin and change of the file headers to Apache. But then the magic comes:

$ git remote add emilian https://github.com/emilianbold/netbeans-releases.git
$ git fetch emilian # this takes a while, the history is huge!
$ git replace 6daa72c98 32042637 # the 1st donation
$ git replace 6035076ee 32042637 # the 2nd donation

When you search the log, or use the blame tool, the full history is available:

$ git log uihandler/arch.xml
$ git blame uihandler/arch.xml

Many thanks to Emilian Bold who converted the ancient history to his Git repository and made the magic possible!