diff --git a/.gitignore b/.gitignore index 827d62a90..7bf6fbf1f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,17 @@ - -.*.swp +# Local-only VS/Re#/etc files *.suo -bin +*.user +*.gpState _ReSharper.* +.*.swp + +# + +# Build outputs +bin obj -*.gpState -*.user -TestResults -GitTfs/GitVersionInfo pkg -GitTfs.sln.* -*.dotCover + +# 3rd-party stuff copied during build packages/ +GitTfs/git2.* diff --git a/.nuget/NuGet.targets b/.nuget/NuGet.targets index bda5bea32..106a601c4 100644 --- a/.nuget/NuGet.targets +++ b/.nuget/NuGet.targets @@ -44,7 +44,7 @@ @(PackageSource) "$(NuGetExePath)" - mono --runtime=v4.0.30319 $(NuGetExePath) + $(NuGetToolsPath)/fake-nuget $(TargetDir.Trim('\\')) @@ -140,4 +140,4 @@ - \ No newline at end of file + diff --git a/.nuget/fake-nuget b/.nuget/fake-nuget new file mode 100755 index 000000000..ebc5d1ac0 --- /dev/null +++ b/.nuget/fake-nuget @@ -0,0 +1,52 @@ +#!/bin/bash + +command=$1 +manifest=$2 +dest=$7 + +ERR_COMMAND=1 +ERR_DOWNLOAD=2 +ERR_EXTRACT=3 + +if [ "$command" != "install" ] +then + echo "Only install is supported. (command was $command)" + exit $ERR_COMMAND +fi + +# http://stackoverflow.com/questions/893585/how-to-parse-xml-in-bash +read_dom() { + local IFS=\> + read -d \< ENTITY CONTENT +} + +parse_dom() { + echo $ENTITY + TAG_NAME=${ENTITY%% *} + ATTRIBUTES=${ENTITY#* } + if [ "$TAG_NAME" == "package" ] + then + eval local $ATTRIBUTES + pkgdest="$dest/$id.$version" + pkg="$id.$version.nupkg" + downloaded="$pkgdest/$pkg" + if [ ! -d "$pkgdest" ] + then + mkdir -p "$pkgdest" + fi + if [ ! -f "$downloaded" ] + then + curl -L -o "$downloaded" "https://nuget.org/api/v2/package/$id/$version" || exit $ERR_DOWNLOAD + fi + unzip -o -d $pkgdest $downloaded || exit $ERR_EXTRACT + fi +} + +install_packages() { + while read_dom + do + parse_dom + done +} + +cat $manifest | install_packages diff --git a/.nuget/packages.config b/.nuget/packages.config new file mode 100644 index 000000000..1cb9b2b94 --- /dev/null +++ b/.nuget/packages.config @@ -0,0 +1,4 @@ + + + + diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..0fc120efe --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +language: c + +install: + - sudo apt-get install mono-devel mono-gmcs + +script: + - git submodule update --init + - xbuild GitTfs.sln /p:Configuration=Debug /t:GitTfsTest + +after_script: + - ./.nuget/fake-nuget install .nuget/packages.config -source "" -RequireConsent -o ./packages + - mono packages/xunit.runners.1.9.1/tools/xunit.console.clr4.exe GitTfsTest/bin/Debug/GitTfsTest.dll diff --git a/GitTfs.VsFake/GitTfs.VsFake.csproj b/GitTfs.VsFake/GitTfs.VsFake.csproj index 57a4aba9c..0fa2f58f2 100644 --- a/GitTfs.VsFake/GitTfs.VsFake.csproj +++ b/GitTfs.VsFake/GitTfs.VsFake.csproj @@ -126,7 +126,8 @@ --> - xcopy /y "$(TargetDir)*.dll" "$(SolutionDir)GitTfs\$(OutDir)" + xcopy /y "$(TargetDir)*.dll" "$(SolutionDir)GitTfs\$(OutDir)" + cp "$(TargetDir)"*.dll "$(SolutionDir)GitTfs\$(OutDir)" - \ No newline at end of file + diff --git a/GitTfs/GitTfs.csproj b/GitTfs/GitTfs.csproj index b12bef0f0..e3df7337c 100644 --- a/GitTfs/GitTfs.csproj +++ b/GitTfs/GitTfs.csproj @@ -244,11 +244,12 @@ --> - xcopy /Y "$(SolutionDir)\lib\libgit2sharp\Lib\NativeBinaries\$(PlatformName)\*.*" "$(ProjectDir)" + xcopy /Y "$(SolutionDir)\lib\libgit2sharp\Lib\NativeBinaries\$(PlatformName)\*.*" "$(ProjectDir)" + cp "$(SolutionDir)/lib/libgit2sharp/Lib/NativeBinaries/$(PlatformName)/"* "$(ProjectDir)" - \ No newline at end of file + diff --git a/GitTfsTest/GitTfsTest.csproj b/GitTfsTest/GitTfsTest.csproj index 30d93fdf7..5f8525395 100644 --- a/GitTfsTest/GitTfsTest.csproj +++ b/GitTfsTest/GitTfsTest.csproj @@ -1,152 +1,152 @@ - - - - Debug - x86 - 9.0.30729 - 2.0 - {DDFB4746-2BCE-4B34-8E45-056324CF140D} - Library - Properties - Sep.Git.Tfs.Test - GitTfsTest - v4.0 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - - - 3.5 - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - ..\ - true - - - true - bin\Debug\ - DEBUG;TRACE - full - x86 - true - GlobalSuppressions.cs - prompt - AllRules.ruleset - - - bin\Release\ - TRACE - true - pdbonly - x86 - true - GlobalSuppressions.cs - prompt - AllRules.ruleset - - - - ..\lib\NDesk.Options\lib\ndesk-options\NDesk.Options.dll - - - False - ..\lib\StructureMap\Rhino.Mocks.dll - - - False - ..\lib\StructureMap\StructureMap.dll - - - False - ..\lib\StructureMap\StructureMap.AutoMocking.dll - - - - 3.5 - - - - - - - ..\packages\xunit.1.9.1\lib\net20\xunit.dll - - - - - - - - - - - - - - - - - - - - - {20c411e8-49c7-11e1-a776-3fe84824019b} - GitTfs.VsFake - - - {55C169E0-93CC-488C-9885-1D4EAF4EA236} - GitTfs - - - {EE6ED99F-CB12-4683-B055-D28FC7357A34} - LibGit2Sharp - - - - - False - Microsoft .NET Framework 4 %28x86 and x64%29 - true - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - false - - - False - Windows Installer 3.1 - true - - - - - - - + + + + Debug + x86 + 9.0.30729 + 2.0 + {DDFB4746-2BCE-4B34-8E45-056324CF140D} + Library + Properties + Sep.Git.Tfs.Test + GitTfsTest + v4.0 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + 3.5 + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + ..\ + true + + + true + bin\Debug\ + DEBUG;TRACE + full + x86 + true + GlobalSuppressions.cs + prompt + AllRules.ruleset + + + bin\Release\ + TRACE + true + pdbonly + x86 + true + GlobalSuppressions.cs + prompt + AllRules.ruleset + + + + ..\lib\NDesk.Options\lib\ndesk-options\NDesk.Options.dll + + + False + ..\lib\StructureMap\Rhino.Mocks.dll + + + False + ..\lib\StructureMap\StructureMap.dll + + + False + ..\lib\StructureMap\StructureMap.AutoMocking.dll + + + + 3.5 + + + + + + + ..\packages\xunit.1.9.1\lib\net20\xunit.dll + + + + + + + + + + + + + + + + + + + + + {20c411e8-49c7-11e1-a776-3fe84824019b} + GitTfs.VsFake + + + {55C169E0-93CC-488C-9885-1D4EAF4EA236} + GitTfs + + + {EE6ED99F-CB12-4683-B055-D28FC7357A34} + LibGit2Sharp + + + + + False + Microsoft .NET Framework 4 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 3.1 + true + + + + + + + - \ No newline at end of file + --> +