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 Dec 10, 2014
2 parents 8ea5100 + 5edaec1 commit e05e672
Show file tree
Hide file tree
Showing 26 changed files with 312 additions and 91 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ reports/
merged/
test/
Documentation-*/
Output/

#nCrunch files
*.crunchproject.local.xml
Expand Down
4 changes: 0 additions & 4 deletions NOTICE

This file was deleted.

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

## v0.20.0 - 2014-12-10

### Breaking Change

- The msbuild runner will now break the build when an error occurs. This reflects our belief that the Living Documentation is a first class output of the software development process.

### New Features

- The command line and powershell runners now return an error code of 0 when everything went fine, and 1 if there was an error.
- The HTML and DHTML output versions no longer horizontally spread tables.
- The GUI version has an icon

## v0.19.0 - 2014-11-25

### Breaking Change
Expand Down
28 changes: 25 additions & 3 deletions build.bat
Original file line number Diff line number Diff line change
@@ -1,12 +1,34 @@
@echo off
set "picklesVersion=0.20.0"

cls


cd ".\src\Pickles\packages\NuGet.CommandLine.2.8.3\tools\"

".\NuGet.exe" "Install" "FAKE" "-OutputDirectory" "..\..\..\..\..\packages" "-ExcludeVersion"

cd ..\..\..\..\..

"packages\FAKE\tools\Fake.exe" build.fsx --envvar version 0.19.0
"packages\FAKE\tools\Fake.exe" nuget.fsx --envvar version 0.19.0
"packages\FAKE\tools\Fake.exe" chocolatey.fsx --envvar version 0.19.0

"packages\FAKE\tools\Fake.exe" build.fsx --envvar version %picklesVersion%
"packages\FAKE\tools\Fake.exe" nuget.fsx --envvar version %picklesVersion%
"packages\FAKE\tools\Fake.exe" chocolatey.fsx --envvar version %picklesVersion%

call unzip.cmd %picklesVersion%

FOR %%A IN (testRunnerCmd testRunnerMsBuild testRunnerPowerShell) DO (
call %%A.cmd %picklesVersion%
if errorlevel 1 goto handleerror1orhigher
)


@ECHO all fine
goto end

:handleerror1orhigher

@ECHO Something went wrong!
goto end

:end
27 changes: 22 additions & 5 deletions chocolatey.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ open Fake

// Properties
let cmdDir = "./build/exe/"
let guiDir = "./build/gui/"
let deployDir = "./deploy/chocolatey/"
let packagingDir = "./packaging/"
let chocoDir = "./chocolatey/"
Expand All @@ -15,19 +16,34 @@ Target "Clean" (fun _ ->
CleanDirs [deployDir; packagingDir]
)

Target "CreatePackage" (fun _ ->
CopyFiles packagingDir [chocoDir + "chocolateyInstall.ps1"; cmdDir + "Pickles.exe"; cmdDir + "NLog.config"]

Target "CreatePackage CMD" (fun _ ->
CopyFiles packagingDir [cmdDir + "Pickles.exe"; cmdDir + "NLog.config"]
WriteFile (packagingDir + "version.ps1") [("$version = \"" + version + "\"")]
NuGet (fun p ->
NuGet (fun p ->
{p with
OutputPath = deployDir
WorkingDir = packagingDir
Version = version
Publish = false })
Publish = false })
(chocoDir + "Pickles.nuspec")
)


Target "CreatePackage GUI" (fun _ ->
CopyFiles packagingDir [guiDir + "picklesui.exe"; guiDir + "NLog.config"; guiDir + "PicklesUI.exe.config"]
WriteFile (packagingDir + "version.ps1") [("$version = \"" + version + "\"")]
WriteFile (packagingDir + "picklesui.exe.gui") [("")]
NuGet (fun p ->
{p with
OutputPath = deployDir
WorkingDir = packagingDir
Version = version
Publish = false })
(chocoDir + "picklesui.nuspec")
)


