blob: 92085156833477b22ef66366fe69d33b6503f936 [file] [log] [blame]
---
# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# YAML configuration file for factory software dependency checking rules.
# Read http://crbug.com/403712 for more information.
# 'groups' is a dictionary of "name => packages list" mapping that can be used
# later in 'rules'.
# 'rules' is a dicionary of "module => imports" mapping that "module" can only
# import from the packages listed in "imports". Note '*' in "imports"
# means no limitation, and a module (or imports) quoted by '<>' refers
# to a name defined in "groups".
groups:
top:
- cros.factory # Top level of factory name space (only factory_common).
- cros.factory.utils # Common shared utilities.
- =cros.factory.device.device_utils
- factory_common
- httplib2
- jsonrpclib # Special case - currently installed inside factory repo.
- yaml
- jsonschema
protobuf:
- cros.factory.proto
external:
- cros.factory.external.* # Wrapper to external libraries.
test_base:
# Constants and primitive definitions for factory tests.
- cros.factory.test.env # Constants defined for factory tests.
- cros.factory.test.i18n # Internationalization helpers.
- =cros.factory.test.i18n # Internationalization helpers.
- cros.factory.test.l10n # Localization data.
- cros.factory.test.rules # Rules related to test (and gooftool, hwid).
- =cros.factory.test.factory
- =cros.factory.test.session
test_log:
- cros.factory.testlog.*
- =cros.factory.test.event_log
test_utils:
- =cros.factory.test.device_data
- =cros.factory.test.event # Used by device_data.
- cros.factory.test.utils # Allow 3rd party / external dependency.
- =cros.factory.test.state
test_cros:
# ChromeOS specific utilities (may run in command line with minimal
# dependency.
- cros.factory.hwid # ChromeOS hardware idendifier (HWID).
- cros.factory.hwid.v2 # ChromeOS hardware idendifier (HWID) version 2.
- cros.factory.hwid.v3 # ChromeOS hardware idendifier (HWID) version 3.
- cros.factory.gooftool.* # Google Factory core utility for finalization.
- cros.factory.probe.*
framework:
- cros.factory.goofy.* # Factory test scheduler and controller.
- cros.factory.device.* # Device-Aware API.
- cros.factory.test # Base class for tests controlled by goofy.
- cros.factory.test.diagnosis # Diagnosis tools, used by Goofy.
- cros.factory.test.test_lists
- =cros.factory.test.utils.update_utils
- cros.factory.testlog.utils # Symlink of utils in testlog.
- cros.factory.umpire
- cros.factory.umpire.client
- cros.factory.tools.*
- cros.factory.hwid.service
tests:
- cros.factory.test.pytests.* # No limitation.
- cros.factory.test.fixture.* # Should be simpler depenency than pytests.
- cros.factory.test.rf.* # Radio frequency related tests.
unittests:
- cros.factory.unittest_utils # Utility for unittest only.
release:
- cros.factory.doc # Documents (generation).
- cros.factory.toolkit # Factory toolkit creation.
projects:
- cros.factory.dkps.*
- cros.factory.dome.*
- cros.factory.experimental
- cros.factory.hwid.service.appengine.*
- cros.factory.hwid.service.appengine2.*
- cros.factory.instalog.*
- cros.factory.shopfloor
- cros.factory.testlog
- cros.factory.umpire.server.*
known_deps:
- PIL
- cairo
- pango
- pangocairo
- setproctitle
- ws4py.*
rules:
<top>: [<top>]
<external>: []
<protobuf> : [google.protobuf]
<test_base>: [<top>, <protobuf>, <test_base>]
<test_log> : [<top>, <test_base>, <test_log>]
<test_utils>: [<top>, <external>, <test_base>, <test_utils>,
=cros.factory.test.pytests]
<test_cros>: [<top>, <external>, <protobuf>, <test_base>, <test_log>,
<test_utils>, <test_cros>]
# TODO(pihsun): Remove this exception.
=cros.factory.device: [<top>, cros.factory.device.*]
<framework>: [<top>, <external>, <protobuf>, <test_base>, <test_log>,
<test_cros>, <test_utils>, <framework>, <known_deps>]
<tests>: ['*']
<projects>: ['*']
<release>: ['*']
<unittests>: ['*']