Skip to content

Commit

Permalink
Merge branch 'master' of github.com:Tightdb/tightdb_csharp
Browse files Browse the repository at this point in the history
Conflicts:
	doc/tutorial/tutorial.cs
  • Loading branch information
Kenneth Geisshirt committed Oct 4, 2013
2 parents e23cd29 + 1f8587a commit f1521ab
Show file tree
Hide file tree
Showing 44 changed files with 4,075 additions and 911 deletions.
23 changes: 21 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,29 @@ This directory and its subdirectories contain the *developer* version of tightdb


These instructions use file paths as examples, these paths are of course relative, but an example for
the case where You have chekced out tightdb_csharp from github into H:\Wincoder\Develope\tightdb_csharp
the case where You have chekced out tightdb_csharp from github into e:\Wincoder\Develope\tightdb_csharp

1) You need a copy of the release dir from a VS2012 built C++ binding distribution.
Currently this can be obtained by asking Lasse or Dennis or Brian for a VS2012 release. Building the c++ binding in windows with VS2012 (not express) is not documented for now.
Currently this can be obtained by asking Lasse or Dennis or Brian for a VS2012 release. Building the c++ binding in windows with VS2012 (not express) can be done as follows :

a) check out tightdb master to e:\Wincoder\Develope\tighdb
b) open tightDB.sln in VS2012
c) right click "Solution 'TightDB' (8 projects) in Solution Explorer
d) select UpdateVC++ Projects
e) in the popup "UpdateVC++ Compiler and Libraries" click Update
f) wait while VS2012 updates the projects.
g) select Build->Batch Build
h) unmark all checkboxes under build, mark the 4 named TightDB Debug Win32, tightDB Debug x64, TightDB Release Win32, TightDB Release x64 - click Clean. Output should report Clean : 8 succeeded, 0 failed, 0 skipped
i) select Build->Batch build, same as h) but end up Clicking REBUILD instead of CLEAN
j) look for compiler warnings, verify that any warnings are marked with fixme in the code, report any new warnings to core developers.
j) if the build succeeded, run the 4 projects one by one and make sure the unit tests pass, report non passing tests to core developers
k) build->batch build - unmark all , mark the 4 called tightdb static libraray
l) click clean
m) build->batch build - unmark all , mark the 4 called tightdb static libraray click build all
o) look for compiler warnings as in j
p) now, call winrelease.cmd this should create a release and update the VS2012 release dir contents



2) This release dir should contain a zipped file, for instance :
H:\Wincoder\Develope\tightdb\release\vs2012\release\tightdb_cpp_VS2012___.zip
Expand Down
38 changes: 25 additions & 13 deletions TightDbCSharp/Release.cmd → Release.cmd
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
@echo off
echo Tightdb C# binding c# part Windows Build.
Echo alpha 0.02
Echo alpha 0.07
echo ----------------------------------------------------------
Echo Currently this batch file will create a release version of
echo the already built source in the source directory used by
echo the project residing where the batch
echo file resides. The release version will be placed in
echo (git checkout directory)\release\cppfiles\
echo and (git checkout directory)\release\cpprelease\
echo the already built source from the solution residing where
echo the batch file resides.
echo The release version will be placed in
echo (git checkout directory)\release\files\
echo and (git checkout directory)\release\release\
echo the directories are created if they does not exist.
echo prior contents of release tree will be deleted,
echo except .7z files.
echo except .zip files.
echo the contents of the directory will be c# assembly files
echo in various builds.
echo this build will also copy files from the c interface
Expand All @@ -29,7 +29,7 @@ set time=xtimex
set developer=xdeveloperx
set filesdestination=%location%release\files
set releasedestination=%location%release\release
set zipper=%location%..\7z.exe
set zipper=%location%7z.exe
:dir %filesdestination%
:dir %releasedestination%
:dir %zipper%
Expand All @@ -41,7 +41,9 @@ set zipper=%location%..\7z.exe
:remove any files from a prior release
echo cleaning up from earlier releases
del %filesdestination% /Q
del %filesdestination%\bin /Q
del %filesdestination%\bin\NET35 /Q
del %filesdestination%\bin\NET40 /Q
del %filesdestination%\bin\NET45 /Q
del %filesdestination%\dll /Q
rem we keep the release directory as is - it might contain
rem earlier builds, we should not delete those
Expand All @@ -50,16 +52,24 @@ echo creating release directory structure
md %location%release
md %location%release\files\
md %location%release\files\bin\
md %location%release\files\bin\NET35\
md %location%release\files\bin\NET40\
md %location%release\files\bin\NET45\
md %location%release\files\dll\
md %location%release\release\
echo copying release files to release directory
:copy the archiver to the release directory
:copy %zipper% %releasedestination%
:copy C# dll assembly files to the files directory
xcopy %location%bin\*.dll %filesdestination%\bin /s /y
xcopy %location%bin\*.pdb %filesdestination%\bin /s /y
xcopy %location%TightDBCSharp\bin\AnyCpu\Release\*.dll %filesdestination%\bin\NET45 /s /y
xcopy %location%TightDBCSharp\bin\AnyCpu\Release\*.pdb %filesdestination%\bin\NET45 /s /y
xcopy %location%TightDBCSharp_4.0\bin\AnyCpu\Release\*.dll %filesdestination%\bin\NET40 /s /y
xcopy %location%TightDBCSharp_4.0\bin\AnyCpu\Release\*.pdb %filesdestination%\bin\NET40 /s /y
xcopy %location%TightDBCSharp_3.5\bin\AnyCpu\Release\*.dll %filesdestination%\bin\NET35 /s /y
xcopy %location%TightDBCSharp_3.5\bin\AnyCpu\Release\*.pdb %filesdestination%\bin\NET35 /s /y

