+deps =
+ flake8==5.0.4
+ flake8-import-order
+skip_install = true
+commands =
+ flake8 NG-RO/osm_ng_ro/ NG-RO/setup.py
+ flake8 RO-plugin/osm_ro_plugin/ RO-plugin/setup.py
+ flake8 RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/ RO-SDN-arista_cloudvision/setup.py
+ flake8 RO-SDN-dpb/osm_rosdn_dpb/ RO-SDN-dpb/setup.py
+ flake8 RO-SDN-dynpac/osm_rosdn_dynpac/ RO-SDN-dynpac/setup.py
+ flake8 RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/ RO-SDN-floodlight_openflow/setup.py
+ flake8 RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/ RO-SDN-ietfl2vpn/setup.py
+ flake8 RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/ RO-SDN-juniper_contrail/setup.py
+ flake8 RO-SDN-odl_openflow/osm_rosdn_odlof/ RO-SDN-odl_openflow/setup.py
+ flake8 RO-SDN-onos_openflow/osm_rosdn_onosof/ RO-SDN-onos_openflow/setup.py
+ flake8 RO-SDN-onos_vpls/osm_rosdn_onos_vpls/ RO-SDN-onos_vpls/setup.py
+ flake8 RO-SDN-tapi/osm_rosdn_tapi/ RO-SDN-tapi/setup.py
+ flake8 RO-VIM-aws/osm_rovim_aws/ RO-VIM-aws/setup.py
+ flake8 RO-VIM-azure/osm_rovim_azure/ RO-VIM-azure/setup.py
+ flake8 RO-VIM-openstack/osm_rovim_openstack/ RO-VIM-openstack/setup.py
+ flake8 RO-VIM-openvim/osm_rovim_openvim/ RO-VIM-openvim/setup.py
+ flake8 RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py RO-VIM-vmware/setup.py
+ flake8 RO-VIM-gcp/osm_rovim_gcp/ RO-VIM-gcp/setup.py
+ flake8 integration-tests/
+
+
+#######################################################################################
+[testenv:pylint]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dev.txt
+ -r{toxinidir}/requirements-test.txt
+ pylint
+skip_install = true
+commands =
+ pylint -E NG-RO/osm_ng_ro --disable=E1101
+ pylint -E RO-plugin/osm_ro_plugin --disable=E1101
+ pylint -E RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision --disable=all
+ pylint -E RO-SDN-dpb/osm_rosdn_dpb
+ pylint -E RO-SDN-dynpac/osm_rosdn_dynpac --disable=E1101
+ pylint -E RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
+ pylint -E RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn --disable=E1101
+ pylint -E RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
+ pylint -E RO-SDN-odl_openflow/osm_rosdn_odlof
+ pylint -E RO-SDN-onos_openflow/osm_rosdn_onosof
+ pylint -E RO-SDN-onos_vpls/osm_rosdn_onos_vpls --disable=E1101
+ pylint -E RO-SDN-tapi/osm_rosdn_tapi
+ pylint -E RO-VIM-aws/osm_rovim_aws
+ pylint -E RO-VIM-azure/osm_rovim_azure --disable=all
+ pylint -E RO-VIM-openstack/osm_rovim_openstack --disable=E1101
+ pylint -E RO-VIM-openvim/osm_rovim_openvim --disable=all
+ pylint -E RO-VIM-vmware/osm_rovim_vmware --disable=all
+ pylint -E RO-VIM-gcp/osm_rovim_gcp --disable=E1101
+
+
+#######################################################################################
+[testenv:safety]
+setenv =
+ LC_ALL=C.UTF-8
+ LANG=C.UTF-8
+deps = {[testenv]deps}
+ safety
+skip_install = true
+commands =
+ - safety check --full-report
+
+
+#######################################################################################
+[testenv:pip-compile]
+deps = pip-tools==6.6.2
+skip_install = true
+allowlist_externals = bash
+ [
+commands =
+ - bash -c "for file in requirements*.in ; do \
+ UNSAFE="" ; \
+ if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
+ pip-compile -rU --no-header $UNSAFE $file ;\
+ out=`echo $file | sed 's/.in/.txt/'` ; \
+ sed -i -e '1 e head -16 tox.ini' $out ;\
+ done"
+ - bash -c "sed -i 's/.*RO-plugin/-e RO-plugin/g' requirements-test.txt"
+
+
+#######################################################################################
+[testenv:dist_ng_ro]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/NG-RO
+commands =
+ sh -c 'rm -rf osm_ng_ro/requirements.txt deb_dist dist osm_ng_ro.egg-info osm_ng_ro*.tar.gz'
+ sh -c 'cp ../requirements.txt osm_ng_ro/requirements.txt'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-ng-ro*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_plugin]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/RO-plugin
+commands =
+ sh -c 'rm -rf deb_dist dist osm_ro_plugin.egg-info osm_ro_plugin*.tar.gz'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-ro-plugin*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_sdn_arista_cloudvision]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/RO-SDN-arista_cloudvision
+commands =
+ sh -c 'rm -rf deb_dist dist osm_rosdn_arista_cloudvision.egg-info osm_rosdn_arista_cloudvision*.tar.gz'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-rosdn-arista-cloudvision*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_sdn_dpb]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/RO-SDN-dpb
+commands =
+ sh -c 'rm -rf deb_dist dist osm_rosdn_dpb.egg-info osm_rosdn_dpb*.tar.gz'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-rosdn-dpb*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_sdn_dynpac]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/RO-SDN-dynpac
+commands =
+ sh -c 'rm -rf deb_dist dist osm_rosdn_dynpac.egg-info osm_rosdn_dynpac*.tar.gz'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-rosdn-dynpac*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_sdn_floodlight_of]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/RO-SDN-floodlight_openflow
+commands =
+ sh -c 'rm -rf deb_dist dist osm_rosdn_floodlightof.egg-info osm_rosdn_floodlightof*.tar.gz'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-rosdn-floodlightof*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_sdn_ietfl2vpn]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/RO-SDN-ietfl2vpn
+commands =
+ sh -c 'rm -rf deb_dist dist osm_rosdn_ietfl2vpn.egg-info osm_rosdn_ietfl2vpn*.tar.gz'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-rosdn-ietfl2vpn*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_sdn_juniper_contrail]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/RO-SDN-juniper_contrail
+commands =
+ sh -c 'rm -rf deb_dist dist osm_rosdn_juniper_contrail.egg-info osm_rosdn_juniper_contrail*.tar.gz'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-rosdn-juniper-contrail*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_sdn_odl_of]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/RO-SDN-odl_openflow
+commands =
+ sh -c 'rm -rf deb_dist dist osm_rosdn_odlof.egg-info osm_rosdn_odlof*.tar.gz'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-rosdn-odlof*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_sdn_onos_of]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/RO-SDN-onos_openflow
+commands =
+ sh -c 'rm -rf deb_dist dist osm_rosdn_onosof.egg-info osm_rosdn_onosof*.tar.gz'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-rosdn-onosof*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_sdn_onos_vpls]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+allowlist_externals = sh
+changedir = {toxinidir}/RO-SDN-onos_vpls
+commands =
+ sh -c 'rm -rf deb_dist dist osm_rosdn_onos_vpls.egg-info osm_rosdn_onos_vpls*.tar.gz'
+ python3 setup.py --command-packages=stdeb.command sdist_dsc
+ sh -c 'cd deb_dist/osm-rosdn-onos-vpls*/ && dpkg-buildpackage -rfakeroot -uc -us'
+
+
+#######################################################################################
+[testenv:dist_ro_sdn_tapi]
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-dist.txt
+skip_install = true
+whitelist_externals = sh
+changedir = {toxinidir}/RO-SDN-tapi