[ 
https://issues.apache.org/jira/browse/DERBY-5485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13135976#comment-13135976
 ] 

Rick Hillegas commented on DERBY-5485:
--------------------------------------

The PropertySetter task sets the following properties for the master build 
script. These are the properties which point at the JDK-specific jar files:

   java14compile.classpath
   java15compile.classpath
   java16compile.classpath
   java17compile.classpath

PropertySetter attempts to  do the following:

1) Make it possible to build Derby out-of-the-box without setting any ant 
properties. The build is supposed to work on all machines which Derby 
developers use provided that the developer uses a modern JDK that supports 
generics (viz., Java 5, 6, or 7).

2) Set the JDK-specific classpath properties (see above) from the corresponding 
library properties if the user has set them. Setting the JDK-specific classpath 
properties makes it possible for the Derby build to object if references to 
later JVMs are made by code which is supposed to run on earlier JVMs. The 
library properties are:

  j14lib
  j15lib
  j16lib
  j17lib


3) If the library properties are not set, still try to set the JDK-specific 
classpath properties by finding a corresponding JDK on the user's machine.

The hard-to-maintain complexity of PropertySetter largely involves goal (3).

This JIRA proposes to rewrite PropertySetter so that it still achieves goals 
(1) and (2) but abandons goal (3).

                
> Simplify PropertySetter so that it is less brittle and easier to maintain.
> --------------------------------------------------------------------------
>
>                 Key: DERBY-5485
>                 URL: https://issues.apache.org/jira/browse/DERBY-5485
>             Project: Derby
>          Issue Type: Improvement
>          Components: Build tools
>    Affects Versions: 10.9.0.0
>            Reporter: Rick Hillegas
>
> The PropertySetter task sets up classpath variables so that the build can 
> take advantage of JVM-specific class libraries. Using those libraries makes 
> it possible for the compiler to flag code which is supposed to run on less 
> capable platforms but which calls methods from later JVMs. This is a very 
> tricky problem and we seem to have reached consensus that it requires too 
> much effort to make PropertySetter run correctly in all of the build 
> environments which Derby developers use. I will attach a proposal for how to 
> simplify PropertySetter so that it requires less effort to maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to