db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5485) Simplify PropertySetter so that it is less brittle and easier to maintain.
Date Wed, 26 Oct 2011 13:39:32 GMT

    [ 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

        

Mime
View raw message