Skip to content

Commit

Permalink
(build) add build files
Browse files Browse the repository at this point in the history
  • Loading branch information
ferventcoder committed Jan 6, 2016
1 parent aa5b8e1 commit 15146aa
Show file tree
Hide file tree
Showing 144 changed files with 8,721 additions and 0 deletions.
48 changes: 48 additions & 0 deletions .build.custom/nugetPrepare.post.step
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<project name="CUSTOM POST NUGETPREPARE" default="go">
<!-- Project UppercuT - http://projectuppercut.org -->
<property name="build.config.settings" value="__NONE__" overwrite="false" />
<include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
<property name="path.separator" value="${string::trim(path::combine(' ', ' '))}" />
<property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
<property name="path.to.toplevel" value=".." />
<property name="folder.code_drop" value="code_drop" overwrite="false" />
<property name="dirs.drop" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_drop}" overwrite="false" />
<property name="dirs.drop" value="${path::get-full-path(dirs.drop)}" />
<property name="folder.nuget" value="nuget" overwrite="false" />
<property name="dirs.drop.nuget" value="${dirs.drop}${path.separator}${folder.nuget}" overwrite="false" />
<property name="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />
<property name="version.use_semanticversioning" value="false" overwrite="false" />
<property name="version.major" value="1" overwrite="false" />
<property name="version.minor" value="0" overwrite="false" />
<property name="version.patch" value="0" overwrite="false" />
<property name="version.build" value="0" overwrite="false" />
<property name="version.revision" value="0" overwrite="false" />
<property name="assembly.version.full" value="${version.major}.${version.minor}.${version.build}.${version.revision}" />
<property name="assembly.version.full" value="${version.major}.${version.minor}.${version.patch}.0" if="${version.use_semanticversioning}" />

<target name="go" depends="prep_nuget, remove_docs" />

<target name="prep_nuget">
<echo level="Warning" message="Deleting ${dirs.drop.nuget}\lib" />
<delete dir="${dirs.drop.nuget}\lib" />

<property name="dir.drop.choco_server" value="${dirs.drop}${path.separator}_PublishedWebSites${path.separator}${project.name}" />
<property name="dirs.drop.nuget.choco_server" value="${dirs.drop.nuget}${path.separator}tools${path.separator}chocolatey.server" />
<echo level="Warning" message="Packaging website to ${dirs.drop.nuget}${path.separator}tools\chocolatey.server." />

<copy todir="${dirs.drop.nuget.choco_server}">
<fileset basedir="${dir.drop.choco_server}">
<exclude name="**${path.separator}*.template" />
<exclude name="**/bin/*.xml" />
<exclude name="**/bin/*.pdb" />
<include name="**/*.*" />
</fileset>
</copy>
</target>

<target name="remove_docs">
<echo level="Warning" message="Removing unnecesary documents from '${dirs.drop.nuget}\docs'" />
<delete dir="${dirs.drop.nuget}\docs" />
</target>
</project>
Binary file added .build/Castle.Core.dll
Binary file not shown.
Binary file added .build/Castle.Windsor.dll
Binary file not shown.
4 changes: 4 additions & 0 deletions .build/UppercuT.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" ?>
<uppercut>
<version>1.4.2.0</version>
</uppercut>
45 changes: 45 additions & 0 deletions .build/analyze.step
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8" ?>
<project name="Analyzers" default="go">
<!-- Project UppercuT - http://projectuppercut.org -->
<!-- DO NOT EDIT THIS FILE - Add custom tasks in BuildTasks.Custom folder with file by the same name - find out more at http://uppercut.pbwiki.com -->
<property name="build.config.settings" value="__NONE__" overwrite="false" />
<include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
<property name="path.separator" value="${string::trim(path::combine(' ', ' '))}" />
<property name="file.current.no_extension" value="analyze" />
<property name="dirs.current" value="${directory::get-current-directory()}" />
<property name="dirs.current.file" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
<property name="folder.build_scripts" value="build" overwrite="false" />
<property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
<property name="dirs.build_scripts_custom" value="${dirs.current}${path.separator}${folder.build_scripts_custom}" />
<property name="is.replaced" value="false" />
<property name="fail.build.on.error" value="true" />

