[
https://issues.apache.org/jira/browse/DERBY-3984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Hillegas updated DERBY-3984:
---------------------------------
Attachment: derby-3984-01-aa-defaultToJsr169.diff
Attaching derby-3984-01-aa-defaultToJsr169.diff. This patch makes the changes
described above, defaulting most build targets to use the classpath for small
device platforms.
The practical consequence of applying this patch is this: When someone checks
in a change which violates the small device contract, the build will break for
developers who have wired the small device jars into their build environment.
(Developers do that by setting the jsr169compile.classpath variable in
ant.properties.) This will give us early warning when the small device contract
has been broken, prompting us to fix these problems quickly.
Some build targets had to be changed to explicitly keep using the JDK 1.4
classpath as they do today. I suspect that we would prefer that some of these
targets defaulted to the small device classpath. Fixing the code to make that
possible is not part of this JIRA. Follow-on JIRAs can be filed to fix these
targets. In particular, you will notice the following:
1) The tools are built against the JDK 1.4 classpath.
2) So is the OSGI support.
3) So are a lot of tests.
Touches the following files:
M build.xml
M tools/ant/properties/compilepath.properties
Sets the default compiler classpath to be the small device classpath. Fixes up
the stub compilers to use the appropriate classpaths.
M java/stubs/jsr169/javax/sql/RowSet.java
Removes some useless imports which were breaking the build.
M java/demo/toursdb/build.xml
Compiles toursdb against the JDK 1.4 libraries.
M java/tools/org/apache/derby/impl/tools/build.xml
Compiles the tools against the JDK 1.4 libraries.
M java/engine/org/apache/derby/osgi/build.xml
Compiles the OSGI support against the JDK 1.4 libraries.
M java/engine/org/apache/derby/iapi/jdbc/build.xml
Moves the compilation of an XA support class into a target which uses the JDK
1.4 libraries.
M java/testing/org/apache/derbyTesting/unitTests/build.xml
M java/testing/org/apache/derbyTesting/functionTests/tests/i18n/build.xml
M java/testing/org/apache/derbyTesting/functionTests/tests/lang/build.xml
M
java/testing/org/apache/derbyTesting/functionTests/tests/replicationTests/build.xml
M
java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/build.xml
M java/testing/org/apache/derbyTesting/functionTests/tests/perf/build.xml
M java/testing/org/apache/derbyTesting/functionTests/tests/store/build.xml
M java/testing/org/apache/derbyTesting/functionTests/tests/tools/build.xml
M java/testing/org/apache/derbyTesting/functionTests/tests/memory/build.xml
M
java/testing/org/apache/derbyTesting/functionTests/tests/upgradeTests/build.xml
M
java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/build.xml
M java/testing/org/apache/derbyTesting/functionTests/harness/build.xml
M java/testing/org/apache/derbyTesting/functionTests/util/build.xml
M java/testing/org/apache/derbyTesting/junit/build.xml
M java/testing/org/apache/derbyTesting/perf/build.xml
Compiles a lot of test classes against the JDK 1.4 libraries.
> Separate out the small number of build targets which really require JDK1.4
> features from the bulk of the targets which ought to compile cleanly against
> small device libraries
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3984
> URL: https://issues.apache.org/jira/browse/DERBY-3984
> Project: Derby
> Issue Type: Improvement
> Components: Build tools
> Affects Versions: 10.5.0.0
> Reporter: Rick Hillegas
> Attachments: derby-3984-01-aa-defaultToJsr169.diff
>
>
> It would be good to make jsr169 the default platform for most Derby build
> targets. This will allow the build to raise compile-time errors when a
> checkin violates the small-device contract. Only a small number of features
> (listed in DERBY-3966) really require JDK1.4. Something like the following
> may work:
> 1) Finish up DERBY-3966 so that java4compile.classpath defaults to an
> approximation of ${jdk14xmlSupport}: ${java15compile.classpath}
> 2) Make compile.classpath default to jsr169compile.classpath
> 3) Fortunately, jsr169compile.classpath itself already defaults to
> ${jsr169stubs}:${java14compile.classpath}
> 4) Change a (hopefully) small number of targets to use
> java14compile.classpath rather than compile.classpath
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.