A Yeoman Generator for Condo
Info | Badges |
---|---|
Version | |
License | |
Downloads | |
Build Status | |
Chat |
Condo is a cross-platform command line interface (CLI) build system for projects using NodeJS, CoreCLR, .NET Framework, or... well, anything. It is capable of automatically detecting and executing all of the steps necessary to make project function correctly, including, but not limited to:
- Automatic semantic versioning
- Restoring package manager dependencies (NuGet, NPM, Bower)
- Executing default task runner commands (Grunt, Gulp)
- Compiling projects and test projects (package.json and msbuild)
- Executing unit tests (xunit, mocha, jasmine, karma, protractor)
- Packing NuGet packages
- Pushing (Publishing) NuGet packages
These are just some of the most-used features of the build system. For more information, please refer to the official documentation.
-
Make sure that you have Yeoman installed:
npm install -g yo
-
Install the Condo generator:
npm install -g generator-condo
-
Initiate the generator:
yo condo
-
Run the build:
OS X / Linux:
./condo.sh
Windows (CLI):
condo
Windows (PoSH):
./condo.ps1
The generator allows you to specify several options, which results in a customized experience.
The name of the folder where you intend to add one or more projects to your "solution".
Default Value: (src)
This value is used to set the projects
property in the resulting global.json
file.
The name of the folder where you intend to add one or more test projects to your "solution".
Default Value: (test)
This value is used to set the projects
property in the resulting global.json
file.
The name of your project.
Default Value: name of the folder in which the generator was executed
This value is set in the resulting make.shade
file, which is subsequently used to set the project name in assemblies built by condo.
It is also used as the name of the solution and ReSharper settings files (if included).
Default Value: 1.0.0
This value is set in the resulting make.shade
file, which is subsequently used to generate and set the semantic version in assemblies built by condo.
Default Value: My Company
This value is set in the resulting make.shade
file, which is subseqently used to generate and set the company name in assemblies built by condo.
It is also used to set the name of the company in the file header template within the ReSharper settings file (if included).
Default Value: CoreCLR
This value is used to set the sdk
property in the resulting global.json
file.
All of the inclusions identified below are enabled by default to make it as easy as possible to get started with a new project. That being said, we are fully aware that most of these inclusions are highly subjective. For the control freaks among us (ourselves included), you can inverse this situation (all includes off by default) when you execute the condo generator:
yo condo --includes false
- Solution File: A solution file (sln) used to open the project in Visual Studio on Windows.
- ReSharper Settings: Settings file (sln.DotSettings) used to configure ReSharper on Windows with some basic recommendations.
- Editor Configuration: A configuration file (.editorconfig) used to configure plain-text editors that support the standard.
- Visual Studio Code Settings: A settings file (.vscode/settings.json) used to configure Visual Studio Code.
- Git Ignore: An ignore file (.gitignore) used to ignore artifacts created by condo in addition to many other build-time artifacts.
- This is based on the gitignore project.
- Git Attributes: An attributes file (.gitattributes) used to configure cross-platform management of file types within a git repository.
- JSHint: A hint file (.jshintrc) used to configure JSHint and auto-completion toolsets in various editors.
- Code Analysis Dictionaries: A code analysis dictionary using reasonable defaults for both the src and test folders (.NET)
- StyleCop Settings: A StyleCop configuration file used for the StyleCop Rosyln Analyzers (.NET).
- --includes : A value indicating whether or not to enable includes.
For questions or comments related to the generator, please open an issue on the condo-generator repository on GitHub.
For questions or comments related to condo itself, please open an issue on the condo repository on GitHub.
©. PulseBridge, Inc. and contributors. Distributed under the APACHE 2.0 license. See LICENSE and CREDITS for details.