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
