Task Description
Reorganise the repository from the legacy layout (local/oudbase, payload-based packaging) to a modern, conventional open-source structure. Establish clear separation between source, packaging, CI, docs, and examples. Eliminate the 'oudbase' directory inside the repo; instead, align packaging to install files under /u00/app/oracle/local/oudbase without using a matching repo root folder. Ensure developer experience is improved (discoverable scripts, dev/test workflows).
Task Type
Refactoring
Affected Component
Multiple components
Priority
High (Important, should be done soon)
Motivation
The current layout is confusing, mixes dev & payload, and does not follow best practices. A consistent, modern structure makes developing, testing, and packaging easier, facilitates onboarding, and enables robust CI/CD. Dropping the oudbase/ folder from the repo decouples the repo layout from the install path. Eliminates risk of missing files in payload/build steps. Enables artifact-based releases.
Implementation Plan
- Create top-level src/, packaging/, tests/, docs/, bin/, examples/ directories
- Move all implementation scripts and libraries from local/oudbase into src/
- Implement packaging scripts to build a tarball that unpacks to /u00/app/oracle/local/oudbase
- Migrate installer to use new artifact instead of in-repo payload
- Clean up old install/build scripts, update doc references
- Check legacy path compatibility (migrate in-place if needed)
Files to Modify
- local/oudbase/* -> src/
- bin/* (filtered)
- packaging/build.sh (new)
- packaging/installer/oudbase_install.sh (new)
- README.md, docs/*
Code Examples
Testing Approach
- Add/Update bats unit tests to verify installation layouts
- Manual deployment test on scratch system
- 'make build' produces correct artifact
- Legacy installs are compatible (test upgrade path)
Acceptance Criteria
Breaking Changes
Major breaking changes
Dependencies
No response
Risks and Considerations
- Legacy scripts must be checked for any hardcoded relative paths
- Automated migration must not break user environments
Estimated Effort
No response
Subtasks
- [ ] Move scripts out of local/oudbase
- [ ] Draft new packaging/build scripts
- [ ] Test artifact-based installer on a test system
- [ ] Remove references to old layout from docs
Documentation Updates Required
- README.md
- UPGRADE_FROM_OLD_LAYOUT.md
- Inline code comments in packaging scripts
Additional Notes
No response
Pre-submission Checklist
Task Description
Reorganise the repository from the legacy layout (local/oudbase, payload-based packaging) to a modern, conventional open-source structure. Establish clear separation between source, packaging, CI, docs, and examples. Eliminate the 'oudbase' directory inside the repo; instead, align packaging to install files under /u00/app/oracle/local/oudbase without using a matching repo root folder. Ensure developer experience is improved (discoverable scripts, dev/test workflows).
Task Type
Refactoring
Affected Component
Multiple components
Priority
High (Important, should be done soon)
Motivation
The current layout is confusing, mixes dev & payload, and does not follow best practices. A consistent, modern structure makes developing, testing, and packaging easier, facilitates onboarding, and enables robust CI/CD. Dropping the oudbase/ folder from the repo decouples the repo layout from the install path. Eliminates risk of missing files in payload/build steps. Enables artifact-based releases.
Implementation Plan
Files to Modify
Code Examples
Testing Approach
Acceptance Criteria
Breaking Changes
Major breaking changes
Dependencies
No response
Risks and Considerations
Estimated Effort
No response
Subtasks
Documentation Updates Required
Additional Notes
No response
Pre-submission Checklist