So i decided to investigate the random compile failure.
After looking into the flexmojos and flexsdk/mxmlc source code and debugging 
the maven build, i was able to track down the error to the following code:

Line 54 in 
flex-sdk/modules/compiler/src/java/flex2/compiler/mxml/lang/AttributeHandler.java

"if (isSpecial(namespace, localPart))"

When localPart is "implements", this condition should return true.
And it does, most of the time. But sometimes, it doesn't.
This all leads to a "contains" check on the QNameSet "specialAttributes2009" in 
DocumentBuilder.java, which seems to occasionally return false even if an 
attribute exists in the Set.

Since this felt like a race condition, i replaced the optimized way QNameSet 
handles the contains-check and marked the method as synchronized.

With this changes, i successfully avoided the random error.
I attached the patch for further investigation..


-----Ursprüngliche Nachricht-----
Von: Julian Kalinowski 
Gesendet: Dienstag, 10. Juni 2014 10:32
An: [email protected]
Betreff: random compile error: Cannot resolve attribute 'implements'

Hi,
I'm having the same problem as described in [1].
When i compile my whole maven project with several submodules at once, i get 
random errors like:

Cannot resolve attribute 'implements' for component type 
spark.components.BorderContainer.

It's not always for the same component and every 5th time, the build will 
succeed.
I'm using flexmojos-7.0.0 and flex-sdk 4.12.1, but this happened before with 
earlier versions.

When i compile only a part of the project at once, i get the error less 
frequently, so it seems to correspond to project size.

[1] https://forums.adobe.com/message/5651765

Reply via email to