Skip to main content

Commitizen version provider for Xcode projects.

Project description

Commitizen Xcode Project Version Provider

A commitizen version provider for Xcode project files, which store the version in the MARKETING_VERSION field.

Installation

pip install commitizen-xcodeproj

Usage

Configuration

There are several ways to configure commitizen. This example setup uses a local installation of commitizen via python and works with yaml configuration files, but any other format as stated in the commitizen documentation works as well.

In your Xcode project root folder, create a .cz.yaml:

---
commitizen:
  name: cz_conventional_commits
  tag_format: $version
  update_changelog_on_bump: true
  version_provider: "commitizen-xcodeproj"
  version_scheme: semver

Note: it's not necessary to include a version key inside the config file. Best practice is to keep the version in a single source of truth, which is the project.pbxproj file.

By default, short version numbers are filled with ".0" on the right, thus 1.0 becoming 1.0.0. This can be configured:

---
commitizen:
  commitizen_xcodeproj:
    fill_missing: left

will transform 1.0 to 0.1.0.

Bumping versions

Now

cz bump

will read the current version from project.pbxproj, increase it accordingly and write it back to the same file to both, the Debug and the Release version.

Contribution

Contributions, issues and feature requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

  • Fork the project
  • Clone the fork
  • Add your changes and update tests as appropriate.
  • Create a pull request

License

This project is MIT licensed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

commitizen_xcodeproj-0.2.1.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

commitizen_xcodeproj-0.2.1-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file commitizen_xcodeproj-0.2.1.tar.gz.

File metadata

  • Download URL: commitizen_xcodeproj-0.2.1.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Darwin/23.4.0

File hashes

Hashes for commitizen_xcodeproj-0.2.1.tar.gz
Algorithm Hash digest
SHA256 79c2ea9f15adcebf76d4aa03746257edd621a3c59091529245d1b4c5a824980e
MD5 b3dec64d36a25d9c21bf6cfb92498cc4
BLAKE2b-256 ee12e535a592b69e292d4c60ea7d5459966f9e8a68259b26177a50028d3072d5

See more details on using hashes here.

File details

Details for the file commitizen_xcodeproj-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for commitizen_xcodeproj-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 da2215bfe3b708ec7db927f6571ec3f7fc04ed45cf0bfe74a1105038b9a50ad5
MD5 d4dd2696ec5791370a13dce87c4e9d12
BLAKE2b-256 17acc37152413f8e6f8e6cdb8fbb5305b140df361881fdc477f5288c04de4948

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page