Notes from a starting... erm (no pun intended), meeting.
- No documentation
- Making it an escript
- Packaging it with every erlang app
- Not recording anything previously completed
A prioritised list, but also the order in which steps to carry out sub-projects should be taken.
- Create useful and relevant documentation
- Create a toolbox of orthogonal tools/scripts that help developers with specific tasks
- Keep the tools out of the projects they manage
- Maintain some sort of state to track what has been built (or infer it from timestamps)
The following is a growing list.
- Building [Specify Multi-architecture]
- Version [Register Version for Assignability]
- Assignability meaning pairs of (erlang, deps) that work
- Architecture OS for cross building
Does this mean that you should be able to selectively include otp libs or what?
- Erlang Version [Matching version exists]
- Release
- Building
- Upgrading
- Generate appups
- Downgrading (when possible)
- Application and Dependencies
- Building
- Generate Emakefiles
- Register Version Usage
- Sub Application
- Register Base Application
- Building
- Register Version Dependency < register where? mnesia?
- Already versioned? Changes Present?
- Register Version Dependency < register where? mnesia?
- Basic Dependency
- Cross Dependency < A dependency used by multiple projects
- Register Projects < this should be for limiting scope
- Automatically? Can it be done?
- Probably, once a project dependency matches name
- You could optionally select what projects it should be shared with, in doing so, you could then modify it from a singular point, otherwise the iterative development goes something like, commit, push, go to each dependency and update, or use the poorly named rebar update-deps, which should be called slow-deps-update-maybe lol
- Register Projects < this should be for limiting scope
- Rebuilding
- Check projects apps/deps index
- What are the minimum applications, necessary
- to perform a compile and reload of all effected
- applications/beams, should possibly work off time
- Check if Emakefiles have changed
- Have beams
- Check projects apps/deps index
- Building
What about distributed testing? ct_master? etc
- Projects
- Tools
- Dialyzer
- XRef
- TypEr
- Wrangler
- Suites
- EUnit
- Common Test
- PropEr/QuickCheck/eqc
- Tools should also be handled as Dependency but different (run QC tests only if you have it installed/registered) should also suggest tools, maybe
- Tools
Thought I'd massage the text a bit and store it a bit more permanently :)