Hey magesh... I think the restructuring you've done in the release module looks great. As I said above, not sure I like the idea of moving runtime code into the release repo, but that's a different topic... the restructuring you did in release is a lot more sane than what's there atm for sure.

I'm working on SWITCHYARD-473 (https://issues.jboss.org/browse/SWITCHYARD-473) and there's major overlap with what you did and with what I'm doing there, so (as we were saying on IRC) we need to collaborate a bit. I think merging these is going to be a major pain

I've hit a point now where I think I need to create a common as7 "modules" assembly module, which does nothing more than just assemble all the as7 modules that are common to both standalone and openshift. Under your new structure, I think it would live in release/jboss-as7/modules and would be used by release/jboss-as7/standalone and release/jboss-as7/openshift.

I pushed what I currently have so you can take a peek (links below). I might make copies of my branches and see can I merge your changes... just to see what merge issues arrise.

I haven't had a chance to review the changes yet, but some general comments on this subject:

Component and runtime modules should *not* package themselves for any target runtime. This should be done as part of the assembly/packaging configuration.

Distro-specific code does not belong in the component/core repositories. This includes deployer code for AS6/AS7. At this point, the release repository is the most appropriate place to hold this code. The release repo is really more than just a build repository - it contains platform-specific code and build support.

I had a look and this looks reasonable to me. What's the purpose of the standalone module inside of the AS6 and AS7 modules? Will there be another module besides standalone there at some point? Or can we simply move build and extensions up a level?

cheers,

keith

Magesh Bojan wrote:

As part of this JIRA I thought it would be better to finally put this topic to sleep. Move the core AS6, AS7 deployment stuff to release. Here are the changes, let me know your comments:

This is looking much better. Between Magesh's change and your latest update to modularize the assembly packaging, things are a lot cleaner. We should add a README which includes details on what you should check/change when adding another module assembly. I assume that anything built from SwitchYard repositories goes in src/main/resources/switchyard and everything else goes in src/main/resources/external ? We should add a big comment block to modules/pom.xml to separate out the switchyard vs. external dependencies.

One other thing to keep in mind is that we will want to start providing a stand-alone installer in the near future that allows you to overlay a set of SwitchYard modules and config on top of an existing AS7 install. This is nice for users with an existing AS7 install and it also will provide a download which is a bit more manageable in size. I imagine that the approach we are taking here with modularization will be quite consistent with this approach, but wanted to throw it out there just in case you see any issues.

I had a look and this looks reasonable to me. What's the purpose of the standalone module inside of the AS6 and AS7 modules? Will there be another module besides standalone there at some point? Or can we simply move build and extensions up a level?

My idea was maybe someday someone will add AS6 to OpenShift . I think we can move the extensions/deployer one level up. But the distribution assembly should be under standalone. I will send a pull request soon.

The question I'm asking is what is the significance of the term 'standalone'? We are not going to have a separate deployer for domain deployments vs. standalone deployments, are we? Assuming that we won't, I would prefer to change the name to remove any confusion with the standalone mode in AS7.

Magesh Bojan wrote:

My idea was maybe someday someone will add AS6 to OpenShift . I think we can move the extensions/deployer one level up. But the distribution assembly should be under standalone. I will send a pull request soon.