You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Rick Hillegas (JIRA)" <ji...@apache.org> on 2008/12/22 15:14:44 UTC

[jira] Updated: (DERBY-3984) 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

     [ 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.