Updating the ProjectManager code and scripts with new layout of the o3de package scripts

This commit is contained in:
lumberyard-employee-dm
2021-05-26 00:20:41 -05:00
parent 76fe7f3666
commit 59934e6be1
7 changed files with 141 additions and 129 deletions
+60 -60
View File
@@ -29,10 +29,10 @@ executable_path = ''
logger = logging.getLogger()
logger.setLevel(logging.INFO)
from o3de import engine_template, registration
from o3de import add_gem_project, cmake, engine_template, manifest, register, remove_gem_project
o3de_folder = registration.get_o3de_folder()
o3de_logs_folder = registration.get_o3de_logs_folder()
o3de_folder = manifest.get_o3de_folder()
o3de_logs_folder = manifest.get_o3de_logs_folder()
project_manager_log_file_path = o3de_logs_folder / "project_manager.log"
log_file_handler = RotatingFileHandler(filename=project_manager_log_file_path, maxBytes=1024 * 1024, backupCount=1)
formatter = logging.Formatter('%(asctime)s | %(levelname)s : %(message)s')
@@ -123,7 +123,7 @@ class ProjectManagerDialog(QObject):
super(ProjectManagerDialog, self).__init__(parent)
self.ui_path = (pathlib.Path(__file__).parent / 'ui').resolve()
self.home_folder = registration.get_home_folder()
self.home_folder = manifest.get_home_folder()
self.log_display = None
self.dialog_logger = DialogLogger(self)
@@ -201,7 +201,7 @@ class ProjectManagerDialog(QObject):
self.dialog.show()
def refresh_project_list(self) -> None:
projects = registration.get_all_projects()
projects = manifest.get_all_projects()
self.project_list_box.clear()
for this_slot in range(len(projects)):
display_name = f'{os.path.basename(os.path.normpath(projects[this_slot]))} ({projects[this_slot]})'
@@ -255,7 +255,7 @@ class ProjectManagerDialog(QObject):
return self.project_list_box.itemData(self.project_list_box.currentIndex(), Qt.ToolTipRole)
def get_selected_project_name(self) -> str:
project_data = registration.get_project_data(project_path=self.get_selected_project_path())
project_data = manifest.get_project_json_data(project_path=self.get_selected_project_path())
return project_data['project_name']
def create_project_handler(self):
@@ -297,7 +297,7 @@ class ProjectManagerDialog(QObject):
return
folder_dialog = QFileDialog(self.dialog, "Select a Folder and Enter a New Project Name",
registration.get_o3de_projects_folder().as_posix())
manifest.get_o3de_projects_folder().as_posix())
folder_dialog.setFileMode(QFileDialog.AnyFile)
folder_dialog.setOptions(QFileDialog.ShowDirsOnly)
project_count = 0
@@ -313,7 +313,7 @@ class ProjectManagerDialog(QObject):
if engine_template.create_project(project_path=project_folder[0],
template_path=project_template_path) == 0:
# Success
registration.register(project_path=project_folder[0])
register.register(project_path=project_folder[0])
self.refresh_project_list()
msg_box = QMessageBox(parent=self.dialog)
msg_box.setWindowTitle("O3DE")
@@ -359,7 +359,7 @@ class ProjectManagerDialog(QObject):
return
folder_dialog = QFileDialog(self.dialog, "Select a Folder and Enter a New Gem Name",
registration.get_o3de_gems_folder().as_posix())
manifest.get_o3de_gems_folder().as_posix())
folder_dialog.setFileMode(QFileDialog.AnyFile)
folder_dialog.setOptions(QFileDialog.ShowDirsOnly)
gem_count = 0
@@ -375,7 +375,7 @@ class ProjectManagerDialog(QObject):
if engine_template.create_gem(gem_path=gem_folder[0],
template_path=gem_template_path) == 0:
# Success
registration.register(gem_path=gem_folder[0])
register.register(gem_path=gem_folder[0])
msg_box = QMessageBox(parent=self.dialog)
msg_box.setWindowTitle("O3DE")
msg_box.setText(f"Gem {gem_folder[0]} created.")
@@ -391,13 +391,13 @@ class ProjectManagerDialog(QObject):
source_folder = QFileDialog.getExistingDirectory(self.dialog,
"Select a Folder to make a template out of.",
registration.get_o3de_folder().as_posix())
manifest.get_o3de_folder().as_posix())
if not source_folder:
return
destination_template_folder_dialog = QFileDialog(self.dialog,
"Select where the template is to be created and named.",
registration.get_o3de_templates_folder().as_posix())
manifest.get_o3de_templates_folder().as_posix())
destination_template_folder_dialog.setFileMode(QFileDialog.AnyFile)
destination_template_folder_dialog.setOptions(QFileDialog.ShowDirsOnly)
destination_folder = None
@@ -409,7 +409,7 @@ class ProjectManagerDialog(QObject):
if engine_template.create_template(source_path=source_folder,
template_path=destination_folder[0]) == 0:
# Success
registration.register(template_path=destination_folder[0])
register.register(template_path=destination_folder[0])
msg_box = QMessageBox(parent=self.dialog)
msg_box.setWindowTitle("O3DE")
msg_box.setText(f"Template {destination_folder[0]} created.")
@@ -453,7 +453,7 @@ class ProjectManagerDialog(QObject):
return
folder_dialog = QFileDialog(self.dialog, "Select a Folder and Enter a New Gem Name",
registration.get_o3de_gems_folder().as_posix())
manifest.get_o3de_gems_folder().as_posix())
folder_dialog.setFileMode(QFileDialog.AnyFile)
folder_dialog.setOptions(QFileDialog.ShowDirsOnly)
gem_count = 0
@@ -482,9 +482,9 @@ class ProjectManagerDialog(QObject):
:return: None
"""
project_folder = QFileDialog.getExistingDirectory(self.dialog, "Select Project Folder",
registration.get_o3de_projects_folder().as_posix())
manifest.get_o3de_projects_folder().as_posix())
if project_folder:
if registration.register(project_path=project_folder) == 0:
if register.register(project_path=project_folder) == 0:
# Success
self.refresh_project_list()
@@ -501,9 +501,9 @@ class ProjectManagerDialog(QObject):
:return: None
"""
gem_folder = QFileDialog.getExistingDirectory(self.dialog, "Select Gem Folder",
registration.get_o3de_gems_folder().as_posix())
manifest.get_o3de_gems_folder().as_posix())
if gem_folder:
if registration.register(gem_path=gem_folder) == 0:
if register.register(gem_path=gem_folder) == 0:
# Success
msg_box = QMessageBox(parent=self.dialog)
msg_box.setWindowTitle("O3DE")
@@ -518,9 +518,9 @@ class ProjectManagerDialog(QObject):
:return: None
"""
template_folder = QFileDialog.getExistingDirectory(self.dialog, "Select Template Folder",
registration.get_o3de_templates_folder().as_posix())
manifest.get_o3de_templates_folder().as_posix())
if template_folder:
if registration.register(template_path=template_folder) == 0:
if register.register(template_path=template_folder) == 0:
# Success
msg_box = QMessageBox(parent=self.dialog)
msg_box.setWindowTitle("O3DE")
@@ -535,9 +535,9 @@ class ProjectManagerDialog(QObject):
:return: None
"""
restricted_folder = QFileDialog.getExistingDirectory(self.dialog, "Select Restricted Folder",
registration.get_o3de_restricted_folder().as_posix())
manifest.get_o3de_restricted_folder().as_posix())
if restricted_folder:
if registration.register(restricted_path=restricted_folder) == 0:
if register.register(restricted_path=restricted_folder) == 0:
# Success
msg_box = QMessageBox(parent=self.dialog)
msg_box.setWindowTitle("O3DE")
@@ -552,9 +552,9 @@ class ProjectManagerDialog(QObject):
:return: None
"""
project_folder = QFileDialog.getExistingDirectory(self.dialog, "Select Project Folder",
registration.get_o3de_projects_folder().as_posix())
manifest.get_o3de_projects_folder().as_posix())
if project_folder:
if registration.register(project_path=project_folder, remove=True) == 0:
if register.register(project_path=project_folder, remove=True) == 0:
# Success
self.refresh_project_list()
@@ -571,9 +571,9 @@ class ProjectManagerDialog(QObject):
:return: None
"""
gem_folder = QFileDialog.getExistingDirectory(self.dialog, "Select Gem Folder",
registration.get_o3de_gems_folder().as_posix())
manifest.get_o3de_gems_folder().as_posix())
if gem_folder:
if registration.register(gem_path=gem_folder, remove=True) == 0:
if register.register(gem_path=gem_folder, remove=True) == 0:
# Success
msg_box = QMessageBox(parent=self.dialog)
msg_box.setWindowTitle("O3DE")
@@ -588,9 +588,9 @@ class ProjectManagerDialog(QObject):
:return: None
"""
template_folder = QFileDialog.getExistingDirectory(self.dialog, "Select Template Folder",
registration.get_o3de_templates_folder().as_posix())
manifest.get_o3de_templates_folder().as_posix())
if template_folder:
if registration.register(template_path=template_folder, remove=True) == 0:
if register.register(template_path=template_folder, remove=True) == 0:
# Success
msg_box = QMessageBox(parent=self.dialog)
msg_box.setWindowTitle("O3DE")
@@ -605,9 +605,9 @@ class ProjectManagerDialog(QObject):
:return: None
"""
restricted_folder = QFileDialog.getExistingDirectory(self.dialog, "Select Restricted Folder",
registration.get_o3de_restricted_folder().as_posix())
manifest.get_o3de_restricted_folder().as_posix())
if restricted_folder:
if registration.register(restricted_path=restricted_folder, remove=True) == 0:
if register.register(restricted_path=restricted_folder, remove=True) == 0:
# Success
msg_box = QMessageBox(parent=self.dialog)
msg_box.setWindowTitle("O3DE")
@@ -767,13 +767,13 @@ class ProjectManagerDialog(QObject):
return [(self.enabled_gem_targets_list.model().data(item)) for item in selected_items]
def add_runtime_project_gem_targets_handler(self) -> None:
gem_paths = registration.get_all_gems()
gem_paths = manifest.get_all_gems()
for gem_target in self.manage_project_gem_targets_get_selected_available_gems():
for gem_path in gem_paths:
this_gems_targets = registration.get_gem_targets(gem_path=gem_path)
this_gems_targets = cmake.get_gem_targets(gem_path=gem_path)
for this_gem_target in this_gems_targets:
if gem_target == this_gem_target:
registration.add_gem_to_project(gem_path=gem_path,
add_gem_project.add_gem_to_project(gem_path=gem_path,
gem_target=gem_target,
project_path=self.get_selected_project_path(),
runtime_dependency=True)
@@ -784,13 +784,13 @@ class ProjectManagerDialog(QObject):
self.refresh_runtime_project_gem_targets_enabled_list()
def remove_runtime_project_gem_targets_handler(self):
gem_paths = registration.get_all_gems()
gem_paths = manifest.get_all_gems()
for gem_target in self.manage_project_gem_targets_get_selected_enabled_gems():
for gem_path in gem_paths:
this_gems_targets = registration.get_gem_targets(gem_path=gem_path)
this_gems_targets = cmake.get_gem_targets(gem_path=gem_path)
for this_gem_target in this_gems_targets:
if gem_target == this_gem_target:
registration.remove_gem_from_project(gem_path=gem_path,
remove_gem_project.remove_gem_from_project(gem_path=gem_path,
gem_target=gem_target,
project_path=self.get_selected_project_path(),
runtime_dependency=True)
@@ -801,13 +801,13 @@ class ProjectManagerDialog(QObject):
self.refresh_runtime_project_gem_targets_enabled_list()
def add_tool_project_gem_targets_handler(self) -> None:
gem_paths = registration.get_all_gems()
gem_paths = manifest.get_all_gems()
for gem_target in self.manage_project_gem_targets_get_selected_available_gems():
for gem_path in gem_paths:
this_gems_targets = registration.get_gem_targets(gem_path=gem_path)
this_gems_targets = cmake.get_gem_targets(gem_path=gem_path)
for this_gem_target in this_gems_targets:
if gem_target == this_gem_target:
registration.add_gem_to_project(gem_path=gem_path,
add_gem_project.add_gem_to_project(gem_path=gem_path,
gem_target=gem_target,
project_path=self.get_selected_project_path(),
tool_dependency=True)
@@ -818,13 +818,13 @@ class ProjectManagerDialog(QObject):
self.refresh_tool_project_gem_targets_enabled_list()
def remove_tool_project_gem_targets_handler(self):
gem_paths = registration.get_all_gems()
gem_paths = manifest.get_all_gems()
for gem_target in self.manage_project_gem_targets_get_selected_enabled_gems():
for gem_path in gem_paths:
this_gems_targets = registration.get_gem_targets(gem_path=gem_path)
this_gems_targets = cmake.get_gem_targets(gem_path=gem_path)
for this_gem_target in this_gems_targets:
if gem_target == this_gem_target:
registration.remove_gem_from_project(gem_path=gem_path,
remove_gem_project.remove_gem_from_project(gem_path=gem_path,
gem_target=gem_target,
project_path=self.get_selected_project_path(),
tool_dependency=True)
@@ -835,13 +835,13 @@ class ProjectManagerDialog(QObject):
self.refresh_tool_project_gem_targets_enabled_list()
def add_server_project_gem_targets_handler(self) -> None:
gem_paths = registration.get_all_gems()
gem_paths = manifest.get_all_gems()
for gem_target in self.manage_project_gem_targets_get_selected_available_gems():
for gem_path in gem_paths:
this_gems_targets = registration.get_gem_targets(gem_path=gem_path)
this_gems_targets = cmake.get_gem_targets(gem_path=gem_path)
for this_gem_target in this_gems_targets:
if gem_target == this_gem_target:
registration.add_gem_to_project(gem_path=gem_path,
add_gem_project.add_gem_to_project(gem_path=gem_path,
gem_target=gem_target,
project_path=self.get_selected_project_path(),
server_dependency=True)
@@ -852,13 +852,13 @@ class ProjectManagerDialog(QObject):
self.refresh_server_project_gem_targets_enabled_list()
def remove_server_project_gem_targets_handler(self):
gem_paths = registration.get_all_gems()
gem_paths = manifest.get_all_gems()
for gem_target in self.manage_project_gem_targets_get_selected_enabled_gems():
for gem_path in gem_paths:
this_gems_targets = registration.get_gem_targets(gem_path=gem_path)
this_gems_targets = cmake.get_gem_targets(gem_path=gem_path)
for this_gem_target in this_gems_targets:
if gem_target == this_gem_target:
registration.remove_gem_from_project(gem_path=gem_path,
remove_gem_project.remove_gem_from_project(gem_path=gem_path,
gem_target=gem_target,
project_path=self.get_selected_project_path(),
server_dependency=True)
@@ -870,7 +870,7 @@ class ProjectManagerDialog(QObject):
def refresh_runtime_project_gem_targets_enabled_list(self) -> None:
enabled_project_gem_targets_model = QStandardItemModel()
enabled_project_gem_targets = registration.get_project_runtime_gem_targets(
enabled_project_gem_targets = cmake.get_project_runtime_gem_targets(
project_path=self.get_selected_project_path())
for gem_target in sorted(enabled_project_gem_targets):
model_item = QStandardItem(gem_target)
@@ -879,9 +879,9 @@ class ProjectManagerDialog(QObject):
def refresh_runtime_project_gem_targets_available_list(self) -> None:
available_project_gem_targets_model = QStandardItemModel()
enabled_project_gem_targets = registration.get_project_runtime_gem_targets(
enabled_project_gem_targets = cmake.get_project_runtime_gem_targets(
project_path=self.get_selected_project_path())
all_gem_targets = registration.get_all_gem_targets()
all_gem_targets = cmake.get_all_gem_targets()
for gem_target in sorted(all_gem_targets):
if gem_target not in enabled_project_gem_targets:
model_item = QStandardItem(gem_target)
@@ -890,7 +890,7 @@ class ProjectManagerDialog(QObject):
def refresh_tool_project_gem_targets_enabled_list(self) -> None:
enabled_project_gem_targets_model = QStandardItemModel()
enabled_project_gem_targets = registration.get_project_tool_gem_targets(
enabled_project_gem_targets = cmake.get_project_tool_gem_targets(
project_path=self.get_selected_project_path())
for gem_target in sorted(enabled_project_gem_targets):
model_item = QStandardItem(gem_target)
@@ -899,9 +899,9 @@ class ProjectManagerDialog(QObject):
def refresh_tool_project_gem_targets_available_list(self) -> None:
available_project_gem_targets_model = QStandardItemModel()
enabled_project_gem_targets = registration.get_project_tool_gem_targets(
enabled_project_gem_targets = cmake.get_project_tool_gem_targets(
project_path=self.get_selected_project_path())
all_gem_targets = registration.get_all_gem_targets()
all_gem_targets = cmake.get_all_gem_targets()
for gem_target in sorted(all_gem_targets):
if gem_target not in enabled_project_gem_targets:
model_item = QStandardItem(gem_target)
@@ -910,7 +910,7 @@ class ProjectManagerDialog(QObject):
def refresh_server_project_gem_targets_enabled_list(self) -> None:
enabled_project_gem_targets_model = QStandardItemModel()
enabled_project_gem_targets = registration.get_project_server_gem_targets(
enabled_project_gem_targets = cmake.get_project_server_gem_targets(
project_path=self.get_selected_project_path())
for gem_target in sorted(enabled_project_gem_targets):
model_item = QStandardItem(gem_target)
@@ -919,9 +919,9 @@ class ProjectManagerDialog(QObject):
def refresh_server_project_gem_targets_available_list(self) -> None:
available_project_gem_targets_model = QStandardItemModel()
enabled_project_gem_targets = registration.get_project_server_gem_targets(
enabled_project_gem_targets = cmake.get_project_server_gem_targets(
project_path=self.get_selected_project_path())
all_gem_targets = registration.get_all_gem_targets()
all_gem_targets = cmake.get_all_gem_targets()
for gem_target in sorted(all_gem_targets):
if gem_target not in enabled_project_gem_targets:
model_item = QStandardItem(gem_target)
@@ -930,21 +930,21 @@ class ProjectManagerDialog(QObject):
def refresh_create_project_template_list(self) -> None:
self.create_project_template_model = QStandardItemModel()
for project_template_path in registration.get_project_templates():
for project_template_path in manifest.get_project_templates():
model_item = QStandardItem(project_template_path)
self.create_project_template_model.appendRow(model_item)
self.create_project_template_list.setModel(self.create_project_template_model)
def refresh_create_gem_template_list(self) -> None:
self.create_gem_template_model = QStandardItemModel()
for gem_template_path in registration.get_gem_templates():
for gem_template_path in manifest.get_gem_templates():
model_item = QStandardItem(gem_template_path)
self.create_gem_template_model.appendRow(model_item)
self.create_gem_template_list.setModel(self.create_gem_template_model)
def refresh_create_from_template_list(self) -> None:
self.create_from_template_model = QStandardItemModel()
for generic_template_path in registration.get_generic_templates():
for generic_template_path in manifest.get_generic_templates():
model_item = QStandardItem(generic_template_path)
self.create_from_template_model.appendRow(model_item)
self.create_from_template_list.setModel(self.create_from_template_model)