ocpidev-project — manage an OpenCPI project.
The project noun represents an OpenCPI project that holds and
organizes OpenCPI assets. A project is a workspace in a directory
where assets are developed. A project can contain:
A project has:
Project.xml)
that defines attributes for the project and some others to be applied to all
assets in the project
Project.rst)
that serves as the "welcome" page for the project and
as a directory to the assets documented in the project
Project.exports)
that specifies the assets and files that are to be visible
to other projects that use this project’s assets
The ocpidev create operation produces a skeleton directory
structure and initial versions of these files
that can then be edited as necessary during project
and asset development.
Unless suppressed by options, the ocpidev build operation
compiles all assets and asset documents in the project and
the ocpidev clean operation removes the compiled
assets and asset documents from the project.
For details on project directory structure and how it is populated and built, see the chapter "Developing OpenCPI Assets in Projects" in the OpenCPI Component Development Guide. For details on OpenCPI asset documents and how to document a project, see the chapter "Documenting OpenCPI Assets" in the OpenCPI Documentation Writer Guide.
Verbs that can operate on a project are:
build
--doc-only and --no-doc options to control
the asset document building function.
clean
--doc-only and --no-doc options
to control the asset document cleaning function.
create
ocpidev is executed. The general-purpose
option -d <directory> can be used to create the
project’s directory under a different directory.
delete
refresh
run
show
[un]register
utilization
Note that an asset’s name is implied by the directory you’re in when
you issue the ocpidev command. For projects, this means that you can
perform operations (verbs) on the project without having to specify its
name when you issue the ocpidev command from inside the project directory.
The ocpidev tool can also operate on a plural projects noun.
The syntax is:
ocpidev [<options>] show projects
where show is the only valid verb, the default global
scope is the only valid scope, and the valid options
are -d <directory> and the show verb formatting
options (--json, --simple, --table).
The ocpidev show projects command displays
information about all registered OpenCPI projects.
In addition to the options common to all OpenCPI tools (see opencpi(1)), the options described below can be specified for operations on projects. In the following descriptions, a plus sign (+) after the option indicates that it can be specified more than once on the command line.
-A <directory>, --xml-include=<directory>+
-D <package-ID>, --depend <package-ID>+
-F <package-prefix>, --package-prefix=<package-ID>
-G <platform>, --only-platform=<platform>+
-I <directory>, --include-dir=<directory>+
-K <package-ID>, --package-id=<package-ID>
-N <package-name>, --package-name=<package-name>
create verb.
-Q <platform>, --exclude-platform=<platform>+
-T <target>, --only-target=<target>+
-Y <primitive-library>, --prim-lib=<primitive-library>+
-Z <target>, --exclude-target=<target>+
-k, --keep
-y <component-library>, --comp-lib=<component-library>+
--register
-f
--doc-only
--no-doc
--hdl
--hdl-assembly=<hdl-assembly>+
hdl/assemblies directory.
--hdl-platform=<hdl-platform>+
--hdl-rcc-platform=<platform>+
--rcc-platform
<platform> is also not used), the current development software
platform is used as the single RCC platform used for building.
--hdl-target=<target>+
--no-assemblies
--rcc
--rcc-platform=<platform>+
--hdl-rcc-platform <platform>
is also not used), the current development software platform
is used as the single RCC platform used for building.
--optimimize
--worker=<worker>+
The options described here, when used in an "ocpidev run project" command, are applied as appropriate to all of the runnable assets (applications and unit test suites) that reside in the project. Note that any application-specific options supplied on the command line are only applied to XML applications and not to ACI applications.
--rcc-platform=<platform>+
--after=<args>+
--before=<args>+
ocpirun command; for example, environment settings
or prefix commands.
--run-arg=<args>+
ocpirun command.
For details on how to use these options, see the section "Applications in Projects" in the OpenCPI Application Development Guide.
-G <platform>, --only-platform=<platform>+
-Q <platform>, --exclude-platform=<platform>
-l <library>, --library=<library>
--accumulate-errors
--hdl-platform=<platform>+
--keep-simulations
--phase=<phase>+
prepare, execute, verify, and view.
The view phase is used to run only the view scripts for the unit test,
without other phases. The --view option can be used to add viewing along with other phases.
--remotes=<system>
OCPI_REMOTE_TEST_SYS variable. See the section
"Defining Remote Systems for Executing Tests"
in the OpenCPI Component Development Guide for more information.
--view
view.sh) for the test at the conclusion of the
test’s execution.
--global-scope
-local-scope is not used.
--json
--local-scope
--simple
--table
--simple or --json are not used.
--format{=table|latex}
table sends the information to stdout in tabular format.
Specifying latex bypasses stdout and writes all output to
utilization.inc files in the directories for the assets on
which it operates.
--hdl-platform=<platform>+
Create a project with the name my-project. This project’s
package-ID will be local.my-project:
ocpidev create project my-project
Create a project with the package-prefix org.my-organization and
the name my-project. This project’s package-ID will be
org.my-organization.my-project:
ocpidev create project my-project -F org.my-organization
Build only the assets, not the documentation, in the
assets project for the zed HDL platform and
xilinx19_2_aarch32 RCC platform.
Omit the name assets if inside the assets project.
ocpidev build project assets --hdl-platform zed
--rcc-platform xilinx19_2_aarch32
--no-doc
Clean the compiled asset documentation but not the compiled assets
from the core project:
ocpidev clean project core --doc-only
Register the current project to its registry (or the default if it doesn’t have one yet):
ocpidev register project
Unregister the current project:
ocpidev unregister project
Run all the applications and unit tests in the project named MyProject:
ocpidev run project MyProject
Display information about the current project:
ocpidev show project
Show usage information for all supported assets in a project:
ocpidev utilization project
Record usage information in LaTeX format for all supported assets in a project:
ocpidev utilization project --format=latex
See the main web site: https://www.opencpi.org
See the OpenCPI Component Development Guide: https://opencpi.gitlab.io/releases/latest/docs/OpenCPI_Component_Development_Guide.pdf
See the OpenCPI Documentation Writer Guide: https://opencpi.gitlab.io/releases/latest/docs/OpenCPI_Documentation_Writer_Guide.pdf