Skip to content

Commit

Permalink
add first version of example
Browse files Browse the repository at this point in the history
  • Loading branch information
Andreas Willich committed Apr 15, 2019
1 parent bff5c96 commit 1cb84b7
Show file tree
Hide file tree
Showing 9 changed files with 163 additions and 0 deletions.
7 changes: 7 additions & 0 deletions Plugins/Directory.Build.targets
@@ -0,0 +1,7 @@
<Project>
<Target Name="SetNuspecProperties" BeforeTargets="GenerateNuspec" >
<PropertyGroup>
<NuspecProperties>$(NuspecProperties);config=$(Configuration)</NuspecProperties>
</PropertyGroup>
</Target>
</Project>
18 changes: 18 additions & 0 deletions Plugins/GeneratorPlugin/SampleGeneratorPlugin.cs
@@ -0,0 +1,18 @@
using GeneratorPlugin;
using TechTalk.SpecFlow.Generator.Plugins;
using TechTalk.SpecFlow.Infrastructure;
using TechTalk.SpecFlow.UnitTestProvider;

[assembly:GeneratorPlugin(typeof(SampleGeneratorPlugin))]

namespace GeneratorPlugin
{
public class SampleGeneratorPlugin : IGeneratorPlugin
{
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters,
UnitTestProviderConfiguration unitTestProviderConfiguration)
{

}
}
}
18 changes: 18 additions & 0 deletions Plugins/GeneratorPlugin/SampleGeneratorPlugin.csproj
@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net471;netstandard2.0</TargetFrameworks>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<NuspecFile>$(MSBuildThisFileDirectory)SamplePlugin.nuspec</NuspecFile>
<AssemblyName>SampleGeneratorPlugin.SpecFlowPlugin</AssemblyName>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="SpecFlow.CustomPlugin" Version="3.0.199" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\RuntimePlugin\SampleRuntimePlugin.csproj" />
</ItemGroup>

</Project>
32 changes: 32 additions & 0 deletions Plugins/GeneratorPlugin/SamplePlugin.nuspec
@@ -0,0 +1,32 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>SpecFlow.SamplePlugin</id>
<version>1.0.0</version>
<title>SpecFlow.SamplePlugin</title>
<authors>TechTalk</authors>
<owners>TechTalk</owners>
<description>This is a sample Plugin for SpecFlow 3</description>
<summary></summary>
<language>en-US</language>


<requireLicenseAcceptance>false</requireLicenseAcceptance>
<tags>specflow</tags>
<dependencies>
<dependency id="SpecFlow" version="3.0"/>
</dependencies>
</metadata>
<files>
<file src="build\**\*" target="build"/>

<file src="bin\$config$\net471\SampleRuntimePlugin.SpecFlowPlugin.*" target="lib\net45"/>
<file src="bin\$config$\netstandard2.0\SampleRuntimePlugin.SpecFlowPlugin.dll" target="lib\netstandard2.0"/>
<file src="bin\$config$\netstandard2.0\SampleRuntimePlugin.SpecFlowPlugin.pdb" target="lib\netstandard2.0"/>

<file src="bin\$config$\net471\SampleGeneratorPlugin.SpecFlowPlugin.*" target="build\net471"/>
<file src="bin\$config$\netstandard2.0\SampleGeneratorPlugin.SpecFlowPlugin.dll" target="build\netstandard2.0"/>
<file src="bin\$config$\netstandard2.0\SampleGeneratorPlugin.SpecFlowPlugin.pdb" target="build\netstandard2.0"/>


</files>
</package>
12 changes: 12 additions & 0 deletions Plugins/GeneratorPlugin/build/SpecFlow.SamplePlugin.props
@@ -0,0 +1,12 @@
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" TreatAsLocalProperty="TaskFolder;TaskAssembly">

