btw, cannot find TODO perspective.
Btw, I think we should discuss build process in IDE - because I don't
like idea of rebuilding all in complex set of dependent projects.
Some configuration management is required.
1. Previously I has intentionally set a boundary between executables
and underlying libraries.
The idea is:
- to have informal library mini-releases for daily work, library
updates are rare, and we can have only its binary committed to exe
repository like any other 3-d party libs
- commit library manually: make change in lib code, commit, copy
binary locally, debug, fix bugs in lib code, commit lib. So you have
an option to change library w/o affecting other apps - in ongoing
development
- batch build, from another hand, has full rebuild approach - for use
in major releases
2. Feeling some uncertainty with Eclipse now.
- do you think it can serve as full-scale long-term development, as
looks like Eclipse is much more adjusted for Java development, while
for C++ people say about problems with debugging
- was unable to find how to rebuild single source file - whether auto-
build feature is really working?
- to have clear understanding what is the current state I invented
Clean/Rebuild all approach - which is not quite efficient. Do you have
any link that could help to understand how to setup Eclipse to have
good feeling with compiling/debugging
I will be away for 4 days.
I will see if I can find some website to know how to configure it
well.
I also was looking at VS 2008 and it also can be used, but again its
not open source. May be we should decide whether to continue with
eclipse or not considering the future developments as well as
production. Let me know what you think.
Try using it , its very light and support plugins too. Let me know
what you think.
Generally I think we can use anything that fits our need and part of
the mainstream.
First is ok, good responses from community - http://sourceforge.net/projects/codelite/reviews.
Also I have read quite hot discussion Codelite vs Eclipse/Codeblocks -
Codelite is not ideal, but promising.
I vote for trying it.
On Dec 23, 1:37 am, Habbit <vsavc...@gmail.com> wrote:
> Yes, I've tried it - looks amazing for me.
>
> Generally I think we can use anything that fits our need and part of
> the mainstream.
> First is ok, good responses from community -http://sourceforge.net/projects/codelite/reviews.
My opinion is that this seems a good IDE and we should stick with
this.
Let me know your views.
I see several new items in the code:
- modules as separate projects, different types of targets are on the
same level
- folder structure differs from project view
- stacktrace code mixed to our code
- including fann code "as is"
- common headers are not presented in the sources in codelite
- dependencies are checked in with other files (why we need them on
codebase?)
We have to agree about general principles:
- add new features w/o agreements - just describing on related speclet
- avoid delete existing features w/o discussion
I would like to establish proper configuration management practices
from the very beginning.
Generally CM should help us to see our changes within observable set
of release targets, each with its own release history.
Configuration items are arranged by levels - deployment targets ->
release targets -> code units (last consist of files)
Release targets mostly defined by closely related bunches of work
averaged for overall lifecycle.
For this project the optimal release target list can be:
- generic (all utilities not related to AI topics)
- AI library (common AI technologies and algorithms)
- AI engine (our sole code)
- AI toolkit (a set of test apps)
- AI db (persisted AI knowledge and memory)
Each target will have its own version.
I don't like both single-target dev and extra-fine-grained target
list.
Next, we can establish separate target, when its interfaces are stable
enough.
For AI library we don't have clear interfaces now - and better to have
it inside AI engine for debug purposes.
Re FANN - I have integrated its code as modnn, and added some
enhancements.
But I am not sure what approach is the best - having external lib "as
is" with our wrapper over it or grabbing its code - because our
framework has some specific items - logging, exception handling,
configuring and extra concepts (like variables).
Any case we need to discuss it.
For now - I would suggest to allow me to replace code in mainline with
nearly the same structure as before but ported to Codelite.
From what I see I think we step over IDE selection step.
Let me know what you think.
I was not sure about the implementation of modnn, so i checked in the
fann library. It can be removed
I do agree with the general principles, i dont have any issues with
that.
I do agree with your release target list.
You can make changes any time and let me know when done so that I can
take the updated code.
Btw, I don't understand some things in your migrated branch:
- for some reason, Subversion plugin is not attached in workspace I
have created - I do not see Tortoise-like check icons
as in your workspace
- also, looks you had some idea of having dependency files checked in
repository - could you please clarify that
- not sure what is the exact toolset is required for full-scale
development (I have installed Codelite, MinGW, OpenSSH) - I see you
are quite experienced with new tools - I would suggest to update a
page with project setup for newcomers, including tools install (with
specific versions), debug sequence, maybe also working with Subversion
I was also looking at the subversion plugin but it was not working for
me. I still need to do some research for that.
Dependency files are not needed in codebase can be removed. I just
commit everything so that you dont have to build everything. Once
finalised we just need to keep code files niot any .0 or .0.d files.
I will write a wiki page for that. I am using tortoise svn tool for
checkin in and managing my local codebase. Apart from that I am using
MINGW. Thats about it. Still I will write a wiki page.
I have applied the same structuring approach for all projects.
Will describe it later today on Wiki.
Still not done:
- unable to build aiconsole - unresolved socket api functions, though -
lws2_32 is in command prompt - can you have a look?
- aihtmview not migrated - it will require some GUI investigations
- when tried to start aiengine, it showed msgs that libgcc_s_dw2-1.dll
is not found - I would like to revert to static linking to avoid extra
runtime dependencies - do you know how to do that?
- not tried debug sequence
also - TBD covered by build and deployment task:
- automate / describe local build and deployment procedure (for debug
in IDE)
- automate / describe release build procedure
- automate / describe deployment