patterns-group / code-patterns Goto Github PK
View Code? Open in Web Editor NEWCode Patterns: lots of reusable goodies for your .NET project
Home Page: tribesoftware.org/code-patterns/
License: BSD 2-Clause "Simplified" License
Code Patterns: lots of reusable goodies for your .NET project
Home Page: tribesoftware.org/code-patterns/
License: BSD 2-Clause "Simplified" License
Options to consider:
Required features
destination namespaces are: Patterns.Logging and Patterns.Autofac.Logging
The Project URL field is being left blank I guess; there are no project links on the NuGet pages for Patterns.* downloads.
DoD:
All specs (as documented in issue #1) run and pass.
Currently, the build output is this:
MyGet Wonka - Version 1.7.0.16441
(C) MyGet 2012 - www.myget.org
Making NuGet for all of the world to enjoy! (@jglozano)
- http://twitter.com/jglozano/status/228462337663832064
2013-03-05 20:33:09 [Information] Initializing build environment...
2013-03-05 20:33:09 [Information] Build environment variables:
2013-03-05 20:33:09 [Information] BuildRunner=MyGet
2013-03-05 20:33:09 [Information] SourcesPath=D:\temp\tmp4DE7
2013-03-05 20:33:09 [Information] NuGet=C:\Chocolatey\chocolateyInstall\NuGet.exe
2013-03-05 20:33:09 [Information] Configuration=Release
2013-03-05 20:33:09 [Information] Platform=
2013-03-05 20:33:09 [Information] VersionFormat=1.0.0-CI{0}
2013-03-05 20:33:09 [Information] BuildCounter=0
2013-03-05 20:33:09 [Information] PackageVersion=1.0.0-CI00000
2013-03-05 20:33:09 [Information] EnableNuGetPackageRestore=true
2013-03-05 20:33:09 [Information] Initializing git-based build environment...
2013-03-05 20:33:09 [Information] Additional build environment variables:
2013-03-05 20:33:09 [Information] GitPath=C:\Program Files (x86)\Git\bin\git.exe
2013-03-05 20:33:09 [Information] PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Mercurial;C:\Program Files\SlikSvn\bin;C:\Program Files\Microsoft\Web Platform Installer;C:\Program Files (x86)\Microsoft SDKs\TypeScript\0.8.1.1;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0;C:\Program Files\Microsoft SQL Server\110\Tools\Binn;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\DTS\Binn;C:\Chocolatey\bin;C:\Program Files (x86)\Git\bin
2013-03-05 20:33:09 [Information] Fetching sources from git...
Cloning into 'D:\temp\tmp4DE7'...
commit 125f2a7
Merge: bd9437b 895d7c3
Author: John Batte [email protected]
Date: Sun Feb 24 16:19:20 2013 -0600
Merge branch 'release/3.4.0-beta'
2013-03-05 20:33:19 [Information] Sources at revision 125f2a7
.
2013-03-05 20:33:19 [Information] Finished fetching sources.
2013-03-05 20:33:19 [Information] Searching for projects to build...
2013-03-05 20:33:19 [Information] Searching for build.bat...
2013-03-05 20:33:19 [Warning] Could not find build.bat.
2013-03-05 20:33:19 [Information] Searching for MyGet.sln...
2013-03-05 20:33:19 [Warning] Could not find MyGet.sln.
2013-03-05 20:33:19 [Information] Searching for other *.sln files...
2013-03-05 20:33:19 [Information] Start building project(s)...
2013-03-05 20:33:19 [Information] Start building project D:\temp\tmp4DE7\src\code-patterns-master.sln...
Transforming template SolutionAssemblyInfo.tt...
Transforming template Patterns.Autofac.tt...
Successfully installed 'Common.Logging 2.1.2'.
EXEC : warning : The operation has timed out [D:\temp\tmp4DE7\src\Patterns\Patterns.csproj]
D:\temp\tmp4DE7\src.nuget\NuGet.targets(76,9): error : Unable to find version '3.2.0' of package 'Castle.Core'. [D:\temp\tmp4DE7\src\Patterns\Patterns.csproj]
D:\temp\tmp4DE7\src.nuget\NuGet.targets(76,9): error MSB3073: The command ""C:\Chocolatey\chocolateyInstall\NuGet.exe" install "D:\temp\tmp4DE7\src\Patterns\packages.config" -source "" -o "D:\temp\tmp4DE7\src\packages"" exited with code 1. [D:\temp\tmp4DE7\src\Patterns\Patterns.csproj]
Successfully installed 'Rx-Main 2.1.30214.0'.
Successfully installed 'Autofac 3.0.1'.
Successfully installed 'Rx-Interfaces 2.1.30214.0'.
Successfully installed 'Castle.Core 3.2.0'.
Successfully installed 'Rx-PlatformServices 2.1.30214.0'.
Successfully installed 'Rx-Core 2.1.30214.0'.
Successfully installed 'Rx-Linq 2.1.30214.0'.
Transforming template Patterns.Testing.tt...
Successfully installed 'CommonServiceLocator 1.0'.
Successfully installed 'Moq 4.0.10827'.
Successfully installed 'Autofac.Extras.CommonServiceLocator 3.0.0'.
Successfully installed 'SpecFlow 1.9.0'.
All packages listed in packages.config are already installed.
Successfully installed 'NUnit 2.6.2'.
Successfully installed 'SpecFlow.NUnit 1.1.1'.
Successfully installed 'NBuilder 3.0.1.1'.
Successfully installed 'FluentAssertions 2.0.0.1'.
All packages listed in packages.config are already installed.
2013-03-05 20:35:43 [Information] Finished building project D:\temp\tmp4DE7\src\code-patterns-master.sln.
2013-03-05 20:35:43 [Information] Finished building project(s).
2013-03-05 20:35:43 [Information] Locating test assemblies...
2013-03-05 20:35:43 [Information] No test assemblies found.
2013-03-05 20:35:43 [Information] Determining if NuGet packages have been produced by your solution...
2013-03-05 20:35:43 [Warning] Could not find NuGet packages produced by your solution.
2013-03-05 20:35:43 [Information] Building NuGet packages...
Attempting to build package from 'Patterns.Autofac.nuspec'.
The replacement token 'author' has no value.
Attempting to build package from 'Patterns.Moq.nuspec'.
The replacement token 'author' has no value.
Attempting to build package from 'Patterns.csproj'.
Unable to find 'D:\temp\tmp4DE7\src\Patterns\bin\Release\Patterns.dll'. Make sure the project has been built.
Attempting to build package from 'Patterns.Autofac.csproj'.
Unable to find 'D:\temp\tmp4DE7\src\Patterns.Autofac\bin\Release\Patterns.Autofac.dll'. Make sure the project has been built.
Attempting to build package from 'Patterns.Moq.csproj'.
Unable to find 'D:\temp\tmp4DE7\src\Patterns.Moq\bin\Release\Patterns.Moq.dll'. Make sure the project has been built.
Attempting to build package from '_specs.csproj'.
Unable to find 'D:\temp\tmp4DE7\src_specs\bin\Release_specs.dll'. Make sure the project has been built.
2013-03-05 20:35:50 [Information] Finished building NuGet packages.
2013-03-05 20:35:50 [Information] Locating NuGet package artifacts...
2013-03-05 20:35:50 [Error] Error during build: No NuGet packages could be found.
2013-03-05 20:35:50 [Information] Cleaning up...
2013-03-05 20:35:51 [Error] Error while running finalizing build steps: Access to the path 'Microsoft.TextTemplating.Build.Tasks.dll' is denied.
2013-03-05 20:35:51 [Error] BUILD FAILED
Sometimes testers will want to use real XML, likely stored in the test DLL as a resource, to hydrate their configuration settings for the purposes of specific tests. To better facilitate this, a new type should be added to Patterns.Testing that implements IConfigurationSource and accepts its configuration XML as an XElement object (in the constructor).
Patterns.Autofac.Sources.ResolveAnythingSource's name seems to indicate that it can resolve... anything. But it can't. It is only for resolving un-registered creatable types, and abstract classes and interfaces don't get resolved (how would they be?). Suggest renaming to ResolveCreatableSource.
With the upcoming LoggingConfig type, a part of Patterns now has the ability to be configured from app.config / web.config. A new wiki page is needed detailing the configuration options, sample xml, and the meaning / purpose of each possible value.
EDIT: DictionaryParserConfig from specs also needs to be documented, and the @configured
tag needs to be documented.
With the removal of TestDateTimeInfo per issue #40, Patterns.Testing needs to be updated.
DoD:
DoD:
Func<TResult>
Func<TInput, TResult>
...
Func<TInput1, TInput2 ... TInput16, TResult>
Action
Action<TInput>
...
Action<TInput1, TInput2 ... TInput16>
DoD: feature scenarios for all 3 intended use cases:
DoD:
IEnumerable<PropertyValue> GetPropertyValues(this object source)
this type isn't useful when the same functionality and more is available in Moq.
Moq.Contrib.Indy
can become Patterns.Moq
and Autofac.CommonServiceLocator.Indy
can go away thanks to the official release.
Replace it with the same tagline as the now-edited home page: "Code Patterns: lots of reusable goodies for your .NET project"
And include a link to the wiki.
In this file, the current year is being incremented to test the generator (template was replacing an existing static file that already had the correct content). That increment needs to be removed.
DoD: a WPF desktop application that allows the user to select a local dll, a GAC dll, or a NuGet dll for type inspection. Example and "See Also" urls can be entered by the user at this time. All types and all type members should be listed and the user should have the ability to de-select any item, thus excluding it from the output. Further, all text output should be previewable and editable by the user before generation. All choices should be savable to a "namespace profile", which can be reloaded for quick regeneration. Running the generator creates a MarkDown (.md) file suitable for inclusion in the code-patterns wiki.
Basic template structure is:
1. Header -- [namespace]
2. Download Link -- [nuget base url + assembly name]
3. Example Link (s) -- [UI input]
4. Struct types -- [type scan, user can exclude]
a. Description -- xml docs
b. Ctor signature if not default -- [reflected ctor + xml docs]
c. Public fields -- [scan + xml docs]
d. Public properties -- [scan + xml docs]
e. Public methods -- [scan + xml docs]
5. Interface types -- [type scan, user can exclude]
a. Description -- xml docs
b. Properties -- [scan + xml docs]
c. Methods -- [scan + xml docs]
6. Abstract types -- [type scan, user can exclude]
a. Description -- xml docs
b. Ctor signature if not default -- [reflected ctor + xml docs]
c. Public and protected fields -- [scan + xml docs]
d. Public and protected properties -- [scan + xml docs]
e. Public and protected methods -- [scan + xml docs]
7. Concrete types -- [type scan, user can exclude]
a. Description -- xml docs
b. Ctor signature if not default -- [reflected ctor + xml docs]
c. Public fields -- [scan + xml docs]
d. Public properties -- [scan + xml docs]
e. Public methods -- [scan + xml docs]
8. "See Also" Link (s) -- [UI input]
9. "Created with the Patterns Documentation Generator"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.