diff --git a/mobile/android/lib/cbl_collator_so-1.0.3.1.jar b/mobile/android/lib/cbl_collator_so-1.0.3.1.jar deleted file mode 100644 index 6c51818..0000000 Binary files a/mobile/android/lib/cbl_collator_so-1.0.3.1.jar and /dev/null differ diff --git a/mobile/android/lib/cbl_collator_so-1.0.4-28.jar b/mobile/android/lib/cbl_collator_so-1.0.4-28.jar new file mode 100644 index 0000000..b528596 Binary files /dev/null and b/mobile/android/lib/cbl_collator_so-1.0.4-28.jar differ diff --git a/mobile/android/lib/commons-logging-1.1.3.jar b/mobile/android/lib/commons-logging-1.1.3.jar new file mode 100644 index 0000000..ab51254 Binary files /dev/null and b/mobile/android/lib/commons-logging-1.1.3.jar differ diff --git a/mobile/android/lib/couchbase-lite-android-1.0.3.1a.jar b/mobile/android/lib/couchbase-lite-android-1.0.4-28.jar similarity index 76% rename from mobile/android/lib/couchbase-lite-android-1.0.3.1a.jar rename to mobile/android/lib/couchbase-lite-android-1.0.4-28.jar index e6abd40..c08a484 100644 Binary files a/mobile/android/lib/couchbase-lite-android-1.0.3.1a.jar and b/mobile/android/lib/couchbase-lite-android-1.0.4-28.jar differ diff --git a/mobile/android/lib/couchbase-lite-java-1.0.4-28.jar b/mobile/android/lib/couchbase-lite-java-1.0.4-28.jar new file mode 100644 index 0000000..6d8e77d Binary files /dev/null and b/mobile/android/lib/couchbase-lite-java-1.0.4-28.jar differ diff --git a/mobile/android/lib/couchbase-lite-java-core-1.0.3.1a.jar b/mobile/android/lib/couchbase-lite-java-core-1.0.4-28.jar similarity index 68% rename from mobile/android/lib/couchbase-lite-java-core-1.0.3.1a.jar rename to mobile/android/lib/couchbase-lite-java-core-1.0.4-28.jar index d38878c..a3114e1 100644 Binary files a/mobile/android/lib/couchbase-lite-java-core-1.0.3.1a.jar and b/mobile/android/lib/couchbase-lite-java-core-1.0.4-28.jar differ diff --git a/mobile/android/lib/couchbase-lite-java-javascript-1.0.3.1.jar b/mobile/android/lib/couchbase-lite-java-javascript-1.0.3.1.jar deleted file mode 100644 index 7e1f3e6..0000000 Binary files a/mobile/android/lib/couchbase-lite-java-javascript-1.0.3.1.jar and /dev/null differ diff --git a/mobile/android/lib/couchbase-lite-java-javascript-1.0.4-28.jar b/mobile/android/lib/couchbase-lite-java-javascript-1.0.4-28.jar new file mode 100644 index 0000000..8535c10 Binary files /dev/null and b/mobile/android/lib/couchbase-lite-java-javascript-1.0.4-28.jar differ diff --git a/mobile/android/lib/couchbase-lite-java-listener-1.0.3.1a.jar b/mobile/android/lib/couchbase-lite-java-listener-1.0.4-28.jar similarity index 84% rename from mobile/android/lib/couchbase-lite-java-listener-1.0.3.1a.jar rename to mobile/android/lib/couchbase-lite-java-listener-1.0.4-28.jar index b56333d..8db1cfa 100644 Binary files a/mobile/android/lib/couchbase-lite-java-listener-1.0.3.1a.jar and b/mobile/android/lib/couchbase-lite-java-listener-1.0.4-28.jar differ diff --git a/mobile/android/lib/couchbase-lite-java-native-1.0.4-28.jar b/mobile/android/lib/couchbase-lite-java-native-1.0.4-28.jar new file mode 100644 index 0000000..2003d21 Binary files /dev/null and b/mobile/android/lib/couchbase-lite-java-native-1.0.4-28.jar differ diff --git a/mobile/android/lib/httpclient-4.0-beta1.jar b/mobile/android/lib/httpclient-4.0-beta1.jar new file mode 100644 index 0000000..8ea4099 Binary files /dev/null and b/mobile/android/lib/httpclient-4.0-beta1.jar differ diff --git a/mobile/android/lib/httpcore-4.0-beta2.jar b/mobile/android/lib/httpcore-4.0-beta2.jar new file mode 100644 index 0000000..fe9caa2 Binary files /dev/null and b/mobile/android/lib/httpcore-4.0-beta2.jar differ diff --git a/mobile/ios/Classes/TDBridge.m b/mobile/ios/Classes/TDBridge.m index c157c06..a23ebc7 100644 --- a/mobile/ios/Classes/TDBridge.m +++ b/mobile/ios/Classes/TDBridge.m @@ -8,7 +8,6 @@ #import "TDBridge.h" -#import "TiCore.h" #import "KrollBridge.h" #import "KrollContext.h" #import "KrollMethod.h" diff --git a/mobile/ios/build.py b/mobile/ios/build.py index 598d6fb..9b8a2bb 100755 --- a/mobile/ios/build.py +++ b/mobile/ios/build.py @@ -9,7 +9,7 @@ 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', @@ -49,6 +49,8 @@ def read_ti_xcconfig(): def generate_doc(config): 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 @@ -67,7 +69,9 @@ def generate_doc(config): return documentation def compile_js(manifest,config): - js_file = os.path.join(cwd,'assets','foo.module.js') + js_file = os.path.join(cwd,'assets','com.foogle.js') + if not os.path.exists(js_file): + js_file = os.path.join(cwd,'..','assets','com.foogle.js') if not os.path.exists(js_file): return from compiler import Compiler @@ -97,7 +101,7 @@ def compile_js(manifest,config): from tools import splice_code - assets_router = os.path.join(cwd,'Classes','FooModuleModuleAssets.m') + assets_router = os.path.join(cwd,'Classes','ComFoogleModuleAssets.m') splice_code(assets_router, 'asset', root_asset_content) splice_code(assets_router, 'resolve_asset', module_asset_content) @@ -114,9 +118,13 @@ def warn(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') @@ -131,6 +139,7 @@ def validate_manifest(): 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] @@ -140,7 +149,7 @@ def validate_manifest(): ignoreFiles = ['.DS_Store','.gitignore','libTitanium.a','titanium.jar','README'] ignoreDirs = ['.DS_Store','.svn','.git','CVSROOT'] -def zip_dir(zf,dir,basepath,ignore=[]): +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: @@ -149,7 +158,7 @@ def zip_dir(zf,dir,basepath,ignore=[]): 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 + 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_) @@ -179,6 +188,24 @@ def build_module(manifest,config): 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() @@ -196,10 +223,26 @@ def package_module(manifest,mf,config): 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) + + 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): @@ -218,6 +261,6 @@ def package_module(manifest,mf,config): compile_js(manifest,config) build_module(manifest,config) + verify_build_arch(manifest, config) package_module(manifest,mf,config) sys.exit(0) - diff --git a/mobile/ios/titanium.xcconfig b/mobile/ios/titanium.xcconfig index 9646144..44c3643 100644 --- a/mobile/ios/titanium.xcconfig +++ b/mobile/ios/titanium.xcconfig @@ -4,7 +4,7 @@ // OF YOUR TITANIUM SDK YOU'RE BUILDING FOR // // -TITANIUM_SDK_VERSION = 3.5.0.GA +TITANIUM_SDK_VERSION = 3.5.1.GA // diff --git a/mobile/ios/vendor/couchbase-lite-ios b/mobile/ios/vendor/couchbase-lite-ios index decb569..8e07123 160000 --- a/mobile/ios/vendor/couchbase-lite-ios +++ b/mobile/ios/vendor/couchbase-lite-ios @@ -1 +1 @@ -Subproject commit decb569be18d29a8431244c5d7de33f94292657e +Subproject commit 8e07123d1986474bc2e2a2ce98d9cbb98a3dc069 diff --git a/mobile/noarch/testapp/Resources/replication_config_android.json b/mobile/noarch/testapp/Resources/replication_config_android.json index 4e3b4d2..0ba5e2a 100644 --- a/mobile/noarch/testapp/Resources/replication_config_android.json +++ b/mobile/noarch/testapp/Resources/replication_config_android.json @@ -1,5 +1,5 @@ { - "host": "10.8.17.21", + "host": "10.8.169.18", "port": 59840, "dbname": "elements" } diff --git a/mobile/noarch/testapp/tiapp.xml b/mobile/noarch/testapp/tiapp.xml index 85315ac..3094e65 100644 --- a/mobile/noarch/testapp/tiapp.xml +++ b/mobile/noarch/testapp/tiapp.xml @@ -7,7 +7,7 @@ false true - 3.5.0.GA + 3.5.1.GA com.obscure.titouchdb testapp 1.0