Target "Default" (fun _ ->
trace ("Starting build of Pickles version " + version)
DeleteDir packagingDir
Expand All @@ -36,7 +52,8 @@ Target "Default" (fun _ ->

// Dependencies
"Clean"
==> "CreatePackage"
==> "CreatePackage CMD"
==> "CreatePackage GUI"
==> "Default"


Expand Down
12 changes: 0 additions & 12 deletions chocolatey/chocolateyInstall.ps1

This file was deleted.

57 changes: 37 additions & 20 deletions chocolatey/pickles.nuspec
Original file line number Diff line number Diff line change
@@ -1,24 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>pickles</id>
<title>Pickles - The Open Source Living Documentation Generator</title>
<version>@build.number@</version>
<authors>PicklesDoc and contributors</authors>
<owners>Jeffrey Cameron, Dirk Rombauts</owners>
<summary>A documentation generator for features written in the Gherkin language</summary>
<description>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.</description>
<projectUrl>http://www.picklesdoc.com/</projectUrl>
<tags>SpecificationByExample BDD SpecFlow Gherkin Cucumber SpecByEx LivingDocumentation Documentation </tags>
<copyright></copyright>
<licenseUrl>http://apache.org/licenses/LICENSE-2.0.html</licenseUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<iconUrl>https://cdn.rawgit.com/picklesdoc/pickles/master/pickles.jpeg</iconUrl>
</metadata>
<files>
<file src="pickles.exe" target="tools" />
<file src="chocolateyInstall.ps1" target="tools" />
<file src="version.ps1" target="tools" />
</files>
<metadata>
<id>pickles</id>
<title>Pickles - The Open Source Living Documentation Generator</title>
<version>@build.number@</version>
<authors>PicklesDoc and contributors</authors>
<owners>Jeffrey Cameron, Dirk Rombauts</owners>
<summary>A documentation generator for features written in the Gherkin language</summary>
<description>**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 documentation 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.

*Pickles* can produce output in different formats:

- Static HTML: a set of HTML files with minimal JavaScript
- Dynamic HTML: a JavaScript-rich single page app with integrated search
- Word: Microsoft Word
- Excel: Microsoft Excel
- JSON: a custom JSON format

Optionally, *Pickles* can **integrate test results**, so that your stakeholders know which scenarios pass validation. *Pickles* supports these test formats:

- NUnit
- MSTest
- XUnit
- SpecRun
- Cucumber JSON
</description>
<projectUrl>http://www.picklesdoc.com/</projectUrl>
<tags>SpecificationByExample BDD SpecFlow Gherkin Cucumber SpecByEx LivingDocumentation Documentation </tags>
<copyright>Copyright © 2010-2012 Jeffrey Cameron, Copyright © 2013-present PicklesDoc and contributors</copyright>
<licenseUrl>http://apache.org/licenses/LICENSE-2.0.html</licenseUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<iconUrl>https://cdn.rawgit.com/picklesdoc/pickles/master/pickles.jpeg</iconUrl>
</metadata>
<files>
<file src="pickles.exe" target="tools" />
</files>
</package>

44 changes: 44 additions & 0 deletions chocolatey/picklesui.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>picklesui</id>
<title>Pickles UI - The Open Source Living Documentation Generator (GUI)</title>
<version>@build.number@</version>
<authors>PicklesDoc and contributors</authors>
<owners>Jeffrey Cameron, Dirk Rombauts</owners>
<summary>A documentation generator for features written in the Gherkin language</summary>
<description>**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*.

This GUI version of Pickles provides an easy way to produce living documentation 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.

*Pickles* can produce output in different formats:

- Static HTML: a set of HTML files with minimal JavaScript
- Dynamic HTML: a JavaScript-rich single page app with integrated search
- Word: Microsoft Word
- Excel: Microsoft Excel
- JSON: a custom JSON format

Optionally, *Pickles* can **integrate test results**, so that your stakeholders know which scenarios pass validation. *Pickles* supports these test formats:

- NUnit
- MSTest
- XUnit
- SpecRun
- Cucumber JSON
</description>
<projectUrl>http://www.picklesdoc.com/</projectUrl>
<tags>SpecificationByExample BDD SpecFlow Gherkin Cucumber SpecByEx LivingDocumentation Documentation </tags>
<copyright>Copyright © 2010-2012 Jeffrey Cameron, Copyright © 2013-present PicklesDoc and contributors</copyright>
<licenseUrl>http://apache.org/licenses/LICENSE-2.0.html</licenseUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<iconUrl>https://cdn.rawgit.com/picklesdoc/pickles/master/pickles.jpeg</iconUrl>
</metadata>
<files>
<file src="picklesui.exe" target="tools" />
<file src="picklesui.exe.gui" target="tools" />
<file src="NLog.config" target="tools" />
<file src="PicklesUI.exe.config" target="tools" />
</files>
</package>

12 changes: 11 additions & 1 deletion src/Pickles/Pickles.BaseDhtmlFiles/css/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,16 @@ li.step {
border-top: 1px lightgrey solid;
}

.clickable {
.clickable {
cursor: pointer;
}

.table {
width: 0;
max-width: 90%;
}

.table-condensed th,
.table-condensed td {
padding: 5px 8px;
}
23 changes: 22 additions & 1 deletion src/Pickles/Pickles.CommandLine/Pickles.CommandLine.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,31 @@
<projectUrl>http://www.picklesdoc.com/</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<licenseUrl>http://apache.org/licenses/LICENSE-2.0.html</licenseUrl>
<description>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.</description>
<description>
**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 documentation 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.

*Pickles* can produce output in different formats:

- Static HTML: a set of HTML files with minimal JavaScript
- Dynamic HTML: a JavaScript-rich single page app with integrated search
- Word: Microsoft Word
- Excel: Microsoft Excel
- JSON: a custom JSON format

Optionally, *Pickles* can **integrate test results**, so that your stakeholders know which scenarios pass validation. *Pickles* supports these test formats:

- NUnit
- MSTest
- XUnit
- SpecRun
- Cucumber JSON
</description>
<summary>A documentation generator for features written in the Gherkin language</summary>
<copyright>Copyright © 2010-2012 Jeffrey Cameron, Copyright © 2013-present PicklesDoc and contributors</copyright>
<tags>SpecificationByExample BDD SpecFlow Gherkin Cucumber SpecByEx LivingDocumentation Documentation</tags>
<iconUrl>https://cdn.rawgit.com/picklesdoc/pickles/master/pickles.jpeg</iconUrl>
</metadata>
<files>
<file src="Pickles.exe" target="tools" />
Expand Down
18 changes: 14 additions & 4 deletions src/Pickles/Pickles.CommandLine/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ internal class Program
{
private static readonly Logger log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType.Name);

private static void Main(string[] args)
private static int Main(string[] args)
{
var builder = new ContainerBuilder();
builder.RegisterAssemblyTypes(typeof(Runner).Assembly);
Expand All @@ -53,13 +53,23 @@ private static void Main(string[] args)
}

var runner = container.Resolve<Runner>();
runner.Run(container);

if (log.IsInfoEnabled)
try
{
log.Info("Pickles completed successfully");
runner.Run(container);

if (log.IsInfoEnabled)
{
log.Info("Pickles completed successfully");
}
}
catch
{
return 1;
}
}

return 0;
}
}
}
23 changes: 22 additions & 1 deletion src/Pickles/Pickles.MSBuild/Pickles.MSBuild.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,31 @@
<projectUrl>http://www.picklesdoc.com/</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<licenseUrl>http://apache.org/licenses/LICENSE-2.0.html</licenseUrl>
<description>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.</description>
<description>
**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 documentation 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.

