Skip to content

Releases: truebit/xUnique

Python3 support

07 Apr 08:24
Compare
Choose a tag to compare

Fixed bugs and new features:

  • #25 adding warning output to ask for removing reduntant sections manually; before only the line with unused uuid would be removed, that will make project file cannot open.
  • #28 add Python 3 compatibility

Thanks @heni for the python3 support contribution

add cli command support

06 Sep 14:54
Compare
Choose a tag to compare

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

04 Mar 02:50
Compare
Choose a tag to compare

fixes #18: make CopyFiles and ShellScript build phase more unique

Change rule of generating MD5

16 Jan 12:49
Compare
Choose a tag to compare

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 an isa type and []

Now available in PyPI

26 Nov 15:10
Compare
Choose a tag to compare

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

06 Sep 18:15
Compare
Choose a tag to compare

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: Sort PBXFileReference and PBXBuildFile 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.
  • New features:
    • now xUnique will also remove duplicate items in PBXBuildFile, PBXFileReference, children and files
    • 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.
  • Bug fix:
    • Fix bug #2
    • Fix bug #3
    • Fix bug #4
    • Fix bug #5
    • Fix bug #6
    • Fix bug #7
    • Fix bug #8
    • Fix bug #9
    • Fix bug #10
    • Fix bug #11
    • As Mac OS X is only case preserving, now use PBXProject name found in project file as the root node path. Do not use xcodeproj name from file path any more.

Accurate root node path

18 Aug 05:09
Compare
Choose a tag to compare
Pre-release
  • 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 found PBXProject name.
  • 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

06 Aug 15:25
Compare
Choose a tag to compare

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

04 Aug 07:53
Compare
Choose a tag to compare
Bug Fix Pre-release
Pre-release
  • Fix UnicodeDecodeError: 'ascii' codec can't decode byte error
  • add more check on input encoding

Pure Python now!

03 Aug 04:45
Compare
Choose a tag to compare

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 and PBXBuildFile section
    • avoid create new project file if no changes made, makes the Git/SVN hook more quiet