-
-
Notifications
You must be signed in to change notification settings - Fork 102
Commit
The new Xcode_offline role will install xcode from an offline copy in /files dire. The brew role also will install brew on macos. Both rely on installing python on mac machine in advance.
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
download and copy (soft link) xcode offline files heare: | ||
Xcode_12.4.xip | ||
Xcode_13.1.xip | ||
etc. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
######################### | ||
# Xcdde offline install # | ||
######################### | ||
|
||
# Install Xcode withou need to login with appleID | ||
Check failure on line 6 in ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Xcode_offline/tasks/main.yml GitHub Actions / Ansible Lintyaml[trailing-spaces]
|
||
# Path /Applications/Xcode.app/ | ||
Check failure on line 7 in ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Xcode_offline/tasks/main.yml GitHub Actions / Ansible Lintyaml[trailing-spaces]
|
||
# Requires the following variable: | ||
# xcode_version: 12.4 | 13.1 | 13.2.1 | 13.4 | 14.3.1 | 15.0.1 | ||
|
||
- name: xcode offline | ||
include_tasks: xcode_offline.yml | ||
tags: xcode_offline |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
--- | ||
- name: check xcode version | ||
shell: xcodebuild -version | ||
register: xcodebuild_version | ||
failed_when: false | ||
tags: xcode_offline | ||
|
||
- name: install and configure xcode if not installed | ||
Check failure on line 8 in ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Xcode_offline/tasks/xcode_offline.yml GitHub Actions / Ansible Lintkey-order[task]
|
||
block: | ||
|
||
- name: test tag | ||
debug: | ||
var: xcodebuild_version | ||
|
||
- name: copy xcode file to remote host | ||
Check failure on line 15 in ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Xcode_offline/tasks/xcode_offline.yml GitHub Actions / Ansible Lintname[casing]
Check failure on line 15 in ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Xcode_offline/tasks/xcode_offline.yml GitHub Actions / Ansible Lintyaml[trailing-spaces]
|
||
copy: | ||
Check failure on line 16 in ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Xcode_offline/tasks/xcode_offline.yml GitHub Actions / Ansible Lintyaml[trailing-spaces]
|
||
src: Xcode_{{ xcode_version }}.xip | ||
dest: '~' | ||
force: false | ||
|
||
- name: install xcode {{ xcode_version }} | ||
shell: | | ||
xip -x ~/Xcode_{{ xcode_version }}.xip | ||
args: | ||
chdir: /Applications | ||
become: yes | ||
become_user: "{{ ansible_user }}" | ||
|
||
- name: Configure xcode {{ xcode_version }} | ||
become: yes | ||
shell: | | ||
xcode-select -s /Applications/Xcode.app/Contents/Developer | ||
xcodebuild -license accept | ||
- name: Clean up after install Xcode | ||
shell: | | ||
rm ~/Xcode_{{ xcode_version }}.xip | ||
- name: check xcode version | ||
shell: xcodebuild -version | ||
register: output | ||
ignore_errors: true | ||
|
||
- name: check if xcode version is correct | ||
debug: | ||
var: output | ||
|
||
when: "'Xcode ' + xcode_version not in xcodebuild_version.stdout" | ||
tags: xcode_offline |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
--- | ||
|
||
- name: Check if Homebrew is already installed | ||
stat: | ||
path: /usr/local/bin/brew | ||
register: b | ||
when: ansible_architecture == "x86_64" | ||
tags: brew | ||
|
||
- name: Check if Homebrew is already installed | ||
stat: | ||
path: /opt/homebrew/bin/brew | ||
register: b | ||
when: ansible_architecture == "arm64" | ||
tags: brew | ||
|
||
- set_fact: brew_is_installed="{{b.stat.exists}}" | ||
when: b.stat.exists is defined | ||
tags: brew | ||
|
||
- name: install home brew | ||
block: | ||
- name: add user j9admin to sudoers | ||
template: | ||
src: sudoers | ||
dest: /etc/sudoers.d/{{ ansible_user }} | ||
become: true | ||
|
||
- name: install home brew | ||
shell: | | ||
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" | ||
- name: check brew installation | ||
shell: /usr/local/bin/brew --version | ||
register: check_brew | ||
ignore_errors: true | ||
when: ansible_architecture == "x86_64" | ||
|
||
- set_fact: brew_is_installed="{{check_brew.rc == 0}}" | ||
when: check_brew.rc is defined | ||
|
||
- name: check brew installation | ||
shell: /opt/homebrew/bin/brew --version | ||
register: check_brew | ||
ignore_errors: true | ||
when: ansible_architecture == "arm64" | ||
|
||
- set_fact: brew_is_installed="{{check_brew.rc == 0}}" | ||
when: check_brew.rc is defined | ||
|
||
- name: failed brew installation | ||
fail: | ||
msg: 'brew is not installed! exiting...' | ||
when: not brew_is_installed | ||
|
||
- name: configure brew x86_64 | ||
blockinfile: | ||
state: present | ||
insertafter: EOF | ||
dest: ~/.zprofile | ||
marker: "<!-- added by Ansible -->" | ||
content: | | ||
eval $(/usr/local/bin/brew shellenv) | ||
when: ansible_architecture == "x86_64" | ||
|
||
- name: configure brew arm64 | ||
blockinfile: | ||
state: present | ||
insertafter: EOF | ||
dest: ~/.zprofile | ||
marker: "<!-- added by Ansible -->" | ||
content: | | ||
eval $(/opt/homebrew/bin/brew shellenv) | ||
when: ansible_architecture == "arm64" | ||
|
||
- name: remove user j9admin from sudoers | ||
file: | ||
path: /etc/sudoers.d/{{ ansible_user }} | ||
state: absent | ||
become: true | ||
|
||
when: not brew_is_installed | ||
tags: brew |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
######## | ||
# brew # | ||
######## | ||
|
||
- name: Install homebrew | ||
include_tasks: brew.yml | ||
when: ansible_distribution == "MacOSX" | ||
tags: brew | ||
|
||
Check failure on line 10 in ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/brew/tasks/main.yml GitHub Actions / Yamllint
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{{ ansible_user }} ALL=(ALL) NOPASSWD: ALL |