Skip to content

Commit

Permalink
Merge tag '1.4.1' into xip-multivolume-expasion
Browse files Browse the repository at this point in the history
1.4.1
  • Loading branch information
juanjonol committed Oct 4, 2023
2 parents 85b1219 + 71e97f8 commit 16138af
Show file tree
Hide file tree
Showing 10 changed files with 835 additions and 190 deletions.
6 changes: 3 additions & 3 deletions .swiftpm/xcode/xcshareddata/xcschemes/xcodes.xcscheme
Original file line number Diff line number Diff line change
Expand Up @@ -128,12 +128,12 @@
isEnabled = "NO">
</CommandLineArgument>
<CommandLineArgument
argument = "runtimes"
isEnabled = "NO">
argument = "runtimes install &quot;visionOS 1.0-beta1&quot;"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "install --help"
isEnabled = "YES">
isEnabled = "NO">
</CommandLineArgument>
<CommandLineArgument
argument = "update"
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ xcodes: $(SOURCES)
.PHONY: sign
sign: xcodes
@codesign \
--sign "Developer ID Application: Robots and Pencils Inc. (PBH8V487HB)" \
--prefix com.robotsandpencils. \
--sign "Developer ID Application: Matt Kiazyk (ZU6GR6B2FY)" \
--prefix com.xcodesorg. \
--options runtime \
--timestamp \
"$(RELEASEBUILDDIR)"
Expand Down
42 changes: 29 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,22 @@

The best command-line tool to install and switch between multiple versions of Xcode.

_If you're looking for an app version of `xcodes`, try [Xcodes.app](https://github.com/RobotsAndPencils/XcodesApp)._
_If you're looking for an app version of `xcodes`, try [Xcodes.app](https://github.com/XcodesOrg/XcodesApp)._

![CI Status](https://github.com/RobotsAndPencils/xcodes/workflows/CI/badge.svg)
![CI Status](https://github.com/XcodesOrg/xcodes/workflows/CI/badge.svg)

![Header Image](Header.png)

### :tada: Announcment

Xcodes is now part of the `XcodesOrg` - [read more here](nextstep.md)

## Installation

### Homebrew (Preferred)

```sh
brew install robotsandpencils/made/xcodes
brew install xcodesorg/made/xcodes
```

These are Developer ID-signed and notarized release builds and don't require Xcode to already be installed in order to use.
Expand All @@ -23,14 +27,14 @@ These are Developer ID-signed and notarized release builds and don't require Xco
<details>
<summary>Download a release</summary>

Download the latest release from the [Releases](https://github.com/RobotsAndPencils/xcodes/releases) page. These are Developer ID-signed release builds and don't require Xcode to already be installed in order to use.
Download the latest release from the [Releases](https://github.com/XcodesOrg/xcodes/releases) page. These are Developer ID-signed release builds and don't require Xcode to already be installed in order to use.
</details>

<details>
<summary>Using <a href="https://github.com/yonaskolb/Mint">Mint</a></summary>

```sh
mint install RobotsAndPencils/xcodes
mint install XcodesOrg/xcodes
```

</details>
Expand All @@ -41,7 +45,7 @@ mint install RobotsAndPencils/xcodes
Building from source requires Xcode 12.0 or later, so it's not an option for setting up a computer from scratch.

```sh
git clone https://github.com/RobotsAndPencils/xcodes
git clone https://github.com/XcodesOrg/xcodes
cd xcodes
make install
# or, if /usr/local/ isn't in your PATH
Expand All @@ -60,6 +64,8 @@ If that occurs, it means you need to select a version of Xcode. You can do this

## Usage

### Install Xcode :

Install a specific version of Xcode using a command like one of these:

```sh
Expand Down Expand Up @@ -95,6 +101,20 @@ If you have [aria2](https://aria2.github.io) installed (it's available in Homebr

Xcode will be installed to /Applications by default, but you can provide the path to a different directory with the `--directory` option or the `XCODES_DIRECTORY` environment variable. All of the xcodes commands support this option, like `select` and `uninstall`, so you can manage Xcode versions that aren't in /Applications. xcodes supports having all of your Xcode versions installed in _one_ directory, wherever that may be.

### Install Runtimes :

Run this command line to display the available runtimes

```sh
xcodes runtimes --include-betas
```

Install the wanted Runtime (ex. iOS 17.0-beta1)

```sh
xcodes runtimes install "iOS 17.0-beta1"
```

### `.xcode-version`

We recommend the creation of a `.xcode-version` file to explicitly declare and store the Xcode version to be used by your CI environment as well as your team.
Expand Down Expand Up @@ -197,7 +217,7 @@ git push --follow-tags
# Add the xcodes.zip and xcodes-$VERSION.mojave.tar.gz files to the release
# Publish the release

# Update the Homebrew Bottle: https://github.com/RobotsAndPencils/homebrew-made/blob/master/Formula/xcodes.rb
# Update the Homebrew Bottle: https://github.com/XcodesOrg/homebrew-made/blob/master/Formula/xcodes.rb
```

</details>
Expand All @@ -206,10 +226,6 @@ Notable design decisions are recorded in [DECISIONS.md](./DECISIONS.md). The App

[`xcode-install`](https://github.com/xcpretty/xcode-install) and [fastlane/spaceship](https://github.com/fastlane/fastlane/tree/master/spaceship) both deserve credit for figuring out the hard parts of what makes this possible.

## Contact

<a href="http://www.robotsandpencils.com"><img src="R&PLogo.png" width="153" height="74" /></a>

Made with ❤️ by [Robots & Pencils](http://www.robotsandpencils.com)
## Maintainers

[Twitter](https://twitter.com/robotsNpencils) | [GitHub](https://github.com/robotsandpencils)
[Matt Kiazyk](https://github.com/mattkiazyk) - [Twitter](https://www.twitter.com/mattkiazyk)
5 changes: 5 additions & 0 deletions Sources/XcodesKit/Models+Runtimes.swift
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,15 @@ extension DownloadableRuntime {
case macOS = "com.apple.platform.macosx"
case watchOS = "com.apple.platform.watchos"
case tvOS = "com.apple.platform.appletvos"
case visionOS = "com.apple.platform.xros"

var order: Int {
switch self {
case .iOS: return 1
case .macOS: return 2
case .watchOS: return 3
case .tvOS: return 4
case .visionOS: return 5
}
}

Expand All @@ -102,6 +104,7 @@ extension DownloadableRuntime {
case .macOS: return "macOS"
case .watchOS: return "watchOS"
case .tvOS: return "tvOS"
case .visionOS: return "visionOS"
}
}
}
Expand Down Expand Up @@ -134,12 +137,14 @@ extension InstalledRuntime {
case tvOS = "com.apple.platform.appletvsimulator"
case iOS = "com.apple.platform.iphonesimulator"
case watchOS = "com.apple.platform.watchsimulator"
case visionOS = "com.apple.platform.xrsimulator"

var asPlatformOS: DownloadableRuntime.Platform {
switch self {
case .watchOS: return .watchOS
case .iOS: return .iOS
case .tvOS: return .tvOS
case .visionOS: return .visionOS
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion Sources/XcodesKit/Version.swift
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import Version

public let version = Version("1.3.0")!
public let version = Version("1.4.1")!
Loading

0 comments on commit 16138af

Please sign in to comment.