___ ___ ___ ___ ___ ___
/\__\ /\ \ /\__\ /\ \ /\__\ /\ \
/:/ _/_ _\:\ \ /:/ / _\:\ \ /:| _|_ \:\ \
/:/_/\__\ /\/::\__\ /:/__/ /\/::\__\ /::|/\__\ /::\__\
\:\/:/ / \::/\/__/ \:\ \ \::/\/__/ \/|::/ / /:/\/__/
\::/ / \:\__\ \:\__\ \:\__\ |:/ / /:/ /
\/__/ \/__/ \/__/ \/__/ \/__/ \/__/
A static code analyzer for UiPath XAML files
A static code analyzer (linter tool) for UiPath XAML files. This program requires Python 3.5 or above.
- Download this repository to your computer
- Run
make mo
If you see the following message, step 2 was failed (or simply forgot to do).
Please make sure gettext
package is installed to your computer and run make mo
again.
FileNotFoundError: [Errno 2] No translation file found for domain: 'messages'
$ python3 uilint.py path/to/uipath/project
Pass the robot project root directory (which contains project.json
file).
- Python Packaging
- i18n (messages)
- Revise error messages
- Introduce a Plug-in architecture for rules
- Test for rules
- Configuration for rules
It uses gettext
framework to apply translation texts.
Translation texts are defined in locale/(lang).po
files.
If there is an update for something, simply revise these PO files (and create MO files via make mo
).
Create a new PO file for non-translated languages to add a new language translation.
- Add new language code to
langs
variable inMakefile
- Language codes are listed on the manual of
gettext
.
- Language codes are listed on the manual of
- Run
make po
- New PO file (contains a language code as a its file name) will be created in the
locale
directory - Edit it
- Edit a PO file in
locale
directory - Run
make mo
git commit --all
to commit the update
- Make sure the new untranslated text is surrounded by
_()
and its form is begins withrule:
for rule messages ormsg:
for other messages - Run
make po
- Edit PO files as same manner as updating existing translation text
UiPath が出力する XAML ファイル用のコードチェックツール(コードアナライザ)です. ありがちな間違いを見つけて警告してくれます.
Python 3.5 かそれ以上が必要です.
ローカルにダウンロードして,翻訳データを作成するために make mo
してください.
その後 uilint.py
を実行してください.
引数にロボットのプロジェクトディレクトリ(project.json
が含まれているディレクトリ)を指定してください.
ライセンスは GPL です.お察しください. ノウハウはみんなで共有しましょう (*'ω'*)