New solution is in branches/new-layout (not 95% finished but must be tested first).

https://repos.deltares.nl/repos/delft-tools/branches/new-layout

Please avoid renaming / moving files or folders if you will work in the trunk/ until it is replaced by new-layout (Monday evening). Any changes will need to be merged manually.

NOTES:

1. Changed directory layout to:

build/ ........................ build scripts and build tools
    tools/
    ...
doc/ .......................... documentation
lib/ .......................... shared libraries (binaries)
src/ .......................... source code only (!)
test/ ......................... test projects, groupped in the same way as src
test-data/ .................... data used in tests

Files in the lib, src, test, test-data directories are groupped using the following rules:

  • All directories always use the same structure as an src
  • lib/ additionally contains some libraries at the top-level used by many products

2. Created temporary branch: new-layout

3. Moved folders and projects around ... a lot!!!

4. Renamed all folders and projects from DelftShell ... to DeltaShell (DelftTools.* remain the same)

5. Trying to fix solution,

TODO:

(plus) Found how to detect parent directory in DOS (awkward): "for %%a in (%PROJECT_DIR%\..) do set PLUGIN_TYPE_DIR=%%~nxa" plugin native resources should be copied fine now
(plus) Fixed many projects using ExternalDependencies (DeltaShell.proj):

    <ExternalDependencies>lib\DeltaShell\DeltaShell.Plugins.SharpMapGis</ExternalDependencies>

(plus) Fixed resource files (DeltaShell / DeltaShell - made consistent)

(minus) probably some projects should be moved from Common to default plugin level (avoid re-use by others) ...

(minus) Isolate Habitat1 dlls including Demis.MapControl (remove them, replace by dlls in lib compiled in Habitat1 branch)
(minus) Move Habitat 1 projects to branch\ and leave only required dlls in lib\Plugins\Habitat (old version)
(minus) Setup projects must be organized in accordance to plugins - IT'S A MESS NOW!!
(minus) Clean-up FitNesse tests (clean up unused tests)
(minus) REVIEW ALL TESTS DATA (too big)
1. Move data to test-data/ folder
2. Check if large data files used in integration tests can be compressed
(minus) MOVE src\Plugins\DelftModels\Externals\ds\common\packages\delft_model_data to test\ folder (not sources)
make it checkout only required C# projects on a higher level
(minus) Habitat proj file in build\ is not a good idea!!! move it to build/Plugins/Habitat.proj
(minus) Habitat inside DeltaShell\Product.wxs?!?! WTF!?!??
(minus) CommonToolsPlugin.wxs should be in DeltaShell/
(minus) DelftModels\Product.wxs is referencing ico from Habitat project!?!?!? WTF ?!@?
(minus) HabitatLogo.png in IJselmeerVerkenner ?!?? WTF?
(minus) Move OpenMI to standard DeltaShell plugins (after migration to 2.0)?
(minus) Why there is a "copy "$(SolutionDir)lib\DeltaShell\DeltaShell.Gui\license.lic" .\" in DeltaShell.Loader.csproj ?!? Sobek?
(minus) Make SharpMapTestUtils and DelftTools.TestUtils consistent (chose one convention)
(minus) INTRODUCE RULE: if you include project on a file system - it must be available in the solution, otherwise remove it from the file system as well!
(minus) ONE MORE RULE - NO HIDDEN FILES in projects!
(minus) NetTopologySuite.Extensions referencing NHibernate.dll WTF?!?
(minus) move lib\DeltaShell\DeltaShell.Plugins.SharpMapGis\ to lib\Common\SharpMap.Extensions?
(minus) The following projects need to be included into the solution (migrated) or deleted:
src\Plugins\Examples\DeltaShell.AutomationDemo
src\Plugins\Examples\DeltaShell.Plugins.TriangulatorPlugin
test\Plugins\Examples\DeltaShell.Plugins.DemoImportPlugin.Test
test\Plugins\Examples\DeltaShell.Plugins.TriangulatorPlugin.Tests
test\Plugins\Habitat\TransformOldCases
test\Plugins\Habitat\Habitat.Tests

(minus) DeltaShell.Plugins.SharpMapGis.csproj references NHibernate.dll - remove it!?
(minus) DeltaShell.Plugins.Series.csproj references NHibernate.dll
(minus) write test checking number of csproj in solution and on file system (should match (smile))
(minus) walk through ALL projects and remove PLUGIN -> PLUGIN dependencies!
(plus) WTF, why SharpMapGis plugin references DeltaShell.Core???
(plus) FIX ALL NAMESPACES
(minus) Loader is referencing Common projects so that they will be copied to Loader/bin/ - discuss!
(minus) FIX images, some are DeltaShell.* and also not used
(minus) REMOVE / MOVE TO OLD CODE DeltaShell.Plugins.Demis.MapControl ??? (not used in the current solution)
(minus) I had to comment some code to make everything work, check diff on revision when new-layout branch was created
(plus) Strange that it was necessary to re-reference NetTopologySuite, do we have it as DLL somewhere??
(minus) REMOVE reference to DeltaShell.Plugins.SharpMapGis in SharpMap.UI.Tests!
(minus) make SharpMap.Extensions.Xml work (current excluded), migrate from plugin (pull-up)
(minus) search all project for DelftShell and fix it (some dirs, files need to be renamed)
(minus) check ALL hidded files not included into project and clean-up!
(minus) Rename DeltaShell.Plugins.KRWVerkenner in source code tree to something more intuitive for all users (including non-Dutch), e.g.: DeltaShell.Plugins.BasinModels (basin management), move it into DelftModels

(minus) DON'T just blindly merge all tests - look at dependencies! DelftTools.Tests contains tests of Functions, Hydro, Controle.Swf - too many dependencies in test projects
(minus) RENAME all DelftShell namespaces to DeltaShell where required (all except Common/DelftTools.*)
(minus) FunctionPoint.cs - Huh?

(minus) Ask Arno if we can remove DeltaVerkenner plugin (leaving only GIS functionality he uses)
(minus) Do we need to support MWell in DeltaShell.sln (is it used??) Ask Bary/Tom

(minus) NetworkEditor is a HydroNetworkEditor, right? Maybe we need Hydro plugin containing various edtors (Basin, HydroNetwork, etc.)
(minus) Strange properties in DeltaShell.Loader resources, e.g.: "DelftShellFolderFileFilter: Delta Shell Folder File (.folder)|*.folder" - check where they are used and remove