[OpenLayers-Trac] Re: [OpenLayers] #2992: move OpenLayers.Util.extend to Class.js

OpenLayers trac-20090302 at openlayers.org
Mon Jan 3 10:53:45 EST 2011


#2992: move OpenLayers.Util.extend to Class.js
---------------------+------------------------------------------------------
 Reporter:  tschaub  |       Owner:              
     Type:  feature  |      Status:  new         
 Priority:  minor    |   Milestone:  2.11 Release
Component:  general  |     Version:  2.10        
 Keywords:           |       State:  Review      
---------------------+------------------------------------------------------
Description changed by tschaub:

Old description:

> We have a number of circular dependencies in the library.  The current
> toposort method isn't flexible enough to handle these.  In most places
> where we have circular dependencies, the order that files are executed
> doesn't matter.  A more tolerant toposort method could resolve
> dependencies even in circular cases - imposing an arbitrary order.
> Change r10979 is an example of a simplified (and more tolerant) toposort
> method.
>
> If we have a more tolerant toposort, then we can move dependency
> declaration into the library source files.  Doing this would remove the
> need to force a specific order in a "first" section of a build
> configuration.
>
> The one place where we have a circular dependency that causes trouble is
> with Class -> Util -> BaseTypes -> Class.  The Class function only needs
> OpenLayers.Util.extend.  An arbitrary sort order will not guarantee that
> Util is loaded before Class.  One solution is to move the extend method
> into the Class source file.

New description:

 We have a number of circular dependencies in the library.  The current
 toposort method isn't flexible enough to handle these.  In most places
 where we have circular dependencies, the order that files are executed
 doesn't matter.  A more tolerant toposort method could resolve
 dependencies even in circular cases - imposing an arbitrary order.  Change
 r10979 is an example of a simplified (and more tolerant) toposort method.

 If we have a more tolerant toposort, then we can move dependency
 declaration into the library source files.  Doing this would remove the
 need to force a specific order in a "first" section of a build
 configuration.

 The one place where we have a circular dependency that causes trouble is
 with Class -> Util -> BaseTypes -> Class.  The Class function only needs
 OpenLayers.Util.extend.  An arbitrary sort order will not guarantee that
 Class is loaded before the BaseTypes.  One solution is to move the extend
 method into the Class source file.

--

-- 
Ticket URL: <http://trac.openlayers.org/ticket/2992#comment:5>
OpenLayers <http://openlayers.org/>
A free AJAX map viewer


More information about the Trac mailing list