On 11/28/14, 8:54 AM, "Alex Harui" <aha...@adobe.com> wrote:
> > >On 11/28/14, 8:29 AM, "Christofer Dutz" <christofer.d...@c-ware.de> wrote: >>The problem is the build structure of the project in general. >> >>It contains Falcon as well as FlexJS, unfortunately FlexJS' tests need >>ASJS, which in turn needs Falcon. >> >>So we have sort of a "A --> B --> A" situation here. >>If all were split up, we could create a build pipeline like this: >> >>- build flex-sdk >> >>- build falcon >> >>- build asjs >> >>- build falconjx >> >>?Each would be a separate project for which jenkins is configured to >>execute in exactly this order. > >I’d like to solve the circularity as well, but ASJS will fail without >FalconJX because it uses FalconJX for its tests. Basically, each one >currently wants to test against the other. > >I’ll ponder this a bit more. After pondering a bit, here’s my thinkings: I expect some contributors may only work in flex-asjs and not the compilers and vice-versa so having the build scripts in flex-asjs and flex-falcon each run tests that use the other project is desirable. But for CI, I think the important factor is that FlexJS not only uses FalconJX for testing, but also in the generation of one of its libraries. AS gets cross-compiled into JS. So maybe the answer is this: On the CI servers, they build the Falcon and FalconJX and run the their unit tests, and optionally flex-sdk integration/feature tests. Then build FlexJS and run its integration tests. Then run FalconJX’s integration/feature tests that require FlexJS. Thoughts? -Alex