
Examples
========

- Create a Verilog/SystemVerilog/VHDL project:

.. code-block:: console

    $> dvt_cli.sh createProject $PROJ/my_project -lang vlog -lang vhdl -f $PROJ/my_project/filelist.f

- Create a project and place it in its own workingset in a new DVT window; overwrite project if it already exists; 
  logically link some common library files under the project directory:

.. code-block:: console

    $> dvt_cli.sh createProject $PROJ/my_project -lang vlog -lang vhdl -workingset -newwindow -force -f $PROJ/my_project/filelist.f -map common $COMMON_LIB

- Create an e Language project and place it in its own workingset in a new DVT window; logically link some common library files under the project directory:

.. code-block:: console

    $> dvt_cli.sh createProject $PROJ/my_project -workingset -newwindow -force -top $PROJ/my_project/e/top.e 
                  -test $PROJ/my_project/tests/test1.e -map common $COMMON_LIB

- Create a project with resource filters. Use this option to exclude unnecessary files and directories from the project directory tree, like regression results,
  which may cause Eclipse platform slowdowns:

.. code-block:: console

    $> dvt_cli.sh createProject $PROJ/my_project -lang vlog -exclude projectRelativePath=sub/directory

- Create a Verilog/SystemVerilog/VHDL project and associate it with Perforce:

.. code-block:: console

    $> dvt_cli.sh createProject $PROJ/my_project -lang vlog -lang vhdl -f $PROJ/my_project/filelist.f 
                  -p4 P4PORT=company_server:1666,P4CLIENT=perforce-work,P4USER=user1

- Create a Verilog/SystemVerilog/VHDL project and associate it with ClearCase:

.. code-block:: console
    
    $> dvt_cli.sh createProject $PROJ/my_project -lang vlog -lang vhdl -f $PROJ/my_project/filelist.f -clearcase

- Create an e Language project and add a couple of git repositories:

.. code-block:: console

    $> dvt_cli.sh createProject $PROJ/my_project -lang e -f /my/filelist.f -git /path/to/repo1/.git:/path/to/repo2/.git

- Create a Verilog/SystemVerilog project and associate it with Subversive SVN plugin:

.. code-block:: console

    $> dvt_cli.sh createProject $PROJ/my_project -lang vlog -f $PROJ/my_project/filelist.f -svn <SVN repository URL>

- Create a SystemVerilog/CPP mixed language project and switch to the C/C++ perspective:

.. code-block:: console

    $> dvt_cli.sh createProject $PROJ/my_project -lang vlog -lang cpp_ext -perspective cpp

- Create a project from an existing template:

.. code-block:: console

    $> dvt_cli.sh createProjectFromTemplate /target/location -template $PROJ/template/

- Import an existing project into the workspace and place it in its own workingset in a new DVT window:

.. code-block:: console
    
    $> dvt_cli.sh importProject $PROJ/my_project -workingset -newwindow

- Open a file in the context of my_project and reveal line #50:

.. code-block:: console

    $> dvt_cli.sh openFile $PROJ/my_project/e/bfm.e -line 50 -project my_project

- Save and close a file:

.. code-block:: console

    $> dvt_cli.sh closeFile $PROJ/my_project/e/bfm.e -forceSave

- Open a custom dialog and print its output to the console:

.. code-block:: console

    $> dvt_cli.sh openCustomDialog -file dialog.swtxml -project my_project

- Print a list of the files compiled in my_project:

.. code-block:: console

    $> dvt_cli.sh listCompiledFiles -project my_project -unique
    
.. note:: 

 If you need to run multiple commands, each command should be passed to a separate dvt_cli.sh invocation.

.. note:: 

 To run multiple commands, simply invoke dvt_cli.sh in the desired order or wrap the invocations in a separate script:
    .. code-block:: console

        $> dvt_cli.sh importProject $PROJ/my_project -workingset -newwindow
        $> dvt_cli.sh openFile $PROJ/my_project/e/bfm.e -line 50 -project my_project
        $> dvt_cli.sh openCustomDialog -file dialog.swtxml -project my_project
			 	
.. note:: 

 It is not recommended to run in parallel several dvt_cli.sh invocations which depend on each other.	 	

