Skip to content

Commit

Permalink
Merge branch 'master' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
Dirk Rombauts committed Mar 31, 2015
2 parents 7fa270b + e8eea72 commit fb088b8
Show file tree
Hide file tree
Showing 338 changed files with 5,922 additions and 2,688 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ Introduction

[![Build status](https://ci.appveyor.com/api/projects/status/rqt59hq1m2jt2a5v)](https://ci.appveyor.com/project/dirkrombauts/pickles-715)

[![Documentation Status](https://readthedocs.org/projects/pickles/badge/?version=latest)](https://readthedocs.org/projects/pickles/?badge=latest)

Pickles is an open source living documentation generator that works on feature files written in the Gherkin language, popularized in tools like Cucumber and SpecFlow. Pickles can be incorporated into your build process to produce living documenation in a format that is more accessible to your clients. Gherkin language files are written in plain text and stored in your source folder. This can make them inaccessible to clients who may not know how to work with source control or who are not interested in seeing all of the source code, just the features.

Why stop with just the features though? Pickles can also read plain text files written in the Markdown format so you can add other files to your feature to add all sorts of context. Well-written features are great to have but even the best written features can leave out some important context information. Markdown is very simple to write and is designed to be easily read even in plain text files so they are a great way of adding additional context to your feature files to turn them into a real set of living documentation.
Expand All @@ -15,7 +17,6 @@ Supported Output Formats
- JSON
- Word
- Excel
- DITA

If there are other formats you would like to see then why don't you post on the [newsgroup we have for pickles development][1]

Expand Down
7 changes: 7 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Pickles Release Notes

## v1.0.1 - 2015-03-31

### Bugs Fixed

- In the DHtml version, feature wide tags with capitals can not be filtered on ([#194](https://github.com/picklesdoc/pickles/issues/194))
- Tables in background for Word & Excel ([#191](https://github.com/picklesdoc/pickles/issues/191))

## v1.0.0 - 2014-12-15

### Breaking Change
Expand Down
2 changes: 1 addition & 1 deletion build.bat
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@echo off
set "picklesVersion=1.0.0"
set "picklesVersion=1.0.1"

cls

Expand Down
2 changes: 1 addition & 1 deletion src/Pickles/.nuget/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NuGet.CommandLine" version="2.8.3" />
<package id="NUnit.Runners" version="2.6.3" />
<package id="NUnit.Runners" version="2.6.4" />
</packages>
10 changes: 8 additions & 2 deletions src/Pickles/Pickles.BaseDhtmlFiles/js/featureSearch.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,14 @@ function matchesFeatureName(searchString, feature) {
}

function matchesFeatureTag(searchString, feature) {
var featureTags = feature.Feature.Tags;
return (_.indexOf(featureTags, searchString) > -1);
var foundMatch = false;
$.each(feature.Feature.Tags, function (key, scenarioTag) {
var lowerCasedTag = scenarioTag.toLowerCase();
if (lowerCasedTag.indexOf(searchString) > -1) {
foundMatch = true;
}
});
return foundMatch;
}

function matchesScenarioName(searchString, feature) {
Expand Down
105 changes: 71 additions & 34 deletions src/Pickles/Pickles.CommandLine/NLog.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<xs:element name="variable" type="NLogVariable" />
<xs:element name="targets" type="NLogTargets" />
<xs:element name="rules" type="NLogRules" />
<xs:element name="time" type="TimeSource" />
</xs:choice>
<xs:attribute name="autoReload" type="xs:boolean">
<xs:annotation>
Expand Down Expand Up @@ -214,6 +215,7 @@
</xs:complexType>
<xs:complexType name="Layout"></xs:complexType>
<xs:complexType name="Filter" abstract="true"></xs:complexType>
<xs:complexType name="TimeSource" abstract="true"></xs:complexType>
<xs:simpleType name="SimpleLayoutAttribute">
<xs:restriction base="xs:string">
<xs:pattern value=".*" />
Expand Down Expand Up @@ -991,21 +993,22 @@
<xs:element name="archiveAboveSize" minOccurs="0" maxOccurs="1" type="xs:long" />
<xs:element name="maxArchiveFiles" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="forceManaged" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="fileAttributes" minOccurs="0" maxOccurs="1" type="NLog.Targets.Win32FileAttributes" />
<xs:element name="replaceFileContentsOnEachWrite" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="enableFileDelete" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="deleteOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="createDirs" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="archiveDateFormat" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="fileName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="fileAttributes" minOccurs="0" maxOccurs="1" type="NLog.Targets.Win32FileAttributes" />
<xs:element name="bufferSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="concurrentWriteAttemptDelay" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="concurrentWriteAttempts" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="concurrentWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="keepFileOpen" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="archiveDateFormat" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="archiveOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="createDirs" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="enableFileDelete" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="openFileCacheTimeout" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="networkWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="keepFileOpen" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="concurrentWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="concurrentWriteAttempts" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="concurrentWriteAttemptDelay" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="bufferSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="openFileCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="openFileCacheTimeout" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="autoFlush" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
Expand Down Expand Up @@ -1068,79 +1071,84 @@
<xs:documentation>Gets ors set a value indicating whether a managed file stream is forced, instead of used the native implementation.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="replaceFileContentsOnEachWrite" type="xs:boolean">
<xs:attribute name="fileAttributes" type="NLog.Targets.Win32FileAttributes">
<xs:annotation>
<xs:documentation>Indicates whether to replace file contents on each write instead of appending log message at the end.</xs:documentation>
<xs:documentation>File attributes (Windows only).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enableFileDelete" type="xs:boolean">
<xs:attribute name="replaceFileContentsOnEachWrite" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to enable log file(s) to be deleted.</xs:documentation>
<xs:documentation>Indicates whether to replace file contents on each write instead of appending log message at the end.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deleteOldFileOnStartup" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to delete old log file on startup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="createDirs" type="xs:boolean">
<xs:attribute name="fileName" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Indicates whether to create directories if they don't exist.</xs:documentation>
<xs:documentation>Name of the file to write to.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="archiveDateFormat" type="xs:string">
<xs:annotation>
<xs:documentation>Value specifying the date format to use when archving files.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fileName" type="SimpleLayoutAttribute">
<xs:attribute name="archiveOldFileOnStartup" type="xs:boolean">
<xs:annotation>
<xs:documentation>Name of the file to write to.</xs:documentation>
<xs:documentation>Indicates whether to archive old log file on startup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fileAttributes" type="NLog.Targets.Win32FileAttributes">
<xs:attribute name="createDirs" type="xs:boolean">
<xs:annotation>
<xs:documentation>File attributes (Windows only).</xs:documentation>
<xs:documentation>Indicates whether to create directories if they don't exist.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="bufferSize" type="xs:integer">
<xs:attribute name="enableFileDelete" type="xs:boolean">
<xs:annotation>
<xs:documentation>Log file buffer size in bytes.</xs:documentation>
<xs:documentation>Indicates whether to enable log file(s) to be deleted.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="concurrentWriteAttemptDelay" type="xs:integer">
<xs:attribute name="openFileCacheTimeout" type="xs:integer">
<xs:annotation>
<xs:documentation>Delay in milliseconds to wait before attempting to write to the file again.</xs:documentation>
<xs:documentation>Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="concurrentWriteAttempts" type="xs:integer">
<xs:attribute name="networkWrites" type="xs:boolean">
<xs:annotation>
<xs:documentation>Number of times the write is appended on the file before NLog discards the log message.</xs:documentation>
<xs:documentation>Indicates whether concurrent writes to the log file by multiple processes on different network hosts.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepFileOpen" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to keep log file open instead of opening and closing it on each logging event.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="concurrentWrites" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether concurrent writes to the log file by multiple processes on the same host.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepFileOpen" type="xs:boolean">
<xs:attribute name="concurrentWriteAttempts" type="xs:integer">
<xs:annotation>
<xs:documentation>Indicates whether to keep log file open instead of opening and closing it on each logging event.</xs:documentation>
<xs:documentation>Number of times the write is appended on the file before NLog discards the log message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="networkWrites" type="xs:boolean">
<xs:attribute name="concurrentWriteAttemptDelay" type="xs:integer">
<xs:annotation>
<xs:documentation>Indicates whether concurrent writes to the log file by multiple processes on different network hosts.</xs:documentation>
<xs:documentation>Delay in milliseconds to wait before attempting to write to the file again.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="openFileCacheSize" type="xs:integer">
<xs:attribute name="bufferSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger).</xs:documentation>
<xs:documentation>Log file buffer size in bytes.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="openFileCacheTimeout" type="xs:integer">
<xs:attribute name="openFileCacheSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity.</xs:documentation>
<xs:documentation>Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="autoFlush" type="xs:boolean">
Expand All @@ -1165,6 +1173,7 @@
<xs:enumeration value="Sequence" />
<xs:enumeration value="Rolling" />
<xs:enumeration value="Date" />
<xs:enumeration value="DateAndSequence" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NLog.Targets.FileArchivePeriod">
Expand Down Expand Up @@ -2654,4 +2663,32 @@
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AccurateLocal">
<xs:complexContent>
<xs:extension base="TimeSource">
<xs:choice minOccurs="0" maxOccurs="unbounded" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AccurateUTC">
<xs:complexContent>
<xs:extension base="TimeSource">
<xs:choice minOccurs="0" maxOccurs="unbounded" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="FastLocal">
<xs:complexContent>
<xs:extension base="TimeSource">
<xs:choice minOccurs="0" maxOccurs="unbounded" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="FastUTC">
<xs:complexContent>
<xs:extension base="TimeSource">
<xs:choice minOccurs="0" maxOccurs="unbounded" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
10 changes: 5 additions & 5 deletions src/Pickles/Pickles.CommandLine/Pickles.CommandLine.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\Pickles\</SolutionDir>
<NuGetPackageImportStamp>c0225c14</NuGetPackageImportStamp>
<NuGetPackageImportStamp>05ed768b</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
Expand Down Expand Up @@ -48,12 +48,12 @@
<HintPath>..\packages\NDesk.Options.0.2.1\lib\NDesk.Options.dll</HintPath>
</Reference>
<Reference Include="NLog">
<HintPath>..\packages\NLog.3.1.0.0\lib\net35\NLog.dll</HintPath>
<HintPath>..\packages\NLog.3.2.0.0\lib\net35\NLog.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.IO.Abstractions">
<HintPath>..\packages\System.IO.Abstractions.1.4.0.92\lib\net35\System.IO.Abstractions.dll</HintPath>
<HintPath>..\packages\System.IO.Abstractions.1.4.0.93\lib\net35\System.IO.Abstractions.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
Expand Down Expand Up @@ -123,12 +123,12 @@ foreach (var item in filesToCleanup)
<Target Name="CleanReferenceCopyLocalPaths" AfterTargets="AfterBuild;NonWinFodyTarget">
<CosturaCleanup Config="FodyWeavers.xml" Files="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" />
</Target>
<Import Project="..\packages\Fody.1.26.2\build\Fody.targets" Condition="Exists('..\packages\Fody.1.26.2\build\Fody.targets')" />
<Import Project="..\packages\Fody.1.26.4\build\Fody.targets" Condition="Exists('..\packages\Fody.1.26.4\build\Fody.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Fody.1.26.2\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.1.26.2\build\Fody.targets'))" />
<Error Condition="!Exists('..\packages\Fody.1.26.4\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.1.26.4\build\Fody.targets'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
Expand Down
10 changes: 5 additions & 5 deletions src/Pickles/Pickles.CommandLine/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<packages>
<package id="Autofac" version="2.6.3.862" targetFramework="net35" />
<package id="Costura.Fody" version="1.3.3.0" targetFramework="net35" developmentDependency="true" />
<package id="Fody" version="1.26.2" targetFramework="net35" developmentDependency="true" />
<package id="Fody" version="1.26.4" targetFramework="net35" developmentDependency="true" />
<package id="NDesk.Options" version="0.2.1" />
<package id="NLog" version="3.1.0.0" targetFramework="net35" />
<package id="NLog.Config" version="3.1.0.0" targetFramework="net35" />
<package id="NLog.Schema" version="3.1.0.0" targetFramework="net35" />
<package id="System.IO.Abstractions" version="1.4.0.92" targetFramework="net35" />
<package id="NLog" version="3.2.0.0" targetFramework="net35" />
<package id="NLog.Config" version="3.2.0.0" targetFramework="net35" />
<package id="NLog.Schema" version="3.2.0.0" targetFramework="net35" />
<package id="System.IO.Abstractions" version="1.4.0.93" targetFramework="net35" />
</packages>
Loading

0 comments on commit fb088b8

Please sign in to comment.