[
http://issues.apache.org/jira/browse/DERBY-1079?page=comments#action_12374223 ]
Rick Hillegas commented on DERBY-1079:
--------------------------------------
As a first step, I would like to check in the latest version of JavaCC (4.0).
This involves making the following change to
trunk/java/tools/org/apache/derby/impl/tools/build.xml. For some reason, two
generated grammars (ij and mtGrammar) are currently compiled against the jdk1.3
libraries; the new JavaCC generates code which invokes a RuntimeException
constructor not available in 1.3. This change moves that grammar compilation to
the corresponding jdk14 build target:
< <exclude name="${derby.dir}/impl/tools/ij/ij.java"/>
< <exclude name="${derby.dir}/impl/tools/ij/mtGrammar.java"/>
78,79d75
< <include name="${derby.dir}/impl/tools/ij/ij.java"/>
< <include name="${derby.dir}/impl/tools/ij/mtGrammar.java"/>
The new JavaCC does not generate code using the "enum" keyword for variable
names. These illegal variable names choked the jdk1.6 javadoc tool. Using the
new JavaCC, I am able to build javadoc under 1.6.
I will run derbyall before proceeding with this patch. Does anyone know why I
should not make this change and upgrade our checked-in version of JavaCC to the
latest 4.0 version?
> Build javadoc under jdk 1.6
> ----------------------------
>
> Key: DERBY-1079
> URL: http://issues.apache.org/jira/browse/DERBY-1079
> Project: Derby
> Type: Bug
> Components: Build tools
> Versions: 10.2.0.0
> Reporter: Rick Hillegas
> Assignee: Rick Hillegas
> Fix For: 10.2.0.0
>
> We would like to build the javadoc under 1.6 so that all of the classes
> (including the JDBC 3 and JDBC 4 support) end up in the same directory tree.
> This is particularly important for the published API which we expose to
> end-users.
> Right now you can do the following:
> 1) Build the whole codeline using the 1.4 compiler for most classes and the
> 1.6 compiler for the JDBC4 support.
> 2) Build javadoc in a 1.4 environment (with JAVA_HOME set to 1.4). This runs
> step (1) if it has not already happened. This javadoc excludes the JDBC4
> support because generics-laden JDBC4 signatures choke the 1.4 compiler.
> 3) Build the javadoc in a 1.6 environment (with JAVA_HOME set to 1.6). This
> will fail if you have not run step (1); this is because you can't build Derby
> in a 1.6 environment yet. This also generates a number of warnings because
> the 1.6 javadoc tool objects to code generated by the JAVACC grammar tool;
> JAVACC turns out code with loop variables distastefully named "enum". In
> addition, today, the 1.6 javadoc excludes the JDBC4 support.
> We would like to end up with the following situation:
> a) If your ant.properties points at a 1.6 installation, then the javadoc
> targets will use the 1.6 javadoc tool and will include Derby's JDBC4 support.
> This will work regardless of whether you have already built the class tree.
> If you have not already built the class tree, then we will compile it under
> scenario (1) above.
> b) If, however, your ant.properties does not point at a 1.6 installation,
> then the javadocs target will continue to use the 1.4 javadoc tool to build
> only the classes built today. The JDBC4 support will be excluded from this
> javadoc.
> c) As part of releasing 10.2, we will build the javadoc under scenario (a).
> d) Once 1.6 exits beta and becomes a production vm, the community can debate
> when we want to fix DERBY-1078 and require 1.6 in the build environment.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira