Build server and other issues

Topics: General Topics, SharpMap Project, SharpMap v0.9 / v1.x
Coordinator
Jun 27, 2012 at 5:01 PM
Edited Jun 27, 2012 at 5:03 PM

I added a build configurations for SharpMap on teamcity.codebetter.com. Currently it builds debug version of SharpMap +all required dependencies ... should it be SharpMap.UI?

There is also a configuration used to build and run tests, and generate test coverage - currently it is pretty low level (12-20%). Please make sure that at least for new functionality the tests are added.

Some thougts:

  • Make a separate configuration for unit tests and integration tests, use NUnit categories to distinguish between test types.
  • Agree on some directory/namespace layout of tests to easily find code they are supposed to test.

There are 9 tests failing, mainly SqlServer2008 and MsSqlServerSpatial, probably should be marked as "RequireSqlServer" and skipped on the build server.

Coordinator
Jun 27, 2012 at 7:52 PM

There are currently some problems on CodeBeter TeamCity - it does not see last subversion changes, hope it will be fixed once they upgrade to the last build (just received a message from their admins).

Coordinator
Jun 27, 2012 at 8:11 PM

Which DLLs should we include as artifacts in the SharpMap build? It becomes king of big when all dependencies are included (only DotSpatial.Projectsion.dll is 19Mb). Plus all native DLLs missing, for example to get OGR/GDAL working.

Currently it produces:

BruTile.dll
Common.Logging.dll
GeoAPI.dll
NetTopologySuite.dll
Newtonsoft.Json.dll
PowerCollections.dll
ProjNet.dll
SharpMap.dll
SharpMap.UI.dll

I can configure it to build just SharpMap + extensions (without dependencies):

SharpMap.dll
SharpMap.UI.dll
SharpMap.Extensions.dll

Or another option is to build full-size, ready-to-use set of libraries: 

BruTile.dll
Common.Logging.dll
GeoAPI.dll
NetTopologySuite.dll
Newtonsoft.Json.dll
PowerCollections.dll
ProjNet.dll
SharpMap.dll
SharpMap.UI.dll
DotSpatial.Projections.dll
gdal_csharp.dll
Mono.Security.dll
Npgsql.dll
ogr_csharp.dll
Oracle.DataAccess.dll
osr_csharp.dll
SharpMap.Extensions.dll
System.Data.SQLite.dll

Any ideas on how to organize it better? 

Or should we forget about DLLs and just build SharpMap and SharpMap.Extensions NuGet packages?

 

Coordinator
Jun 27, 2012 at 8:18 PM
Edited Jun 27, 2012 at 8:19 PM

I would vote for creating three configurations..

And when creating nuget packeges for them we could references the references nuget packages

NuGet no#1

SharpMap.dll (Built for Proj.Net) with dependencies

BruTile.dll 
Common.Logging.dll 
GeoAPI.dll 
NetTopologySuite.dll
Newtonsoft.Json.dll
PowerCollections.dll
ProjNet.dll
SharpMap.dll

NuGet No #2

SharpMap.UI (refernces #1)

NuGet No #3

SharpMap.Extensions (references #1) with dependencies that are no in #1

Coordinator
Jun 27, 2012 at 8:29 PM

Should not we just require GeoAPI, NTS and other packages in SharpMap package?

Coordinator
Jun 27, 2012 at 9:28 PM

Yes, in the NuGet package we should require them from their own nuget packages...

But for published zip-builds they should be included i think,

Coordinator
Jun 27, 2012 at 10:08 PM

ok, I created 3 packages for now, only with project lib, will extend them with required dependencies later.

All 3 packages get AssemblyInfo patched with 1.0.build_number