Unified project packaging

Registered by Gabriel Hurley on 2012-01-26

Our current strategy of shipping two modules in one repository with separate setup.py files is messy and detrimental.

The new version of manage.py that will ship with Django 1.4 (but works perfectly right now) is meant to live one directory up from the "project" directory (e.g. one dir up from where it lives in horizon now). This cleans up some path import ugliness, but it was also done to promote the separation between projects and apps.

In short, it makes it trivial to ship an app with a "sample project" next to it.

What we would need to do:

    1. Move the horizon/horizon/horizon and horizon/openstack-dashboard/dashboard each up one level, eliminating the extra layer of directories.

    2. Move manage.py up one more directory from horizon/dashboard/manage.py to horizon/manage.py

    3. Create a new, unified setup.py in at horizon/setup.py and delete the other two setup.py files.

    4. Adjust hardcoded paths in files like run_tests.sh and the Sphinx conf.

    5. Notify external projects (e.g. devstack) of the change.

Blueprint information

Status:
Complete
Approver:
Devin Carlen
Priority:
Low
Drafter:
Gabriel Hurley
Direction:
Approved
Assignee:
Gabriel Hurley
Definition:
Approved
Series goal:
Accepted for essex
Implementation:
Implemented
Milestone target:
milestone icon 2012.1
Started by
Gabriel Hurley on 2012-02-28
Completed by
Gabriel Hurley on 2012-02-29

Related branches

Sprints

Whiteboard

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.