Skip to content

Commit 42e72f5

Browse files
committed
More CI Enhancements
* Added .travis.yml as second CI source * Expanded appveyor.yml with more build settings * Added travis badge next to appveyor badge * Updated settings in ICSharpCode.SharpZipLib.Tests.csproj and ICSharpCode.SharpZipLib.sln to support automated testing on travis
1 parent cba2b88 commit 42e72f5

6 files changed

Lines changed: 186 additions & 102 deletions

File tree

.travis.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
language: csharp
2+
mono:
3+
- latest
4+
- 3.12.0
5+
- 3.10.0
6+
- 2.10.8
7+
solution: ICSharpCode.SharpZipLib.sln
8+
install:
9+
- nuget restore ICSharpCode.SharpZipLib.sln
10+
- nuget install NUnit.Runners -Version 2.6.4 -OutputDirectory testrunner
11+
script:
12+
- xbuild /p:Configuration=Release ICSharpCode.SharpZipLib.sln
13+
- mono ./testrunner/NUnit.Runners.2.6.4/tools/nunit-console.exe ./ICSharpCode.SharpZipLib.Tests/bin/Release/ICSharpCode.SharpZipLib.Tests.dll

ICSharpCode.SharpZipLib.Tests/ICSharpCode.SharpZipLib.Tests.csproj

