aboutsummaryrefslogtreecommitdiffstats
path: root/sortImports.py
diff options
context:
space:
mode:
authorleventecsanyi <levente.csanyi@est.tech>2024-11-26 15:29:45 +0100
committerleventecsanyi <levente.csanyi@est.tech>2024-12-05 14:18:49 +0100
commit2dac434c92dfd20791eda9364783846a5da8c605 (patch)
treee9f0ede75d3257edf25467f12b9d9a67d6a6b17f /sortImports.py
parentcd6fc6bf8fb1d28d741199c07b7dd6ecaac6d6a5 (diff)
Moved common classes under the api package under api
- moved common classes under the api package - moved Spec files Issue-ID: CPS-2512 Change-Id: I88046280ce359ce8cc488ad37d4e6f85406b0dbf Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
Diffstat (limited to 'sortImports.py')
-rw-r--r--sortImports.py87
1 files changed, 87 insertions, 0 deletions
diff --git a/sortImports.py b/sortImports.py
new file mode 100644
index 0000000000..6f3fb64775
--- /dev/null
+++ b/sortImports.py
@@ -0,0 +1,87 @@
+import os
+
+def sort_imports(java_file_path):
+ with open(java_file_path, 'r', encoding='utf-8') as file:
+ lines = file.readlines()
+
+ # Separate license block
+ license_block = []
+ package_line = None
+ static_imports = []
+ normal_imports = []
+ other_lines = []
+
+ i = 0
+
+ # Process license block
+ if lines and lines[0].startswith('/**'):
+ for i, line in enumerate(lines):
+ license_block.append(line)
+ if line.strip().startswith('*/'):
+ i += 1 # Move past the license block
+ break
+ else:
+ license_block = []
+
+ # Process remaining lines
+ while i < len(lines):
+ line = lines[i]
+ if line.startswith('package '):
+ package_line = line
+ elif line.startswith('import static '):
+ static_imports.append(line)
+ elif line.startswith('import '):
+ normal_imports.append(line)
+ else:
+ other_lines.append(line)
+ i += 1
+
+ # Sort imports
+ static_imports.sort()
+ normal_imports.sort()
+
+ # Build the new file content
+ new_content = []
+
+ # Add license block (always at the top)
+ if license_block:
+ new_content.extend(license_block)
+ if not license_block[-1].endswith('\n'):
+ new_content.append('\n')
+
+ # Add package line
+ if package_line:
+ new_content.append(package_line)
+ if not package_line.endswith('\n'):
+ new_content.append('\n')
+
+ # Add imports
+ if static_imports:
+ new_content.append('\n') # Separate static imports
+ new_content.extend(static_imports)
+ if normal_imports:
+ new_content.append('\n') # Separate normal imports
+ new_content.extend(normal_imports)
+
+ # Add remaining lines (code, comments, etc.)
+ if other_lines:
+ if not new_content[-1].endswith('\n'):
+ new_content.append('\n')
+ new_content.extend(other_lines)
+
+ # Write back to file
+ with open(java_file_path, 'w', encoding='utf-8') as file:
+ file.writelines(new_content)
+
+def process_java_files(root_dir):
+ for subdir, _, files in os.walk(root_dir):
+ for file in files:
+ if file.endswith('.java'):
+ java_file_path = os.path.join(subdir, file)
+ print(f"Processing: {java_file_path}")
+ sort_imports(java_file_path)
+
+if __name__ == "__main__":
+ project_root = input("Enter the root directory of the Java project: ")
+ process_java_files(project_root)
+