langtools/README
author aefimov
Mon, 28 Mar 2016 17:12:48 +0300
changeset 36731 e4ad29a03b76
parent 19931 f82b95ab8015
permissions -rw-r--r--
8073872: Schemagen fails with StackOverflowError if element references containing class Reviewed-by: lancea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     1
Building the "langtools" workspace.
06bc494ca11e Initial load
duke
parents:
diff changeset
     2
06bc494ca11e Initial load
duke
parents:
diff changeset
     3
The "langtools" workspace can be built from the command line with Ant.
06bc494ca11e Initial load
duke
parents:
diff changeset
     4
The build file is make/build.xml, in conjunction with make/build.properties.
06bc494ca11e Initial load
duke
parents:
diff changeset
     5
Some additional user-specific properties files are also read, to allow
06bc494ca11e Initial load
duke
parents:
diff changeset
     6
you to customize selected properties as needed.
06bc494ca11e Initial load
duke
parents:
diff changeset
     7
06bc494ca11e Initial load
duke
parents:
diff changeset
     8
Individual tools within the workspace can also be built and worked on
06bc494ca11e Initial load
duke
parents:
diff changeset
     9
with NetBeans, using the projects in the make/netbeans directory.
06bc494ca11e Initial load
duke
parents:
diff changeset
    10
06bc494ca11e Initial load
duke
parents:
diff changeset
    11
The "langtools" workspace can also be built from the command line with
06bc494ca11e Initial load
duke
parents:
diff changeset
    12
GNU Make, although the Makefile is simply a wrapper around the Ant
06bc494ca11e Initial load
duke
parents:
diff changeset
    13
build file. This is provided for systems (such as the full OpenJDK build)
06bc494ca11e Initial load
duke
parents:
diff changeset
    14
that expect to be able to build this workspace with GNU Make.
06bc494ca11e Initial load
duke
parents:
diff changeset
    15
06bc494ca11e Initial load
duke
parents:
diff changeset
    16
System Requirements:
06bc494ca11e Initial load
duke
parents:
diff changeset
    17
  Ant:      version 1.6.5 or later
2854
47bb5c4cb85e 6843041: Remove duplicate README files in repositories (make/README)
ohair
parents: 10
diff changeset
    18
  NetBeans: version 6.0 or later (optional)
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    19
  JDK:      currently version 1.5.0, although 1.6.0 is recommended
06bc494ca11e Initial load
duke
parents:
diff changeset
    20
  OS:       any system supporting the above tools
06bc494ca11e Initial load
duke
parents:
diff changeset
    21
06bc494ca11e Initial load
duke
parents:
diff changeset
    22
For more information:
06bc494ca11e Initial load
duke
parents:
diff changeset
    23
  Ant:      http://ant.apache.org/
06bc494ca11e Initial load
duke
parents:
diff changeset
    24
  GNU Make: http://www.gnu.org/software/make/
06bc494ca11e Initial load
duke
parents:
diff changeset
    25
  NetBeans: http://www.netbeans.org/
06bc494ca11e Initial load
duke
parents:
diff changeset
    26
06bc494ca11e Initial load
duke
parents:
diff changeset
    27
06bc494ca11e Initial load
duke
parents:
diff changeset
    28
Testing the "langtools" workspace.
06bc494ca11e Initial load
duke
parents:
diff changeset
    29
06bc494ca11e Initial load
duke
parents:
diff changeset
    30
The primary set of tests for the compiler is the compiler TCK. This
06bc494ca11e Initial load
duke
parents:
diff changeset
    31
tests that the compiler performs according to the specifications in
06bc494ca11e Initial load
duke
parents:
diff changeset
    32
JLS and JVMS.
06bc494ca11e Initial load
duke
parents:
diff changeset
    33
06bc494ca11e Initial load
duke
parents:
diff changeset
    34
In addition, there is a substantial collection of regression and unit
19931
f82b95ab8015 8015322: Javac template test framework
emc
parents: 2854
diff changeset
    35
tests for all the tools in the main langtools test/ directory.
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    36
06bc494ca11e Initial load
duke
parents:
diff changeset
    37
Finally, there is a small set of tests to do basic validation of a build
06bc494ca11e Initial load
duke
parents:
diff changeset
    38
of the langtools workspace for use by JDK. These tests check the contents
06bc494ca11e Initial load
duke
parents:
diff changeset
    39
of the dist/ directory generated by the build, and verify that the various
06bc494ca11e Initial load
duke
parents:
diff changeset
    40
tools can do basic "Hello World"-style processing. These tests should be
06bc494ca11e Initial load
duke
parents:
diff changeset
    41
run by jtreg, with the -jdk option set a version of JDK capable of running
06bc494ca11e Initial load
duke
parents:
diff changeset
    42
the default output of the javac compiler in this workspace. Currently, 
06bc494ca11e Initial load
duke
parents:
diff changeset
    43
this means JDK 6 or better.