Commit a4b3ae0
Changed files (12)
trunk
build
product
MyMoney
Utility
Extensions
trunk/build/assembly_build.ps1
@@ -1,13 +0,0 @@
-properties{#directories
- $deploy_dir_bin = "$deploy_dir\bin"
- $deploy_dir_images = "$deploy_dir\images"
-}
-
-
-task deploy_assembly -depends prep_for_distribution{
-#$result = .$build_tools_dir\ilmerge\ilmerge.exe /out:$deploy_dir\$project_name.dll $build_artifacts_dir\$project_lib $build_artifacts_dir\FirstAssemblyToMerge
- get_file_names(get-childitem -path $build_artifacts_dir -filter $project_name*dll) | foreach-object{copy-item -path $_ $deploy_dir}
-
- $result
-}
-
trunk/build/build.ps1
@@ -1,156 +0,0 @@
-properties{#misc
- $framework_dir = "$env:windir\microsoft.net\framework\v2.0.50727"
-}
-
-properties{#directories
- $base_dir = new-object System.IO.DirectoryInfo $pwd
- $base_dir = $base_dir.Parent.FullName
-
- $build_dir = "$base_dir\build"
- $build_tools_dir = "$build_dir\tools"
- $build_artifacts_dir = "$build_dir\artifacts"
-
- $config_dir = "$build_dir\config"
- $coverage_dir = "$build_artifacts_dir\coverage"
- $coverage_file_name = "$coverage_dir\ncoverage.xml"
-
- $deploy_dir = "$build_dir\deploy"
-
- $product_dir = "$base_dir\product"
-
- $sql_dir = "$build_dir\sql"
- $sql_ddl_dir = "$sql_dir\ddl"
- $sql_data_dir = "$sql_dir\data"
-
- $third_party_dir = "$base_dir\thirdparty"
- $third_party_tools_dir = "$third_party_dir\tools"
- $third_party_lib_dir = "$third_party_dir\lib"
-}
-
-properties {#load in the build utilities file
- . $build_dir\tools\psake\build_utilities.ps1
-}
-
-properties {#load in the file that contains the name for the project
- . $build_dir\project_name.ps1
-}
-
-properties{#filesets
- $all_template_files = get_file_names(get-childitem -path $build_dir -recurse -filter "*.template")
- $third_party_libraries = get_file_names(get-childitem -path $third_party_lib_dir -recurse -filter *.dll)
- $third_party_tools = get_file_names(get-childitem -path $third_party_tools_dir -recurse -filter "*.dll")
- $third_party_exes = get_file_names(get-childitem -path $third_party_tools_dir -recurse -filter "*.exe")
- $bdd_doc_resources = get_file_names(get-childitem -path $third_party_tools_dir\bdddoc -recurse -include @("*.css","*.jpg"))
- $all_third_party_dependencies = $third_party_tools + $third_party_libraries + $third_party_exes + $bdd_doc_resources
- $all_sql_ddl_template_files = get_file_names(get-childitem -path $sql_ddl_dir -recurse -filter *.sql.template)
- $all_sql_data_template_files = get_file_names(get-childitem -path $sql_data_dir -recurse -filter *.sql.template)
- $all_sql_template_files = $all_sql_ddl_template_files , $all_sql_data_template_files
-}
-
-properties{ #files
- $studio_app_config = "$product_dir\$project_name\bin\debug\$project_name.dll.config"
- $log4net_config = "$config_dir\log4net.config.xml"
- $now = [System.DateTime]::Now
- $project_lib = "$project_name.dll"
- $project_test_lib = "$project_name.test.dll"
- $db_timestamp = "$sql_dir\db.timestamp"
- $nant_properties_file = "$build_dir\local_properties.xml"
-}
-
-properties{#logging
- $log_dir = "$build_dir\logs"
- $log_file_name = "${log_dir}\log.txt"
- $log_level = "DEBUG"
-}
-
-
-properties{#transient folders for build process
- $transient_folders = new-object -typename System.Collections.ArrayList
- $transient_folders.add($build_artifacts_dir)
- $transient_folders.add($coverage_dir)
- $transient_folders.add($deploy_dir)
-}
-
-properties{#machine dependent external properties
- . $build_dir\local_properties.ps1
- $app_config = $local_settings.app_config_template.Replace(".template","");
- $app_config = "$config_dir\$app_config"
-}
-
-properties{#other build files
-. .\studio_build.ps1
-. .\web_build.ps1
-. .\assembly_build.ps1
-}
-
-task default -depends init
-
-task build_db -depends init{
- $files_changed = files_have_changed $all_sql_template_files $db_timestamp
-
- if ($files_changed -eq $true)
- {
- process_sql_files $script:all_sql_ddl_files $local_settings.osql_exe "-E"
- }
- else
- {
- "DB is upto date"
- }
- touch $db_timestamp
-}
-
-task load_data -depends build_db {
- process_sql_files $script:all_sql_data_files $local_settings.osql_exe "-E"
-}
-
-
-task init -depends clean{
- $transient_folders | foreach-object{ make_folder $_ }
- expand_all_template_files $all_template_files $local_settings
- $script:all_sql_ddl_files = get_file_names(get-childitem -path $sql_ddl_dir -recurse -filter *.sql)
- $script:all_sql_data_files = get_file_names(get-childitem -path $sql_data_dir -recurse -filter *.sql)
-}
-
-task clean{
- $transient_folders | foreach-object{ remove-item $_ -recurse -ErrorAction SilentlyContinue}
-}
-
-task compile -depends init{
- $result = MSBuild.exe "$base_dir\solution.sln" /t:Rebuild /p:Configuration=Debug
- $script:product_outputs = get_file_names(get-childitem -path $product_dir -recurse -filter *.dll)
- $script:product_debug_outputs = get_file_names(get-childitem -path $product_dir -recurse -filter *.pdb)
-
- $result
-}
-
-task prep_for_distribution -depends compile{
- $all_third_party_dependencies | foreach-object {copy-item -path $_ -destination $build_artifacts_dir}
- $script:product_outputs | foreach-object {copy-item -path $_ -destination $build_artifacts_dir}
-}
-
-task setup_test -depends prep_for_distribution{
- $script:product_outputs | foreach-object {copy-item -path $_ -destination $build_artifacts_dir}
- $script:product_debug_outputs | foreach-object {copy-item -path $_ -destination $build_artifacts_dir}
-}
-
-task test -depends setup_test{
- $xunit = "$third_party_tools_dir\mbunit\MbUnit.Cons.exe"
- $result = .$xunit $build_artifacts_dir\$project_test_lib /rt:"$($local_settings.xunit_report_type)" /rnf:"$($local_settings.xunit_report_file_name)" /rf:"$($local_settings.xunit_report_file_dir)" /sr
-
- $result
-}
-
-
-
-task run_ncover -depends setup_test{
- $xunit_app_console_args = "$build_artifacts_dir\$project_test_lib $($local_settings.xunit_console_args)"
-
- ."$build_tools_dir\ncover\ncover.console.exe" $build_artifacts_dir\MBUnit.Cons.exe $build_artifacts_dir\$project_test_lib //reg //x "$coverage_file_name" //a "$project_name"
- ."$build_tools_dir\ncover.explorer\NCoverExplorer.Console.exe" "$coverage_file_name" /s:"$coverage_dir\merged_report.xml"
- ."$build_tools_dir\ncover.explorer\NCoverExplorer.exe" "$coverage_dir\merged_report.xml"
-
-}
-
-task run_test_report -depends test{
- $result = ."$build_artifacts_dir\bdddoc.console.exe" "$build_artifacts_dir\$project_test_lib" "ObservationAttribute" "$build_artifacts_dir\SpecReport.html" "$($local_settings.xunit_report_file_dir)\$($local_settings.xunit_report_file_name_with_extension)"
-}
trunk/build/local_properties.ps1
@@ -0,0 +1,18 @@
+$local_settings = @{
+ debug = "false";
+ log_level = "DEBUG";
+ assembly_title = "momoney"
+ assembly_description = "a sample application to tinker with"
+ assembly_company = "http://mokhan.ca"
+# assembly_version = "${datetime::get-year(datetime::now())}.${datetime::get-month(datetime::now())}.${datetime::get-day(datetime::now())}.${datetime::get-hour(datetime::now())}${datetime::get-minute(datetime::now())}" />
+ editor_exe = "notepad.exe"
+
+ dot_net_sdk_dir = "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin"
+ framework_dir="c:\windows\microsoft.net\framework\v3.5"
+ deployment_url="http://mokhan.ca/mymoney/"
+
+ certificate_filename="$build_config_dir\mokhan.pfx"
+ certificate_password=""
+
+ browser_exe="c:\program files\mozilla firefox\firefox.exe"
+ }
\ No newline at end of file
trunk/build/local_properties.ps1.template
@@ -1,27 +1,18 @@
$local_settings = @{
- app_config_template = "app.config.xp.template" ;
- #app_config_template = "app.config.vista.template" ;
-
- osql_connectionstring = "-E";
- path_to_runtime_log4net_config = "$build_artifacts_dir\log4net.config.xml";
- initial_catalog = "$project_name";
- database_provider = "System.Data.SqlClient" ;
- database_path = "C:\databases" ;
- asp_net_worker_process = "aspnet_wp.exe";
- startup_page = "Default.aspx";
- browser_exe = "C:\program files\mozilla firefox\firefox.exe";
- log_file_name = "log";
+ debug = "false";
log_level = "DEBUG";
- xunit_report_file_dir = "$build_artifacts_dir" ;
- xunit_report_file_name = "test_report";
- xunit_report_type = "text";
- xunit_show_test_report = $true;
- debug = "TRUE";
- }
-$local_settings.xunit_report_file_name_with_extension = "$($local_settings.xunit_report_file_name).$($local_settings.xunit_report_type)"
-$local_settings.sql_tools_path = "$env:SystemDrive\program files\microsoft sql server\100\tools\binn" ;
-$local_settings.osql_exe = "$($local_settings.sql_tools_path)\osql.exe"
-$local_settings.config_connectionstring = "data source=(local);Integrated Security=SSPI;Initial Catalog=$($local_settings.initial_catalog)"
-#$local_settings.db_account_sql = $($local_settings.asp_net_account)] WITH PASSWORD=N'$($local_settings.asp_net_account)', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF")
-$local_settings.asp_net_account = "$($env:computername)\ASPNet";
-$local_settings.db_account_sql = "$($local_settings.asp_net_account)', N'$($local_settings.asp_net_account)'"
+ assembly_title = "momoney"
+ assembly_description = "a sample application to tinker with"
+ assembly_company = "http://mokhan.ca"
+# assembly_version = "${datetime::get-year(datetime::now())}.${datetime::get-month(datetime::now())}.${datetime::get-day(datetime::now())}.${datetime::get-hour(datetime::now())}${datetime::get-minute(datetime::now())}" />
+ editor_exe = "notepad.exe"
+
+ dot_net_sdk_dir = "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin"
+ framework_dir = "c:\windows\microsoft.net\framework\v3.5"
+ deployment_url = "http://mokhan.ca/mymoney/"
+
+ certificate_filename = "$build_config_dir\mokhan.pfx"
+ certificate_password = ""
+
+ browser_exe="c:\program files\mozilla firefox\firefox.exe"
+ }
\ No newline at end of file
trunk/build/MyMoney.Build.csproj
@@ -46,6 +46,8 @@
</ItemGroup>
<ItemGroup>
<None Include="build.bat" />
+ <None Include="local_properties.ps1" />
+ <None Include="project.ps1" />
<None Include="config\AssemblyInfo.cs.template" />
<None Include="config\bootStrap.xml.template" />
<None Include="config\log4net.config.xml.template" />
@@ -57,10 +59,10 @@
<None Include="project.deploy.build" />
<None Include="project.install.build" />
<None Include="project.test.build" />
- <None Include="project_name.ps1" />
+ <None Include="project_test.ps1" />
<None Include="ps.bat" />
- <None Include="studio_build.ps1" />
- <None Include="web_build.ps1" />
+ <None Include="tools\psake\build_utilities.ps1" />
+ <None Include="tools\psake\psake.ps1" />
</ItemGroup>
<ItemGroup>
<Content Include="local.properties.xml" />
trunk/build/project.ps1
@@ -0,0 +1,40 @@
+properties{#misc
+ $framework_dir = "$env:windir\microsoft.net\framework\v2.0.50727"
+}
+
+properties{#directories
+ $project_name = "mo.money"
+ $base_dir = new-object System.IO.DirectoryInfo $pwd
+ $base_dir = $base_dir.Parent.FullName
+
+ $product_dir = "$base_dir\product"
+ $build_dir = "$base_dir\build"
+ $build_tools_dir = "$build_dir\tools"
+ $build_lib_dir = "$build_dir\lib"
+ $build_resources_dir = "$build_dir\resources"
+ $build_icons_dir = "$build_resources_dir\icons"
+ $build_config_dir = "$build_dir\config"
+ $build_compile_dir = "$build_dir\compile"
+
+ $app_output = "$project_name.exe"
+}
+
+properties {#load in the build utilities file
+ . $build_dir\tools\psake\build_utilities.ps1
+}
+
+properties {#load in the file that contains the name for the project
+ . .\project_test.ps1
+# . .\project_test_reports.ps1
+# . .\project_deploy.ps1
+# . .\project_install.ps1
+# . .\project_ci.ps1
+ . .\local_properties.ps1
+}
+
+task default -depends init
+
+task clean{
+ taskkill /f /im:"$($local_settings.editor)" /FI 'STATUS eq RUNNING'
+}
+
trunk/build/project_name.ps1
@@ -1,1 +0,0 @@
-$project_name = "jpboodhoo.bdd"
trunk/build/project_test.ps1
@@ -0,0 +1,1 @@
+
\ No newline at end of file
trunk/build/ps.bat
@@ -1,3 +1,3 @@
@echo off
cls
-powershell .\tools\psake\psake.ps1 .\build.ps1 %*
+powershell .\tools\psake\psake.ps1 .\project.ps1 %*
trunk/build/studio_build.ps1
@@ -1,6 +0,0 @@
-task from_ide -depends init{
- copy-item $app_config $studio_web_config
- copy-item $log4net_config "$web_ui_dir\log4net.xml"
- copy-item $app_config $studio_app_config
- copy-item $log4net_config "$product_dir\$project_name\bin\debug\log4net.xml"
-}
trunk/build/web_build.ps1
@@ -1,59 +0,0 @@
-properties{#directories
- $deploy_dir_bin = "$deploy_dir\bin"
- $deploy_dir_images = "$deploy_dir\images"
- $web_ui_dir = "$product_dir\web.ui"
-}
-
-properties{#filesets
-}
-
-properties{ #files
-}
-
-
-properties{#asp app mapping settings
- $executable="$framework_dir\aspnet_isapi.dll"
- $extension = ".oo"
- $verbs = "GET,POST"
-}
-
-
-properties{#machine dependent external properties
- $run_url = "http://$env:computername/$($local_settings.virtual_directory_name)/$($local_settings.startup_page)"
-}
-
-
-task copy_web_project{
- remove-item $deploy_dir -recurse -ErrorAction SilentlyContinue
- copy-item $web_ui_dir $deploy_dir -recurse
-
- get-childitem $deploy_dir -include *.cs -recurse | foreach-object{remove-item $_ -force}
-
- kill_subversion_files $deploy_dir
-
- remove-item $deploy_dir\properties -recurse
-
- remove-item $deploy_dir\obj -recurse
-
- remove-item $deploy_dir\web.ui.csproj
-
- remove-item $deploy_dir\web.ui.csproj.user
-}
-
-task make_iis_dir{
- make_iis_dir "$($local_settings.virtual_directory_name)" "$deploy_dir"
- add_iis_mapping "$($local_settings.virtual_directory_name)" $false $extension $verbs $executable
-}
-
-task deploy -depends compile,copy_web_project,make_iis_dir{
- copy-item $log4net_config $deploy_dir
- copy-item $app_config $deploy_dir\web.config
-
- $result = .$build_tools_dir\winrar\rar.exe a $deploy_dir\dist.rar $deploy_dir
-
- $result
-}
-
-task run -depends deploy{
- .$local_settings.browser_exe $run_url
-}
trunk/product/MyMoney/Utility/Extensions/visitor_extensions.cs
@@ -16,9 +16,7 @@ namespace MyMoney.Utility.Extensions
public static void visit_all_items_with<T>(this IEnumerable<T> items, IVisitor<T> visitor)
{
- foreach (var item in items) {
- visitor.visit(item);
- }
+ foreach (var item in items) visitor.visit(item);
}
}
}
\ No newline at end of file