0 Replies Latest reply on Nov 26, 2008 6:36 AM by (Paul_Reilly)

    [svn] 4190: * Fixed Alta issue when compiling from a build.

    Level 1
      Revision: 4190
      Author: preilly@adobe.com
      Date: 2008-11-26 06:36:29 -0800 (Wed, 26 Nov 2008)

      Log Message:
      -----------
      * Fixed Alta issue when compiling from a build. The problem was that
      the framework sources on the build machine are older than the ones
      in FlexSpy.swc and older than the ones that I have locally in trunk.
      FlexSpy.swc wrecks havoc on SWC reuse, because it tries to monkey
      patch the whole framework. It's only partially successful, because
      it was compiled against Flex 3 and many of the framework sources
      have changed since then.

      With Alta, each time FlexSpy.swc shows up in the library path, many
      of the framework sources are obsoleted or need to be reparsed,
      because of a changed dependencies. Each time FlexSpy.swc leaves the
      library path, the framework sources previously dependent on
      FlexSpy.swc sources need to be reparsed again. Using the improved
      swc cache, Alta would compile much faster if FlexSpy.swc was used
      consistenly for all the libraries, applications and modules, or if
      FlexSpy.swc wasn't used at all.

      tests Passed: checkintests

      Needs QA: YES

      Needs DOC: NO

      Bug fixes: SDK-18161

      API Change: NO

      Reviewer: Pete F.

      Code-level description of changes:

      CompilerSwcContext.java

      * Added two different flavors of getScript() to allow special
      CompilerAPI access.

      * Renamed sources() to cachedSources() and refactored to return
      only cached Sources for non-obsolete SWC scripts.

      CompilerAPI.java

      * Modified validateCompilationUnits() to take into consideration
      the last modified time for the previous compilation when
      reporting DependencyNeedsRecompilation.

      * Factored out the logic for handling obsoleted, removed and
      shadowed SWC Sources into helper methods. This is a small step
      towards making validationCompilationUnits() less of a beast.

      * Modified logReasonAndRemoveCompilationUnit() to handle cleaning
      up SwcScript cached CompilationUnits, which didn't originally
      come from a SWC. This happens when we cache something like
      Button.as when building framework.swc and then later need to
      remove the cached CompilationUnit, due to a dependency change.

      Ticket Links:
      ------------
      http://bugs.adobe.com/jira/browse/SDK-18161

      Modified Paths:
      --------------
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/CompilerAPI.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/CompilerSwcContext.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/abc/AbcCompiler.java