Lines changed: 47 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -3,94 +3,89 @@
33
<PropertyGroup>
44
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
55
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6-
<SchemaVersion>2.0</SchemaVersion>
7-
<ProjectGuid>{82211166-9C45-4603-8E3A-2CA2EFFCBC26}</ProjectGuid>
8-
<RootNamespace>ICSharpCode.SharpZipLib</RootNamespace>
6+
<ApplicationRevision>0</ApplicationRevision>
7+
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
98
<AssemblyName>ICSharpCode.SharpZipLib.Tests</AssemblyName>
10-
<OutputType>Library</OutputType>
11-
<WarningLevel>4</WarningLevel>
12-
<NoStdLib>False</NoStdLib>
13-
<NoConfig>False</NoConfig>
14-
<RegisterForComInterop>False</RegisterForComInterop>
15-
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
169
<BaseAddress>4194304</BaseAddress>
17-
<PlatformTarget>AnyCPU</PlatformTarget>
10+
<BootstrapperEnabled>true</BootstrapperEnabled>
1811
<FileAlignment>4096</FileAlignment>
19-
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
20-
<FileUpgradeFlags>
21-
</FileUpgradeFlags>
22-
<UpgradeBackupLocation>
23-
</UpgradeBackupLocation>
24-
<OldToolsVersion>2.0</OldToolsVersion>
25-
<PublishUrl>publish\</PublishUrl>
12+
<FileUpgradeFlags />
13+
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
2614
<Install>true</Install>
2715
<InstallFrom>Disk</InstallFrom>
16+
<IsWebBootstrapper>false</IsWebBootstrapper>
17+
<MapFileExtensions>true</MapFileExtensions>
18+
<NoConfig>False</NoConfig>
19+
<NoStdLib>False</NoStdLib>
20+
<OldToolsVersion>2.0</OldToolsVersion>
21+
<OutputType>Library</OutputType>
22+
<PlatformTarget>AnyCPU</PlatformTarget>
23+
<ProjectGuid>{82211166-9C45-4603-8E3A-2CA2EFFCBC26}</ProjectGuid>
24+
<PublishUrl>publish\</PublishUrl>
25+
<RegisterForComInterop>False</RegisterForComInterop>
26+
<RootNamespace>ICSharpCode.SharpZipLib</RootNamespace>
27+
<SchemaVersion>2.0</SchemaVersion>
28+
<TargetFrameworkProfile />
29+
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
2830
<UpdateEnabled>false</UpdateEnabled>
29-
<UpdateMode>Foreground</UpdateMode>
3031
<UpdateInterval>7</UpdateInterval>
3132
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
33+
<UpdateMode>Foreground</UpdateMode>
3234
<UpdatePeriodically>false</UpdatePeriodically>
3335
<UpdateRequired>false</UpdateRequired>
34-
<MapFileExtensions>true</MapFileExtensions>
35-
<ApplicationRevision>0</ApplicationRevision>
36-
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
37-
<IsWebBootstrapper>false</IsWebBootstrapper>
36+
<UpgradeBackupLocation />
3837
<UseApplicationTrust>false</UseApplicationTrust>
39-
<BootstrapperEnabled>true</BootstrapperEnabled>
40-
<TargetFrameworkProfile />
38+
<WarningLevel>4</WarningLevel>
4139
</PropertyGroup>
4240
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
43-
<DebugSymbols>true</DebugSymbols>
44-
<Optimize>False</Optimize>
4541
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
4642
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
47-
<OutputPath>..\bin\Debug\</OutputPath>
48-
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
43+
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
44+
<DebugSymbols>true</DebugSymbols>
4945
<DebugType>Full</DebugType>
46+
<Optimize>False</Optimize>
47+
<OutputPath>bin\Debug\</OutputPath>
5048
<Prefer32Bit>false</Prefer32Bit>
5149
<RunCodeAnalysis>true</RunCodeAnalysis>
52-
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
50+
<StartAction>Program</StartAction>
51+
<StartArguments>ICSharpCode.SharpZipLib.Tests.dll</StartArguments>
52+
<StartProgram>packages\NUnit.Runners.2.6.4\tools\nunit.exe</StartProgram>
53+
<StartWorkingDirectory />
54+
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
5355
</PropertyGroup>
5456
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
57+
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
58+
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
59+
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
5560
<DebugSymbols>False</DebugSymbols>
5661
<Optimize>True</Optimize>
57-
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
58-
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
5962
<OutputPath>bin\Release\</OutputPath>
60-
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
6163
<Prefer32Bit>false</Prefer32Bit>
6264
<RunCodeAnalysis>true</RunCodeAnalysis>
63-
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
64-
</PropertyGroup>
65-
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
6665
<StartAction>Program</StartAction>
67-
<StartProgram>..\..\..\..\..\..\..\..\..\Bin\Nunit\bin\nunit.exe</StartProgram>
68-
<StartArguments>SharpZipLibTests.dll</StartArguments>
69-
<StartWorkingDirectory>.</StartWorkingDirectory>
70-
</PropertyGroup>
71-
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
72-
<StartArguments>SharpZipLibTests.dll</StartArguments>
66+
<StartArguments>ICSharpCode.SharpZipLib.Tests.dll</StartArguments>
67+
<StartProgram>packages\NUnit.Runners.2.6.4\tools\nunit.exe</StartProgram>
68+
<StartWorkingDirectory />
69+
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
7370
</PropertyGroup>
7471
<ItemGroup>
7572
<Compile Include="AssemblyInfo.cs" />
73+
<Compile Include="Base\InflaterDeflaterTests.cs" />
74+
<Compile Include="BZip2\Bzip2Tests.cs" />
7675
<Compile Include="Core\Core.cs" />
76+
<Compile Include="GZip\GZipTests.cs" />
77+
<Compile Include="Tar\TarTests.cs" />
7778
<Compile Include="TestSupport\RingBuffer.cs" />
7879
<Compile Include="TestSupport\Streams.cs" />
7980
<Compile Include="TestSupport\Utils.cs" />
8081
<Compile Include="TestSupport\ZipTesting.cs" />
8182
<Compile Include="Zip\ZipTests.cs" />
82-
<Compile Include="BZip2\Bzip2Tests.cs" />
83-
<Compile Include="GZip\GZipTests.cs" />
84-
<Compile Include="Tar\TarTests.cs" />
85-
<Compile Include="Base\InflaterDeflaterTests.cs" />
86-
</ItemGroup>
87-
<ItemGroup>
88-
<ProjectReference Include="..\ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib.csproj">
89-
<Project>{0defc56a-39db-4025-9f79-673b8ad6d04f}</Project>
90-
<Name>ICSharpCode.SharpZipLib</Name>
91-
</ProjectReference>
9283
</ItemGroup>
9384
<ItemGroup>
85+
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, processorArchitecture=MSIL">
86+
<SpecificVersion>False</SpecificVersion>
87+
<HintPath>..\bin\Release\ICSharpCode.SharpZipLib.dll</HintPath>
88+
</Reference>
9489
<Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
9590
<HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
9691
<Private>True</Private>
@@ -110,4 +105,4 @@
110105
<None Include="packages.config" />
111106
</ItemGroup>
112107
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
113-
</Project>
108+
</Project>