:copy C dlls with tightdb core
xcopy %location%..\native\tightdb_c_cs\tightdb_c_cs2012\release\files\*.* %filesdestination%\dll /y
xcopy %location%native\tightdb_c_cs\tightdb_c_cs2012\release\files\*.* %filesdestination%\dll /y

copy %location%Build_note_Daily.txt %filesdestination%\readme_DailyBuild.txt
copy %location%Install_note.txt %filesdestination%\readme.txt
Expand All @@ -79,4 +89,6 @@ copy %location%Install_note.txt %releasedestination%\readme.txt
pause
:0.04 added some readme files to the release
:0.05 create bin directory
:0.06 removed an echo on
:0.06 removed an echo on
:0.07 now copies from the new Release\AnyCpu directory
:0.07 now creates binaries for .net 3.5 .net 4.0 and .net 4.5
Binary file modified Test/GlobalSuppressions.cs
Binary file not shown.
113 changes: 67 additions & 46 deletions Test/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,66 +22,87 @@
// ***********************************************************************

//using System.IO;

using NUnitLite.Runner;
//using NUnit.Framework.Internal;
using TightDbCSharp;

namespace NUnitLite.Tests
{
/// <summary>
/// Run NunitLite Unit test
/// Empty parametres will result in all tests being run,
/// output to console,
/// and the program waiting for a keypress when finished.
/// Arguments : run program with /? to get help, or look up
/// NUnitLite documentation
/// </summary>
public static class Program
{
// The main program executes the tests. Output may be routed to
// various locations, depending on the arguments passed.
//
// Arguments:
//
// Arguments may be names of assemblies or options prefixed with '/'
// or '-'. Normally, no assemblies are passed and the calling
// assembly (the one containing this Main) is used. The following
// options are accepted:
//
// -test:<testname> Provides the name of a test to be exected.
// May be repeated. If this option is not used,
// all tests are run.
//
// -out:PATH Path to a file to which output is written.
// If omitted, Console is used, which means the
// output is lost on a platform with no Console.
//
// -full Print full report of all tests.
//
// -result:PATH Path to a file to which the XML test result is written.
//
// -explore[:Path] If specified, list tests rather than executing them. If a
// path is given, an XML file representing the tests is written
// to that location. If not, output is written to tests.xml.
//
// -noheader,noh Suppress display of the initial message.
//
// -wait Wait for a keypress before exiting.
//
// -include:categorylist
// If specified, nunitlite will only run the tests with a category
// that is in the comma separated list of category names.
// Example usage: -include:category1,category2 this command can be used
// in combination with the -exclude option also note that exlude takes priority
// over all includes.
//
// -exclude:categorylist
// If specified, nunitlite will not run any of the tests with a category
// that is in the comma separated list of category names.
// Example usage: -exclude:category1,category2 this command can be used
// in combination with the -include option also note that exclude takes priority
// over all includes

/// <summary>
/// Run NunitLite Unit test
/// Empty parametres will result in all tests being run,
/// output to console,
/// and the program waiting for a keypress when finished.
/// Arguments : run program with /? to get help, or look up
/// NUnitLite documentation
/// </summary>
/// <param name="args">
/// // The main program executes the tests. Output may be routed to
/// various locations, depending on the arguments passed.
///
/// Arguments:
///
/// Arguments may be names of assemblies or options prefixed with '/'
/// or '-'. Normally, no assemblies are passed and the calling
/// assembly (the one containing this Main) is used. The following
/// options are accepted:
///
/// -test:testname Provides the name of a test to be exected.
/// May be repeated. If this option is not used,
/// all tests are run.
///
/// -out:PATH Path to a file to which output is written.
/// If omitted, Console is used, which means the
/// output is lost on a platform with no Console.
///
/// -full Print full report of all tests.
///
/// -result:PATH Path to a file to which the XML test result is written.
///
/// -explore[:Path] If specified, list tests rather than executing them. If a
/// path is given, an XML file representing the tests is written
/// to that location. If not, output is written to tests.xml.
///
/// -noheader,noh Suppress display of the initial message.
///
/// -wait Wait for a keypress before exiting.
///
/// -include:categorylist
/// If specified, nunitlite will only run the tests with a category
/// that is in the comma separated list of category names.
/// Example usage: -include:category1,category2 this command can be used
/// in combination with the -exclude option also note that exlude takes priority
/// over all includes.
///
/// -exclude:categorylist
/// If specified, nunitlite will not run any of the tests with a category
/// that is in the comma separated list of category names.
/// Example usage: -exclude:category1,category2 this command can be used
/// in combination with the -include option also note that exclude takes priority
/// over all includes
///
/// </param>
public static void Main(string[] args)
{
if (args!=null && args.Length != 0)
{
new TextUI().Execute(args);
}
else
{
new TextUI().Execute(new [] {"-full","-wait"/* "-out:C:\\Files\\UnitTestDumpCS.txt"*/});
{
Table.ShowVersionTest();
new TextUI().Execute(new [] {"-labels","-full","-wait"/* "-out:C:\\Files\\UnitTestDumpCS.txt"*/});
}
//Console.WriteLine("Tests finished, any key to close the application");
//Console.ReadKey();
Expand Down
Binary file modified Test_3.5/GlobalSuppressions.cs
Binary file not shown.
Binary file modified Test_4.0/GlobalSuppressions.cs
Binary file not shown.
Binary file modified TightDbCSharp/GlobalSuppressions.cs
Binary file not shown.
Loading

0 comments on commit f1521ab

Please sign in to comment.