Problem Statement
In the ManageIQ Repo, the main Rails app lives inside the vmdb directory. This causes all sorts of issues with SaaS tools, such as Gemnasium, that expect the Rails app to live in the root of the repo. Changing our repo to be more standard will also make it easier for Ruby on Rails developers to join the community.
Suggested Approach
In the root directory of our repo, we have the following directories:
- build
- ca
- host
- lib
- system
- vmdb
At a high-level, we should create a number of new repos and move all subdirectories except vmdb out.
Step 1 - Moving directories into new repos.
- manageiq_appliance repo should house build, ca, and system directories
- manageiq_smart_proxy repo should house host directory
- manageiq_lib repo should house lib directory
Step 2 - Standardization
- Move the contents of the vmdb directory to live at the root of the repo
- Remove the empty vmdb directory
Step 3 - Gemification
- Make gems out of everything in manageiq_lib
- Once manageiq_lib repo is fully gemified, it should be empty - so remove it
Issues
- How will build process work?
- How will developers be impacted?
- How will automated tests be impacted?