This change uses node modules to build polygerrit-ui release artifact. Tests still use bower_components. Change-Id: I3457931b0ff8edcb41250d1aa3518b8ea18a964e
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
""" File contains a wrapper for legacy polymer-bundler and crisper tools. """
 | 
						|
 | 
						|
# File must be removed after get rid of HTML imports
 | 
						|
 | 
						|
def _polymer_bundler_tool_impl(ctx):
 | 
						|
    """Wrapper for the polymer-bundler and crisper command-line tools"""
 | 
						|
 | 
						|
    html_bundled_file = ctx.actions.declare_file(ctx.label.name + "_tmp.html")
 | 
						|
    ctx.actions.run(
 | 
						|
        executable = ctx.executable._bundler,
 | 
						|
        outputs = [html_bundled_file],
 | 
						|
        inputs = ctx.files.srcs,
 | 
						|
        arguments = [
 | 
						|
            "--inline-css",
 | 
						|
            "--sourcemaps",
 | 
						|
            "--strip-comments",
 | 
						|
            "--root",
 | 
						|
            ctx.file.entry_point.dirname,
 | 
						|
            "--out-file",
 | 
						|
            html_bundled_file.path,
 | 
						|
            "--in-file",
 | 
						|
            ctx.file.entry_point.basename,
 | 
						|
        ],
 | 
						|
    )
 | 
						|
 | 
						|
    output_js_file = ctx.outputs.js
 | 
						|
    if ctx.attr.script_src_value:
 | 
						|
        output_js_file = ctx.actions.declare_file(ctx.attr.script_src_value, sibling = ctx.outputs.html)
 | 
						|
    script_src_value = ctx.attr.script_src_value if ctx.attr.script_src_value else ctx.outputs.js.path
 | 
						|
 | 
						|
    ctx.actions.run(
 | 
						|
        executable = ctx.executable._crisper,
 | 
						|
        outputs = [ctx.outputs.html, output_js_file],
 | 
						|
        inputs = [html_bundled_file],
 | 
						|
        arguments = ["-s", html_bundled_file.path, "-h", ctx.outputs.html.path, "-j", output_js_file.path, "--always-write-script", "--script-in-head=false"],
 | 
						|
    )
 | 
						|
 | 
						|
    if ctx.attr.script_src_value:
 | 
						|
        ctx.actions.expand_template(
 | 
						|
            template = output_js_file,
 | 
						|
            output = ctx.outputs.js,
 | 
						|
            substitutions = {},
 | 
						|
        )
 | 
						|
 | 
						|
polymer_bundler_tool = rule(
 | 
						|
    implementation = _polymer_bundler_tool_impl,
 | 
						|
    attrs = {
 | 
						|
        "entry_point": attr.label(allow_single_file = True, mandatory = True),
 | 
						|
        "srcs": attr.label_list(allow_files = True),
 | 
						|
        "script_src_value": attr.string(),
 | 
						|
        "_bundler": attr.label(
 | 
						|
            default = ":polymer-bundler-bin",
 | 
						|
            executable = True,
 | 
						|
            cfg = "host",
 | 
						|
        ),
 | 
						|
        "_crisper": attr.label(
 | 
						|
            default = ":crisper-bin",
 | 
						|
            executable = True,
 | 
						|
            cfg = "host",
 | 
						|
        ),
 | 
						|
    },
 | 
						|
    outputs = {
 | 
						|
        "html": "%{name}.html",
 | 
						|
        "js": "%{name}.js",
 | 
						|
    },
 | 
						|
)
 |