<target name="go" depends="run_tasks" />

<target name="run_tasks">
<echo level="Warning" message="" />
<echo level="Warning" message="====================" />
<echo level="Warning" message="${project::get-name()}" />
<echo level="Warning" message="====================" />
<call target="prepare" if="${target::exists('prepare')}" />
<customExtension extends="${project::get-buildfile-path()}" type="pre" failonerror="${fail.build.on.error}" />
<customExtension extends="${project::get-buildfile-path()}" type="replace" failonerror="${fail.build.on.error}" />
<call target="run_normal_tasks" if="${not is.replaced}" />
<customExtension extends="${project::get-buildfile-path()}" type="post" failonerror="${fail.build.on.error}" />
</target>

<target name="run_normal_tasks"
depends="run_analyzers"
description="Analyzing project for quality indicators." />

<target name="run_analyzers">
<nant buildfile="${dirs.current.file}${path.separator}analyzers${path.separator}test.step" inheritall="true" />
<nant buildfile="${dirs.current.file}${path.separator}analyzers${path.separator}cover.step" inheritall="true" failonerror="false" />
<nant buildfile="${dirs.current.file}${path.separator}analyzers${path.separator}ndepend.step" inheritall="true" failonerror="false" />
<nant buildfile="${dirs.current.file}${path.separator}analyzers${path.separator}nitriq.step" inheritall="true" failonerror="false" />
<nant buildfile="${dirs.current.file}${path.separator}analyzers${path.separator}metrics.step" inheritall="true" failonerror="false" />
<nant buildfile="${dirs.current.file}${path.separator}analyzers${path.separator}fxcop.step" inheritall="true" failonerror="false" />
<nant buildfile="${dirs.current.file}${path.separator}analyzers${path.separator}moma.step" inheritall="true" failonerror="false" />
</target>

</project>
63 changes: 63 additions & 0 deletions .build/analyzers/cover.step
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8" ?>
<project name="CoverageRunner" default="go">
<!-- Project UppercuT - http://projectuppercut.org -->
<!-- DO NOT EDIT THIS FILE -->
<property name="build.config.settings" value="__NONE__" overwrite="false" />
<include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
<property name="path.separator" value="${string::trim(path::combine(' ', ' '))}" />
<property name="file.current.no_extension" value="cover" />
<property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
<property name="path.to.toplevel" value="..${path.separator}.." />
<property name="folder.build_scripts" value="build" overwrite="false" />
<property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
<property name="dirs.build_scripts_custom" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts_custom}${path.separator}analyzers" />
<property name="folder.code_build" value="build_output" overwrite="false" />
<property name="dirs.build" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_build}" />
<property name="folder.app.drop" value="${project.name}" overwrite="false" />
<property name="dirs.build.code" value="${dirs.build}${path.separator}${folder.app.drop}" overwrite="false" />
<property name="cover.framework" value="opencover" overwrite="false" />
<property name="is.replaced" value="false" />
<property name="fail.build.on.error" value="true" />
<property name="app.ruby" value="C:\Ruby\bin\ruby.exe" overwrite="false" />
<property name="app.powershell" value="%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe" overwrite="false" />

<target name="go" depends="load_uppercut_assemblies, run_tasks" />

<property name="file.uppercut.assembly" value="uppercut.tasks.dll" />
<property name="path.uppercut.assembly" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts}${path.separator}${file.uppercut.assembly}" />
<target name="load_uppercut_assemblies">
<loadtasks assembly="${path.uppercut.assembly}" if="${file::exists(path.uppercut.assembly)}" />
</target>

<target name="run_tasks">
<echo level="Warning" message="" />
<echo level="Warning" message="====================" />
<echo level="Warning" message="${project::get-name()}" />
<echo level="Warning" message="====================" />
<call target="prepare" if="${target::exists('prepare')}" />
<customExtension extends="${project::get-buildfile-path()}" type="pre" failonerror="${fail.build.on.error}" />
<customExtension extends="${project::get-buildfile-path()}" type="replace" failonerror="${fail.build.on.error}" />
<call target="run_normal_tasks" if="${not is.replaced}" />
<customExtension extends="${project::get-buildfile-path()}" type="post" failonerror="${fail.build.on.error}" />
</target>

<target name="run_normal_tasks"
depends="run_coverage"
description="Analysing project for test coverage." />

<target name="run_coverage">
<nant buildfile="${dirs.current}${path.separator}ncover.cover.step" inheritall="true" if="${cover.framework=='ncover'}" />
<nant buildfile="${dirs.current}${path.separator}opencover.cover.step" inheritall="true" if="${cover.framework=='opencover'}" />
<call target="set_normal_failure_mode" />
</target>

<target name="open_results">
<nant buildfile="${dirs.current}${path.separator}ncover.cover.step" target="open_results" inheritall="true" if="${cover.framework=='ncover'}" />
<nant buildfile="${dirs.current}${path.separator}opencover.cover.step" target="open_results" inheritall="true" if="${cover.framework=='opencover'}" />
</target>

<target name="set_normal_failure_mode">
<property name="nant.onfailure" value="fail" />
</target>

</project>
112 changes: 112 additions & 0 deletions .build/analyzers/fxcop.step
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="utf-8" ?>
<project name="FxCop Code Analysis" default="go">
<!-- Project UppercuT - http://projectuppercut.org -->
<property name="build.config.settings" value="__NONE__" overwrite="false" />
<include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
<property name="path.separator" value="${string::trim(path::combine(' ', ' '))}" />
<include buildfile="..${path.separator}csharp.functions" />
<property name="file.current.no_extension" value="fxcop" />
<property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
<property name="path.to.toplevel" value="..${path.separator}.." />
<property name="dirs.solution" value="${path::get-full-path(path::combine(dirs.current, path.to.toplevel))}" />
<property name="folder.build_scripts" value="build" overwrite="false" />
<property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
<property name="dirs.build_scripts_custom" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts_custom}${path.separator}analyzers" />
<property name="folder.code_build" value="build_output" overwrite="false" />
<property name="dirs.build" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_build}" />
<property name="folder.app.drop" value="${project.name}" overwrite="false" />
<property name="dirs.build.code" value="${dirs.build}${path.separator}${folder.app.drop}" overwrite="false" />
<property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
<property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}${path.separator}${folder.build_artifacts}" />
<property name="folder.program_files" value="${environment::get-folder-path('ProgramFiles')}" />
<property name="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />
<property name="folder.fxcop_results" value="fxcop" overwrite="false" />
<property name="dirs.fxcop_results" value="${path::combine(dirs.build_artifacts, folder.fxcop_results)}" overwrite="false" />
<property name="folder.packages" value="packages" />
<property name="dirs.packages" value="${path::get-full-path(path::combine(dirs.solution, folder.packages))}" />
<property name="folder.program_files" value="${environment::get-folder-path('ProgramFiles')}" />
<property name="app.fxcop" value="${path::get-full-path(folder.program_files)}${path.separator}Microsoft Visual Studio 10.0${path.separator}Team Tools${path.separator}Static Analysis Tools${path.separator}FxCop${path.separator}FxCopCmd.exe" overwrite="false" />
<property name="app.fxcop" value="${path::get-full-path(folder.program_files)}${path.separator}Microsoft Fxcop 10.0${path.separator}FxCopCmd.exe" if="${not file::exists(app.fxcop)}" overwrite="false" />
<property name="app.fxcop_project" value="${project.name}.fxcop" overwrite="false" />
<property name="file.fxcop_project" value="${path::combine(dirs.solution, app.fxcop_project)}" overwrite="false" />
<property name="file.fxcop_results" value="${project.name}-results.xml" />
<property name="args.fxcop" value="/searchgac /o:&quot;${dirs.fxcop_results}${path.separator}${file.fxcop_results}&quot;" />
<property name="args.fxcop" value="/searchgac /o:&quot;${dirs.fxcop_results}${path.separator}${file.fxcop_results}&quot; /p:&quot;${file.fxcop_project}&quot;" if="${file::exists(file.fxcop_project)}" />
<property name="run.fxcop" value="false" overwrite="false" />
<property name="is.replaced" value="false" />
<property name="fail.build.on.error" value="false" />
<property name="file.uppercut.assembly" value="uppercut.tasks.dll" />
<property name="path.uppercut.assembly" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts}${path.separator}${file.uppercut.assembly}" />

