Skip to content
This repository has been archived by the owner on Mar 1, 2021. It is now read-only.

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
adamralph committed Nov 28, 2013
1 parent d7164ca commit 3d0652f
Show file tree
Hide file tree
Showing 25 changed files with 964 additions and 2 deletions.
1 change: 1 addition & 0 deletions .gitattributes
@@ -0,0 +1 @@
* -text
25 changes: 25 additions & 0 deletions .gitignore
@@ -0,0 +1,25 @@
bin
obj

*.suo
*.user

/src/packages/*

!/src/packages/StyleCop.MSBuild.*
/src/packages/StyleCop.MSBuild.*/*
/src/packages/StyleCop.MSBuild.*/*.*
!/src/packages/StyleCop.MSBuild.*/tools
/src/packages/StyleCop.MSBuild.*/tools/*
/src/packages/StyleCop.MSBuild.*/tools/*.*
!/src/packages/StyleCop.MSBuild.*/tools/StyleCop.Targets

!/src/packages/NuGet.CommandLine.*
/src/packages/NuGet.CommandLine.*/*
/src/packages/NuGet.CommandLine.*/*.*
!/src/packages/NuGet.CommandLine.*/tools
/src/packages/NuGet.CommandLine.*/tools/*
/src/packages/NuGet.CommandLine.*/tools/*.*
!/src/packages/NuGet.CommandLine.*/tools/NuGet.exe

*.sln.ide
41 changes: 39 additions & 2 deletions README.md
@@ -1,2 +1,39 @@
Bau
===
# Bau

Write your build scripts in C# :sunglasses:.

- [Quickstart]
- [Samples]

