Commit a4b3ae0

mokhan <mokhan@ce5e1baf-6525-42e4-a1b2-857ea38da20a>
2009-03-05 00:27:07
writing the power shell scripts from scratch.
git-svn-id: https://svn.xp-dev.com/svn/mokhan-mo.money@44 ce5e1baf-6525-42e4-a1b2-857ea38da20a
1 parent 3d0111c
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