Skip to content

Adding a New XItem to the Repository

awdheshxilinx edited this page Apr 9, 2018 · 9 revisions

Important information about Git branch in this document

Although most of the contributions typically target the master branch, the actual branch accepting contributions depends on the Vivado release and needs to be checked on this page.

In this document, the Git branch can be refereed as master or <branch> but the exact Git branch name should be used for all the Git commands of this document.


1. Create and develop your board data file

The expectation is that you have already developed the board data file and are ready to contribute to xilinx board store.

Note: Additional information about Creating new board files can be found inside the Vivado Design Suite User Guide(UG895)


2. Copy new developed board data file inside cloned repo

Note: If you have not already cloned the repository, then clone the latest repository and appropriate branch. Setup up the Local Repository

cd <WORKING_DIR>/MY_GIT_REPO1/XilinxBoardStore
#Create a sub-directory for your company
mkdir <WORKING_DIR>/MY_GIT_REPO1/XilinxBoardStore/boards/<MY_COMPANY>
#Create a sub-directory for your newly developed board data file
mkdir <WORKING_DIR>/MY_GIT_REPO1/XilinxBoardStore/boards/<MY_COMPANY>/<MY_NEW_BOARD_SHORT_NAME>
#Copy your board data files inside
cp -r <MY_DEVELOPED_BOARD>/* <WORKING_DIR>/MY_GIT_REPO1/XilinxBoardStore/boards/<MY_COMPANY>/<MY_NEW_BOARD_SHORT_NAME>/

3. Create the Xitem json metadata File for new board

The xitem json is used by the Board Store engine. It includes the list of brief details about board data file along with revision history, author and so forth. The xitem JSON is saved under the board directory and is named xitem.json

To generate a new xitem.json file, use the following python script:

Utility-script-to-create-xitem-file-from-board-xml

Typical Command Usage :

cd <WORKING_DIR>/MY_GIT_REPO1/XilinxBoardStore

#Type 'python ./utility/generate_xitem_json.py --help' for more details.

python ./utility/generate_xitem_json.py --board_file ./boards/<MY_COMPANY>/<MY_NEW_BOARD_SHORT_NAME>/board.xml --output_file ./boards/<MY_COMPANY>/<MY_NEW_BOARD_SHORT_NAME>/xitem.json --company_display_name <OWNER_COMPANY_DISPLAY_NAME> --company_url <OWNER_COMPANY_DISPLAY_NAME> --author <OWNER_NAME_FOR_THIS_BOARD>

ls ./boards/<MY_COMPANY>/<MY_NEW_BOARD_SHORT_NAME>/xitem.json

4. Test your xitem in Vivado ( Optional Step )

Now before sending your changes in a pull request, optionally you can validate the local changes. Below steps ensures that your newly created board xitem gets loaded and detected by the Vivado.

follow : Appowner Testing Pull Request


5. Submit and Generate a pull request for the changes

cd <WORKING_DIR>/MY_GIT_REPO1/XilinxBoardStore
git checkout <branch>
git add .
git status
git commit -m "message for the change"
git push

Once your changes are submitted to your cloned repository. Generate the pull request from your cloned repo. XilinxBoardStore gatekeepers automatically gets a notification and they will review and submit your changes. Check 'how to generate pull request' for more details.