Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move generated files outside of project source #1983

Open
wants to merge 283 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
283 commits
Select commit Hold shift + click to select a range
ba21866
Add links to the new Getting Started Step By Step Guide (#2204)
SabotageAndi Nov 12, 2020
197bfe8
Record support (#2206)
SabotageAndi Nov 16, 2020
37ec728
add migration guide for Scenario/FeatureContext.Current (#2214)
SabotageAndi Nov 18, 2020
1aaaa2a
remove VS2015 support (#2211)
SabotageAndi Nov 18, 2020
77dc830
update docs and community links, minor text changes
chassa Nov 19, 2020
a9422d7
added getting started link
chassa Nov 24, 2020
f73fcf2
Fix Scope docs (#2220)
epresi Nov 25, 2020
3102bb2
Remove Windsor scoping and add binding parameter (#2217)
robertcoltheart Nov 26, 2020
858ba7e
Added IReadOnlyList to types handled by ListValueRetriever (#2221)
jswiniarski Nov 27, 2020
88b6bea
switch Gitter to Discord
SabotageAndi Dec 1, 2020
a4eb789
Copy specflow.json to the output directory (if exists) (#2227)
epresi Dec 7, 2020
acbdba1
add .NET 5 to requirements
SabotageAndi Dec 10, 2020
8d7f153
Add MSBuild response file to reduce local setup (#2232)
SabotageAndi Dec 15, 2020
1bc6691
updated reporting docs (#2238)
alimogithub Dec 16, 2020
d6dcf22
Add registration information to ValueRetriever documentation (#2242)
SeanKilleen Dec 21, 2020
618d86d
Add custom message to PendingStepException (#2240)
SabotageAndi Dec 21, 2020
09c21f6
Update SpecFlow.ExternalData to use SpecFlow 3.5 (#2241)
SabotageAndi Dec 21, 2020
d790151
build Specs for correct TFMs depending on MSBuild Runtime (#2233)
SabotageAndi Jan 7, 2021
3c270a1
Update bug_report.md (#2244)
icnocop Jan 7, 2021
9018d2f
Update version number to 3.6-beta (#2254)
SabotageAndi Jan 13, 2021
208c9ed
Improve building (local + build servers) (#2252)
epresi Jan 13, 2021
0005aa5
Fix parser tests (#2255)
tzongithub Jan 13, 2021
c7f545d
CI build should trigger only for master (#2256)
epresi Jan 14, 2021
5f347c9
Be able to access MSTest TestContext in BeforeTestRun/AfterTestRun #1…
tzongithub Jan 14, 2021
1dcb956
Docs: remove obsolete page (#2258)
tzongithub Jan 14, 2021
4bd2351
Remove warnings from source (#2259)
SabotageAndi Jan 15, 2021
8674b2c
Do not show generation error in case of empty feature file (#2260)
alexandrafung Jan 15, 2021
5991976
Fix flaky test and netcoreapp2.1 Unit Test runs (#2262)
epresi Jan 15, 2021
d93b6ed
Use latest .NET 5 SDK + Update submodules (#2264)
epresi Jan 18, 2021
eed1758
Show duration for a failed step (#2251)
ckonala Jan 18, 2021
b75ad17
Documentation: Hook parameter injection (#2263)
tzongithub Jan 18, 2021
48c1e98
Batch changes while a build is in progress (#2265)
epresi Jan 18, 2021
edc0c60
contribution guideline update (#2268)
alimogithub Jan 20, 2021
22cc48f
Correctly handle Table argument step transformations when multiple ma…
nemesv Jan 20, 2021
fd98cde
Search for RuntimePlugins in the TestAssembly (#2266)
epresi Jan 20, 2021
e51b1ee
Access Feature level tags in Scenario level via ScenarioAndFeatureTag…
epresi Jan 20, 2021
a909ed1
Add documentation about how to write and use a Decorator - #1620 (#2273)
ozslab Jan 20, 2021
e3db305
Handle errors in BeforeScenarioHooks (#2274)
nemesv Jan 20, 2021
1540df5
Document as known issue: Generating step definitions provides depreca…
alexandrafung Jan 21, 2021
a35a83b
Docs: Executing specific Scenarios in your Build pipeline (#2276)
epresi Jan 21, 2021
b7c80b8
Fix duration in case of failed Step (#2277)
epresi Jan 21, 2021
bb9a66d
Change version to 3.6 (#2279)
epresi Jan 22, 2021
797e666
Update issue template to 3.6 (#2280)
epresi Jan 22, 2021
3417643
use GitHub action for lock bot (#2271)
SabotageAndi Jan 25, 2021
4822662
Reference the Generator project directly to avoid version conflicts w…
nemesv Jan 26, 2021
4a1abee
Add docs for Format Document command (#2285)
epresi Jan 29, 2021
2e5b5b1
Fix navigation from test explorer to feature files (#2286)
epresi Jan 31, 2021
6f67624
Update Scope docs: Different level Scope behavior (#2287)
epresi Jan 31, 2021
665ef5d
Update Binding docs: Mention required BindingAttribute (#2288)
epresi Jan 31, 2021
2b9959d
Thread-safe object resolution with BoDi (beta) (#2293)
tzongithub Feb 2, 2021
4c5178b
added [Obsolete} attribute to docs (#2295)
alimogithub Feb 5, 2021
7eeb2d7
Update BoDi to v1.5.0 (thread-safe object resolution) (#2297)
tzongithub Feb 8, 2021
76ff729
move outdates plugins into their own section (#2299)
SabotageAndi Feb 8, 2021
27a6c9a
Fix typo in Configuration docs (#2300)
epresi Feb 9, 2021
b3a2f78
update Plugin documentation (#2278)
SabotageAndi Feb 10, 2021
a174af1
Ignore tag handling: generate test framework specific ignore attribut…
tzongithub Feb 10, 2021
87fff44
Cleanup scenario context even after an AfterScenario hook error (#2305)
tzongithub Feb 11, 2021
1261ee4
Move PluginAssemblyResolver to SpecFlow (#2303)
epresi Feb 12, 2021
8f98c50
Add fb pixel (#2309)
alimogithub Feb 12, 2021
e962859
Capture hook errors and call plugin hooks after hook error (#2306)
tzongithub Feb 12, 2021
78e50ad
Automatically include TechTalk.SpecFlow.MSTest.SpecFlowPlugin.dll as …
icnocop Feb 12, 2021
55f1360
Update GeneratorVersion to 3.7
epresi Feb 12, 2021
837be58
fix facebook pixel
SabotageAndi Feb 15, 2021
202a3c0
Fix wording in ScenarioContext docs (#2312)
epresi Feb 15, 2021
d70446d
added new footer to _template (#2317)
alimogithub Feb 16, 2021
cd43691
Update template to SpecFlow 3.7 and remove non LTS frameworks (#2318)
epresi Feb 16, 2021
cf428ff
Docs execution (#2321)
alimogithub Feb 17, 2021
03f5927
added navigation buttons (#2322)
alimogithub Feb 18, 2021
342d51a
#2307 Fixed bug when feature context can't be resolved at static meth…
HotTaton Feb 22, 2021
4b39434
Detect octopus tentacle/worker (#2326)
tzongithub Feb 22, 2021
bebbea9
Gh1901 Add support multilingual bool value (#2332)
RuslanUvarov Mar 1, 2021
20c607d
Docs: parallel execution (#2330)
tzongithub Mar 2, 2021
63d7498
Installation page+VS+Rider updates (#2334)
alimogithub Mar 2, 2021
a1bca5f
minor changes 2 (#2336)
alimogithub Mar 2, 2021
b5b2be2
Legacy pages moved + structure (#2337)
alimogithub Mar 2, 2021
4ec1b06
updated toc tree and naming (#2338)
alimogithub Mar 3, 2021
63b855b
updated rider image with matching background (#2339)
alimogithub Mar 3, 2021
3595132
Doc image update (#2340)
alimogithub Mar 3, 2021
5cbb587
adding the contribution guidelines images for rider (#2342)
alimogithub Mar 4, 2021
35e9f63
reorder .NET Implementation and fix naming
SabotageAndi Mar 8, 2021
9058e25
Docs rider screenshots (#2346)
alimogithub Mar 8, 2021
6d254e9
image clean up (#2348)
alimogithub Mar 8, 2021
455d08e
Use assembly version as generator version (#2345)
tzongithub Mar 8, 2021
8337ba4
added intellisense settings option (#2349)
alimogithub Mar 10, 2021
0c6e22a
added docs on syntax highlighting (#2351)
alimogithub Mar 11, 2021
c59d144
added google tag js (#2356)
alimogithub Mar 12, 2021
e714d73
Auto-update versions in dotnet new templates (#2354)
tzongithub Mar 12, 2021
8c9af3d
add GA back in (#2357)
alimogithub Mar 12, 2021
2e13881
add section on retrieving escenaio examples from ScenarioInfo (#2358)
kapros Mar 15, 2021
52fcfa4
improve RuntimePlugin Locator and LocationMerger (#2350)
bollhals Mar 17, 2021
1df62cb
debugging and specflow installation in vscode (#2363)
alimogithub Mar 19, 2021
64276ec
fix logo image (#2364)
alimogithub Mar 19, 2021
5c91244
reduce overhead when analytics is disabled (#2366)
bollhals Mar 22, 2021
103af07
fix spelling (#2367)
bollhals Mar 22, 2021
493cbdb
fix namespace of template file
SabotageAndi Mar 22, 2021
a11eb11
remove www from project Url
SabotageAndi Mar 24, 2021
a88ad57
added table formatting to features in rider (#2371)
alimogithub Mar 24, 2021
7ec2f75
reduce ctor work for classes not used all the time (#2368)
bollhals Mar 25, 2021
05ea39e
Fixed bug in StepTextAnalyzer with empty string parameters (#2383)
icnocop Apr 7, 2021
a8041cc
update NUnit to 3.13.1 (#2362)
SabotageAndi Apr 7, 2021
f796120
Change Plugins docs to use correct framework monikers (#2389)
Itamaram Apr 9, 2021
c653acf
Do not execute step argument transformations if a previous step had a…
shack05 Apr 9, 2021
71fa449
selenium example (#2381)
alimogithub Apr 9, 2021
4fb0253
switch to new GitHub issue templates
SabotageAndi Apr 9, 2021
1734e0b
Rename bug_report.md to bug_report.yml
SabotageAndi Apr 9, 2021
8bd6a76
disable blank issues and make feature request a link
SabotageAndi Apr 9, 2021
c802fb3
remove old feature request issue template
SabotageAndi Apr 9, 2021
17aa795
improve CultureInfoScope (#2375)
bollhals Apr 12, 2021
853b948
Update dotnet new template (#2378)
alexandrafung Apr 12, 2021
5901d2d
Fix the package references in the dotnet new template (#2394)
nemesv Apr 14, 2021
6781332
fix issue label
SabotageAndi Apr 14, 2021
a3097a2
Add FluentAssertions library to dotnet new project template (#2395)
alexandrafung Apr 16, 2021
b06cf8e
Embed feature files with it's Identity (#2377)
epresi Apr 16, 2021
5888c4c
Update WhiteSource bolt (#2400)
epresi Apr 20, 2021
d65262b
new guides structure (#2404)
alimogithub Apr 21, 2021
89406cc
fixed typo in home page (#2405)
alimogithub Apr 21, 2021
4cd2828
Add null check for DependencyContext (#2406)
epresi Apr 22, 2021
7b21bc4
Update version.json (#2413)
SabotageAndi Apr 29, 2021
763346b
Move WhiteSourceBolt task to a nightly build (#2415)
epresi Apr 30, 2021
40dc029
Create and use MsTestContainerBuilder in the VB AssemblyHook template…
epresi May 3, 2021
0f69b0b
Don't trigger nightly build for PRs (#2416)
epresi May 3, 2021
d7a5ca6
Update version to 3.8 (#2417)
epresi May 6, 2021
f768066
Improve SpecFlow outputs (#2412)
epresi May 6, 2021
bc6cefc
Route output API messages to tool output (instead of test output) (#2…
tzongithub May 10, 2021
8e8f76d
Issue template to discuss feature implementation details (#2420)
SabotageAndi May 12, 2021
84f4a04
add paragraph to discuss how to implement new features (#2421)
SabotageAndi May 14, 2021
3eb3e01
added docs on output API
alimogithub May 17, 2021
8e904ae
Docs output api (#2423)
alimogithub May 18, 2021
379f2d2
output api feedback (#2425)
alimogithub May 19, 2021
2497ef1
Auto update livingdoc reference major/minor in "dotnet new" template …
tzongithub May 20, 2021
5e9b245
Update changelog
epresi May 20, 2021
7404110
added note on binding being global (#2430)
alimogithub May 27, 2021
88fb1b0
new logo and colors (#2433)
alimogithub May 31, 2021
2d55895
fix note about supported test runners for AddAttachment
SabotageAndi Jun 1, 2021
3231cc4
Fix the "phantom" errors in IntelliSense and Resharper with marking t…
nemesv Jun 3, 2021
ee0718f
Update Gherkin to 19.0.3 (#2434)
epresi Jun 7, 2021
0349883
added note on naming convention in contributions (#2437)
alimogithub Jun 7, 2021
2b9b3b0
new Rider features(1.7.0) documented (#2438)
alimogithub Jun 7, 2021
8a0c811
Replace Utf8Json with SpecFlow.Internal.Json (#2436)
epresi Jun 8, 2021
31dffc1
Update changelog
epresi Jun 8, 2021
10a75f9
UI docs moved from old website to docs (#2441)
alimogithub Jun 9, 2021
b20afc8
Use tags to opt out of feature parallelization (#2409)
shack05 Jun 9, 2021
bb553ac
Remove ParallelizeDecorator introduced in #746 (#2444)
shack05 Jun 14, 2021
869e1ee
Fix Default value deserialization from specflow.json (#2443)
epresi Jun 14, 2021
aadd9bf
Fix xunit2 generator test for NonParallelizable collection attribute …
shack05 Jun 16, 2021
544bb12
Update SpecFlow logo and version to 3.9 (#2446)
epresi Jun 16, 2021
67d213f
updated logo image in some screenshots (#2448)
alimogithub Jun 16, 2021
b102a74
new doc on externaldata plugin
alimogithub Jun 28, 2021
4e3df7c
fix link (#2455)
alimogithub Jun 28, 2021
4302372
added editor link to breadcrumbs (#2460)
alimogithub Jul 8, 2021
f292770
Should not log error if TestAssembly does not have a RuntimePlugin at…
epresi Jul 13, 2021
1f966d8
special chars in the name troubleshoot (#2464)
alimogithub Jul 14, 2021
c2af0e3
logo updates (#2465)
alimogithub Jul 15, 2021
22fd83d
fixed broken images (#2467)
alimogithub Jul 19, 2021
65d53ed
wording updated (#2468)
alimogithub Jul 19, 2021
6b5ee63
added markdown section to Gherkin-Reference.md (#2470)
JordanWestern Jul 26, 2021
af50831
#2307 Fixed bug when feature context can't be resolved at static meth…
Jul 29, 2021
1fad404
External data plugin, support for CSV and Excel files (#2429)
gasparnagy Jul 29, 2021
775c517
logo update (#2474)
alimogithub Jul 29, 2021
5b7886e
Add semantic validator for duplicate Example column header names (#2475)
epresi Jul 29, 2021
f9571e5
add links
SabotageAndi Jul 29, 2021
ec42258
note on duplicate table headers (#2476)
alimogithub Jul 29, 2021
87968c9
Update DriverPattern.md (#2478)
lalberto8085 Aug 9, 2021
700992e
updated faq footer link (#2483)
alimogithub Aug 12, 2021
6945268
browser stack action (#2484)
alimogithub Aug 12, 2021
4063ae1
Remove runtime/dependencies configuration from the docs (#2482)
epresi Aug 13, 2021
c3a7831
Move Specflow.DSL out of outdated section (#2485)
wenyuansong Aug 18, 2021
c6fd3cb
vs2022 plugin docs (#2506)
alimogithub Oct 6, 2021
320daa3
links updated (#2507)
alimogithub Oct 6, 2021
ed52a40
Use .Net SDK 3.1.201 for NET461 projects to avoid project generation …
Sep 28, 2021
67bcd3b
(#2499) remove cucumber messages
Sep 27, 2021
509f932
new logo (#2508)
alimogithub Oct 13, 2021
b9cdccb
fix logo quality (#2510)
alimogithub Oct 15, 2021
53b8604
logo look and quality (#2511)
alimogithub Oct 15, 2021
fc3d66b
(#2456) .net 6.0 support
Nov 8, 2021
2cc57b9
(#2456) Add more descriptive info for .NET frameworks
Oct 25, 2021
2730d71
(#2456) Remove hack that is is necessary for VB.NET code generation
Nov 2, 2021
eb57e6c
Net6 support (#2517)
Nov 10, 2021
9f471db
fix link to generator configuration
SabotageAndi Nov 12, 2021
a302e97
note on POCOs in Context-Injection
alimogithub Nov 22, 2021
1926d70
Schedule Lock Action at 0:00, 6:00, 12:00, 18:00 and not every hour b…
SabotageAndi Nov 23, 2021
3e1cb3b
Fixed a typo (#2538)
jkonecki Dec 22, 2021
7b0cd0f
change lock bot schedule to once a day because of API limit problems
SabotageAndi Dec 23, 2021
670ec78
new page on extension settings (#2541)
alimogithub Dec 30, 2021
b14f88a
Change Registr to Register to fix typo (#2545)
ronaldbosma Jan 13, 2022
b9edf93
Add link to the Calling Step Discussion (#2552)
SabotageAndi Jan 26, 2022
7eae76b
Remove SpecFlow+ Runner from .NET CLI Templates (#2553)
SabotageAndi Jan 31, 2022
44de3ee
Make XUnit2TestGeneratorProvider.SetTestMethod virtual (#2555)
JoshKeegan Feb 2, 2022
46eaf40
add server side tracking to docs (#2556)
SabotageAndi Feb 9, 2022
d8acee8
fix the packaging of the external data plugin for dotnet build (#2557)
SabotageAndi Feb 11, 2022
1b0b5f2
fix changelog
SabotageAndi Feb 14, 2022
3901648
introduce and use TagHelper in UnitTestGeneration (#2410)
bollhals Mar 1, 2022
da65191
clear up `stopAtFirstError` description
SabotageAndi Mar 1, 2022
513ef08
remove SpecFlow+ Runner from overview
SabotageAndi Mar 9, 2022
46bc3d2
simplify ServiceComponentList (#2566)
bollhals Mar 10, 2022
2bc0b2a
Changed NUnit3TestGeneratorProvider.SetTestMethod() and NUnit3TestGen…
farum12 Mar 10, 2022
aa042e0
add DateTimeStyles to DateTime(Offset)ValueRetriever (#2565)
bollhals Mar 14, 2022
694c7a7
adjusted duration output to milliseconds (#2570)
bollhals Mar 14, 2022
a8f29d1
Bug fix: @ignore tag check was looking for the wrong value (#2572)
JoshKeegan Mar 15, 2022
bac3faf
fixing various code issues / use newer syntax (#2573)
bollhals Mar 24, 2022
8b25787
Update rules for step definitions methods (#2576)
SamJ26 Mar 25, 2022
94bb7af
Spec flow oss#2571 (#2578)
clrudolphi Apr 7, 2022
696866f
ExternalData: Make ScenarioTransformation more robust, fix unit tests
gasparnagy Apr 8, 2022
2aa7e60
Specs: Make Specs easier filterable for target framework
gasparnagy Apr 8, 2022
27b372f
Autofac global container (#2579)
rossmasday Apr 11, 2022
c7ed756
Document how to run tests
gasparnagy Apr 11, 2022
9e7dcf5
expand property aliases support (#1384) (#2581)
delta-emil Apr 12, 2022
4068d1a
Use always .NET SDKs for building and running tests (#2583)
SabotageAndi Apr 14, 2022
66c935c
Support IReadOnlyCollection binding for ListValueRetriever (#2584)
BL323 Apr 15, 2022
23d9751
Expanded explanations about methods to create and compare objects (#2…
gburghardt Apr 25, 2022
2d6bc00
Corrected misspelled word (#2589)
gburghardt Apr 28, 2022
adaf0de
introduce a TraceListener for MSBuild Task (#2590)
SabotageAndi May 2, 2022
ad1425d
version bump to 3.10-beta
SabotageAndi May 3, 2022
606abf9
Integrating PR 1614 (#2582)
gasparnagy May 5, 2022
d712dc3
Update Available-Plugins.md (#2598)
AdCodicem May 19, 2022
42c0c48
fix discord link
SabotageAndi May 24, 2022
0ef093b
Added remark to point out usage of feature's specific #language (#2607)
JulioNobre Jun 20, 2022
5bbc5dd
set versionnumber to 4.0
SabotageAndi Jul 4, 2022
e9d527a
Color output (#2606)
Socolin Jul 5, 2022
a65fe13
remove .NET Core 2.1 and .NET 5 support (#2611)
SabotageAndi Jul 8, 2022
974b9bd
Cucumber expressions support (#2595)
gasparnagy Jul 8, 2022
4eb9090
Support rule tags (#2616)
gasparnagy Jul 8, 2022
f1fa880
Move interface ISpecFlowOutputHelper to the TechTalk.SpecFlow namespa…
gasparnagy Jul 8, 2022
6add585
fix changelog
gasparnagy Jul 8, 2022
7ac6c46
fix errors in doc build (#2623)
SabotageAndi Jul 20, 2022
7cb7263
Add tip for step argument conversions to NullValueRetriever docs (#2620)
SeanKilleen Jul 21, 2022
edc2f49
Fix note text symptom (#2625)
SeanKilleen Jul 21, 2022
67f9564
fix readthedocs build again (#2632)
SabotageAndi Aug 4, 2022
c0c1ae7
Remove the ability to call a step from a step via string (#2631)
SabotageAndi Aug 5, 2022
f43f14c
upgrade to .NET 4.6.2 and xUnit 2.1.4 (#2634)
SabotageAndi Aug 10, 2022
b5102a3
remove outdated scenarios
SabotageAndi Aug 10, 2022
8787ada
Support for Verify (#2602)
SabotageAndi Aug 10, 2022
47b7cdf
fix the one missed net461
SabotageAndi Aug 11, 2022
96598a5
Allow Autofac plugin to provide existing lifetime scope (#2622)
robertcoltheart Aug 22, 2022
86c99af
Fix: Method-name based step definition does not match end of line. (#…
gasparnagy Sep 27, 2022
f2f1381
Added ReportPortal plugin (#2640)
nvborisenko Sep 27, 2022
be87fe4
Fixes GH2626 - removes the null-coalescing assignment operator when ……
clrudolphi Sep 27, 2022
502df01
Fix link in readme to FAQs (#2656)
bschaeublin Oct 18, 2022
a5cabf0
#2608: Await the call to FeatureBackgroundAsync (#2654)
laingsimon Oct 24, 2022
8b7dc54
Add BindingInvokerTests with a sample test to show usage (#2659)
gasparnagy Oct 24, 2022
dcc7e2c
Fix async transformations #2230 (#2660)
gasparnagy Oct 24, 2022
0bfd3ac
Support for ValueTask and ValueTask<T> async binding methods. (#2661)
gasparnagy Oct 24, 2022
7612e34
Disallow async void bindings 2657 (#2662)
gasparnagy Oct 25, 2022
76463e5
Fix for SF2649: Aggregate exceptions lost from async step definitions…
clrudolphi Nov 2, 2022
99ce6a5
Report binding problems to binding registry and show them as errors d…
gasparnagy Nov 9, 2022
e99456e
Fix #2600 by preserving ExecutionContext and reuse it for subsequent …
gasparnagy Nov 9, 2022
cb6ed45
Clarify that `Task` is a valid return type in Step (#2675)
bjarketrux Dec 7, 2022
de5f817
Add support for Rule Backgrounds. (#2668)
clrudolphi Dec 15, 2022
0c42767
Merge branch 'master' into feature/code-behind-begone
Code-Grump Mar 29, 2023
cbefb1c
Merge branch 'master' into feature/code-behind-begone
Code-Grump Mar 29, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@


<PropertyGroup>
<SpecFlowCodeBehindOutputPath Condition="'$(SpecFlowCodeBehindOutputPath)' == ''">$(BaseIntermediateOutputPath)Features.Generated\</SpecFlowCodeBehindOutputPath>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is better to use IntermediateOutputPath to avoid any conflicts between different configurations. It points to configuration specific folder inside BaseIntermediateOutputPath.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe there was an issue with doing so, and I agree it would be preferable. My primary focus is getting this process to work with the Test Explorer, but will be happy to examine this aspect again once that is resolved.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue is props file is imported early and IntermediateOutputPath will not be set. It will work if you move this to targets file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would create a problem trying to include the generated files in the CustomAddtionalCompileInputs item group, which is part of the fast-update check.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is CustomAdditonalCompileInputs for? I don't see it being consumed anywhere.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a CustomAdditionalCompileInputs item group defined in Microsoft.CSharp.Core.targets and the CoreCompile target depends on this. It is used to enable incremental builds as part of the FastUpdateCheck target, which is used only by Visual Studio and not command-line builds.

If these targets and groups are not catered for, situations arise where builds are considered "up-to-date" by Visual Studio and the build process is skipped entirely until a rebuild is forced.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, I never came across it. But if CoreCompile consumes it then that can also be moved to targets file.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you try moving this and CustomAdditionalCompileInputs etc. to targets file?

<OverwriteReadOnlyFiles Condition="'$(OverwriteReadOnlyFiles)'==''">false</OverwriteReadOnlyFiles>
<ForceGeneration Condition="'$(ForceGeneration)'==''">false</ForceGeneration>

Expand All @@ -28,12 +29,6 @@
property group for feature flags
-->
<PropertyGroup>

<!--
feature flag to enable experimental support for cleaning up generated code-behind files during rebuild and clean scenarios
-->
<SpecFlow_DeleteCodeBehindFilesOnCleanRebuild Condition="'$(SpecFlow_DeleteCodeBehindFilesOnCleanRebuild)'==''">false</SpecFlow_DeleteCodeBehindFilesOnCleanRebuild>

<!--
net.sdk support: feature flag to enable experimental support for net.sdk project system
-->
Expand All @@ -45,23 +40,15 @@

<ItemGroup>
<SpecFlowFeatureFiles Include="**\*.feature" >
<CodeBehindFile>%(RelativeDir)%(Filename).feature$(DefaultLanguageSourceExtension)</CodeBehindFile>
<Visible>$(UsingMicrosoftNETSdk)</Visible>
</SpecFlowFeatureFiles>

<!-- obsolete codebehind files, scenarios:
- after rename operation
- after deletion of a feature file
- after pulling latest changes from version control with above changes
-->
<SpecFlowObsoleteCodeBehindFiles Include="**\*.feature$(DefaultLanguageSourceExtension)" Exclude="@(SpecFlowFeatureFiles->'%(CodeBehindFile)')" />


<!-- Support for Visual Studio Incremental Build
https://github.com/techtalk/SpecFlow/issues/1319
-->
<UpToDateCheckInput Include="@(SpecFlowFeatureFiles)" />
<UpToDateCheckBuild Include="@(SpecFlowFeatureFiles->'%(CodeBehindFile)')" Original="@(SpecFlowFeatureFiles)" />
<CustomAdditionalCompileInputs Include="@(SpecFlowFeatureFiles->'%(CodeBehindFile)')" />
<UpToDateCheckBuild Include="@(SpecFlowFeatureFiles->'$(SpecFlowCodeBehindOutputPath)%(RelativeDir)%(Filename)%(Extension)$(DefaultLanguageSourceExtension)')" Original="@(SpecFlowFeatureFiles)" />
<CustomAdditionalCompileInputs Include="@(SpecFlowFeatureFiles->'$(SpecFlowCodeBehindOutputPath)%(RelativeDir)%(Filename)%(Extension)$(DefaultLanguageSourceExtension)')" />

</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,76 +9,30 @@
<PropertyGroup Condition="'$(BuildServerMode)' == ''">
<BuildServerMode Condition="'$(BuildingInsideVisualStudio)'=='true'">false</BuildServerMode>
<BuildServerMode Condition="'$(BuildingInsideVisualStudio)'!='true'">true</BuildServerMode>

<!--
net.sdk experimental support:
- currently we only want to support either classic project system or netsdk project system.
- currently we don't want to support globbing with classic project system => ensure globbing only get enabled with 'UsingMicrosoftNETSdk'
- currently we are supporting $(EnableDefaultCompileItems) for disabling globbing support for codebehind files
-->
<_SpecFlow_EnableDefaultCompileItems Condition="'$(SpecFlow_EnableDefaultCompileItems)' == '' And '$(UsingMicrosoftNETSdk)' == 'true'">true</_SpecFlow_EnableDefaultCompileItems>
<_SpecFlow_EnableDefaultCompileItems Condition="'$(SpecFlow_EnableDefaultCompileItems)' == 'true' And '$(UsingMicrosoftNETSdk)' == 'true'">true</_SpecFlow_EnableDefaultCompileItems>
</PropertyGroup>

<PropertyGroup>
<BuildDependsOn>
BeforeUpdateFeatureFilesInProject;
UpdateFeatureFilesInProject;
IncludeCodeBehindFilesInProject;
AfterUpdateFeatureFilesInProject;
$(BuildDependsOn)
</BuildDependsOn>
<CleanDependsOn>
CleanFeatureFilesInProject;
$(CleanDependsOn)
</CleanDependsOn>
<RebuildDependsOn>
SwitchToForceGenerate;
$(RebuildDependsOn)
</RebuildDependsOn>
</PropertyGroup>


<!--
net.sdk support: update default compile items to show generated files as nested items
Hook into the build system to produce SpecFlow sources.
-->
<ItemGroup Condition="'$(_SpecFlow_EnableDefaultCompileItems)' == 'true' and '$(EnableDefaultItems)' == 'true' ">
<Compile Update="@(SpecFlowFeatureFiles->'%(CodeBehindFile)')"
DependentUpon="%(Filename)"
AutoGen="true"
DesignTime="true"
Visible="true"
Condition="'$(EnableDefaultCompileItems)' == 'true'" />

</ItemGroup>


<Target Name="WarnForFeatureCodeBehindFilesWithoutCorrespondingFeatureFile" AfterTargets="CoreCompile"
Condition="'$(SpecFlow_EnableWarnForFeatureCodeBehindFilesWithoutCorrespondingFeatureFile)' == 'true'">
<Warning Text="For codebehind file '@(SpecFlowObsoleteCodeBehindFiles)', no feature file was found." File="@(SpecFlowObsoleteCodeBehindFiles)" Condition="'@(SpecFlowObsoleteCodeBehindFiles)' != ''" />
<Target
Name="GenerateSpecFlowSources"
BeforeTargets="BeforeCompile"
DependsOnTargets="BeforeGenerateSpecFlowCodeBehindFiles;GenerateSpecFlowCodeBehindFiles;AfterGenerateSpecFlowCodeBehindFiles">
</Target>


<Target Name="SwitchToForceGenerate">
<PropertyGroup>
<ForceGeneration>true</ForceGeneration>
</PropertyGroup>
</Target>


<Target Name="UpdateFeatureFilesInProject"
DependsOnTargets="BeforeUpdateFeatureFilesInProject">
<!--
Generate the SpecFlow code-behind files.
-->
<Target Name="GenerateSpecFlowCodeBehindFiles"
DependsOnTargets="BeforeGenerateSpecFlowCodeBehindFiles">

<Message Text="SpecFlowFeatureFiles: @(SpecFlowFeatureFiles)" Importance="high" Condition="'$(VerboseOutput)' == 'true'" />

<Error
Text="SpecFlow designer codebehind generation is not compatible with MSBuild codebehind generation. The custom tool must be removed from the file. See https://www.specflow.org/documentation/Generate-Tests-from-MsBuild"
File="@(None)"
Condition="%(None.Extension) == '.feature' AND %(None.Generator) == 'SpecFlowSingleFileGenerator'"/>

<!-- <PropertyGroup>
<SpecFlowCodeBehindOutputPath Condition="'$(SpecFlowCodeBehindOutputPath)' == ''">Features.Generated</SpecFlowCodeBehindOutputPath>
</PropertyGroup> -->


<PropertyGroup Condition="'$(TargetFrameworkVersion)' != ''">
<SpecFlow_TargetFramework>$(TargetFrameworkVersion)</SpecFlow_TargetFramework>
</PropertyGroup>
Expand Down Expand Up @@ -109,66 +63,25 @@

<Message Text="SpecFlowGeneratedFiles: %(SpecFlowGeneratedFiles.Identity)" Importance="high" Condition="'$(VerboseOutput)' == 'true'" />


<!--
net.sdk support: globbing does not support including files which are dynamically generated inside targets, we have to manually update compile items
-->
<ItemGroup Condition="'$(_SpecFlow_EnableDefaultCompileItems)' == 'true' and '$(EnableDefaultItems)' == 'true' and '$(EnableDefaultCompileItems)' == 'true'">

<!-- if this is the first time generation of codebehind files, we have to manually add them as compile items -->
<Compile Include="@(SpecFlowFeatureFiles->'%(CodeBehindFile)')"
Exclude="@(Compile)"/>

<!--
eather if codebehind files are added manually to compile item group or are added by net.sdk globbing support,
ensure they are nested under feature files like in previous specflow versions
currently, we cannot use itemgroup update attribute inside a target because of some bugs in MSBuild (all items will be updated)
- https://github.com/Microsoft/msbuild/issues/1618
- https://github.com/Microsoft/msbuild/issues/2835
- https://github.com/Microsoft/msbuild/issues/1124
-->
<Compile DependentUpon="@(SpecFlowFeatureFiles)"
AutoGen="true"
DesignTime="true"
Visible="true"
Condition="'%(Compile.Identity)' == '@(SpecFlowFeatureFiles->'%(CodeBehindFile)')'" />

<!-- remove files which got obsolete, typically after rename operation, or getting changes from source control -->
<Compile Remove="@(SpecFlowObsoleteCodeBehindFiles)" />
<ItemGroup>
<!-- Include generated files for compilation. -->
<Compile Include="@(SpecFlowFeatureFiles->'$(SpecFlowCodeBehindOutputPath)%(RelativeDir)%(Filename)%(Extension)$(DefaultLanguageSourceExtension)')" />

<!-- Track written files to support build cleaning. -->
<FileWrites Include="@(SpecFlowFeatureFiles->'$(SpecFlowCodeBehindOutputPath)%(RelativeDir)%(Filename)%(Extension)$(DefaultLanguageSourceExtension)')" />
</ItemGroup>

</Target>

<Target Name="BeforeUpdateFeatureFilesInProject">
<Target Name="BeforeGenerateSpecFlowCodeBehindFiles">

</Target>

<Target Name="IncludeCodeBehindFilesInProject" DependsOnTargets="UpdateFeatureFilesInProject">
<ItemGroup Condition="'$(UsingMicrosoftNETSdk)' != 'true'">
<Compile Include="@(SpecFlowGeneratedFiles)" Exclude="@(Compile)" />
</ItemGroup>

<Target Name="AfterGenerateSpecFlowCodeBehindFiles">
<!-- include any generated SpecFlow files in the compilation of the project if not included yet -->
<ItemGroup>
<EmbeddedResource Include="@(SpecFlowFeatureFiles)">
<LogicalName>%(SpecFlowFeatureFiles.Identity)</LogicalName>
</EmbeddedResource>
</ItemGroup>

</Target>

<Target Name="AfterUpdateFeatureFilesInProject" DependsOnTargets="IncludeCodeBehindFilesInProject">
<!-- include any generated SpecFlow files in the compilation of the project if not included yet -->
</Target>

<Target Name="CleanFeatureFilesInProject" Condition="'$(SpecFlow_DeleteCodeBehindFilesOnCleanRebuild)' == 'true'">
<!-- remove known codebehind files for existing feature files -->
<Delete Files="%(SpecFlowFeatureFiles.CodeBehindFile)" ContinueOnError="true" />

<!-- remove obsolete codebehind files, scenarios:
- after rename operation
- after deletion of a feature file
- after pulling latest changes from version control with above changes
-->
<Delete Files="@(SpecFlowObsoleteCodeBehindFiles)" ContinueOnError="true" />
</Target>
</Project>
3 changes: 1 addition & 2 deletions TechTalk.SpecFlow.Generator/Generation/LinePragmaHandler.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.CodeDom;
using System.IO;
using TechTalk.SpecFlow.Configuration;
using TechTalk.SpecFlow.Generator.CodeDom;

Expand All @@ -22,7 +21,7 @@ public void AddLinePragmaInitial(CodeTypeDeclaration testType, string sourceFile
if (_specFlowConfiguration.AllowDebugGeneratedFiles)
return;

_codeDomHelper.BindTypeToSourceFile(testType, Path.GetFileName(sourceFile));
_codeDomHelper.BindTypeToSourceFile(testType, sourceFile);
}
}
}
1 change: 1 addition & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ Changes:
Features:
+ Allow the use of custom subclasses of StepDefinitionBaseAttribute.
+ Be able to get the arguments of the current executed Scenario Outline example - https://github.com/SpecFlowOSS/SpecFlow/pull/1988
+ Code-Behind files (.feature.cs/.feature.vb) are now generated in the obj folder.

Fixes for Development:
+ Changed unit tests to ignore custom user overrides to data formatting in en-US locale
Expand Down