1 Working On Java[TM] Management Extensions (JMX[TM)) Using NetBeans IDE
   2 
   3 README FIRST
   4  
   5   make/netbeans/README for getting started with NetBeans IDE and OpenJDK,
   6   and workings with OpenJDK NetBeans projects. 
   7 
   8 This README focusses on working on the OpenJDK JMX API using NetBeans IDE.
   9 
  10   This NetBeans project for OpenJDK JMX allows you to modify, build, and test
  11   the JMX API in a standalone manner. It can also be used to generate 
  12   the JMX API documentation for preview.
  13 
  14   The JMX API does not contain native code. It is a pure java library. 
  15   You do not need to install all the Java SE sources to work on JMX,
  16   you only need the following subset:
  17 
  18             make/netbeans/
  19             src/share/classes/com/sun/jmx/
  20             src/share/classes/javax/management/
  21             test/TEST.ROOT
  22             test/com/sun/management/
  23             test/java/lang/management/
  24             test/javax/management/
  25 
  26   If you don't want to build the whole JDK, you will also need a 
  27   pre-built version of OpenJDK (or JDK 7). Edit your 
  28 
  29             $HOME/.openjdk/build.properties
  30 
  31   file (create it if you don't have one yet) and set the bootstrap.jdk variable 
  32   point to that JDK:
  33 
  34             bootstrap.jdk=<JDK_7_HOME>
  35 
  36   Then from within NetBeans IDE open the JMX project, and invoke the 
  37   "Build Project" and "Test Project" target. Note that running all the
  38   tests for JMX takes a while. The build may also fail if it doesn't 
  39   find a directory named src/${platform}. This may happen if you haven't
  40   installed all OpenJDK sources. In this case, you can simply
  41   create an empty directory with the name expected by the build mechanism.
  42          
  43   Which tests are run are defined by the jtreg.test variable declared
  44   in make/netbeans/jmx/build.properties. Note that JMX tests are all
  45   placed under test/javax/management/.   test/java/lang/management/
  46   and test/com/sun/management/ contain some tests that happen to
  47   use JMX and we therefore recommend to run these tests too.
  48 
  49   If you are working on a JMX fix, don't forget to create a 
  50   corresponding jtreg unit test under test/javax/management/. 
  51   You can look at existing tests to see how this is done.
  52 
  53 The set of actions defined in this project are:
  54 
  55 * Build Project:
  56 
  57   - Compiles JMX API source files and puts the class files under
  58     build/${platform}-${arch}/classes.
  59 
  60   - Generates a JMX jar file under dist/lib/jmx.jar. To use your modified
  61     JMX classes instead of the built-in JDK classes you will need
  62     to put this jar file in front of the bootclasspath:
  63 
  64        java -Xbootclasspath/p:dist/lib/jmx.jar mytestapp.MyAppMainClass
  65 
  66 * Generate Javadoc for Project
  67 
  68   - Generates the JMX API Documentation under
  69 
  70     build/${platform}-${arch}/javadoc/jmx.
  71 
  72 * Test Project
  73 
  74   - Runs the JMX and Management and Monitoring jtreg unit tests.
  75 
  76   - The results are written under build/${platform}-${arch}/jtreg/jmx
  77     and the HTML test report can be found at
  78     build/${platform}-${arch}/jtreg/jmx/JTreport/report.html.
  79 
  80 * Clean Project
  81 
  82   - Cleans the files created by this projet under build/ 
  83     Some files may remain.
  84 
  85 
  86 IMPORTANT NOTE
  87 
  88   Please make sure to follow carefully the governance rules documented at
  89   http://openjdk.dev.java.net/
  90