Created
December 16, 2022 17:24
-
-
Save o-vitaliy/dbefe3930e0d9c29584a81e69b48964b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
from pathlib import Path | |
import time | |
current_dir = str(Path().resolve()) | |
projects = ["59-modules", "33-modules", "1-module"] | |
def logDir(project): | |
return current_dir + "/logs_" + project | |
def runTaskForProjects(task, log=""): | |
for project in projects: | |
log_to = "" | |
if log != "": | |
log_to = " >> " + logDir(project) + "/" + log + ".log" | |
start = time.time() | |
os.system("cd " + current_dir + "/" + project + | |
" && ./gradlew " + task + " " + log_to) | |
end = time.time() | |
if log != "": | |
print(project + " : " + task + " : " + str(int(end - start))) | |
def cleanProjects(): | |
runTaskForProjects("clean -q") | |
def main(): | |
# create folders for logs | |
print("create folders for logs") | |
for project in projects: | |
os.makedirs(logDir(project), exist_ok=True) | |
# stop gradle | |
print("\nstop gradle") | |
os.system("cd " + current_dir + "/" + projects[0] + " && ./gradlew --stop") | |
# run first assemble task to be sure all dependecies are cached | |
print("\nrun first assemble task to be sure all dependecies are cached") | |
# runTaskForProjects("assembleDevDebug -q") | |
# clean projects before running checks | |
print("\nclean projects before running checks") | |
cleanProjects() | |
tries = range(5) | |
# run assembleDevDebug --offline | |
for i in tries: | |
print("\nrun assembleDevDebug --offline " + str(i)) | |
runTaskForProjects("assembleDevDebug --offline", | |
"assembleDevDebug_offline-" + str(i)) | |
runTaskForProjects("clean", "clean-"+str(i)) | |
# run assembleDevDebug | |
for i in tries: | |
print("\nrun assembleDevDebug " + str(i)) | |
runTaskForProjects("assembleDevDebug", "assembleDevDebug-"+str(i)) | |
cleanProjects() | |
# run assembleDevRelease | |
for i in tries: | |
print("\nrun assembleDevRelease " + str(i)) | |
runTaskForProjects("assembleDevRelease", | |
"assembleDevRelease-" + str(i)) | |
cleanProjects() | |
runTaskForProjects("assembleDevDebug -q") | |
# run assembleDevDebug | |
for i in tries: | |
print("\nrun assembleDevDebug " + str(i)) | |
runTaskForProjects("assembleDevDebug", "assembleDevDebug-"+str(i)) | |
if __name__ == '__main__': | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment