- global url, artifact, version, filename
- urlbase = pytest_lib.NEXUS_RELEASE_BASE_URL
- location = "org/opendaylight/yangtools"
- component="yangtools"
- artifact=pytest_lib.TEST_TOOL_NAME
- version = "9.0.2"
- url = urlbase + "/" + location + "/" + artifact + "/" + version
- name_prefix = f"{artifact}-"
- suffix="jar-with-dependencies"
- extension = "tar" if component == "odl-micro" else "jar"
- name_suffix = f"-{suffix}.{extension}" if suffix != "" else f".{extension}"
- filename = name_prefix + version + name_suffix
- if not os.path.exists(working_dir + "/" + filename):
- url = url + "/" + filename
- print(f"downloading {filename}")
- cmd = f"cd {working_dir} && wget -q -N '{url}' 2>&1"
- os.popen(cmd).read()
+ global validator_file_name, validator
+ # check if validator argument received
+ if validator == "":
+ # check if validator was build with maven or built it
+ if check_maven() and get_validator_file_name():
+ return validator_file_name
+ elif check_maven() and not get_validator_file_name():
+ print("building yang-validator with command 'cd ../ && mvn clean install -pl tools/yang-model-validator/'")
+ print(os.popen(f"cd ../ && mvn clean install -pl tools/yang-model-validator/").read())
+ get_validator_file_name()
+ else:
+ print("MAVEN not found, please install MAVEN first and restart python command")
+ sys.exit()
+ else:
+ validator_file_name = f"yang-model-validator-{validator}-jar-with-dependencies.jar"
+ if validator_file_name in os.popen("ls -la").read():
+ print(f"file {validator_file_name} exist...")
+ else:
+ print(f"downloading {validator_file_name}")
+ print(os.system(f"wget https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/yangtools/yang-model-validator/{validator}/{validator_file_name}"))
+
+
+
+def get_validator_file_name():
+ global validator_file_name, yang_target_dir
+ yang_target_dir = "../tools/yang-model-validator/target/"
+ get_dir_files = os.popen(f"ls {yang_target_dir}").read()
+ if "-SNAPSHOT-jar-with-dependencies.jar" in get_dir_files:
+ for line in get_dir_files.split("\n"):
+ if "-SNAPSHOT-jar-with-dependencies.jar" in line:
+ validator_file_name = line
+ return True
+
+def check_maven():
+ if "Apache Maven" in os.popen("mvn --version").read():
+ return True