-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TIMOB-25748] iOS: Remove TiCore in favor of built-in JavaScriptCore #9798
Changes from 6 commits
8c20c0a
4346b2e
31b1357
ee8bd34
b42f740
f713a31
b8cc542
3ea5e1e
dd968e6
c864ca4
340f65b
6ca4155
d1256d9
1dd0fbd
d5060c8
01593be
a99030b
5502a7d
378f387
292312d
53562aa
823f6e4
5ed1827
f8a8ed9
dcc8cd6
dbc3dda
0c18778
f6d0a07
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -43,35 +43,9 @@ IOS.prototype.clean = function (next) { | |
next(); | ||
}; | ||
|
||
IOS.prototype.fetchLibTiCore = function (next) { | ||
const url = 'http://timobile.appcelerator.com.s3.amazonaws.com/libTiCore-' + TI_CORE_VERSION + '.a.gz', | ||
dest = path.join(IOS_LIB, 'libTiCore.a'), | ||
markerFile = path.join(IOS_LIB, TI_CORE_VERSION.toString() + '.txt'); | ||
|
||
// Do we have the latest libTiCore? | ||
if (fs.existsSync(dest) && fs.existsSync(markerFile)) { | ||
return next(); | ||
} | ||
|
||
console.log('You don\'t seem to have the appropriate thirdparty files. I\'ll fetch them.'); | ||
console.log('This could take awhile.. Might want to grab a cup of Joe or make fun of Nolan.'); | ||
|
||
downloadURL(url, TI_CORE_INTEGRITY, function (err, file) { | ||
if (err) { | ||
return next(err); | ||
} | ||
gunzip(file, dest, function (err) { | ||
if (err) { | ||
return next(err); | ||
} | ||
// Place "marker" file | ||
fs.writeFile(markerFile, 'DO NOT DELETE THIS FILE', next); | ||
}); | ||
}); | ||
}; | ||
|
||
IOS.prototype.build = function (next) { | ||
this.fetchLibTiCore(next); | ||
// no-op (used to fetch TiCore in the past) | ||
next(); | ||
}; | ||
|
||
IOS.prototype.package = function (packager, next) { | ||
|
@@ -80,7 +54,6 @@ IOS.prototype.package = function (packager, next) { | |
const DEST_IOS = path.join(packager.zipSDKDir, 'iphone'); | ||
|
||
async.parallel([ | ||
this.fetchLibTiCore.bind(this), | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also need to remove the step below where we try to copy iphone/headers/JavaScriptCore since there's no files there anymore (that's why the build is failing right now, lines 62-64 in your modified file) - and the 'headers' entry in the array of folders/files we try to copy (line 66 in your modified file) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can we also remove libti_ios_debugger.a? libti_ios_profiler.a? Those were to be used against TiCore and do not work with JSCore. I've been told several times we can kill off our profiler because it's not useful and no one uses/knows about it. The debugger has been replace by using the official debugger APIs built into JSCore. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. TiProfiler is dead. I think it was used in the past when Titanium wasn't fully compatible with Instruments, which works fine these days. I'll search related guides and docs to clarify that. |
||
function (callback) { | ||
async.series([ | ||
function (cb) { | ||
|
@@ -118,8 +91,7 @@ IOS.prototype.package = function (packager, next) { | |
if (err) { | ||
return next(err); | ||
} | ||
// Ensure we've fetched libTiCore before we copy it | ||
copyFiles(IOS_LIB, DEST_IOS, [ 'libTiCore.a' ], next); | ||
next(); | ||
}); | ||
}; | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clearly not related to this PR, but this jogs my memory. Weren't we going to pre-build libraries for iOS like we do for the other platforms at some point? Do we have JIRA tickets/PRs to track that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I remember you had an angry TODO comment somewhere that states that we should just place libraries inside the repo instead of fetching them manually. In case you mean that, it should be obsolete now that we remove TiCore. Other libraries like libAPSHTTPClient and libAPSAnalytics are prepackaged, just like Hyperloop should / will be in the future.