<target name="go" depends="load_uppercut_assemblies, run_tasks" if="${file::exists(app.fxcop)}" />

<target name="load_uppercut_assemblies">
<loadtasks assembly="${path.uppercut.assembly}" if="${file::exists(path.uppercut.assembly)}" />
</target>

<target name="run_tasks" if="${file::exists(app.fxcop) and run.fxcop}">
<echo level="Warning" message="" />
<echo level="Warning" message="====================" />
<echo level="Warning" message="${project::get-name()}" />
<echo level="Warning" message="====================" />
<call target="prepare" if="${target::exists('prepare')}" />
<customExtension extends="${project::get-buildfile-path()}" type="pre" failonerror="${fail.build.on.error}" />
<customExtension extends="${project::get-buildfile-path()}" type="replace" failonerror="${fail.build.on.error}" />
<call target="run_normal_tasks" if="${not is.replaced}" />
<customExtension extends="${project::get-buildfile-path()}" type="post" failonerror="${fail.build.on.error}" />
</target>

<target name="prepare">
<echo message="Removing and adding ${dirs.fxcop_results}."/>
<delete dir="${dirs.fxcop_results}" failonerror="false" />
<mkdir dir="${dirs.fxcop_results}" />
</target>

<target name="run_normal_tasks"
depends="get_regular_dlls, analysis"
description="Using FxCop Code Analysis to report on the complexity and maintainability of your project(s)."
/>

<target name="get_regular_dlls">
<echo message="Getting output dlls based on name in directory ${path::get-full-path(dirs.build.code)}." />
<property name="dll.names" value="" />
<property name="dll.args" value="" />
<foreach item="File" property="dll.filename">
<in>
<items>
<exclude name="${dirs.build.code}${path.separator}lib${path.separator}**" />
<exclude name="${dirs.build.code}${path.separator}**${path.separator}NUnit*.dll" />
<exclude name="${dirs.build.code}${path.separator}**${path.separator}MbUnit*.dll" />
<exclude name="${dirs.build.code}${path.separator}**${path.separator}TestFu.dll" />
<exclude name="${dirs.build.code}${path.separator}**${path.separator}QuickGraph*.dll" />
<exclude name="${dirs.build.code}${path.separator}**${path.separator}Refly*.dll" />
<exclude name="${dirs.build.code}${path.separator}**${path.separator}Rhino.Mocks*.dll" />
<exclude name="${dirs.build.code}${path.separator}**${path.separator}*bdd*.dll" />
<exclude name="${dirs.build.code}${path.separator}**${path.separator}*Test*dll" />
<exclude name="${dirs.build.code}${path.separator}**${path.separator}*Spec*dll" />
<include name="${dirs.build.code}${path.separator}${project.name}.*.dll" />
<include name="${dirs.build.code}${path.separator}${project.name}.*.exe" />
</items>
</in>
<do>
<property name="dll.names" value="${dll.names + ' ' + string::replace(string::replace(dll.filename,path::get-full-path(dirs.build.code) + '\',''),'\',path.separator) + ''}" />
<property name="dll.args" value="${dll.args + ' /f:&quot;' + string::replace(string::replace(dll.filename,path::get-full-path(dirs.build.code) + '\',''),'\',path.separator) + '&quot;'}" />
</do>
</foreach>

<property name="dlls.regular" value="${dll.names}" />
<echo level="Warning" message="Running FxCop Code Analysis against these files - ${dlls.regular}." />

<property name="args.fxcop" value="${dll.args} ${args.fxcop}" />
</target>

<target name="analysis" if="${file::exists(app.fxcop)}" >
<echo level="Warning" message="Attempting to run FxCop Code Analysis. Creating file at ${file.fxcop_results}." />

<exec program="${app.fxcop}" workingdir="${dirs.build.code}">
<arg line="${args.fxcop}" />
</exec>

</target>

</project>
Loading

0 comments on commit 15146aa

Please sign in to comment.