π Check out the guidelines here
- Breaking Change
blueprintIdentifier
type toPBXObjectReference
tuist#289 by @pepibumur
Nothing new since the release rc2.
- Breaking Rename
filesReferences
tofileReferences
tuist#271 by @pepibumur
- Xcode 10 inputFileListPaths and outputFileListPaths attributes tuist#271 by @pepibumur
- Split up
XCScheme
models and make them conform theEquatable
protocol tuist#273 by @pepibumur - Convenient methods to add and fetch build configurations tuist#283 by @pepibumur
.inc
extension to the header file extensions by @pepibumur.
- Rename project to xcodeproj by @pepibumur.
- Drop Carthage and CocoaPods support by @pepibumur.
- Use Basic AbsolutePath, RelativePath and Process extensions by @pepibumur.
- Use
PBXObjectReference
instead ofString
to reference objects fromPBXProj.Objects
by @pepibumur. - Remove
ObjectReference
by @pepibumur. - Update
PBXNativeTarget
reference attributes to be of typePBXObjectReference
by @pepibumur. - Add convenient methods to materialize objects references tuist#12 by @pepibumur.
- Rename some PBXProject attributes for consistency tuist#268 by @pepibumur.
- Add
addDependency
method toPBXNativeTarget
by @pepibumur. - Danger check that reports Swiftlint results tuist#257 by @pepibumur.
- Xcode constants by @pepibumur.
- Convenient API from objects by @pepibumur.
BuildSettingsProvider
by @pepibumur.- Add
addDependency
method toPBXNativeTarget
by @pepibumur. - Method in
XCConfigurationList
to get the build configurations objects @pepibumur. - Method to get the configuration list from any target tuist#10 by @pepibumur.
- Migration guidelines tuist#264 by @pepibumur.
- Deprecated elements by @pepibumur.
- Tests that test the conformance of
Equatable
by @pepibumur.
- XCConfig parser strips the trailing semicolon from a configuration value tuist#250 by @briantkelley
fullPath(fileElement:reference:sourceRoot:)
now returns the correct path for files that exist within a variant group tuist#255 by @ileitch
- Update Danger to warn if the PR title contains WIP tuist#259 by @pepibumur.
- Test coverage reports tuist#258 by @pepibumur
- CI pipeline runs also on a Linux environment tuist#249 by @pepibumur.
- Auto-generation of Equatable conformances using Sourcery tuist#189 @by pepibumur.
- Some updates to match the Xcode 9.3 project format tuist#247 by @LinusU
PBXNativeTarget.productInstallPath
,PBXTargetDependency.name
tuist#241 by @briantkelleyPBXContainerItem
super class ofPBXBuildPhase
andPBXTarget
tuist#243 by @briantkelleyPBXFileElement.wrapsLines
property tuist#244 by @briantkelleyPBXFileReference
languageSpecificationIdentifier
andplistStructureDefinitionIdentifier
properties tuist#244 by @briantkelley
- Support for
XCConfig
project-relative includes tuist#238 by @briantkelley - Migrated
PBXProject.projectRoot
toPBXProject.projectRoots
tuist#242 by @briantkelley - Moved
PBXFileElement.includeInIndex
andPBXGroup
'susesTabs
,indentWidth
, andtabWidth
properties toPBXFileElement
tuist#244 by @briantkelley PBXContainerItem
super class ofPBXFileElement
tuist#244 by @briantkelleyPBXVariantGroup
andXCVersionGroup
now inherit fromPBXGroup
tuist#244 by @briantkelley
PBXObject.isEqual(to:)
overrides correctly call super tuist#239 by @briantkelleyPBXAggregateTarget
does not writebuildRules
tuist#241 by @briantkelley- Writes showEnvVarsInLog only when false tuist#240 by @briantkelley
- Writes
PBXProject.projectReferences
to the plist tuist#242 by @briantkelley - Comment generation for
PBXProject
,PBXTarget
, andPBXVariantGroup
tuist#243 by @briantkelley fullPath
now returns the path for a file inside a group without a folder tuist#246 by @ileitch- Quotes strings containing a triple underscore or double forward slash in .pbxproj file tuist#245 by @briantkelley
- Added
tvOS
andwatchOS
Carthage support tuist#232 by @yonaskolb - Added support for scheme environment variables tuist#227 by @turekj
- Fixed PBXObject sublasses from checking Equatable properly tuist#224 by @yonaskolb
- Fix Carthage support tuist#226 by @ileitch
- Fix adding file reference to bundle and package files tuist#234 by @fuzza
- Fix adding PBXGroup without folder reference tuist#235 by @fuzza
- Fixed some more diffs from Xcode tuist#233 by @yonaskolb
- Carthage minimum Deployment Target tuist#229 by @olbrichj
- Added support for scheme pre-actions and post-actions tuist#217 by @kastiglione
- Breaking: Changed the return type of some helper functions that create or fetch PBXObjects to be
ObjectReference
, which includes the reference as well as the object tuist#218 by @yonaskolb - Breaking: Changed some
Int
properties intoBool
orUInt
tuist#221 by @yonaskolb - Changed the writing of some properties to minimise diffs when opening projects in Xcode tuist#220 by @yonaskolb
- Fix Xcode 9.2 warning tuist#209 by @keith
- macOS CLI targets now have a nil extension, instead of an empty string tuist#208 by @keith
- Fix unnecessary quotations in CommentedString tuist#211 by @allu22
- Fixed xml files format not matching Xcode format, added some missing actions attributes. tuist#216 by @ilyapuchka
- Breaking:
XCWorkspace.Data
renamed toXCWorkspaceData
and removedreferences
. - Improved README examples. tuist#212 by @ilyapuchka
- Added methods to get paths to workspace, project and breakpoints and shemes files, added public methods to write them separatery. tuist#215 by @ilyapuchka
- Added helper methods for adding source file to the project. tuist#213 by @ilyapuchka
- Deterministic reference generation tuist#185 by @pepibumur
- Breaking Change
Referenceable
protocol tuist#185 by @pepibumur. - Breaking Change Deprecated methods to access objects from the
PBXProj
. Developers should use thePBXProj.objects
property instead. tuist#185 by @pepibumur.
- Breaking:
PBXSourceTree
no longer has raw values and gained an associated value case to support custom locations tuist#198 by @briantkelley
- Breaking: The
buildableProductRunnable
property onXCScheme.LaunchAction
andXCScheme.ProfileAction
is now optional. Similarly,macroExpansion
onXCScheme.TestAction
is also optional. tuist#194 by @briantkelley - The
XCScheme
initialization from an XML file has been relaxed, better matching Xcode's behavior. Default values will be used if the XML file is missing the relevant element or attribute. tuist#194 by @briantkelley
- If you were using objects getters in
PBXProj
you should use the getters inPBXProj.objects
instead. - Objects don't include a
reference
property anymore. Objects associated references are the keys in the dictionary that contains them. - When objects are added to the
PBXProj.objects
collection a reference needs to be passed. The reference can be calculated using the functionPBXProj.objects.generateReference
that generates a unique and deterministic reference based on the given object and identifier. - If you were using
buildableProductRunnable
andmacroExpansion
properties fromXCScheme
actions they are now optionals.
- Optimised performance of object lookups tuist#191 by @kastiglione
- Add breakpoint
condition
parameter by @alexruperez. - Support Xcode Extension product type tuist#190 by @briantkelley
- Support for the legacy Build Carbon Resources build phase tuist#196 by @briantkelley
- Support for custom build rules by tuist#197 @briantkelley
- Optimised escaping of CommentedString tuist#195 by @kastiglione
- Optimised performance of object lookups tuist#191 by @kastiglione
- fixed PBXLegacyTarget write order tuist#199 by @kastiglione
- fixed comment generation of PBXBuildFiles without a name tuist#203 by @briantkelley
- fixed PBXReferenceTarget encoding in pbxproj file tuist#202 by @briantkelley
- Support more indentation options on PBXGroups tuist#168 by @bkase.
- Support
PBXLegacyTarget
tuist#171 by @bkase. - Breakpoint support through
XCBreakpointList
. tuist#172 by @alexruperez - Add convenience method to find targets with a given name tuist#184 by @pepibumur.
- Danger plugin that fails earlier if files have been added/deleted and the Carthage project hasn't been regenerated afterwards tuist#187 by @pepibumur.
- Fix encoded line breaks in PBXFileReference tuist#177 by @yonaskolb
- PBXLegacyTarget support tuist#171 by @bkase
- Integration tests tuist#168 by @pepibumur
- More examples to the README tuist#116 by @pepibumur.
- Add adding / editing command line arguments for Launch, Test and Profile Actions in
XCScheme
. tuist#167 by @rahul-malik - Test the contract with XcodeGen tuist#170 by @pepibumur
- Add
PBXProj.Objects.getFileElement
tuist#175 by @yonaskolb
PBXGroup
not generating the comment properly for its children tuist#169 by @pepibumur.- Make
PBXFileElement
a superclass forPBXFileReference
,PBXGroup
, andPBXVariantGroup
tuist#173 by @gubikmic - Added
path
toPBXVariantGroup
init tuist#174 by @yonaskolb
- Add
codeCoverageEnabled
parameter toTestAction
tuist#166 by @kastiglione - Make
final
classes that are not extendible tuist#164 by @pepibumur.
- Fix
PBXProject
productRefGroup
comment tuist#161 by @allu22 - Fix deprecation warnings for
PBXProj
objects usage tuist#162 by @rahul-malik
- Danger integration tuist#158 by @pepibumur
- Improve efficiency of looking up
PBXObject
's fromPBXProj
tuist#136 by @rahul-malik
PBXObject
objects accessors https://github.com/xcodeswift/xcproj/pull/136/files#diff-f4369d9af58a6914f0e5cdf81ed18530R6 by @rahul-malik.
- Fix
PBXBuildFile
wrongly defaulting the settings attribute when it was nil tuist#149 by @allu22 - Fix
PBXTarget
generating the wrong comment for theproductReference
property tuist#151 by @allu22. - Add missing
usesTabs
property toPBXGroup
tuist#147 by @allu22. - Fix generated comment for
PBXHeadersBuildPhase
by @allu22. - Fix wrong
BuidlSettings.swift
file name tuist#146 by @allu22. - Fix
projectReferences
type tuist#135 by @solgar.
- Add
PBXSourceTree.developerDir
type https://github.com/xcodeswift/xcproj/commit/5504fcde00bc56cf6c240ecd7cc36c05296861f8 by @pepibumur.
- Fix
PBXShellScriptBuildPhase
bug decodingshowEnvVarsInLog
https://github.com/xcodeswift/xcproj/commit/521b4e62b70f5fc43a06d00c43916d4899138553 by @pepibumur. - Fix
PBXFileReference
bug decodinguseTabs
https://github.com/xcodeswift/xcproj/commit/c533987496959a3e32c0ddfe45a0f2db8d5daae0 by @pepibumur. - Fix
PBXFileReference
bug decodinglineEnding
https://github.com/xcodeswift/xcproj/commit/8a2c94effbe94859a68d58e0c49d66156ba1eaea by @pepibumur.
- Build phase
buildActionMask
wrong default value tuist#131 by @pepibumur.
- It supports now SPM-generated projects tuist#124 by @pepibumur. Thanks @josefdolezal for the report.
- Project and workspace initializer that takes the path as a string tuist#123 by @pepibumur.
- Fix the decoding of the
PBXFileReference.fileEncoding
property tuist#127 by @gubikmic. - Fix some wrong comments and typos tuist#126 by @gubikmic
- Breaking: Review optionality of attributes to align it with Xcode one tuist#107 by @pepibumur.
- Contributing, and code of conduct point to the organization ones by @pepibumur.
- New changelog format introduced by @pepibumur.
- Use the super init to decode reference in some objects tuist#110 by @yonaskolb
- Schemes being shared with an extension tuist#113 by @esttorhe.
- Contributors link in the README.md tuist#117 by @tapanprakasht.
- Add back the
BuildSettings
typelias removed by mistake tuist#109 by @pepibumur. - Fix a bug decoding the
PBXProject.projectRoot
property that should be decoded as an optional tuist#108 by @pepibumur.
- Remove dependency with Unbox and use the language coding/decoding features tuist#99 by @pepibumur and @artemnovichkov.
- Enable xcproj in Open Collective by @pepibumur.
- Support parsing XCVersionGroup objects tuist#96 by @pepibumur.
- Add iOS support to the
.podspec
tuist#92 by @pepibumur. - Fix comment for buildConfigurationList tuist#93 by @toshi0383.
- Update
PBXProj
classes property to be a dictionary tuist#94 by @toshi0383. - Fix comment in the
BuildPhase
object tuist#95 by @toshi0383.
- Turn
PBXVariantGroup
children property into an array tuist#88 by @pepibumur - Add
PBXReferenceProxy
object tuist#85 by @pepibumur - Migrate project to Swift 4 tuist#84 by @artemnovichkov
- Fix build phase script error undoer Xcode 9 tuist#81 by @kixswift
- Update shell build script phase input and output files to be array instead of set tuist#65 by @pepibumur
- Fix wrong comment in the shell script build phase tuist#67 by @ppeibumur
- Fix wron gcomment in
PBXSourcesBuildPhase
files property tuist#68 by @pepibumur - Add
XCVersionGroup
project element used by Core Data models tuist#69 by @pepibumur - Update
XCConcigurationList
build configurations to be an array tuist#70 by @pepibumur
- Update struct to classes and clean up API tuist#51 by @yonaskolb
- Fix and cleanup strings escaping tuist#48 by @yonaskolb
- Add
runOnlyForDeploymentPostprocessing
toPBXShellScriptBuildPhase
by @yonaskolb - Remove force unwrap for
XCScheme
tuist#39 by @Shakarang
- Downgrade Swift Tools versions to 4.0 tuist#27 by @yonaskolb
- Make Scheme intializers public tuist#28 by @yonaskolb
- Change PBXGroup.children to be an array tuist#26 by @yonaskolb
- Make XcodeProj writable tuist#20 by @yonaskolb
- Write baseConfigurationReference tuist#24 by @yonaskolb
- Convert booleans to YES or NO tuist#23 by @yonaskolb
- Make more properties public tuist#19 by @yonaskolb
- Fix an issue with unescaped strings by @yonaskolb tuist#16
- Update Swift Tools Version to 4.0 https://github.com/xcodeswift/xcproj/commit/f0f5ffe58ce0d29bb986189abf6391c6552fd347
- Remove CryptoSwift dependency https://github.com/xcodeswift/xcproj/commit/f0f5ffe58ce0d29bb986189abf6391c6552fd347
- First version of the Swift library.
- It supports reading and parsing the following models:
- xcodeproj.
- xcworkspace.
- pbxproj.
This version doesn't support writing yet