Releases: truebit/xUnique
Python3 support
add cli command support
Now you can use xUnique in terminal directly like xunique -h
, no more python prefixes.
Fixed bugs and new features:
- #21 add command line script in PATH, so you can use
xunique
as a common command in terminal. - #19 add advices for Cocoapods users
- #22 fixes typos in README
- #22 fixes pep8 style issues in xUnique
Thanks @schwa for the contributions in #21 #22
Thanks @Julyyq for the suggestions in #19
minor update: CopyFilesBuildPhase and ShellScriptBuildPhase is now more unique
fixes #18: make CopyFiles and ShellScript build phase more unique
Change rule of generating MD5
Change the way of generating MD5:
This will make all MD5 in your project file change! so if you collaborate with others in vcs, make sure that you all update to 4.1.0 via pip install --upgrade xUnique
Fixed bugs and new features:
- add more versbose output in
-v
mode - refactored MD5 generating rule, changed
path
generating method: now it is surrounded with anisa
type and[]
Now available in PyPI
Now I have uploaded xUnique to PyPI.
You can install it with one command: pip install xUnique
, and then use it via python2 -mxUnique [options] path_to_xcodeproj/or_pbxproj
Fixed bugs and new features:
- find one missing
isa
type:PBXBuildRule
and add support for it - remove unused children in reference and group type
- print out removed lines when uniquifying and sorting
- change README format to reStructedText
- add support for PyPi
and I have already uploaded this new version to PyPI
First Production release
This is the first production release that can be used in production environment.
This version is now used in ongoing Taobao Trip v5 version of Alibaba Trip BU . The project consists of ~25 Xcode sub-projects. And now xUnique works like a charm in the whole project.
Cheers to all the developers in Alibaba Trip iOS Developer team to gave suggestions and send bugged project file to help improving xUnique.
New features
- Two new argument options:
- add
-c
option: When project file was modified, xUnique quit with non-zero status. Without this option, the status code would be zero if so. This option is usually used in Git hook to submit xUnique result combined with your original new commit. - add
-p
option: SortPBXFileReference
andPBXBuildFile
sections in project file ordered by file names. before v4.0.0,it was default in-s
option and cannot be turned off. Now, without this option, xUnique will sort these two types by MD5 digests, the same as Xcode does.
- add
- New features:
- now xUnique will also remove duplicate items in
PBXBuildFile
,PBXFileReference
,children
andfiles
- colorful xUnique output:
- RED: fatal error
- YELLOW: warning
- GREEN: pass
- add more output when xUnique modified project file
- rewrote
how to use
section in README: now added a recommended method to use xUnique, with a gif animation demo.
- now xUnique will also remove duplicate items in
- Bug fix:
Accurate root node path
- As I reveiced an one-time, non-reproducible bug, that the root node path (xcodeproj dir name) was not correct; now I got the root node path found from pbxproj file instead of path name of xcodeproj dir.
- It is backward compatible that there is a suffix
.xcodeproj
added to the foundPBXProject
name.
- It is backward compatible that there is a suffix
- Other polishings:
- corrected wrong pre-push hook script in README
- add two new supported types in README, xUnique could handle them without new code
- add more verbose output and xUnique would generate a result json file in verbose mode (using
-v
) - make path name clear in source code
Refactor code to support using part of xUnique
Refactored code, new features below:
- now support separately execute part of xUnique functions by using different options in arguments:
- unique the project file, a.k.a convert UUID to MD5 digest
- sort the project file, no matter the project is original UUID type or uniquified type by xUnique
- added verbose print switch, default is off. turn it on by add
-v
in arguments
See README file for more details
Bug Fix
Pure Python now!
Feature:
- Using pure Python to sort project file, removed nasty perl script download/execute process. This sort function is similar with
sort-Xcode-Project-file
with two new features:- support to sort
PBXFileReference
andPBXBuildFile
section - avoid create new project file if no changes made, makes the Git/SVN hook more quiet
- support to sort