diff --git a/extra-addons b/extra-addons index a820140e0..ab7cd9801 160000 --- a/extra-addons +++ b/extra-addons @@ -1 +1 @@ -Subproject commit a820140e0905c091fd724169a68272d9559a5a37 +Subproject commit ab7cd980143f70597cfd19173abd95adc8fce71c diff --git a/modules.yaml b/modules.yaml index 1f72f70cb..31de28864 100644 --- a/modules.yaml +++ b/modules.yaml @@ -1,192 +1,300 @@ - - community/custom_company: - modules: - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - company_list_view - - dynamic_docx_pdf_reports_omax - - hr_employee_promotion - - multi_level_approval - - contact_custom - community/demo/ftacpa: - modules: - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - hr_budget - - dynamic_docx_pdf_reports_omax - - hr_promote - - bhs_password_policy - - hr_employee_promotion - - multi_level_approval - community/dynamic_docx_report_pdf: - modules: - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - dynamic_docx_pdf_reports_omax - - hr_employee_promotion - - multi_level_approval - community/feature/approvals: - modules: - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - dynamic_docx_pdf_reports_omax - - hr_promote - - bhs_password_policy - - hr_employee_promotion - - multi_level_approval - community/feature/hrbudget: - modules: - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - hr_budget - - project_forecast_custom - - project_custom - - contact_generate_code - - dynamic_docx_pdf_reports_omax - - hr_employee_promotion - - multi_level_approval - community/feature/multi-approval: - modules: - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - hr_budget - - dynamic_docx_pdf_reports_omax - - hr_promote - - bhs_password_policy - - hr_employee_promotion - - multi_level_approval - community/feature/orgchart: - modules: - - hr_employee_org_chart - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - dynamic_docx_pdf_reports_omax - - hr_employee_promotion - - multi_level_approval - community/testing/appstore: - modules: - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - muk_web_colors - - muk_web_theme - - muk_web_appsbar - - dynamic_docx_pdf_reports_omax - - muk_web_dialog - - muk_web_chatter - - hr_employee_promotion - - multi_level_approval - dev: - modules: - - advanced_loan_management - - hr_employee_org_chart - - advanced_web_domain_widget - - ent_loan_accounting - - simplify_access_management - - multi_level_approval_configuration - - ent_ohrms_loan - - hotel_management_odoo - - odoo_proxmox_manager - - tangerine_address_base - - dynamic_docx_pdf_reports_omax - - ica_session_timeout - - micro_loan - - bhs_password_policy - - hr_employee_promotion - - multi_level_approval - - auto_database_backup - empty: - modules: - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - dynamic_docx_pdf_reports_omax - - hr_employee_promotion - - multi_level_approval - enterprise/ambio: - modules: - - hr_employee_org_chart - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - tangerine_address_base - - dynamic_docx_pdf_reports_omax - - ica_session_timeout - - bhs_password_policy - - hr_employee_promotion - - multi_level_approval - enterprise/anson: - modules: - - hr_employee_org_chart - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - tangerine_address_base - - dynamic_docx_pdf_reports_omax - - ica_session_timeout - - bhs_password_policy - - hr_employee_promotion - - multi_level_approval - enterprise/asiawork: - modules: - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - dynamic_docx_pdf_reports_omax - - hr_employee_promotion - - multi_level_approval - enterprise/ftacpa: - modules: - - advanced_loan_management - - hr_employee_org_chart - - advanced_web_domain_widget - - ent_loan_accounting - - simplify_access_management - - multi_level_approval_configuration - - ent_ohrms_loan - - hotel_management_odoo - - dynamic_docx_pdf_reports_omax - - ica_session_timeout - - micro_loan - - bhs_password_policy - - hr_employee_promotion - - multi_level_approval +branches: hoang_dev: modules: + - data_merge_helpdesk + - hr_appraisal_survey + - helpdesk_repair + - account_inter_company_rules + - project_sale_subscription + - account_intrastat + - hr_appraisal_skills + - website_helpdesk_forum + - website_helpdesk_slides_forum - advanced_web_domain_widget + - account_bank_statement_extract + - planning_holidays + - marketing_automation_sms + - website_studio + - marketing_automation_whatsapp - simplify_access_management + - micro_saas + - account_disallowed_expenses_fleet + - test_web_studio + - account_sepa_direct_debit + - mail_enterprise + - account_avatax_geolocalize + - project_holidays - multi_level_approval_configuration + - account_base_import + - website_appointment + - account_bank_statement_import_ofx + - account_accountant_fleet - hr_budget + - project_mrp_workorder_account + - marketing_automation_website_sale + - helpdesk_fsm_report + - website_event_track_gantt + - account_budget + - website_sale_subscription + - website_knowledge + - account_avatax_stock + - marketing_automation_crm + - spreadsheet_dashboard_helpdesk + - helpdesk_fsm + - website_product_barcodelookup + - mass_mailing_sale_subscription + - account_loans + - project_timesheet_forecast + - account_iso20022 + - website_helpdesk_slides + - hr_appraisal_promotion + - account_saft_import + - account_accountant_check_printing - contact_generate_code + - website_generator + - website_helpdesk_livechat + - web_gantt + - account_external_tax + - helpdesk_holidays + - planning + - account_online_synchronization + - account_bank_statement_import_csv + - helpdesk_timesheet + - account_bank_statement_import_camt + - account_followup - company_list_view + - test_timer + - account_online_payment + - account_batch_payment + - project_helpdesk + - account_invoice_extract + - web_map + - web_enterprise + - project_enterprise + - account_avatax_sale + - website_delivery_sendcloud + - project_account_asset - dynamic_docx_pdf_reports_omax + - website_appointment_account_payment + - helpdesk_sale_loyalty + - website_documents + - project_enterprise_hr_skills + - web_studio + - account_asset_fleet + - hr_holidays_gantt + - website_event_social + - web_mobile + - accountant + - approvals_purchase_stock + - website_helpdesk_sale_loyalty + - account_3way_match + - helpdesk_sale_timesheet + - website_helpdesk_knowledge + - helpdesk_mail_plugin + - planning_hr_skills + - website_event_track_social + - hr_appraisal_contract + - website_crm_iap_reveal_enterprise + - helpdesk + - project_enterprise_hr_contract + - website_generator_sale + - marketing_automation + - approvals - pip_installer + - helpdesk_stock_account + - account_saft - bhs_password_policy - hr_employee_promotion + - website_sale_ups + - web_cohort + - account_reports_cash_basis + - website_enterprise + - website_appointment_sale_project + - website_sale_shiprocket + - website_sale_external_tax + - planning_contract + - website_sale_fedex + - approvals_purchase - multi_level_approval + - account_auto_transfer + - project_timesheet_forecast_sale + - helpdesk_sale + - timer + - website_appointment_crm + - hr_appraisal + - project_account_budget + - website_sale_dashboard + - account_invoice_extract_purchase + - hr_gantt + - web_grid + - account_accountant + - helpdesk_account + - project_forecast + - website_sale_renting + - account_accountant_batch_payment + - account_asset + - account_extract - report_pdf_options - huyen_dev: + - helpdesk_stock + - project_hr_payroll_account + - website_helpdesk + - helpdesk_sms + - room + - helpdesk_fsm_sale + - account_winbooks_import + - website_appointment_sale + - account_reports + - crm_helpdesk + - hr_holidays_contract_gantt + - account_bank_statement_import_qif + - account_bank_statement_import + - website_sale_stock_renting + - timesheet_grid + - project_enterprise_hr + - account_disallowed_expenses + - account_avatax + origin/community/demo/ftacpa: modules: + - data_merge_helpdesk + - hr_appraisal_survey + - helpdesk_repair + - account_inter_company_rules + - project_sale_subscription + - account_intrastat + - hr_appraisal_skills + - website_helpdesk_forum + - website_helpdesk_slides_forum - advanced_web_domain_widget + - account_bank_statement_extract + - planning_holidays + - marketing_automation_sms + - website_studio + - marketing_automation_whatsapp - simplify_access_management + - account_disallowed_expenses_fleet + - test_web_studio + - account_sepa_direct_debit + - mail_enterprise + - account_avatax_geolocalize + - project_holidays - multi_level_approval_configuration + - account_base_import + - website_appointment + - account_bank_statement_import_ofx + - account_accountant_fleet + - hr_budget + - project_mrp_workorder_account + - marketing_automation_website_sale + - helpdesk_fsm_report + - website_event_track_gantt + - account_budget + - website_sale_subscription + - website_knowledge + - account_avatax_stock + - marketing_automation_crm + - spreadsheet_dashboard_helpdesk + - helpdesk_fsm + - website_product_barcodelookup + - mass_mailing_sale_subscription + - account_loans + - project_timesheet_forecast + - account_iso20022 + - website_helpdesk_slides + - hr_appraisal_promotion + - account_saft_import + - account_accountant_check_printing + - contact_generate_code + - website_generator + - website_helpdesk_livechat + - web_gantt + - account_external_tax + - helpdesk_holidays + - planning + - account_online_synchronization + - account_bank_statement_import_csv + - helpdesk_timesheet + - account_bank_statement_import_camt + - account_followup - company_list_view + - account_online_payment + - account_batch_payment + - project_helpdesk + - account_invoice_extract + - web_map + - web_enterprise + - project_enterprise + - account_avatax_sale + - website_delivery_sendcloud + - project_account_asset - dynamic_docx_pdf_reports_omax + - website_appointment_account_payment + - helpdesk_sale_loyalty + - website_documents + - project_enterprise_hr_skills + - web_studio + - account_asset_fleet + - website_event_social + - web_mobile + - accountant + - approvals_purchase_stock + - website_helpdesk_sale_loyalty + - account_3way_match + - helpdesk_sale_timesheet + - website_helpdesk_knowledge + - helpdesk_mail_plugin + - planning_hr_skills + - website_event_track_social + - hr_appraisal_contract + - website_crm_iap_reveal_enterprise + - helpdesk + - project_enterprise_hr_contract + - website_generator_sale + - marketing_automation + - approvals + - helpdesk_stock_account + - account_saft + - bhs_password_policy - hr_employee_promotion + - website_sale_ups + - web_cohort + - account_reports_cash_basis + - website_enterprise + - website_appointment_sale_project + - website_sale_shiprocket + - website_sale_external_tax + - planning_contract + - website_sale_fedex + - approvals_purchase - multi_level_approval - - contact_custom - main: - modules: - - advanced_web_domain_widget - - simplify_access_management - - multi_level_approval_configuration - - dynamic_docx_pdf_reports_omax - - hr_employee_promotion - - multi_level_approval + - account_auto_transfer + - project_timesheet_forecast_sale + - helpdesk_sale + - website_appointment_crm + - hr_appraisal + - project_account_budget + - website_sale_dashboard + - account_invoice_extract_purchase + - web_grid + - account_accountant + - helpdesk_account + - project_forecast + - website_sale_renting + - account_accountant_batch_payment + - account_asset + - account_extract + - helpdesk_stock + - project_hr_payroll_account + - website_helpdesk + - helpdesk_sms + - room + - helpdesk_fsm_sale + - account_winbooks_import + - website_appointment_sale + - account_reports + - crm_helpdesk + - account_bank_statement_import_qif + - account_bank_statement_import + - website_sale_stock_renting + - project_enterprise_hr + - account_disallowed_expenses + - account_avatax diff --git a/setup/merge_module.py b/setup/merge_module.py new file mode 100755 index 000000000..6700bfe94 --- /dev/null +++ b/setup/merge_module.py @@ -0,0 +1,54 @@ +import subprocess +import yaml +import os +import argparse + +# Set up argument parsing +parser = argparse.ArgumentParser( + description="Checkout modules from target branch that are not in source branch." +) +parser.add_argument("yaml_file", help="Path to the YAML file") +parser.add_argument("source_branch", help="The source branch") +parser.add_argument("target_branch", help="The target branch") +parser.add_argument("root_repo", help="Path to the root repository") + +# Parse the arguments +args = parser.parse_args() + +yaml_file = args.yaml_file +source_branch = args.source_branch +target_branch = args.target_branch +root_repo = args.root_repo + +# Change to the repository directory +os.chdir(root_repo) + +# Check if yq is installed +try: + subprocess.run( + ["yq", "--version"], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE + ) +except FileNotFoundError: + print("yq could not be found. Please install it first.") + exit(1) + +# Read YAML file +with open(yaml_file, "r") as file: + data = yaml.safe_load(file) + +# Extract module lists for source and target branches +modules_source = data["branches"].get(source_branch, {}).get("modules", []) +modules_target = data["branches"].get(target_branch, {}).get("modules", []) + +# Ensure the latest changes are fetched +subprocess.run(["git", "fetch", "origin"], check=True) + +# Checkout source branch first +print(f"Checking out source branch: {source_branch}") +subprocess.run(["git", "checkout", source_branch], check=True) + +# Checkout modules in target_branch that are not in source_branch +for module in modules_target: + if module not in modules_source: + print(f"Checking out module: {module}") + subprocess.run(["git", "checkout", target_branch, "--", module], check=True) diff --git a/setup/modules_scan.sh b/setup/modules_scan.sh index 42eda173b..45fcf7e30 100755 --- a/setup/modules_scan.sh +++ b/setup/modules_scan.sh @@ -1,15 +1,16 @@ #!/bin/bash # Check if required arguments are provided -if [ $# -ne 3 ]; then - echo "Usage: $0 " - echo "Example: $0 exclude_list.txt /path/to/git/repo /path/to/output.yaml" +if [ $# -lt 3 ] || [ $# -gt 4 ]; then + echo "Usage: $0 [list_branch]" + echo "Example: $0 exclude_list.txt /path/to/git/repo /path/to/output.yaml 'branch1 branch2'" exit 1 fi INPUT_FILE="$1" ROOT_FOLDER="$2" OUTPUT_FILE="$3" +LIST_BRANCH="$4" # Check if input file exists if [ ! -f "$INPUT_FILE" ]; then @@ -37,10 +38,14 @@ echo "branches:" > "$OUTPUT_FILE" # Get all git branches git fetch --all -branches=$(git branch -r | grep -v HEAD | sed 's/origin\///' | sed 's/^[[:space:]]*//') +if [ -z "$LIST_BRANCH" ]; then + branches=$(git branch -r | grep -v HEAD | sed 's/origin\///' | sed 's/^[[:space:]]*//') +else + branches=$LIST_BRANCH +fi # Process each branch -while IFS= read -r branch; do +for branch in $branches; do echo "Processing branch: $branch" # Checkout branch @@ -71,7 +76,7 @@ while IFS= read -r branch; do echo " - $module" >> "$OUTPUT_FILE" done fi - -done <<< "$branches" + +done echo "Output written to $OUTPUT_FILE"