Wednesday 3 November 2010

hg rebase or how to move trunk/default changesets to a branch

Scenario:
One wishes to move changesets on trunk (starting with revision A onwards) to a new branch B.

  1. Enable the Rebase extension for you / the repository per the RebaseExtension docs
  2. If outstanding changes, commit or shelve them!
    (otherwise next step will generate merge request)
  3. hg update <A-1>
    (the one before you wish to move to branch B)
  4. hg branch B
  5. hg status
    confirm output has no actual changes (branch change won't be shown)
  6. hg commit -m 'create B'
  7. hg branches
    get actual revision for B, we'll call it C
  8. hg rebase -s A -d C
That's it.  If insufficiently clear, I can post some screenshots, etc.  Do ask but expect delayed response unless you tweet me!

Monday 18 October 2010

Error #1069 using namespaced members

Error:
ReferenceError: Error #1069: Property myNamespacedProperty not found on a.b.c.MyClass and there is no default value.
Seen when attempting to access a member (property/method/accessor) of a class that uses a custom namespace, e.g:
messaging_internals function getMillisecondsSinceSent():uint {
    return getTimer() - _lastSentTime;
  }
Obviously here "messaging_internals" is the namespace.

Answer:
Check that both declaration and use are using exactly the same definition of the namespace.  For example, check that you don't have a duplicate definition!

We saw this problem when project A had namespace An on methods in class Ac.  Used by project B in class Bc.  All looked fine, compiled fine but unit testing saw Error #1069.  Eventually realised that a bad refactoring had left a second copy of the namespace An in project B (where it had orignally been), leaving An obscured by the identically named Bn.  Bc was using Bn which failed to resolve to An hence members in Ac were unreachable!
 (Yes, I can add a diagram if anyone wants.)

Obviously ideally the tooling should highlight this.
HTH!

Sunday 17 October 2010

FlexUnit from both FlashBuilder and FlexMojos for library projects

FlashBuilder leaves its FlexUnitTestRunnerUI files in "src".
For packaging:swf FlexMojos projects, that's fine (*1), it builds them.
*1: OK, it may not be all that fine but it doesn't cause failure.
For packaging:swc FlexMojos projects, they fail with "Type was not found" etc errors! How to fix, after the break...

Sunday 10 October 2010

How to fix Flash Builder debugging after breakage by installing Flash Professional

Short version:
Flash Professional messed up Flash Builder's debugging capability.  On Windows, one can replace references to the FP runtime from 'Professional with that to a FlashPlayerDebugger.exe and all will be well.

Tuesday 5 January 2010

RESTlet deployment woes (from GlassFish v2 to AppServer v2)

Some incomplete notes on deploying our RESTlet-based application (tested on GlassFish) to our Sun AppServer v2.1.