From c88c2bb7e59227ca9cf7e08ae84b989f1b4a6a5b Mon Sep 17 00:00:00 2001 From: DieSkim Date: Mon, 23 Feb 2015 09:38:09 +0700 Subject: [PATCH] Added 64Bit Support + Album artwork Pull Request --- .project | 17 + CHANGELOG.md | 8 + TiRemoteControl.xcodeproj/project.pbxproj | 61 +-- .../xcshareddata/TiRemoteControl.xccheckout | 41 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 12460 bytes .../WorkspaceSettings.xcsettings | 10 + .../xcschemes/Build & Test.xcscheme | 77 ++++ .../xcschemes/TiRemoteControl.xcscheme | 77 ++++ .../xcschemes/xcschememanagement.plist | 32 ++ build.py | 390 ++++++++++-------- manifest | 7 +- net.hoyohoyo.tiremotecontrol-iphone-0.1.2.zip | Bin 0 -> 63050 bytes titanium.xcconfig | 10 +- 13 files changed, 509 insertions(+), 221 deletions(-) create mode 100644 .project create mode 100644 TiRemoteControl.xcodeproj/project.xcworkspace/xcshareddata/TiRemoteControl.xccheckout create mode 100644 TiRemoteControl.xcodeproj/project.xcworkspace/xcuserdata/dieskim.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 TiRemoteControl.xcodeproj/project.xcworkspace/xcuserdata/dieskim.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/Build & Test.xcscheme create mode 100644 TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/TiRemoteControl.xcscheme create mode 100644 TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 net.hoyohoyo.tiremotecontrol-iphone-0.1.2.zip diff --git a/.project b/.project new file mode 100644 index 0000000..a91e726 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + TiRemoteControl + + + + + + com.appcelerator.titanium.core.builder + + + + + + com.appcelerator.titanium.mobile.module.nature + + diff --git a/CHANGELOG.md b/CHANGELOG.md index 64fa233..180bd1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ 0.1 (10 March 2013) ---- - First release. + +0.1.1 (Jan 2015) +---- +- Added ability to set albumArtwork via URL for lockscreen info (@kossso) + +0.1.2 (Feb 2015) +---- +- Added 64Bit Support (@dieskim) \ No newline at end of file diff --git a/TiRemoteControl.xcodeproj/project.pbxproj b/TiRemoteControl.xcodeproj/project.pbxproj index 500dc3b..dfad9a9 100644 --- a/TiRemoteControl.xcodeproj/project.pbxproj +++ b/TiRemoteControl.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 45; + objectVersion = 46; objects = { /* Begin PBXAggregateTarget section */ @@ -152,8 +152,11 @@ /* Begin PBXProject section */ 0867D690FE84028FC02AAC07 /* Project object */ = { isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + }; buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "TiRemoteControl" */; - compatibilityVersion = "Xcode 3.1"; + compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( @@ -214,15 +217,8 @@ isa = XCBuildConfiguration; baseConfigurationReference = 24DD6D1B1134B66800162E58 /* titanium.xcconfig */; buildSettings = { - ARCHS = ( - armv6, - armv7, - ); - "ARCHS[sdk=iphoneos*]" = ( - armv6, - armv7, - ); - "ARCHS[sdk=iphonesimulator*]" = i386; + "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DSTROOT = /tmp/NetHoyohoyoTiremotecontrol.dst; @@ -231,6 +227,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = NetHoyohoyoTiremotecontrol_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = "TI_VERSION=$(TI_VERSION)"; + GCC_THUMB_SUPPORT = NO; GCC_TREAT_WARNINGS_AS_ERRORS = NO; GCC_VERSION = ""; GCC_WARN_ABOUT_RETURN_TYPE = NO; @@ -242,6 +239,7 @@ GCC_WARN_UNUSED_VALUE = NO; GCC_WARN_UNUSED_VARIABLE = NO; INSTALL_PATH = /usr/local/lib; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ""; OTHER_CFLAGS = ( "-DDEBUG", @@ -262,21 +260,15 @@ baseConfigurationReference = 24DD6D1B1134B66800162E58 /* titanium.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - armv6, - armv7, - ); - "ARCHS[sdk=iphoneos*]" = ( - armv6, - armv7, - ); - "ARCHS[sdk=iphonesimulator*]" = i386; + "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; DSTROOT = /tmp/NetHoyohoyoTiremotecontrol.dst; GCC_C_LANGUAGE_STANDARD = c99; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = NetHoyohoyoTiremotecontrol_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = "TI_VERSION=$(TI_VERSION)"; + GCC_THUMB_SUPPORT = NO; GCC_TREAT_WARNINGS_AS_ERRORS = NO; GCC_VERSION = ""; GCC_WARN_ABOUT_RETURN_TYPE = NO; @@ -288,7 +280,7 @@ GCC_WARN_UNUSED_VALUE = NO; GCC_WARN_UNUSED_VARIABLE = NO; INSTALL_PATH = /usr/local/lib; - IPHONEOS_DEPLOYMENT_TARGET = 4.0; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ""; OTHER_CFLAGS = "-DTI_POST_1_2"; OTHER_LDFLAGS = "-ObjC"; @@ -303,15 +295,8 @@ isa = XCBuildConfiguration; baseConfigurationReference = 24DD6D1B1134B66800162E58 /* titanium.xcconfig */; buildSettings = { - ARCHS = ( - armv6, - armv7, - ); - "ARCHS[sdk=iphoneos*]" = ( - armv6, - armv7, - ); - "ARCHS[sdk=iphonesimulator*]" = i386; + "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DSTROOT = /tmp/NetHoyohoyoTiremotecontrol.dst; @@ -320,6 +305,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = NetHoyohoyoTiremotecontrol_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = "TI_VERSION=$(TI_VERSION)"; + GCC_THUMB_SUPPORT = NO; GCC_TREAT_WARNINGS_AS_ERRORS = NO; GCC_VERSION = ""; GCC_WARN_ABOUT_RETURN_TYPE = NO; @@ -331,6 +317,7 @@ GCC_WARN_UNUSED_VALUE = NO; GCC_WARN_UNUSED_VARIABLE = NO; INSTALL_PATH = /usr/local/lib; + ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "-DDEBUG", "-DTI_POST_1_2", @@ -350,21 +337,15 @@ baseConfigurationReference = 24DD6D1B1134B66800162E58 /* titanium.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - armv6, - armv7, - ); - "ARCHS[sdk=iphoneos*]" = ( - armv6, - armv7, - ); - "ARCHS[sdk=iphonesimulator*]" = i386; + "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; DSTROOT = /tmp/NetHoyohoyoTiremotecontrol.dst; GCC_C_LANGUAGE_STANDARD = c99; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = NetHoyohoyoTiremotecontrol_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = "TI_VERSION=$(TI_VERSION)"; + GCC_THUMB_SUPPORT = NO; GCC_TREAT_WARNINGS_AS_ERRORS = NO; GCC_VERSION = ""; GCC_WARN_ABOUT_RETURN_TYPE = NO; @@ -393,6 +374,7 @@ COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; + GCC_THUMB_SUPPORT = NO; PRODUCT_NAME = "Build & test"; }; name = Debug; @@ -404,6 +386,7 @@ COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_THUMB_SUPPORT = NO; PRODUCT_NAME = "Build & test"; ZERO_LINK = NO; }; diff --git a/TiRemoteControl.xcodeproj/project.xcworkspace/xcshareddata/TiRemoteControl.xccheckout b/TiRemoteControl.xcodeproj/project.xcworkspace/xcshareddata/TiRemoteControl.xccheckout new file mode 100644 index 0000000..6a8e7c4 --- /dev/null +++ b/TiRemoteControl.xcodeproj/project.xcworkspace/xcshareddata/TiRemoteControl.xccheckout @@ -0,0 +1,41 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + 10F364D0-04FB-4C46-B7F4-180176A34CF7 + IDESourceControlProjectName + TiRemoteControl + IDESourceControlProjectOriginsDictionary + + CF20B38E31DF4D3826605417FE53318DF8EEE855 + https://github.com/dieskim/TiRemoteControl.git + + IDESourceControlProjectPath + TiRemoteControl.xcodeproj + IDESourceControlProjectRelativeInstallPathDictionary + + CF20B38E31DF4D3826605417FE53318DF8EEE855 + ../.. + + IDESourceControlProjectURL + https://github.com/dieskim/TiRemoteControl.git + IDESourceControlProjectVersion + 111 + IDESourceControlProjectWCCIdentifier + CF20B38E31DF4D3826605417FE53318DF8EEE855 + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + CF20B38E31DF4D3826605417FE53318DF8EEE855 + IDESourceControlWCCName + TiRemoteControl + + + + diff --git a/TiRemoteControl.xcodeproj/project.xcworkspace/xcuserdata/dieskim.xcuserdatad/UserInterfaceState.xcuserstate b/TiRemoteControl.xcodeproj/project.xcworkspace/xcuserdata/dieskim.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..6eead7652a7ed2962c341aa0c86f11565ece0454 GIT binary patch literal 12460 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 A(jk-5pszZj5C4Kd;AA;ch&g{6e$*U#}co{iD2| z=dGFX<|V&%s^cs?_exnjZpHIrS^V!|sOn7Pd5Ymk%8M7{>+uqN173=k;T!RCd=p-Q zZ^kR}E%;V^8@?Uifmh)>@m+W|zMK3({v;Q|5QHJEzM(M0VJHa0gfJ9_p(qR!!%!TC zk}#Bpp)3sLVWT@qTni2?s@LW>_^qyA|^iyvd?f0xkWC)k+3PiXP>%j4n%@-)N!vxF8u%dl5U zXz?zF_}hdQ|Cho3RYHsR{FU-05?cHUgZ-m~7QfD*|0bcuZ?O@7m(b#O80udnwD>(X zAYLagnb6{c40xr47JtYPf1A+aj~VR$PC|=6i6pd9Yxo&HN?-cnBVm}_hL43|3cXN3 zT{kPa@ztuo7Ad1czr^Q&ax?x4pTu9|Q}{GKgU{k`@V8;83B$B7)P`Yt80x}MABGuW zXb3~&X8awykOM6ENBk518UF&PUo}xrOFe5Cn#0f%hSo65q%G$9P^3ifu#Xz&2^Keb zrtx=IQut;&eM8XTE)9{+^e$IY< zYCTnqbUpvozelf#HxNj{q&6U@cbce?rh%TI8+~R@nq)>wkhB2cZsg-mci=sNT97;@ z5|R)|uLh>k>rq$Jt389jP?|HXK@ZW3Y0skF^itYu^jg|G=v}m*UQPRrUO_X^t7pCF zwX=SB03Jjyo(;jn@M!FySI@@cdg^N@((7j~+<-UW?f64{USJm31(OBy1vd)r6FeYT zD`*p}7i<)45^NScDtJt=Td+s)vfx$0>w-50ZwuZLyerr*I4C%i01{*g*CtdZEK0aN zVO_%G2~Q+!OW2$6al)qwpCueiIG%7K;a4FRCJH4&nNT527aE0Tp;g#jc(pJ`*i$%I zSS1`S94BlLdWCa@ON7gXcL>)CHwYgRJ}i7pxK+4KxLvqQ_=@nL@R0Cx;b{>PiA5q8*}VM9+$z6TKsPSF~Sr zQ1pT5BhkmAPeg}BM?}X&eSGiF*=XPTZULapKX$ zFB88_JePPr@%O|(5-*4o#bU8ktQIGWQ^i(szPPuzueiT>p!gc`VDU(CnYcn+C9W3N zh-<}lVxM@Gc#rs~_`C#2up~i}D3M5Hk_^e!k{*&ANl(eOlA)3UiCt1686g=Xsg;bC z)Jy!5g%ToJEV)6lOtM_ET5`AK9?89uO_E0>TO?a0+a%j1yCg43UXi>ec|-D+9x`!(qU4Ebb|Cn z={wS+($A$|NWYYxl%A5Fk$xjRCp|9{$`WM~nM|gTaWbV$ElZJUWLjB{tVC8Ln<<+u zyIHnX_LA%!*&*3s*%8_2vM*#`%Dc&Ra)aC?x5{nuY3RDUK^nD85pBtvKCH*KK&W+1)mF zd%xScZhvx+!<>*yWw~SlP zt>9L2tGOq+=eQTR-P|7T0QV{PC3l|tf%}R3h5IdOdeW?RcI@LJU1l1(fWYrW^qiU*Zx@v~1N##}fRRL8WJ#3>XcfdR;iQKebj^1L)8=2Q`OVetJL?a zA5_1nepCIn`Umx&$sk#uY)j5gE>5mUu1cPjJTG}c@~Y(flOIgpnfy}nE6Hb)e@y;4 zMV+EgF{BJl8IdwFWmd|(lm#hwr>sk9PkBA%y_5qf=Td%6`8`#Ys!PpC9h6#>TAX@g z>g}m_q~4jjI(2R8hSbMW_og09{az!{q-wMpoyMRsX)Kx%nhH&WX13-A%{`i@G*4^( zquHt1rFlW~n&x%Qo0(j@lPfVYmeoy*y=?Bw~rXNo~k$y7$RQeem z)G2gHI+ZR(r_pJ37G1XPDqRm3`Ax zrvF2KAw!*!lA+1aX6Q09GO{v;WfW%EGfFZ>WQ@+J$*9e!%W!3^$ha+IXU0nzCo|3( z)P`P$YYamS!wiLnO2ZUGqhYFHx?zT)$>25k4FN;Qu*|UBu)?s?aGPP3VYOk6;XcCy zhP8&L4F?Qo48Izaj27b%W1Z1wTwuJ;7&b03E;Zh0yvulx@m}Kt#&7x(;^cwZ8W`TdegMmw9oXO>9FaP>5Sc?5(+{Sf%mTB} zEH+Eca&tFxl38WenMaw+&6VcS<{I-@^EmTF^JH^_d8*lCZZiAK0dtFau6e$BkvVK$ zVqRvx$$Yc-TZRc#~Z9mw4vi)lNBMW5Vtb{C4R#KKO zt8Z38R$W$e*5a&tv$kiwo-NMivQx87*;i%fWcSR@&mNRLID2SzLAE2iE_+g>z{Xx* PM*ajT{CD&-d-DGQSA@_y literal 0 HcmV?d00001 diff --git a/TiRemoteControl.xcodeproj/project.xcworkspace/xcuserdata/dieskim.xcuserdatad/WorkspaceSettings.xcsettings b/TiRemoteControl.xcodeproj/project.xcworkspace/xcuserdata/dieskim.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..659c876 --- /dev/null +++ b/TiRemoteControl.xcodeproj/project.xcworkspace/xcuserdata/dieskim.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,10 @@ + + + + + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/Build & Test.xcscheme b/TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/Build & Test.xcscheme new file mode 100644 index 0000000..4c3fcf5 --- /dev/null +++ b/TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/Build & Test.xcscheme @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/TiRemoteControl.xcscheme b/TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/TiRemoteControl.xcscheme new file mode 100644 index 0000000..3aa504b --- /dev/null +++ b/TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/TiRemoteControl.xcscheme @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/xcschememanagement.plist b/TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..736b2e4 --- /dev/null +++ b/TiRemoteControl.xcodeproj/xcuserdata/dieskim.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,32 @@ + + + + + SchemeUserState + + Build & Test.xcscheme + + orderHint + 1 + + TiRemoteControl.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 24416B8111C4CA220047AFDD + + primary + + + D2AAC07D0554694100DB518D + + primary + + + + + diff --git a/build.py b/build.py index ed2071d..4f91056 100755 --- a/build.py +++ b/build.py @@ -9,215 +9,257 @@ cwd = os.path.abspath(os.path.dirname(sys._getframe(0).f_code.co_filename)) os.chdir(cwd) -required_module_keys = ['name','version','moduleid','description','copyright','license','copyright','platform','minsdk'] +required_module_keys = ['architectures','name','version','moduleid','description','copyright','license','copyright','platform','minsdk'] module_defaults = { - 'description':'My module', - 'author': 'Your Name', - 'license' : 'Specify your license', - 'copyright' : 'Copyright (c) %s by Your Company' % str(date.today().year), + 'description':'My module', + 'author': 'Your Name', + 'license' : 'Specify your license', + 'copyright' : 'Copyright (c) %s by Your Company' % str(date.today().year), } module_license_default = "TODO: place your license here and we'll include it in the module distribution" def find_sdk(config): - sdk = config['TITANIUM_SDK'] - return os.path.expandvars(os.path.expanduser(sdk)) + sdk = config['TITANIUM_SDK'] + return os.path.expandvars(os.path.expanduser(sdk)) def replace_vars(config,token): - idx = token.find('$(') - while idx != -1: - idx2 = token.find(')',idx+2) - if idx2 == -1: break - key = token[idx+2:idx2] - if not config.has_key(key): break - token = token.replace('$(%s)' % key, config[key]) - idx = token.find('$(') - return token + idx = token.find('$(') + while idx != -1: + idx2 = token.find(')',idx+2) + if idx2 == -1: break + key = token[idx+2:idx2] + if not config.has_key(key): break + token = token.replace('$(%s)' % key, config[key]) + idx = token.find('$(') + return token def read_ti_xcconfig(): - contents = open(os.path.join(cwd,'titanium.xcconfig')).read() - config = {} - for line in contents.splitlines(False): - line = line.strip() - if line[0:2]=='//': continue - idx = line.find('=') - if idx > 0: - key = line[0:idx].strip() - value = line[idx+1:].strip() - config[key] = replace_vars(config,value) - return config + contents = open(os.path.join(cwd,'titanium.xcconfig')).read() + config = {} + for line in contents.splitlines(False): + line = line.strip() + if line[0:2]=='//': continue + idx = line.find('=') + if idx > 0: + key = line[0:idx].strip() + value = line[idx+1:].strip() + config[key] = replace_vars(config,value) + return config def generate_doc(config): - docdir = os.path.join(cwd,'documentation') - if not os.path.exists(docdir): - print "Couldn't find documentation file at: %s" % docdir - return None - - try: - import markdown2 as markdown - except ImportError: - import markdown - documentation = [] - for file in os.listdir(docdir): - if file in ignoreFiles or os.path.isdir(os.path.join(docdir, file)): - continue - md = open(os.path.join(docdir,file)).read() - html = markdown.markdown(md) - documentation.append({file:html}); - return documentation + docdir = os.path.join(cwd,'documentation') + if not os.path.exists(docdir): + docdir = os.path.join(cwd,'..','documentation') + if not os.path.exists(docdir): + print "Couldn't find documentation file at: %s" % docdir + return None + + try: + import markdown2 as markdown + except ImportError: + import markdown + documentation = [] + for file in os.listdir(docdir): + if file in ignoreFiles or os.path.isdir(os.path.join(docdir, file)): + continue + md = open(os.path.join(docdir,file)).read() + html = markdown.markdown(md) + documentation.append({file:html}); + return documentation def compile_js(manifest,config): - js_file = os.path.join(cwd,'assets','net.hoyohoyo.tiremotecontrol.js') - if not os.path.exists(js_file): return - - from compiler import Compiler - try: - import json - except: - import simplejson as json - - compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs') - root_asset, module_assets = compiler.compile_module() - - root_asset_content = """ + js_file = os.path.join(cwd,'assets','net.hoyohoyo.tiremotecontrol.js') + if not os.path.exists(js_file): + js_file = os.path.join(cwd,'..','assets','net.hoyohoyo.tiremotecontrol.js') + if not os.path.exists(js_file): return + from compiler import Compiler + try: + import json + except: + import simplejson as json + + compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs') + root_asset, module_assets = compiler.compile_module() + + root_asset_content = """ %s - - return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]); + + return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]); """ % root_asset - - module_asset_content = """ + + module_asset_content = """ %s - - NSNumber *index = [map objectForKey:path]; - if (index == nil) { - return nil; - } - return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]); + + NSNumber *index = [map objectForKey:path]; + if (index == nil) { + return nil; + } + return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]); """ % module_assets - - from tools import splice_code - - assets_router = os.path.join(cwd,'Classes','NetHoyohoyoTiremotecontrolModuleAssets.m') - splice_code(assets_router, 'asset', root_asset_content) - splice_code(assets_router, 'resolve_asset', module_asset_content) - - # Generate the exports after crawling all of the available JS source - exports = open('metadata.json','w') - json.dump({'exports':compiler.exports }, exports) - exports.close() + + from tools import splice_code + + assets_router = os.path.join(cwd,'Classes','NetHoyohoyoTiremotecontrolModuleAssets.m') + splice_code(assets_router, 'asset', root_asset_content) + splice_code(assets_router, 'resolve_asset', module_asset_content) + + # Generate the exports after crawling all of the available JS source + exports = open('metadata.json','w') + json.dump({'exports':compiler.exports }, exports) + exports.close() def die(msg): - print msg - sys.exit(1) + print msg + sys.exit(1) def warn(msg): - print "[WARN] %s" % msg + print "[WARN] %s" % msg def validate_license(): - c = open(os.path.join(cwd,'LICENSE')).read() - if c.find(module_license_default)!=-1: - warn('please update the LICENSE file with your license text before distributing') + license_file = os.path.join(cwd,'LICENSE') + if not os.path.exists(license_file): + license_file = os.path.join(cwd,'..','LICENSE') + if os.path.exists(license_file): + c = open(license_file).read() + if c.find(module_license_default)!=-1: + warn('please update the LICENSE file with your license text before distributing') def validate_manifest(): - path = os.path.join(cwd,'manifest') - f = open(path) - if not os.path.exists(path): die("missing %s" % path) - manifest = {} - for line in f.readlines(): - line = line.strip() - if line[0:1]=='#': continue - if line.find(':') < 0: continue - key,value = line.split(':') - manifest[key.strip()]=value.strip() - for key in required_module_keys: - if not manifest.has_key(key): die("missing required manifest key '%s'" % key) - if module_defaults.has_key(key): - defvalue = module_defaults[key] - curvalue = manifest[key] - if curvalue==defvalue: warn("please update the manifest key: '%s' to a non-default value" % key) - return manifest,path - -ignoreFiles = ['.DS_Store','.gitignore','libTitanium.a','titanium.jar','README'] + path = os.path.join(cwd,'manifest') + f = open(path) + if not os.path.exists(path): die("missing %s" % path) + manifest = {} + for line in f.readlines(): + line = line.strip() + if line[0:1]=='#': continue + if line.find(':') < 0: continue + key,value = line.split(':') + manifest[key.strip()]=value.strip() + for key in required_module_keys: + if not manifest.has_key(key): die("missing required manifest key '%s'" % key) + if manifest[key].strip() == '': die("manifest key '%s' missing required value" % key) + if module_defaults.has_key(key): + defvalue = module_defaults[key] + curvalue = manifest[key] + if curvalue==defvalue: warn("please update the manifest key: '%s' to a non-default value" % key) + return manifest,path + +ignoreFiles = ['.DS_Store','.gitignore','libTitanium.a','titanium.jar','README','net.hoyohoyo.tiremotecontrol.js'] ignoreDirs = ['.DS_Store','.svn','.git','CVSROOT'] -def zip_dir(zf,dir,basepath,ignore=[]): - for root, dirs, files in os.walk(dir): - for name in ignoreDirs: - if name in dirs: - dirs.remove(name) # don't visit ignored directories - for file in files: - if file in ignoreFiles: continue - e = os.path.splitext(file) - if len(e) == 2 and e[1] == '.pyc': continue - if len(e) == 2 and e[1] == '.js': continue - from_ = os.path.join(root, file) - to_ = from_.replace(dir, basepath, 1) - zf.write(from_, to_) +def zip_dir(zf,dir,basepath,ignore=[],includeJSFiles=False): + for root, dirs, files in os.walk(dir): + for name in ignoreDirs: + if name in dirs: + dirs.remove(name) # don't visit ignored directories + for file in files: + if file in ignoreFiles: continue + e = os.path.splitext(file) + if len(e) == 2 and e[1] == '.pyc': continue + if not includeJSFiles and len(e) == 2 and e[1] == '.js': continue + from_ = os.path.join(root, file) + to_ = from_.replace(dir, basepath, 1) + zf.write(from_, to_) def glob_libfiles(): - files = [] - for libfile in glob.glob('build/**/*.a'): - if libfile.find('Release-')!=-1: - files.append(libfile) - return files + files = [] + for libfile in glob.glob('build/**/*.a'): + if libfile.find('Release-')!=-1: + files.append(libfile) + return files def build_module(manifest,config): - from tools import ensure_dev_path - ensure_dev_path() - - rc = os.system("xcodebuild -sdk iphoneos -configuration Release") - if rc != 0: - die("xcodebuild failed") - rc = os.system("xcodebuild -sdk iphonesimulator -configuration Release") - if rc != 0: - die("xcodebuild failed") + from tools import ensure_dev_path + ensure_dev_path() + + rc = os.system("xcodebuild -sdk iphoneos -configuration Release") + if rc != 0: + die("xcodebuild failed") + rc = os.system("xcodebuild -sdk iphonesimulator -configuration Release") + if rc != 0: + die("xcodebuild failed") # build the merged library using lipo - moduleid = manifest['moduleid'] - libpaths = '' - for libfile in glob_libfiles(): - libpaths+='%s ' % libfile - - os.system("lipo %s -create -output build/lib%s.a" %(libpaths,moduleid)) + moduleid = manifest['moduleid'] + libpaths = '' + for libfile in glob_libfiles(): + libpaths+='%s ' % libfile + + os.system("lipo %s -create -output build/lib%s.a" %(libpaths,moduleid)) + +def verify_build_arch(manifest, config): + binaryname = 'lib%s.a' % manifest['moduleid'] + binarypath = os.path.join('build', binaryname) + manifestarch = set(manifest['architectures'].split(' ')) + + output = subprocess.check_output('xcrun lipo -info %s' % binarypath, shell=True) + + builtarch = set(output.split(':')[-1].strip().split(' ')) + + if ('arm64' not in builtarch): + warn('built module is missing 64-bit support.') + + if (manifestarch != builtarch): + warn('there is discrepancy between the architectures specified in module manifest and compiled binary.') + warn('architectures in manifest: %s' % ', '.join(manifestarch)) + warn('compiled binary architectures: %s' % ', '.join(builtarch)) + die('please update manifest to match module binary architectures.') def package_module(manifest,mf,config): - name = manifest['name'].lower() - moduleid = manifest['moduleid'].lower() - version = manifest['version'] - modulezip = '%s-iphone-%s.zip' % (moduleid,version) - if os.path.exists(modulezip): os.remove(modulezip) - zf = zipfile.ZipFile(modulezip, 'w', zipfile.ZIP_DEFLATED) - modulepath = 'modules/iphone/%s/%s' % (moduleid,version) - zf.write(mf,'%s/manifest' % modulepath) - libname = 'lib%s.a' % moduleid - zf.write('build/%s' % libname, '%s/%s' % (modulepath,libname)) - docs = generate_doc(config) - if docs!=None: - for doc in docs: - for file, html in doc.iteritems(): - filename = string.replace(file,'.md','.html') - zf.writestr('%s/documentation/%s'%(modulepath,filename),html) - for dn in ('assets','example','platform'): - if os.path.exists(dn): - zip_dir(zf,dn,'%s/%s' % (modulepath,dn),['README']) - zf.write('LICENSE','%s/LICENSE' % modulepath) - zf.write('module.xcconfig','%s/module.xcconfig' % modulepath) - exports_file = 'metadata.json' - if os.path.exists(exports_file): - zf.write(exports_file, '%s/%s' % (modulepath, exports_file)) - zf.close() + name = manifest['name'].lower() + moduleid = manifest['moduleid'].lower() + version = manifest['version'] + modulezip = '%s-iphone-%s.zip' % (moduleid,version) + if os.path.exists(modulezip): os.remove(modulezip) + zf = zipfile.ZipFile(modulezip, 'w', zipfile.ZIP_DEFLATED) + modulepath = 'modules/iphone/%s/%s' % (moduleid,version) + zf.write(mf,'%s/manifest' % modulepath) + libname = 'lib%s.a' % moduleid + zf.write('build/%s' % libname, '%s/%s' % (modulepath,libname)) + docs = generate_doc(config) + if docs!=None: + for doc in docs: + for file, html in doc.iteritems(): + filename = string.replace(file,'.md','.html') + zf.writestr('%s/documentation/%s'%(modulepath,filename),html) + + p = os.path.join(cwd, 'assets') + if not os.path.exists(p): + p = os.path.join(cwd, '..', 'assets') + if os.path.exists(p): + zip_dir(zf,p,'%s/%s' % (modulepath,'assets'),['README']) + + for dn in ('example','platform'): + p = os.path.join(cwd, dn) + if not os.path.exists(p): + p = os.path.join(cwd, '..', dn) + if os.path.exists(p): + zip_dir(zf,p,'%s/%s' % (modulepath,dn),['README'],True) + + license_file = os.path.join(cwd,'LICENSE') + if not os.path.exists(license_file): + license_file = os.path.join(cwd,'..','LICENSE') + if os.path.exists(license_file): + zf.write(license_file,'%s/LICENSE' % modulepath) + + zf.write('module.xcconfig','%s/module.xcconfig' % modulepath) + exports_file = 'metadata.json' + if os.path.exists(exports_file): + zf.write(exports_file, '%s/%s' % (modulepath, exports_file)) + zf.close() if __name__ == '__main__': - manifest,mf = validate_manifest() - validate_license() - config = read_ti_xcconfig() - - sdk = find_sdk(config) - sys.path.insert(0,os.path.join(sdk,'iphone')) - sys.path.append(os.path.join(sdk, "common")) - - compile_js(manifest,config) - build_module(manifest,config) - package_module(manifest,mf,config) - sys.exit(0) - + manifest,mf = validate_manifest() + validate_license() + config = read_ti_xcconfig() + + sdk = find_sdk(config) + sys.path.insert(0,os.path.join(sdk,'iphone')) + sys.path.append(os.path.join(sdk, "common")) + + compile_js(manifest,config) + build_module(manifest,config) + verify_build_arch(manifest, config) + package_module(manifest,mf,config) + sys.exit(0) diff --git a/manifest b/manifest index 2360308..8a199a2 100755 --- a/manifest +++ b/manifest @@ -2,10 +2,11 @@ # this is your module manifest and used by Titanium # during compilation, packaging, distribution, etc. # -version: 0.1.1 +version: 0.1.2 apiversion: 2 +architectures: armv7 arm64 i386 x86_64 description: TiRemoteControl -author: hoyo (+kosso) +author: hoyo (+kosso) (+dieskim) license: MIT copyright: Copyright (c) 2015 @@ -15,4 +16,4 @@ name: TiRemoteControl moduleid: net.hoyohoyo.tiremotecontrol guid: 9326b7d7-f454-4b2d-bd81-1aebcd8ee868 platform: iphone -minsdk: 3.5.0.Beta +minsdk: 3.5.0.GA diff --git a/net.hoyohoyo.tiremotecontrol-iphone-0.1.2.zip b/net.hoyohoyo.tiremotecontrol-iphone-0.1.2.zip new file mode 100644 index 0000000000000000000000000000000000000000..d82000b4851252f9d75d5b73a25cd308ef7e399c GIT binary patch literal 63050 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