Version information
This version is compatible with:
- Puppet Enterprise >=3.8.3 <4.0.0
- Puppet >=3.8.3 <4.0.0
Start using this module
Add this module to your Puppetfile:
mod 'mdelaney-xcode', '1.0.3'
Learn more about managing modules with a PuppetfileDocumentation
xcode
Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with xcode
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
This module helps you manage your installed versions of Xcode on your Mac OS X system.
Module Description
If applicable, this section should have a brief description of the technology the module integrates with and what that integration enables. This section should answer the questions: "What does this module do?" and "Why would I use it?"
If your module has a range of functionality (installation, configuration, management, etc.) this is the time to mention it.
Setup
What xcode affects
This module will help install Xcode by source (dmg, or xip) into your Mac OS X Applications directory
Setup Requirements
No special configuration needed
Beginning with xcode
Usage
To use the module simply the Xcode module, the invoke the 'xcode::instance' define with the versions of Xcode you'd like to have installed.
include xcode
xcode::instance {
'Xcode v7.1.1':
ensure => present,
source => 'http://cache.mydomain.com/xcode/Xcode_7.1.1.dmg',
}
By default, this module will not accept the EULA for Xcode. However, if you pass in the parameter 'eula' as 'accept', we will accept the EULA for Xcode requiring no manual intervention.
If the value of 'eula' is not 'accept', then the EULA will be left as is.
include xcode
xcode::instance {
'Xcode v7.1.1':
ensure => present,
source => 'http://cache.mydomain.com/xcode/Xcode_7.1.1.dmg',
eula => 'accept',
}
By default, this module will 'xcode-select' the newly installed Xcode. If you do not want this to happen set the parameter 'selected' to 'no'.
include xcode
xcode::instance {
'Xcode v7.1.1':
ensure => present,
source => 'http://cache.mydomain.com/xcode/Xcode_7.1.1.dmg',
selected => 'no',
}
Reference
A new facter 'xcode_versions' will list an array of hash that contain the installed Xcode versions. The hash is in the form of: {build: <number>, version: <string>}
For example:
[
{
version: '7.1.1',
build: '7B1005'
},
...
]
Limitations
This module doesn't enforce Xocde to OS X version compatibility. If you install an Xcode version, the onus is on you to ensure that version of Xcode works with the version of Mac OS X you've installed it on.
Development
Since your module is awesome, other users will want to play with it. Let them know what the ground rules for contributing are.
Release Notes
Version 1.0.3
- Fixed boolean logic with eula and selected
Version 1.0.2
- Fixed Changelog
- Fixed Puppet module ignore file list
Version 1.0.1
- Fixed README syntax
Version 1.0.0
- Version matcher/extractor updated to match Xcode package published by Apple
Breaking Changes
* xcode::instance param 'source_url' renamed to 'source'
* xcode::instance param 'selected' defaulted to 'no'
Version 0.1.0
- Minor bug fixes
- Support for Puppet 4.x
(Thanks to @steveames for the changes)
Version 0.0.1
This is the initial release
Types in this module release
Dependencies
- puppetlabs/stdlib (>= 1.0.0)
- puppet/archive (>=1.3.0)
Copyright 2017 Mike Delaney Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.