UppercuT_config


UppercuT.config

 

All of the bat files call this file to get the properties to set. To make sure we are DRY, we want one file to set up everything in and use those settings from all of the other batch files.

 

Setup

We need to answer a series of questions about your application so that uppercut can automatically build it for you. To get up and running fast, we have already included a series of conventions so that you will only need to answer questions when things are different.

 

Here are the three questions most people need to answer.

 

 

<property name="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />

<property name="path_to_solution" value="." overwrite="false" />

<property name="repository.path" value="__REPOSITORY_PATH__" overwrite="false" />

<property name="company.name" value="__COMPANY_NAME__" overwrite="false" />

 

becomes

 

 

<property name="project.name" value="UppercuT" overwrite="false" />

<property name="path_to_solution" value="." overwrite="false" />

<property name="repository.path" value="http://uppercut.googlecode.com/svn/" overwrite="false" />

<property name="company.name" value="FerventCoder Software and ACuriousMind Software" overwrite="false" />

 

My solution name is uppercut.sln, so I include it as the project name without the .sln extension. The repository path is not down to a trunk or a branch, but at the very top level of the repository.  The company is either a company you work for or your own personal company if you are open source.

 

Here is the contents of the UppercuT.config file:

-----

 

 

<?xmlversion="1.0"encoding="utf-8" ?>

<projectname="BuildSettings">

  <!-- Project UppercuT - http://projectuppercut.org -->

  <!-- Learn how to edit this file at http://uppercut.pbwiki.com -->

 

  <!-- Required Items -->

  <propertyname="project.name"value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__"overwrite="false"/>

  <propertyname="path_to_solution"value="."overwrite="false"/>

  <propertyname="repository.path"value="__REPOSITORY_PATH__"overwrite="false"/>

  <propertyname="company.name"value="__COMPANY_NAME__"overwrite="false"/>

 

  <!-- folders -->

  <propertyname="folder.database"value="${project.name}.Database"overwrite="false"/>

  <propertyname="folder.reports"value="${project.name}.Reports"overwrite="false"/>

  <propertyname="folder.deployment"value="deployment"overwrite="false"/>

  <propertyname="folder.documentation"value="docs"overwrite="false"/>

  <propertyname="folder.references"value="lib"overwrite="false"/>

  <propertyname="folder.build_scripts"value="build"overwrite="false"/>

  <propertyname="folder.build_scripts_custom"value="build.custom"overwrite="false"/>

  <propertyname="folder.code_build"value="build_output"overwrite="false"/>

  <propertyname="folder.code_drop"value="code_drop"overwrite="false"/>

  <propertyname="folder.app.drop"value="${project.name}"overwrite="false"/>

  <propertyname="folder.environment_files"value="environment.files"overwrite="false"/>

  <propertyname="folder.file_server"value="file.server"overwrite="false"/>

 

  <!-- FRAMEWORKS -->

  <!-- microsoft.framework: vb6, net-1.1, net-2.0, net-3.5, net-4.0  -->

  <propertyname="microsoft.framework"value="net-3.5"overwrite="false"/>

  <!-- language.short: vb,cs -->

  <propertyname="language.short"value="cs"overwrite="false"/>

  <!-- test.framework: none, mbunit2, nunit, gallio - with gallio it must be installed in program files on every computer. Alternatively you can add 26MB to your repo and put it there. Little much for my tastes. -->

  <propertyname="test.framework"value="mbunit2"overwrite="false"/>

  <!-- source_control_type: svn, vss, tfs, vault, git, hg -->

  <propertyname="source_control_type"value="svn"overwrite="false"/>

 

  <!-- ASSEMBLY VARIABLES -->

  <propertyname="version.major"value="0"overwrite="false"/>

  <propertyname="version.minor"value="0"overwrite="false"/>

  <propertyname="assembly.description"value="${project.name} is a product of ${company.name} - ${repository.path}."overwrite="false"/>

  <!-- partially trusted callers doesn't set correctly with assembly generator - Leave false for now-->

  <propertyname="allow.partially_trusted_callers"value="false"overwrite="false"/>

  <propertyname="sign.project_with_key"value="false"overwrite="false"/>

  <!-- To use relative pathing your projects all need to be at the same level. -->

  <propertyname="sign.key.use_relative_pathing"value="false"overwrite="false"/>

  <propertyname="sign.key.relative_path_from_projects"value="..\..\"overwrite="false"/>

 

  <!-- COMPILE VARIABLES -->

  <propertyname="msbuild.configuration"value="Release"overwrite="false"/>

  <propertyname="msbuild.platform"value="Any CPU"overwrite="false"/>

 

  <!-- POLICIES -->

  <propertyname="file.installation_document"value="..\${folder.documentation}\Installation\${project.name}Installation.doc"overwrite="false"/>

  <propertyname="fail.if_no_installation_document"value="false"overwrite="false"/>

 

  <!-- EXTERNAL TOOLS -->

  <!-- These are run two folders down from the top level folder, so figure out the relative path from there and add "..\..\" -->

  <!-- In example, if from the top level directory, you have an item that is in lib\NCover\NCover.Console.exe you should add it here as ..\..\lib\NCover\NCover.Console.exe  -->

  <!-- To not use the tool, change to a location that doesn't exist -->

  <propertyname="app.ncover"value="..\..\${folder.references}\NCover\NCover.Console.exe"overwrite="false"/>

  <propertyname="app.ncover_explorer"value="..\..\${folder.references}\NCover\NCoverExplorer.Console.exe"overwrite="false"/>

  <propertyname="app.ncover.tester"value="..\..\${folder.references}\MbUnit2\MbUnit.Cons.exe"overwrite="false"if="${test.framework=='mbunit2'}"/>

  <propertyname="app.ncover.tester"value="..\..\${folder.references}\NUnit\nunit-console.exe"overwrite="false"if="${test.framework=='nunit'}"/>

  <propertyname="app.ncover.tester"value="C:\Program Files (x86)\Gallio\bin\Gallio.Host.exe"overwrite="false"if="${test.framework=='gallio'}"/>

  <propertyname="app.ndepend"value="C:\Program Files\NDepend\NDepend.Console.exe"overwrite="false"/>

  <propertyname="app.moma"value="..\..\${folder.references}\MoMA\MoMA.exe"overwrite="false"/>

  <propertyname="allow.powershell.unrestricted"value="false"overwrite="false"/>

 

</project>

----

 

----

 

Back to HowToUse?