| 
									
										
										
										
											2019-11-25 13:46:16 -08:00
										 |  |  | load("//tools:defaults.bzl", "ng_module", "protractor_web_test_suite", "ts_devserver", "ts_library") | 
					
						
							| 
									
										
										
										
											2019-01-28 21:59:25 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | """
 | 
					
						
							|  |  |  |   Macro that can be used to create the Bazel targets for an "upgrade" example. Since the | 
					
						
							|  |  |  |   upgrade examples bootstrap their application manually, and we cannot serve all examples, | 
					
						
							|  |  |  |   we need to define the devserver for each example. This macro reduces code duplication | 
					
						
							|  |  |  |   for defining these targets. | 
					
						
							|  |  |  | """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def create_upgrade_example_targets(name, srcs, e2e_srcs, entry_module, assets = []): | 
					
						
							|  |  |  |     ng_module( | 
					
						
							|  |  |  |         name = "%s_sources" % name, | 
					
						
							|  |  |  |         srcs = srcs, | 
					
						
							| 
									
										
										
										
											2019-11-12 09:52:34 -08:00
										 |  |  |         generate_ve_shims = True, | 
					
						
							| 
									
										
										
										
											2019-01-28 21:59:25 +01:00
										 |  |  |         deps = [ | 
					
						
							| 
									
										
										
										
											2019-02-20 09:54:42 -08:00
										 |  |  |             "@npm//@types/angular", | 
					
						
							| 
									
										
										
										
											2019-03-22 09:42:52 +00:00
										 |  |  |             "@npm//@types/jasmine", | 
					
						
							| 
									
										
										
										
											2019-01-28 21:59:25 +01:00
										 |  |  |             "//packages/core", | 
					
						
							|  |  |  |             "//packages/platform-browser", | 
					
						
							|  |  |  |             "//packages/platform-browser-dynamic", | 
					
						
							|  |  |  |             "//packages/upgrade/static", | 
					
						
							| 
									
										
										
										
											2019-03-22 09:42:52 +00:00
										 |  |  |             "//packages/core/testing", | 
					
						
							|  |  |  |             "//packages/upgrade/static/testing", | 
					
						
							| 
									
										
										
										
											2019-01-28 21:59:25 +01:00
										 |  |  |         ], | 
					
						
							|  |  |  |         tsconfig = "//packages/examples/upgrade:tsconfig-build.json", | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ts_library( | 
					
						
							|  |  |  |         name = "%s_e2e_lib" % name, | 
					
						
							|  |  |  |         srcs = e2e_srcs, | 
					
						
							|  |  |  |         testonly = True, | 
					
						
							|  |  |  |         deps = [ | 
					
						
							| 
									
										
										
										
											2019-02-20 09:54:42 -08:00
										 |  |  |             "@npm//@types/jasminewd2", | 
					
						
							|  |  |  |             "@npm//protractor", | 
					
						
							| 
									
										
										
										
											2019-01-28 21:59:25 +01:00
										 |  |  |             "//packages/examples/test-utils", | 
					
						
							|  |  |  |             "//packages/private/testing", | 
					
						
							|  |  |  |         ], | 
					
						
							|  |  |  |         tsconfig = "//packages/examples:tsconfig-e2e.json", | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ts_devserver( | 
					
						
							|  |  |  |         name = "devserver", | 
					
						
							|  |  |  |         port = 4200, | 
					
						
							|  |  |  |         entry_module = entry_module, | 
					
						
							| 
									
										
										
										
											2019-11-22 13:12:05 -08:00
										 |  |  |         additional_root_paths = ["angular/packages/examples"], | 
					
						
							|  |  |  |         bootstrap = [ | 
					
						
							| 
									
										
										
										
											2019-10-06 12:06:53 +09:00
										 |  |  |             "//packages/zone.js/dist:zone.js", | 
					
						
							| 
									
										
										
										
											2019-06-18 21:26:53 -07:00
										 |  |  |             "@npm//:node_modules/angular/angular.js", | 
					
						
							|  |  |  |             "@npm//:node_modules/reflect-metadata/Reflect.js", | 
					
						
							| 
									
										
										
										
											2019-01-28 21:59:25 +01:00
										 |  |  |         ], | 
					
						
							| 
									
										
										
										
											2019-11-22 13:12:05 -08:00
										 |  |  |         static_files = [ | 
					
						
							|  |  |  |             "//packages/examples:index.html", | 
					
						
							|  |  |  |         ] + assets, | 
					
						
							| 
									
										
										
										
											2019-02-13 16:31:29 -08:00
										 |  |  |         scripts = [ | 
					
						
							| 
									
										
										
										
											2019-06-18 21:26:53 -07:00
										 |  |  |             "@npm//:node_modules/tslib/tslib.js", | 
					
						
							| 
									
										
										
										
											2019-02-13 16:31:29 -08:00
										 |  |  |             "//tools/rxjs:rxjs_umd_modules", | 
					
						
							|  |  |  |         ], | 
					
						
							| 
									
										
										
										
											2019-01-28 21:59:25 +01:00
										 |  |  |         deps = [":%s_sources" % name], | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     protractor_web_test_suite( | 
					
						
							|  |  |  |         name = "%s_protractor" % name, | 
					
						
							|  |  |  |         on_prepare = "//packages/examples/upgrade:start-server.js", | 
					
						
							|  |  |  |         server = ":devserver", | 
					
						
							|  |  |  |         deps = [ | 
					
						
							|  |  |  |             ":%s_e2e_lib" % name, | 
					
						
							| 
									
										
										
										
											2019-02-20 09:54:42 -08:00
										 |  |  |             "@npm//selenium-webdriver", | 
					
						
							| 
									
										
										
										
											2019-01-28 21:59:25 +01:00
										 |  |  |         ], | 
					
						
							|  |  |  |     ) |