| OLD | NEW |
| (Empty) |
| 1 #!/usr/bin/python2.4 | |
| 2 # | |
| 3 # Copyright 2009 Google Inc. | |
| 4 # | |
| 5 # Licensed under the Apache License, Version 2.0 (the "License"); | |
| 6 # you may not use this file except in compliance with the License. | |
| 7 # You may obtain a copy of the License at | |
| 8 # | |
| 9 # http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 # | |
| 11 # Unless required by applicable law or agreed to in writing, software | |
| 12 # distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 # See the License for the specific language governing permissions and | |
| 15 # limitations under the License. | |
| 16 # ======================================================================== | |
| 17 | |
| 18 # Note: The localized ClickOnce deployment manifest is generated in | |
| 19 # installers/build.scons. | |
| 20 | |
| 21 | |
| 22 Import('env') | |
| 23 | |
| 24 clickonce_name = 'clickonce_bootstrap' | |
| 25 clickonce_binary = clickonce_name + '.exe' | |
| 26 clickonce_res = clickonce_name + '.res' | |
| 27 | |
| 28 | |
| 29 # | |
| 30 # Build the .res file. | |
| 31 # | |
| 32 env.RES(target=clickonce_res, source='clickonce_bootstrap.rc') | |
| 33 | |
| 34 | |
| 35 # | |
| 36 # Generate the executable. | |
| 37 # | |
| 38 exe_action = 'csc.exe /target:winexe /platform:x86 /out:$TARGET /win32res:%s '\ | |
| 39 '$SOURCES' % (env.File(clickonce_res).path) | |
| 40 | |
| 41 exe_output = env.Command( | |
| 42 target=clickonce_binary, | |
| 43 source='clickonce_bootstrap.cs', | |
| 44 action=exe_action | |
| 45 ) | |
| 46 | |
| 47 # Inform Hammer that the .res file must be built before the executeable | |
| 48 env.Requires(exe_output, clickonce_res) | |
| 49 | |
| 50 clickonce_deploy_dir = '$TARGET_ROOT/Clickonce_Deployment' | |
| 51 clickonce_deploy_bin_dir = clickonce_deploy_dir + '/bin' | |
| 52 | |
| 53 # Copy executable into Clickonce deployment directory. | |
| 54 replicate_output = env.Replicate(clickonce_deploy_bin_dir, exe_output) | |
| 55 | |
| 56 | |
| 57 # | |
| 58 # Generate the application manifest. | |
| 59 # | |
| 60 | |
| 61 omaha_versions_info = env['omaha_versions_info'] | |
| 62 version_string = omaha_versions_info[0].GetVersionString() | |
| 63 | |
| 64 generate_manifest_action = ('@mage -New Application -ToFile $TARGET -Name %s' | |
| 65 ' -Version %s -FromDirectory %s -Processor x86 -TrustLevel FullTrust' % ( | |
| 66 clickonce_name, version_string, env.Dir(clickonce_deploy_bin_dir).abspath)) | |
| 67 | |
| 68 unsigned_manifest = env.Command( | |
| 69 target=clickonce_binary + '.manifest', | |
| 70 source=replicate_output, | |
| 71 action=generate_manifest_action | |
| 72 ) | |
| 73 | |
| 74 # Sign the application manifest. | |
| 75 manifest_target = '%s/%s.manifest' % (clickonce_deploy_dir, clickonce_binary) | |
| 76 signed_manifest = env.SignDotNetManifest(manifest_target, unsigned_manifest) | |
| 77 | |
| 78 | |
| 79 # Instruct Hammer to regenerate the manifests when either of these | |
| 80 # executables change | |
| 81 env.Depends( | |
| 82 target = [ | |
| 83 unsigned_manifest, | |
| 84 signed_manifest, | |
| 85 ], | |
| 86 dependency = [ | |
| 87 '%s/%s' % (clickonce_deploy_bin_dir, clickonce_binary), | |
| 88 '%s/GoogleUpdateSetup.exe' % (clickonce_deploy_bin_dir), | |
| 89 ] | |
| 90 ) | |
| OLD | NEW |