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

Reply via email to