[RSS]
External binaries (*/external/*.jar etc.) are no longer handled specially by Mercurial; rather, lists of the desired binaries are kept as regular text files, and the download of the binaries from the server (or your local cache) is done by an Ant task which is part of the build.

For people not managing external binaries, the change should be transparent: just fetch and run a build normally.

For people who do manage external binaries, your existing binaries have already been converted. To add or upgrade a new binary, you will need to first upload the binary to the server using a web form:

http://hg.netbeans.org/binaries/upload

(log in with the same username & password you use to push to Hg) and then edit your external/binaries-list file to include the one-line reference to the binary. Commit and push this change normally after testing. (It is harmless to upload a binary but not use it.) To remove a binary, just delete its entry in binaries-list.

For people who maintain a long-lived branch in which binaries differ from those in main:

  1. Merge normally with main (at some revision after #2109af7f1da2).
  2. hg rm your actual binary file.
  3. Add the entry to binaries-list instead.
  4. Run at least ant bootstrap (if not a full build).

Binaries are downloaded from http://hg.netbeans.org/binaries/ (can be overridden as binaries.server in nbbuild/user.build.properties or on the Ant command line). They are cached in ~/.hgexternalcache (again can be overridden as binaries.cache). When nbbuild/build.xml#bootstrap is run, all */external/binaries-list (also in contrib, if present) are checked for new downloads. When yourmodule/build.xml#build-init is run, just yourmodule/external/binaries-list is checked.

Tracking: Issue 141817

For information on policies related to external binaries (naming, licensing, ...), see DevFaqExternalLibraries.


Tip: If you are getting a hash conflict on the binary files in NetBeans 6.5 sources, you might have a corrupt external cache. Delete the ~/.hgexternalcache/ folder, or just the offending file in it, and try again. This class of error should not occur in NetBeans 7.0+ sources, so file a bug report (component nbbuild) if you see it.