*Pickles* can produce output in different formats:

- Static HTML: a set of HTML files with minimal JavaScript
- Dynamic HTML: a JavaScript-rich single page app with integrated search
- Word: Microsoft Word
- Excel: Microsoft Excel
- JSON: a custom JSON format

Optionally, *Pickles* can **integrate test results**, so that your stakeholders know which scenarios pass validation. *Pickles* supports these test formats:

- NUnit
- MSTest
- XUnit
- SpecRun
- Cucumber JSON
</description>
<summary>A documentation generator for features written in the Gherkin language</summary>
<copyright>Copyright © 2010-2012 Jeffrey Cameron, Copyright © 2013-present PicklesDoc and contributors</copyright>
<tags>SpecificationByExample BDD SpecFlow Gherkin Cucumber SpecByEx LivingDocumentation Documentation</tags>
<iconUrl>https://cdn.rawgit.com/picklesdoc/pickles/master/pickles.jpeg</iconUrl>
</metadata>
<files>
<file src="PicklesDoc.Pickles.MSBuild.Tasks.dll" target="tools" />
Expand Down
4 changes: 2 additions & 2 deletions src/Pickles/Pickles.MSBuild/Pickles.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,10 @@ public override bool Execute()
}
catch (Exception e)
{
Log.LogWarningFromException(e, false);
Log.LogErrorFromException(e, false);
return false;
}

// HACK - since this is merely producing documentation we do not want it to cause a build to fail if something goes wrong
return true;
}
}
Expand Down
Loading

0 comments on commit e05e672

Please sign in to comment.