Sorry for the late response. I think some of these questions have already been clarified.
As for the reasons, first, we ended up having separate p2 repos for codegen/runtime on one hand and core/profile/tooling on the other because we have been working in two largely independent teams on these two sides and each side made their own decisions.
As for the codegen side, I don't know exactly why we ended up with that particular structure of build/ and update/ folders. I don't know who created those top-level folders (but I did create the builds/gerrit and builds/repo folders).
I would expect that once we have a unified build we can publish to updates/nightly. Wouldn't that make sense?
As for being unable to build on Windows, that is expected because our side included the (C++) runtime, which, at least for now, only supports Linux, as that was chosen from the beginning as the first target platform for the runtime. There is some Windows support, but I don't know how complete that is. I think the priority for 1.0 is still Linux.
On several occasions I've mentioned that we could unify the maven builds, but I won't touch the top-level pom, as I don't know what are the consequences for core/profile/tooling, and perhaps someone with more maven experience than me could take a look at our pom(s) to see what we could refactor and move up to share, while retaining the capability to build separately.