diff --git a/tasks/main.yml b/tasks/main.yml index 718c14e..f4bb385 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,6 +1,8 @@ --- # tasks file for ansible-role-sonarqube/ +- include_tasks: validate_configuration.yaml + - name: "Create SonarQube system group" group: name: "{{ sonar_group }}" diff --git a/tasks/setup_prepare.yml b/tasks/setup_prepare.yml index 98ab6f1..43ba9a4 100644 --- a/tasks/setup_prepare.yml +++ b/tasks/setup_prepare.yml @@ -2,24 +2,9 @@ - name: "Overwrite SonarQube download url for community edition" set_fact: - sonar_download_url: "{{ __sonar_ce_download_url }}" + sonar_download_url: "{{ __sonar_download_url[sonar_edition] }}" when: - sonar_download_url is not defined - - sonar_edition == "community" - -- name: "Overwrite SonarQube download url for developer edition" - set_fact: - sonar_download_url: "{{ __sonar_de_download_url }}" - when: - - sonar_download_url is not defined - - sonar_edition == "developer" - -- name: "Overwrite SonarQube download url for enterprise edition" - set_fact: - sonar_download_url: "{{ __sonar_ee_download_url }}" - when: - - sonar_download_url is not defined - - sonar_edition == "enterprise" - name: "Overwrite SonarQube plugin base url" set_fact: diff --git a/tasks/validate_configuration.yaml b/tasks/validate_configuration.yaml new file mode 100644 index 0000000..a7a6e4c --- /dev/null +++ b/tasks/validate_configuration.yaml @@ -0,0 +1,7 @@ +--- + +- name: Validate sonar_edition + assert: + that: + - sonar_edition in __sonar_download_url + fail_msg: "'sonar_edition' must be one of 'community', 'developer', 'enterprise'" diff --git a/vars/main.yml b/vars/main.yml index faca334..8bd1b77 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -7,9 +7,10 @@ __sonar_commercial_distribution_url: "{{ __sonarsource_url }}/CommercialDistribu __sonar_archive: "sonarqube-{{ sonar_version }}.zip" __sonar_de_archive: "sonarqube-developer-{{ sonar_version }}.zip" __sonar_ee_archive: "sonarqube-enterprise-{{ sonar_version }}.zip" -__sonar_ce_download_url: "{{ __sonar_distribution_url }}/sonarqube/{{ __sonar_archive }}" -__sonar_de_download_url: "{{ __sonar_commercial_distribution_url }}/sonarqube-developer/{{ __sonar_de_archive }}" -__sonar_ee_download_url: "{{ __sonar_commercial_distribution_url }}/sonarqube-enterprise/{{ __sonar_ee_archive }}" +__sonar_download_url: + community: "{{ __sonar_distribution_url }}/sonarqube/{{ __sonar_archive }}" + developer: "{{ __sonar_commercial_distribution_url }}/sonarqube-developer/{{ __sonar_de_archive }}" + enterprise: "{{ __sonar_commercial_distribution_url }}/sonarqube-enterprise/{{ __sonar_ee_archive }}" __sonar_commercial_download_url: "{{ __sonar_distribution_url }}/sonarqube/{{ __sonar_archive }}" __sonar_plugin_home: "{{ sonar_base_dir }}/extensions/plugins" __sonar_plugin_baseurl: "{{ __sonar_distribution_url }}"