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 (Commented) (JIRA)" <ji...@apache.org> on 2011/10/26 15:39:32 UTC

[jira] [Commented] (DERBY-5485) Simplify PropertySetter so that it is less brittle and easier to maintain.

    [ 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