Get it at [NuGet](https://nuget.org/packages/Bau/ "Bau on Nuget").

Powered by [scriptcs](https://github.com/scriptcs/scriptcs) and [Roslyn](http://msdn.microsoft.com/en-gb/roslyn).

## Features

Checkout the [quickstart] to get an idea of the basics.

Bau does plenty more! Checkout the [samples] for more info.

TIP: you can write **any C# you like** in your baufile. The scriptcs [#load](https://github.com/scriptcs/scriptcs/wiki/Writing-a-script#loading-referenced-scripts) and [#r](https://github.com/scriptcs/scriptcs/wiki/Writing-a-script#referencing-assemblies) features are both supported for loading scripts and referencing assemblies.

## Updates

Releases will be pushed regularly to [NuGet](https://nuget.org/packages/Bau/). For update notifications, follow [@adamralph](https://twitter.com/#!/adamralph).

To build manually, clone or fork this repository and see ['How to build'].

## Can I help to improve it and/or fix bugs? ##

Absolutely! Please feel free to raise issues, fork the source code, send pull requests, etc.

No pull request is too small. Even whitespace fixes are appreciated. Before you contribute anything make sure you read [CONTRIBUTING.md].

## What do the version numbers mean? ##

Bau uses [Semantic Versioning](http://semver.org/). The current release is 0.x which means 'initial development'. Version 1.0 will follow the release of [scriptcs](https://github.com/scriptcs/scriptcs) version 1.0.

## Sponsors ##
Our build server is kindly provided by [CodeBetter](http://codebetter.com/) and [JetBrains](http://www.jetbrains.com/).

![YouTrack and TeamCity](http://www.jetbrains.com/img/banners/Codebetter300x250.png)
9 changes: 9 additions & 0 deletions license.txt
@@ -0,0 +1,9 @@
The MIT License (MIT)

Copyright (c) Bau contributors. (baubuildch@gmail.com)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
6 changes: 6 additions & 0 deletions src/.nuget/NuGet.Config
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
5 changes: 5 additions & 0 deletions src/.nuget/packages.config
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NuGet.CommandLine" version="2.7.3" />
<package id="xunit.runners" version="1.9.2" />
</packages>
24 changes: 24 additions & 0 deletions src/Bau.Dictionary
@@ -0,0 +1,24 @@
<Dictionary>
<Words>
<Unrecognized>
<Word/>
</Unrecognized>
<Recognized>
<Word/>
</Recognized>
<Deprecated>
<Term PreferredAlternate=""/>
</Deprecated>
<Compound>
<Term CompoundAlternate=""/>
</Compound>
<DiscreteExceptions>
<Term/>
</DiscreteExceptions>
</Words>
<Acronyms>
<CasingExceptions>
<Acronym/>
</CasingExceptions>
</Acronyms>
</Dictionary>
9 changes: 9 additions & 0 deletions src/Bau.ruleset
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Bau Rules" Description="Bau Rules" ToolsVersion="11.0">
<Include Path="allrules.ruleset" Action="Default" />
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1802" Action="None" />
<Rule Id="CA2210" Action="None" />
<Rule Id="CA2243" Action="None" />
</Rules>
</RuleSet>
33 changes: 33 additions & 0 deletions src/Bau.sln
@@ -0,0 +1,33 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionFiles", "SolutionFiles", "{4928A491-6E0E-4948-A9DD-F24A4A0AAC08}"
ProjectSection(SolutionItems) = preProject
Bau.Dictionary = Bau.Dictionary
Bau.ruleset = Bau.ruleset
Settings.StyleCop = Settings.StyleCop
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{B32D81B0-BCE2-48E7-9CCE-8CD79547A5DE}"
ProjectSection(SolutionItems) = preProject
.nuget\NuGet.Config = .nuget\NuGet.Config
.nuget\packages.config = .nuget\packages.config
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bau", "Bau\Bau.csproj", "{CE4AEEE6-880E-4C2F-B52F-E1D319692ED7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CE4AEEE6-880E-4C2F-B52F-E1D319692ED7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CE4AEEE6-880E-4C2F-B52F-E1D319692ED7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CE4AEEE6-880E-4C2F-B52F-E1D319692ED7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CE4AEEE6-880E-4C2F-B52F-E1D319692ED7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
6 changes: 6 additions & 0 deletions src/Bau/App.config
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
113 changes: 113 additions & 0 deletions src/Bau/Bau.csproj
@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{CE4AEEE6-880E-4C2F-B52F-E1D319692ED7}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Bau</RootNamespace>
<AssemblyName>Bau</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>..\Bau.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<CodeAnalysisRuleSet>..\Bau.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Compile Include="Guard.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Scripting\BauScriptEngine.cs" />
<Compile Include="Scripting\BauScriptExecutor.cs" />
<Compile Include="Scripting\BauScriptHost.cs" />
<Compile Include="Scripting\BauScriptHostFactory.cs" />
<Compile Include="Scripting\IBauScriptHost.cs" />
<Compile Include="Scripting\IBauScriptHostFactory.cs" />
</ItemGroup>
<ItemGroup>
<CodeAnalysisDictionary Include="..\Bau.Dictionary">
<Link>Properties\Bau.Dictionary</Link>
</CodeAnalysisDictionary>
<None Include="App.config" />
<None Include="baufile.csx">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Reference Include="Common.Logging">
<HintPath>..\packages\Common.Logging.2.1.2\lib\net40\Common.Logging.dll</HintPath>
</Reference>
<Reference Include="Roslyn.Compilers">
<HintPath>..\packages\Roslyn.Compilers.Common.1.2.20906.2\lib\net45\Roslyn.Compilers.dll</HintPath>
</Reference>
<Reference Include="Roslyn.Compilers.CSharp">
<HintPath>..\packages\Roslyn.Compilers.CSharp.1.2.20906.2\lib\net45\Roslyn.Compilers.CSharp.dll</HintPath>
</Reference>
<Reference Include="ScriptCs.Contracts">
<HintPath>..\packages\ScriptCs.Contracts.0.8.1\lib\net45\ScriptCs.Contracts.dll</HintPath>
</Reference>
<Reference Include="ScriptCs.Core">
<HintPath>..\packages\ScriptCs.Core.0.8.1\lib\net45\ScriptCs.Core.dll</HintPath>
</Reference>
<Reference Include="ScriptCs.Engine.Roslyn">
<HintPath>..\packages\ScriptCs.Engine.Roslyn.0.8.1\lib\net45\ScriptCs.Engine.Roslyn.dll</HintPath>
</Reference>
<Reference Include="ServiceStack.Text">
<HintPath>..\packages\ServiceStack.Text.3.9.70\lib\net35\ServiceStack.Text.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.Composition" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- 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.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<StyleCopMSBuildTargetsFile>..\packages\StyleCop.MSBuild.4.7.46.1\tools\StyleCop.targets</StyleCopMSBuildTargetsFile>
</PropertyGroup>
<Import Condition="Exists('$(StyleCopMSBuildTargetsFile)')" Project="$(StyleCopMSBuildTargetsFile)" />
<PropertyGroup>
<StyleCopMSBuildMessageMissing>Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded. Ensure that the package is present and then restart the build. If you are using an IDE (e.g. Visual Studio), reload the project before restarting the build.</StyleCopMSBuildMessageMissing>
<StyleCopMSBuildMessagePresent>Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded (but is now present). To fix this, restart the build. If you are using an IDE (e.g. Visual Studio), reload the project before restarting the build.</StyleCopMSBuildMessagePresent>
<StyleCopMSBuildMessageRestore>Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded. To fix this, restore the package and then restart the build. If you are using an IDE (e.g. Visual Studio), you may need to reload the project before restarting the build. Note that regular NuGet package restore (during build) does not work with this package because the package needs to be present before the project is loaded. If this is an automated build (e.g. CI server), you may want to ensure that the build process restores the StyleCop.MSBuild package before the project is built.</StyleCopMSBuildMessageRestore>
<StyleCopMSBuildMessageRestored>Failed to import StyleCop.MSBuild targets from '$(StyleCopMSBuildTargetsFile)'. The StyleCop.MSBuild package was either missing or incomplete when the project was loaded (but is now present). To fix this, restart the build. If you are using an IDE (e.g. Visual Studio), reload the project before restarting the build. Note that when using regular NuGet package restore (during build) the package will not be available for the initial build because the package needs to be present before the project is loaded. If package restore executes successfully in the initial build then the package will be available for subsequent builds. If this is an automated build (e.g. CI server), you may want to ensure that the build process restores the StyleCop.MSBuild package before the initial build.</StyleCopMSBuildMessageRestored>
</PropertyGroup>
<Target Name="StyleCopMSBuildTargetsNotFound">
<Warning Condition="!Exists('$(StyleCopMSBuildTargetsFile)') And $(RestorePackages)!=true And $(StyleCopTreatErrorsAsWarnings)!=false" Text="$(StyleCopMSBuildMessageMissing)" />
<Warning Condition="Exists('$(StyleCopMSBuildTargetsFile)') And $(RestorePackages)!=true And $(StyleCopTreatErrorsAsWarnings)!=false" Text="$(StyleCopMSBuildMessagePresent)" />
<Warning Condition="!Exists('$(StyleCopMSBuildTargetsFile)') And $(RestorePackages)==true And $(StyleCopTreatErrorsAsWarnings)!=false" Text="$(StyleCopMSBuildMessageRestore)" />
<Warning Condition="Exists('$(StyleCopMSBuildTargetsFile)') And $(RestorePackages)==true And $(StyleCopTreatErrorsAsWarnings)!=false" Text="$(StyleCopMSBuildMessageRestored)" />
<Error Condition="!Exists('$(StyleCopMSBuildTargetsFile)') And $(RestorePackages)!=true And $(StyleCopTreatErrorsAsWarnings)==false" Text="$(StyleCopMSBuildMessageMissing)" />
<Error Condition="Exists('$(StyleCopMSBuildTargetsFile)') And $(RestorePackages)!=true And $(StyleCopTreatErrorsAsWarnings)==false" Text="$(StyleCopMSBuildMessagePresent)" />
<Error Condition="!Exists('$(StyleCopMSBuildTargetsFile)') And $(RestorePackages)==true And $(StyleCopTreatErrorsAsWarnings)==false" Text="$(StyleCopMSBuildMessageRestore)" />
<Error Condition="Exists('$(StyleCopMSBuildTargetsFile)') And $(RestorePackages)==true And $(StyleCopTreatErrorsAsWarnings)==false" Text="$(StyleCopMSBuildMessageRestored)" />
</Target>
<PropertyGroup>
<PrepareForBuildDependsOn Condition="!Exists('$(StyleCopMSBuildTargetsFile)')">StyleCopMSBuildTargetsNotFound;$(PrepareForBuildDependsOn)</PrepareForBuildDependsOn>
</PropertyGroup>
</Project>

0 comments on commit 3d0652f

Please sign in to comment.