ICSharpCode.SharpZipLib.sln

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpZipLib", "ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib.csproj", "{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}"
77
EndProject
88
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpZipLib.Tests", "ICSharpCode.SharpZipLib.Tests\ICSharpCode.SharpZipLib.Tests.csproj", "{82211166-9C45-4603-8E3A-2CA2EFFCBC26}"
9+
ProjectSection(ProjectDependencies) = postProject
10+
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD} = {0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}
11+
EndProjectSection
912
EndProject
1013
Global
1114
GlobalSection(SolutionConfigurationPlatforms) = preSolution

ICSharpCode.SharpZipLib/AssemblyInfo.cs

Lines changed: 4 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// making a combined work based on this library. Thus, the terms and
2121
// conditions of the GNU General Public License cover the whole
2222
// combination.
23-
//
23+
//
2424
// As a special exception, the copyright holders of this library give you
2525
// permission to link this library with independent modules to produce an
2626
// executable, regardless of the license terms of these independent
@@ -79,7 +79,7 @@
7979
[assembly: AssemblyTrademark("")]
8080

8181
[assembly: AssemblyVersion("0.87.*")]
82-
[assembly: AssemblyInformationalVersionAttribute("0.86.0")]
82+
[assembly: AssemblyInformationalVersionAttribute("0.87.*")]
8383

8484

8585
[assembly: CLSCompliant(true)]
@@ -91,46 +91,7 @@
9191
[assembly: System.Security.AllowPartiallyTrustedCallers]
9292
#endif
9393