<ItemGroup>
<SpecFlowGeneratorPlugins Include="$(_SampleGeneratorPluginPath)" />
<None Include="$(_SampleRuntimePluginPath)" >
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>False</Visible>
</None>
</ItemGroup>

</Project>
12 changes: 12 additions & 0 deletions Plugins/GeneratorPlugin/build/SpecFlow.SamplePlugin.targets
@@ -0,0 +1,12 @@
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_SampleGeneratorPluginFramework Condition=" '$(MSBuildRuntimeType)' == 'Core'">netstandard2.0</_SampleGeneratorPluginFramework>
<_SampleGeneratorPluginFramework Condition=" '$(MSBuildRuntimeType)' != 'Core'">net471</_SampleGeneratorPluginFramework>

<_SampleGeneratorPluginPath>$(MSBuildThisFileDirectory)\$(_SampleGeneratorPluginFramework)\SampleGeneratorPlugin.SpecFlowPlugin.dll</_SampleGeneratorPluginPath>

<_SampleRuntimePluginFramework Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' ">netstandard2.0</_SampleRuntimePluginFramework>
<_SampleRuntimePluginFramework Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' ">net45</_SampleRuntimePluginFramework>
<_SampleRuntimePluginPath>$(MSBuildThisFileDirectory)\..\lib\$(_SampleRuntimePluginFramework)\SampleRuntimePlugin.SpecFlowPlugin.dll</_SampleRuntimePluginPath>
</PropertyGroup>
</Project>
16 changes: 16 additions & 0 deletions Plugins/RuntimePlugin/SampleRuntimePlugin.cs
@@ -0,0 +1,16 @@
using TechTalk.SpecFlow.Plugins;
using TechTalk.SpecFlow.UnitTestProvider;

[assembly: RuntimePlugin(typeof(SampleRuntimePlugin.SampleRuntimePlugin))]

namespace SampleRuntimePlugin
{
public class SampleRuntimePlugin : IRuntimePlugin
{
public void Initialize(RuntimePluginEvents runtimePluginEvents, RuntimePluginParameters runtimePluginParameters,
UnitTestProviderConfiguration unitTestProviderConfiguration)
{

}
}
}
12 changes: 12 additions & 0 deletions Plugins/RuntimePlugin/SampleRuntimePlugin.csproj
@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net45;netstandard2.0</TargetFrameworks>
<AssemblyName>SampleRuntimePlugin.SpecFlowPlugin</AssemblyName>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="SpecFlow" Version="3.0.199" />
</ItemGroup>

</Project>
36 changes: 36 additions & 0 deletions Plugins/SamplePlugins.sln
@@ -0,0 +1,36 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28803.156
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleRuntimePlugin", "RuntimePlugin\SampleRuntimePlugin.csproj", "{CACF906A-7230-4E37-984C-739AB1620995}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleGeneratorPlugin", "GeneratorPlugin\SampleGeneratorPlugin.csproj", "{D14B26AD-ADF4-48AB-8B9F-4146BF3C3E4F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F6B4EBE9-9995-403D-BC3F-AD26CD6E960F}"
ProjectSection(SolutionItems) = preProject
Directory.Build.targets = Directory.Build.targets
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CACF906A-7230-4E37-984C-739AB1620995}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CACF906A-7230-4E37-984C-739AB1620995}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CACF906A-7230-4E37-984C-739AB1620995}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CACF906A-7230-4E37-984C-739AB1620995}.Release|Any CPU.Build.0 = Release|Any CPU
{D14B26AD-ADF4-48AB-8B9F-4146BF3C3E4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D14B26AD-ADF4-48AB-8B9F-4146BF3C3E4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D14B26AD-ADF4-48AB-8B9F-4146BF3C3E4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D14B26AD-ADF4-48AB-8B9F-4146BF3C3E4F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {CF1B75FE-E67E-486F-9B92-BDBAD9A8B86A}
EndGlobalSection
EndGlobal

0 comments on commit 1cb84b7

Please sign in to comment.