truebit / xUnique

merge Xcode project file is so easy
https://fclef.wordpress.com
Other
1.5k stars 117 forks source link

xUnique stops with error #25

Closed anivaros closed 8 years ago

anivaros commented 8 years ago

Log:

MacBook-Pro-anivaros:~ anivaros$ python -mxUnique -v /Users/anivaros/Dropbox/Programming/iOS/DD/git_dags_mer/MER_1_0/ExecutiveWorkspace.xcodeproj/project.pbxproj Uniquify and Sort uniquify PBXProject uniquify PBX_Group and PBX_Reference* uniquify XCConfigurationList uniquify XCConfiguration uniquify Subprojects uniquify PBXContainerItemProxy uniquify PBX_Target uniquify XCConfiguration uniquify PBXTargetDependency uniquify PBXContainerItemProxy uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify PBX_Target uniquify XCConfiguration uniquify PBXTargetDependency uniquify PBXContainerItemProxy uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify PBX_Target uniquify XCConfiguration uniquify PBXTargetDependency uniquify PBXContainerItemProxy uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify PBX_Target uniquify XCConfiguration uniquify PBXTargetDependency uniquify PBXContainerItemProxy Traceback (most recent call last): File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main "main", fname, loader, pkg_name) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 527, in File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 508, in main File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 152, in unique_project File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 339, in unique_project File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 365, in __unique_target File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 381, in unique_target_dependency File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 393, in __unique_container_item_proxy KeyError: u'3AE310E9195AA1B300E46073'

truebit commented 8 years ago

Could you send me the original pbxproj file to debug via email?

Thanks

— Sent from my mobile phone

On Thu, Nov 5, 2015 at 10:37 PM, Anisimov Vasily notifications@github.com wrote:

Log: MacBook-Pro-anivaros:~ anivaros$ python -mxUnique -v /Users/anivaros/Dropbox/Programming/iOS/DD/git_dags_mer/MER_1_0/ExecutiveWorkspace.xcodeproj/project.pbxproj Uniquify and Sort uniquify PBXProject uniquify PBX_Group and PBX_Reference* uniquify XCConfigurationList uniquify XCConfiguration uniquify Subprojects uniquify PBXContainerItemProxy uniquify PBX_Target uniquify XCConfiguration uniquify PBXTargetDependency uniquify PBXContainerItemProxy uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify PBX_Target uniquify XCConfiguration uniquify PBXTargetDependency uniquify PBXContainerItemProxy uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify PBX_Target uniquify XCConfiguration uniquify PBXTargetDependency uniquify PBXContainerItemProxy uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify all kinds of PBX_BuildPhase uniquify PBXBuildFile uniquify PBX_Target uniquify XCConfiguration uniquify PBXTargetDependency uniquify PBXContainerItemProxy Traceback (most recent call last): File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main "main", fname, loader, pkg_name) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 527, in File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 508, in main File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 152, in unique_project File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 339, in unique_project File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 365, in __unique_target File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 381, in unique_target_dependency File "build/bdist.macosx-10.11-intel/egg/xUnique.py", line 393, in __unique_container_item_proxy

KeyError: u'3AE310E9195AA1B300E46073'

Reply to this email directly or view it on GitHub: https://github.com/truebit/xUnique/issues/25

anivaros commented 8 years ago

Give me your email pls.

truebit commented 8 years ago

You should see it in license file or the code header

— Sent from my mobile phone

On Sat, Nov 7, 2015 at 3:58 AM, Anisimov Vasily notifications@github.com wrote:

Give me your email pls.

Reply to this email directly or view it on GitHub: https://github.com/truebit/xUnique/issues/25#issuecomment-154516459

truebit commented 8 years ago

Sorry for the late response. I'm kind of busy these days. I have located the issue. This is all due to your erroneous project.pbxproj file: Your DigDes.Components.BaseLib.xcodeproj project does not exists any more, but some of its children PBXTargetDependency( and its child PBXContainerItemProxy) still exists. That made xunique throw error.

I have partly fixed the error by adding warning output to ask for removing some reduntant sections manually. Currently xunique cannot do that automatically. this is the restrictions of how xunique works: only remove one line when the UUID is not needed.

In this case, unused PBXTargetDependencyand its child PBXContainerItemProxy also contains other entries in their sections. So below sections needs to be purged:

F154A5DF48FE82A129606A8C489E2AA2 /* PBXTargetDependency */ = {
    isa = PBXTargetDependency;
    name = DigDes.Components.BaseLib;
    targetProxy = EF97FB8FE5C76FD2C148A3893EA32C32 /* PBXContainerItemProxy */;
};

and

EF97FB8FE5C76FD2C148A3893EA32C32 /* PBXContainerItemProxy */ = {
    isa = PBXContainerItemProxy;
    proxyType = 1;
    remoteInfo = DigDes.Components.BaseLib;
};

Although xunique is ok with above erroneous sections, I do not know whether Xcode could open this new project file if you do not remove above sections. Please give a try with the latest xUnique.py in master branch, and let me know the result. Thanks!

truebit commented 8 years ago

Please reopen this issue if Xcode cannot open the xuniqued project file.

truebit commented 8 years ago

13 was similar with this issue here. xunique would remove some lines but not the entire sections