94-
// Setting ComVisible to false makes the types in this assembly not visible
95-
// to COM components. If you need to access a type in this assembly from
94+
// Setting ComVisible to false makes the types in this assembly not visible
95+
// to COM components. If you need to access a type in this assembly from
9696
// COM, set the ComVisible attribute to true on that type.
9797
[assembly: ComVisible(false)]
98-
[assembly: NeutralResourcesLanguage("en-US")]
99-
100-
//
101-
// In order to sign your assembly you must specify a key to use. Refer to the
102-
// Microsoft .NET Framework documentation for more information on assembly signing.
103-
//
104-
// Use the attributes below to control which key is used for signing.
105-
//
106-
// Notes:
107-
// (*) If no key is specified, the assembly is not signed.
108-
// (*) KeyName refers to a key that has been installed in the Crypto Service
109-
// Provider (CSP) on your machine. KeyFile refers to a file which contains
110-
// a key.
111-
// (*) If the KeyFile and the KeyName values are both specified, the
112-
// following processing occurs:
113-
// (1) If the KeyName can be found in the CSP, that key is used.
114-
// (2) If the KeyName does not exist and the KeyFile does exist, the key
115-
// in the KeyFile is installed into the CSP and used.
116-
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
117-
// When specifying the KeyFile, the location of the KeyFile should be
118-
// relative to the project output directory which is
119-
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
120-
// located in the project directory, you would specify the AssemblyKeyFile
121-
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
122-
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
123-
// documentation for more information on this.
124-
//
125-
#if (CLI_1_0 || NET_1_0 || NET_1_1 || NETCF_1_0 || SSCLI)
126-
[assembly: AssemblyDelaySign(false)]
127-
#if VSTUDIO
128-
[assembly: AssemblyKeyFile("../../ICSharpCode.SharpZipLib.key")]
129-
#elif AUTOBUILD
130-
[assembly: AssemblyKeyFile("ICSharpCode.SharpZipLib.key")]
131-
#else
132-
[assembly: AssemblyKeyFile("../ICSharpCode.SharpZipLib.key")]
133-
#endif
134-
#endif
135-
136-

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
[![Build status](https://ci.appveyor.com/api/projects/status/ljqg88y94s7681mp/branch/build?svg=true)](https://ci.appveyor.com/project/McNeight/sharpziplib-ooxdl/branch/build)
1+
# SharpZipLib
22

3+
[![Build Status](https://travis-ci.org/McNeight/SharpZipLib.svg?branch=build)](https://travis-ci.org/McNeight/SharpZipLib)
4+
[![Build status](https://ci.appveyor.com/api/projects/status/ljqg88y94s7681mp/branch/build?svg=true)](https://ci.appveyor.com/project/McNeight/sharpziplib-ooxdl/branch/build)
35

4-
SharpZipLib
5-
===========
66

77
\#ziplib (SharpZipLib, formerly NZipLib) is a **Zip, GZip, Tar and BZip2 library** written entirely in C\# for the .NET framework. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of #ziplib put it this way: "I've ported the zip library over to C\# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C\#."
88

appveyor.yml

Lines changed: 116 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,121 @@
1+
# Notes:
2+
# - Minimal appveyor.yml file is an empty file. All sections are optional.
3+
# - Indent each level of configuration with 2 spaces. Do not use tabs!
4+
# - All section names are case-sensitive.
5+
# - Section names should be unique on each level.
6+
7+
#---------------------------------#
8+
# general configuration #
9+
#---------------------------------#
10+
11+
# version format
112
version: 0.87.{build}
2-
configuration: Debug
13+
14+
# you can use {branch} name in version format too
15+
# version: 1.0.{build}-{branch}
16+
17+
# branches to build
18+
branches:
19+
# whitelist
20+
only:
21+
- build
22+
23+
# Do not build on tags (GitHub only)
24+
skip_tags: true
25+
26+
#---------------------------------#
27+
# environment configuration #
28+
#---------------------------------#
29+
30+
# Operating system (build VM template)
31+
image:
32+
- Visual Studio 2015
33+
- Visual Studio 2013
34+
35+
# build cache to preserve files/folders between builds
36+
cache:
37+
- packages -> **\packages.config # preserve "packages" directory in the root of build folder but will reset it if packages.config is modified
38+
39+
#---------------------------------#
40+
# build configuration #
41+
#---------------------------------#
42+
43+
# build platform, i.e. x86, x64, Any CPU. This setting is optional.
344
platform: Any CPU
4-
before_build:
5-
- nuget restore ICSharpCode.SharpZipLib.sln
45+
46+
# to add several platforms to build matrix:
47+
#platform:
48+
# - x86
49+
# - Any CPU
50+
51+
# build Configuration, i.e. Debug, Release, etc.
52+
#configuration: Release
53+
54+
# to add several configurations to build matrix:
55+
configuration:
56+
- Debug
57+
- Release
58+
59+
assembly_info:
60+
patch: true
61+
file: '**\AssemblyInfo.*'
62+
assembly_version: '{version}'
63+
assembly_file_version: '{version}'
64+
assembly_informational_version: '{version}'
65+
666
build:
767
project: ICSharpCode.SharpZipLib.sln
68+
publish_nuget: true
69+
publish_nuget_symbols: true
70+
include_nuget_references: true
871
parallel: true
9-
verbosity: detailed
72+
verbosity: normal
73+
74+
# scripts to run before build
75+
before_build:
76+
- cmd: nuget restore ICSharpCode.SharpZipLib.sln
77+
78+
#---------------------------------#
79+
# tests configuration #
80+
#---------------------------------#
81+
82+
#---------------------------------#
83+
# artifacts configuration #
84+
#---------------------------------#
85+
86+
artifacts:
87+
- path: bin\Debug\ICSharpCode.SharpZipLib.dll
88+
name: Debug
89+
- path: bin\Debug\ICSharpCode.SharpZipLib.pdb
90+
name: Debug
91+
- path: bin\Release\ICSharpCode.SharpZipLib.dll
92+
name: Release
93+
- path: bin\Release\ICSharpCode.SharpZipLib.pdb
94+
name: Release
95+
96+
#---------------------------------#
97+
# deployment configuration #
98+
#---------------------------------#
99+
100+
# providers: Local, FTP, WebDeploy, AzureCS, AzureBlob, S3, NuGet, Environment
101+
# provider names are case-sensitive!
102+
103+
#---------------------------------#
104+
# global handlers #
105+
#---------------------------------#
106+
107+
#---------------------------------#
108+
# notifications #
109+
#---------------------------------#
110+
111+
notifications:
112+
113+
# Email
114+
- provider: Email
115+
to:
116+
- mcneight+appveyor@gmail.com
117+
subject: 'Build {{status}}' # optional
118+
message: "{{message}}, {{commitId}}, ..." # optional
119+
on_build_success: true
120+
on_build_failure: true
121+
on_build_status_changed: true

0 commit comments

Comments
 (0)