diff --git a/.github/workflows/build_and_deploy.yml b/.github/workflows/build_and_deploy.yml
index 8d63db98f..108126851 100644
--- a/.github/workflows/build_and_deploy.yml
+++ b/.github/workflows/build_and_deploy.yml
@@ -1,3 +1,17 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
name: Continuous Integration
on:
diff --git a/examples/__init__.py b/examples/__init__.py
index e69de29bb..bb488a813 100644
--- a/examples/__init__.py
+++ b/examples/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
diff --git a/examples/example_config.yaml b/examples/example_config.yaml
index 32de548f1..7105e4bcf 100644
--- a/examples/example_config.yaml
+++ b/examples/example_config.yaml
@@ -1,2 +1,16 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
station_id: hello_world
example_plug_increment_size: 3
diff --git a/openhtf/core/__init__.py b/openhtf/core/__init__.py
index e69de29bb..bb488a813 100644
--- a/openhtf/core/__init__.py
+++ b/openhtf/core/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
diff --git a/openhtf/output/__init__.py b/openhtf/output/__init__.py
index e69de29bb..bb488a813 100644
--- a/openhtf/output/__init__.py
+++ b/openhtf/output/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
diff --git a/openhtf/output/callbacks/console_summary.py b/openhtf/output/callbacks/console_summary.py
index 5e187bc0a..5bc847ca4 100644
--- a/openhtf/output/callbacks/console_summary.py
+++ b/openhtf/output/callbacks/console_summary.py
@@ -1,3 +1,17 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
"""Module to display test summary on console."""
import os
diff --git a/openhtf/output/callbacks/json_factory.py b/openhtf/output/callbacks/json_factory.py
index 71efdd935..5363b9e07 100644
--- a/openhtf/output/callbacks/json_factory.py
+++ b/openhtf/output/callbacks/json_factory.py
@@ -1,3 +1,17 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
"""Module for outputting test record to JSON-formatted files."""
import base64
diff --git a/openhtf/output/callbacks/mfg_inspector.py b/openhtf/output/callbacks/mfg_inspector.py
index 5c7dce8cc..46dde4670 100644
--- a/openhtf/output/callbacks/mfg_inspector.py
+++ b/openhtf/output/callbacks/mfg_inspector.py
@@ -1,3 +1,17 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
"""Output and/or upload a TestRun or MfgEvent proto for mfg-inspector.com."""
import logging
diff --git a/openhtf/output/proto/__init__.py b/openhtf/output/proto/__init__.py
index e69de29bb..bb488a813 100644
--- a/openhtf/output/proto/__init__.py
+++ b/openhtf/output/proto/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
diff --git a/openhtf/output/proto/assembly_event.proto b/openhtf/output/proto/assembly_event.proto
index 5e7dfc9f2..9f257dbc1 100644
--- a/openhtf/output/proto/assembly_event.proto
+++ b/openhtf/output/proto/assembly_event.proto
@@ -1,3 +1,17 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
syntax = "proto3";
package openhtf;
diff --git a/openhtf/output/proto/mfg_event.proto b/openhtf/output/proto/mfg_event.proto
index 90e40d9fa..708852d3b 100644
--- a/openhtf/output/proto/mfg_event.proto
+++ b/openhtf/output/proto/mfg_event.proto
@@ -1,3 +1,17 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
syntax = "proto2";
package openhtf;
diff --git a/openhtf/output/proto/mfg_event_converter.py b/openhtf/output/proto/mfg_event_converter.py
index 273b8fa53..dbf3ac1b1 100644
--- a/openhtf/output/proto/mfg_event_converter.py
+++ b/openhtf/output/proto/mfg_event_converter.py
@@ -1,3 +1,17 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
"""Convert a TestRecord into a mfg_event proto for upload to mfg inspector.
Also includes utilities to handle multi-dim conversion into an attachment
diff --git a/openhtf/output/proto/test_runs_converter.py b/openhtf/output/proto/test_runs_converter.py
index 5d90e67f7..f849525f5 100644
--- a/openhtf/output/proto/test_runs_converter.py
+++ b/openhtf/output/proto/test_runs_converter.py
@@ -1,3 +1,17 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
"""Utils to convert OpenHTF TestRecord to test_runs_pb2 proto.
MULTIDIM_JSON schema:
diff --git a/openhtf/output/servers/__init__.py b/openhtf/output/servers/__init__.py
index e69de29bb..bb488a813 100644
--- a/openhtf/output/servers/__init__.py
+++ b/openhtf/output/servers/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
diff --git a/openhtf/output/servers/dashboard_server.py b/openhtf/output/servers/dashboard_server.py
index 21fb22200..a1276dacf 100644
--- a/openhtf/output/servers/dashboard_server.py
+++ b/openhtf/output/servers/dashboard_server.py
@@ -1,3 +1,17 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
"""Serves a list of stations found via multicast.
Run with:
diff --git a/openhtf/output/servers/station_server.py b/openhtf/output/servers/station_server.py
index 188872ce3..690edd523 100644
--- a/openhtf/output/servers/station_server.py
+++ b/openhtf/output/servers/station_server.py
@@ -1,3 +1,17 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
"""Serves an Angular frontend and information about a running OpenHTF test.
This server does not currently support more than one test running in the same
diff --git a/openhtf/output/web_gui/__init__.py b/openhtf/output/web_gui/__init__.py
index e69de29bb..bb488a813 100644
--- a/openhtf/output/web_gui/__init__.py
+++ b/openhtf/output/web_gui/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
diff --git a/openhtf/output/web_gui/src/app/app.component.e2e-spec.js b/openhtf/output/web_gui/src/app/app.component.e2e-spec.js
index 9ec9d23db..fdb82fb59 100644
--- a/openhtf/output/web_gui/src/app/app.component.e2e-spec.js
+++ b/openhtf/output/web_gui/src/app/app.component.e2e-spec.js
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
describe('App', function () {
beforeEach(function () {
diff --git a/openhtf/output/web_gui/src/app/app.component.html b/openhtf/output/web_gui/src/app/app.component.html
index 219299354..d3adf9f74 100644
--- a/openhtf/output/web_gui/src/app/app.component.html
+++ b/openhtf/output/web_gui/src/app/app.component.html
@@ -1,3 +1,19 @@
+
+
diff --git a/openhtf/output/web_gui/src/app/app.component.scss b/openhtf/output/web_gui/src/app/app.component.scss
index 77ab268c7..4414c3cc2 100644
--- a/openhtf/output/web_gui/src/app/app.component.scss
+++ b/openhtf/output/web_gui/src/app/app.component.scss
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
@import 'vars';
h1 {
diff --git a/openhtf/output/web_gui/src/app/app.component.spec.ts b/openhtf/output/web_gui/src/app/app.component.spec.ts
index 712582823..60c64076f 100644
--- a/openhtf/output/web_gui/src/app/app.component.spec.ts
+++ b/openhtf/output/web_gui/src/app/app.component.spec.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
diff --git a/openhtf/output/web_gui/src/app/app.component.ts b/openhtf/output/web_gui/src/app/app.component.ts
index f586c277a..d4cf6a383 100644
--- a/openhtf/output/web_gui/src/app/app.component.ts
+++ b/openhtf/output/web_gui/src/app/app.component.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Root component of the app.
*/
diff --git a/openhtf/output/web_gui/src/app/app.module.ts b/openhtf/output/web_gui/src/app/app.module.ts
index ecba97f89..b3eb5f56c 100644
--- a/openhtf/output/web_gui/src/app/app.module.ts
+++ b/openhtf/output/web_gui/src/app/app.module.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* The root module, responsible for orchestrating the application as a whole.
*
diff --git a/openhtf/output/web_gui/src/app/core/config.service.ts b/openhtf/output/web_gui/src/app/core/config.service.ts
index f988769a1..3542f95b2 100644
--- a/openhtf/output/web_gui/src/app/core/config.service.ts
+++ b/openhtf/output/web_gui/src/app/core/config.service.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Service for the global app configuration.
*/
diff --git a/openhtf/output/web_gui/src/app/core/core.module.ts b/openhtf/output/web_gui/src/app/core/core.module.ts
index d585e295e..d3f845d7e 100644
--- a/openhtf/output/web_gui/src/app/core/core.module.ts
+++ b/openhtf/output/web_gui/src/app/core/core.module.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Contains classes used exactly once application-wide, used by the root module.
*
diff --git a/openhtf/output/web_gui/src/app/core/flash-message.model.ts b/openhtf/output/web_gui/src/app/core/flash-message.model.ts
index cf6d6028b..21eec69cb 100644
--- a/openhtf/output/web_gui/src/app/core/flash-message.model.ts
+++ b/openhtf/output/web_gui/src/app/core/flash-message.model.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* A message flashed on the screen for a set amount of time.
*/
diff --git a/openhtf/output/web_gui/src/app/core/flash-message.service.ts b/openhtf/output/web_gui/src/app/core/flash-message.service.ts
index fe2d2fde8..2528ea875 100644
--- a/openhtf/output/web_gui/src/app/core/flash-message.service.ts
+++ b/openhtf/output/web_gui/src/app/core/flash-message.service.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Provides methods for flashing messages at the top of the screen.
*
diff --git a/openhtf/output/web_gui/src/app/core/flash-messages.component.html b/openhtf/output/web_gui/src/app/core/flash-messages.component.html
index 81d33efb2..a55f3dd5a 100644
--- a/openhtf/output/web_gui/src/app/core/flash-messages.component.html
+++ b/openhtf/output/web_gui/src/app/core/flash-messages.component.html
@@ -1,3 +1,19 @@
+
+
+
diff --git a/openhtf/output/web_gui/src/app/plugs/user-input-plug.component.scss b/openhtf/output/web_gui/src/app/plugs/user-input-plug.component.scss
index 874d9a236..12e84c670 100644
--- a/openhtf/output/web_gui/src/app/plugs/user-input-plug.component.scss
+++ b/openhtf/output/web_gui/src/app/plugs/user-input-plug.component.scss
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
@import 'vars';
// Styling for lists injected into the prompt.
diff --git a/openhtf/output/web_gui/src/app/plugs/user-input-plug.component.ts b/openhtf/output/web_gui/src/app/plugs/user-input-plug.component.ts
index 7ad1c5dd4..2113d3985 100644
--- a/openhtf/output/web_gui/src/app/plugs/user-input-plug.component.ts
+++ b/openhtf/output/web_gui/src/app/plugs/user-input-plug.component.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Component representing the UserInput plug.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/animations.ts b/openhtf/output/web_gui/src/app/shared/animations.ts
index 110341248..038afcb17 100644
--- a/openhtf/output/web_gui/src/app/shared/animations.ts
+++ b/openhtf/output/web_gui/src/app/shared/animations.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { animate, state, style, transition } from '@angular/animations';
export const washIn = [
diff --git a/openhtf/output/web_gui/src/app/shared/elapsed-time.pipe.ts b/openhtf/output/web_gui/src/app/shared/elapsed-time.pipe.ts
index bf90b7dde..2d3c24f3c 100644
--- a/openhtf/output/web_gui/src/app/shared/elapsed-time.pipe.ts
+++ b/openhtf/output/web_gui/src/app/shared/elapsed-time.pipe.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Displays the elapsed time since the start of a test or phase.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/focus.directive.ts b/openhtf/output/web_gui/src/app/shared/focus.directive.ts
index 264494542..3b6782685 100644
--- a/openhtf/output/web_gui/src/app/shared/focus.directive.ts
+++ b/openhtf/output/web_gui/src/app/shared/focus.directive.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { Directive, ElementRef, Input, OnChanges } from '@angular/core';
@Directive({
diff --git a/openhtf/output/web_gui/src/app/shared/genealogy-node.component.html b/openhtf/output/web_gui/src/app/shared/genealogy-node.component.html
index 33809d978..efa3c072b 100644
--- a/openhtf/output/web_gui/src/app/shared/genealogy-node.component.html
+++ b/openhtf/output/web_gui/src/app/shared/genealogy-node.component.html
@@ -1,3 +1,19 @@
+
+
{{ node.component.serial }}
{{ node.component.instance_name }}
diff --git a/openhtf/output/web_gui/src/app/shared/genealogy-node.component.scss b/openhtf/output/web_gui/src/app/shared/genealogy-node.component.scss
index 5064248ab..81de113e5 100644
--- a/openhtf/output/web_gui/src/app/shared/genealogy-node.component.scss
+++ b/openhtf/output/web_gui/src/app/shared/genealogy-node.component.scss
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
@import 'mixins';
@import 'vars';
diff --git a/openhtf/output/web_gui/src/app/shared/genealogy-node.component.ts b/openhtf/output/web_gui/src/app/shared/genealogy-node.component.ts
index d58356063..73a194164 100644
--- a/openhtf/output/web_gui/src/app/shared/genealogy-node.component.ts
+++ b/openhtf/output/web_gui/src/app/shared/genealogy-node.component.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Recursive component representing a node in a genealogy tree.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/genealogy.model.ts b/openhtf/output/web_gui/src/app/shared/genealogy.model.ts
index aa16a4b29..c9c8b71af 100644
--- a/openhtf/output/web_gui/src/app/shared/genealogy.model.ts
+++ b/openhtf/output/web_gui/src/app/shared/genealogy.model.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Genealogy/assembly state and operations.
*
diff --git a/openhtf/output/web_gui/src/app/shared/log-level-to-class.pipe.ts b/openhtf/output/web_gui/src/app/shared/log-level-to-class.pipe.ts
index 3e70f7244..5a9a734bc 100644
--- a/openhtf/output/web_gui/src/app/shared/log-level-to-class.pipe.ts
+++ b/openhtf/output/web_gui/src/app/shared/log-level-to-class.pipe.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { Pipe, PipeTransform } from '@angular/core';
import { logLevels } from './models/log-record.model';
diff --git a/openhtf/output/web_gui/src/app/shared/models/attachment.model.ts b/openhtf/output/web_gui/src/app/shared/models/attachment.model.ts
index 614d492b8..afde43ad2 100644
--- a/openhtf/output/web_gui/src/app/shared/models/attachment.model.ts
+++ b/openhtf/output/web_gui/src/app/shared/models/attachment.model.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Info about a file attached to a test.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/models/enums.spec.ts b/openhtf/output/web_gui/src/app/shared/models/enums.spec.ts
index 3bbea131d..e7498571b 100644
--- a/openhtf/output/web_gui/src/app/shared/models/enums.spec.ts
+++ b/openhtf/output/web_gui/src/app/shared/models/enums.spec.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { MeasurementStatus } from './measurement.model';
import { PhaseStatus } from './phase.model';
import { StationStatus } from './station.model';
diff --git a/openhtf/output/web_gui/src/app/shared/models/log-record.model.ts b/openhtf/output/web_gui/src/app/shared/models/log-record.model.ts
index 7c4a0b192..315397521 100644
--- a/openhtf/output/web_gui/src/app/shared/models/log-record.model.ts
+++ b/openhtf/output/web_gui/src/app/shared/models/log-record.model.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* A log record of a test.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/models/measurement.model.ts b/openhtf/output/web_gui/src/app/shared/models/measurement.model.ts
index 750b3a460..0f99913b7 100644
--- a/openhtf/output/web_gui/src/app/shared/models/measurement.model.ts
+++ b/openhtf/output/web_gui/src/app/shared/models/measurement.model.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* A measurement in a phase of a test.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/models/phase.model.ts b/openhtf/output/web_gui/src/app/shared/models/phase.model.ts
index 31bca9e3f..2b4df6a3b 100644
--- a/openhtf/output/web_gui/src/app/shared/models/phase.model.ts
+++ b/openhtf/output/web_gui/src/app/shared/models/phase.model.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* A phase of a test.
*
diff --git a/openhtf/output/web_gui/src/app/shared/models/station.model.ts b/openhtf/output/web_gui/src/app/shared/models/station.model.ts
index 031ce7346..30393caa5 100644
--- a/openhtf/output/web_gui/src/app/shared/models/station.model.ts
+++ b/openhtf/output/web_gui/src/app/shared/models/station.model.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Summary info about a station.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/models/test-state.model.ts b/openhtf/output/web_gui/src/app/shared/models/test-state.model.ts
index 5cfae2b61..099275d5f 100644
--- a/openhtf/output/web_gui/src/app/shared/models/test-state.model.ts
+++ b/openhtf/output/web_gui/src/app/shared/models/test-state.model.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* The state of a test on a station.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/object-to-sorted-values.pipe.ts b/openhtf/output/web_gui/src/app/shared/object-to-sorted-values.pipe.ts
index 5d99fa26c..73731b590 100644
--- a/openhtf/output/web_gui/src/app/shared/object-to-sorted-values.pipe.ts
+++ b/openhtf/output/web_gui/src/app/shared/object-to-sorted-values.pipe.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Pipe which returns the values of an object, sorted by key.
*
diff --git a/openhtf/output/web_gui/src/app/shared/progress-bar.component.html b/openhtf/output/web_gui/src/app/shared/progress-bar.component.html
index 2349f2d56..5f17bf1b8 100644
--- a/openhtf/output/web_gui/src/app/shared/progress-bar.component.html
+++ b/openhtf/output/web_gui/src/app/shared/progress-bar.component.html
@@ -1,3 +1,19 @@
+
+
diff --git a/openhtf/output/web_gui/src/app/shared/progress-bar.component.scss b/openhtf/output/web_gui/src/app/shared/progress-bar.component.scss
index e15776199..15867faea 100644
--- a/openhtf/output/web_gui/src/app/shared/progress-bar.component.scss
+++ b/openhtf/output/web_gui/src/app/shared/progress-bar.component.scss
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
@import 'vars';
.outer {
diff --git a/openhtf/output/web_gui/src/app/shared/progress-bar.component.ts b/openhtf/output/web_gui/src/app/shared/progress-bar.component.ts
index 5278209c6..37fb14704 100644
--- a/openhtf/output/web_gui/src/app/shared/progress-bar.component.ts
+++ b/openhtf/output/web_gui/src/app/shared/progress-bar.component.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* A progress bar.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/shared.module.ts b/openhtf/output/web_gui/src/app/shared/shared.module.ts
index e60bbca37..d8c0e5ee1 100644
--- a/openhtf/output/web_gui/src/app/shared/shared.module.ts
+++ b/openhtf/output/web_gui/src/app/shared/shared.module.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Contains classes that are re-used across the features modules.
*
diff --git a/openhtf/output/web_gui/src/app/shared/sock-js.service.mock.ts b/openhtf/output/web_gui/src/app/shared/sock-js.service.mock.ts
index f99c8df0f..6f0334ce8 100644
--- a/openhtf/output/web_gui/src/app/shared/sock-js.service.mock.ts
+++ b/openhtf/output/web_gui/src/app/shared/sock-js.service.mock.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Mock for use in unit tests of classes that depend on SockJsService.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/sock-js.service.ts b/openhtf/output/web_gui/src/app/shared/sock-js.service.ts
index 7d9d05084..b7b0b7549 100644
--- a/openhtf/output/web_gui/src/app/shared/sock-js.service.ts
+++ b/openhtf/output/web_gui/src/app/shared/sock-js.service.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Provider for SockJS.
*
diff --git a/openhtf/output/web_gui/src/app/shared/status-pipes.ts b/openhtf/output/web_gui/src/app/shared/status-pipes.ts
index 62a9a221f..a48b60186 100644
--- a/openhtf/output/web_gui/src/app/shared/status-pipes.ts
+++ b/openhtf/output/web_gui/src/app/shared/status-pipes.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Tools for rendering test and phase status information.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/subscription.spec.ts b/openhtf/output/web_gui/src/app/shared/subscription.spec.ts
index c555e0901..157fcee65 100644
--- a/openhtf/output/web_gui/src/app/shared/subscription.spec.ts
+++ b/openhtf/output/web_gui/src/app/shared/subscription.spec.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Tests for subscription.ts.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/subscription.ts b/openhtf/output/web_gui/src/app/shared/subscription.ts
index 6fa5ce288..ddd49c4ff 100644
--- a/openhtf/output/web_gui/src/app/shared/subscription.ts
+++ b/openhtf/output/web_gui/src/app/shared/subscription.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Handles a connection to a websocket-like interface.
*
diff --git a/openhtf/output/web_gui/src/app/shared/time-ago.pipe.spec.ts b/openhtf/output/web_gui/src/app/shared/time-ago.pipe.spec.ts
index 0b9cfcc6a..94f486786 100644
--- a/openhtf/output/web_gui/src/app/shared/time-ago.pipe.spec.ts
+++ b/openhtf/output/web_gui/src/app/shared/time-ago.pipe.spec.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Tests for time-ago.pipe.ts.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/time-ago.pipe.ts b/openhtf/output/web_gui/src/app/shared/time-ago.pipe.ts
index de04e11df..6e0e6c780 100644
--- a/openhtf/output/web_gui/src/app/shared/time-ago.pipe.ts
+++ b/openhtf/output/web_gui/src/app/shared/time-ago.pipe.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Displays how long ago a given time was.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/time.service.ts b/openhtf/output/web_gui/src/app/shared/time.service.ts
index ffb2c2edf..b2a1c9fe3 100644
--- a/openhtf/output/web_gui/src/app/shared/time.service.ts
+++ b/openhtf/output/web_gui/src/app/shared/time.service.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Service which provides the current time in milliseconds.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/tooltip.directive.ts b/openhtf/output/web_gui/src/app/shared/tooltip.directive.ts
index b8911157b..fd5ae26ac 100644
--- a/openhtf/output/web_gui/src/app/shared/tooltip.directive.ts
+++ b/openhtf/output/web_gui/src/app/shared/tooltip.directive.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';
@Directive({
diff --git a/openhtf/output/web_gui/src/app/shared/trimmed-text.component.ts b/openhtf/output/web_gui/src/app/shared/trimmed-text.component.ts
index ca7fed21b..818289f3c 100644
--- a/openhtf/output/web_gui/src/app/shared/trimmed-text.component.ts
+++ b/openhtf/output/web_gui/src/app/shared/trimmed-text.component.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Text element whose length can be limited with expand/collapse functionality.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/util.spec.ts b/openhtf/output/web_gui/src/app/shared/util.spec.ts
index fb48fa210..ec5c207c7 100644
--- a/openhtf/output/web_gui/src/app/shared/util.spec.ts
+++ b/openhtf/output/web_gui/src/app/shared/util.spec.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Tests for util.ts.
*/
diff --git a/openhtf/output/web_gui/src/app/shared/util.ts b/openhtf/output/web_gui/src/app/shared/util.ts
index 1e7cb0f28..68fcee253 100644
--- a/openhtf/output/web_gui/src/app/shared/util.ts
+++ b/openhtf/output/web_gui/src/app/shared/util.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Miscellaneous shared functions.
*/
diff --git a/openhtf/output/web_gui/src/app/stations/station-list/dashboard.service.spec.ts b/openhtf/output/web_gui/src/app/stations/station-list/dashboard.service.spec.ts
index d9d076fcc..5c853ecdf 100644
--- a/openhtf/output/web_gui/src/app/stations/station-list/dashboard.service.spec.ts
+++ b/openhtf/output/web_gui/src/app/stations/station-list/dashboard.service.spec.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Tests for dashboard.service.ts.
*/
diff --git a/openhtf/output/web_gui/src/app/stations/station-list/dashboard.service.ts b/openhtf/output/web_gui/src/app/stations/station-list/dashboard.service.ts
index f00655d6b..3d5323240 100644
--- a/openhtf/output/web_gui/src/app/stations/station-list/dashboard.service.ts
+++ b/openhtf/output/web_gui/src/app/stations/station-list/dashboard.service.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Maintains info about any known stations.
*/
diff --git a/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.html b/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.html
index 0d7919812..acf9e5bc0 100644
--- a/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.html
+++ b/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.html
@@ -1,3 +1,19 @@
+
+
Loading…
diff --git a/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.scss b/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.scss
index 746f6b0c6..c10d727ab 100644
--- a/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.scss
+++ b/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.scss
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
@import 'mixins';
@import 'vars';
diff --git a/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.spec.ts b/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.spec.ts
index cb7aa6392..6194a9237 100644
--- a/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.spec.ts
+++ b/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.spec.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Tests for station-list.component.ts.
*/
diff --git a/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.ts b/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.ts
index b9efb516e..bf88ca0ab 100644
--- a/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.ts
+++ b/openhtf/output/web_gui/src/app/stations/station-list/station-list.component.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
/**
* Component displaying a list of known test stations.
*/
diff --git a/openhtf/output/web_gui/src/app/stations/station/attachments.component.html b/openhtf/output/web_gui/src/app/stations/station/attachments.component.html
index 5cb878cf8..fe81b31b5 100644
--- a/openhtf/output/web_gui/src/app/stations/station/attachments.component.html
+++ b/openhtf/output/web_gui/src/app/stations/station/attachments.component.html
@@ -1,3 +1,19 @@
+
+