[swift-evolution] For discussion: Including source code alongside binaries

Maxim Veksler maxim at vekslers.org
Sun Feb 14 04:12:39 CST 2016

Hey Alexey,

Imagine being able to add RxSwift into your project (either via manually,
cocoa pods, carthage, swift package manager or otherwise) and having the
seamless experiences of being able to drill down in a debugging session
into the code of the framework, looking for why it does something you did
not expect.

This experience is very valuable time saver, because today should you wish
to reach this point of being able to drill down you need to:

1. Find the source code repository
2. clone it locally
3. checkout to the correct version / patch
4. add the framework source code into your app
5. fix any build problems
6. remove the binary framework you already have included.
7. run the debugging session and hope to be able to reproduce your bug
7.1 let Xcode compile the framework from source -- time consuming, without
value task.
8. Now you need to choose if you leave the framework in source form or
starting changing your app back into binary form.

So I think a complete automation is possible, but it does require many
moving parts which is why I think Swift poses a great opportunity of making
this leap.

Would be glad to hear your feedback.

On Sat, Feb 13, 2016 at 10:20 AM, Alexey Demedetskiy <dalog at me.com> wrote:

> Why not use _just_ source code and let Xcode / Package Manager to do the
> job of building?
> Or you to want have binary distribution and source code for debug?
> - Alexey Demedetskiy
> > Hello everyone,
> >
> > I would like to start a discussion on the possibility of enabling
> compelling Swift binaries that embed the source code from which they've
> been compiled.
> >
> > The value of having source code embedded alongside the binary
> isdebugging aid - A developer will be able to download 3rd party framework,
> include it into his Xcode project and then drill down in a debug session
> into the framework code, having Xcode showing him the source code from
> which the current breakpoint instruction was built.
> >
> > This feature exists in the java world where you can compile a Jar file,
> having each .class contain it's .java counter part. I //think// it's stored
> in this propertyhttps://
> docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.11. This
> allows opening the Jar of a target library in eclipse and instantly seeing
> what the code is doing.
> >
> > The alternatives today are either decompilers, or.dSYM both are good but
> not great as each requires manually steps in either management or enforcing
> corrects of the results.
> >
> > Would the community be interested in such a "plug and play" approach for
> attaching source code to build frameworks / applications / stand alone
> binaries ?
> >
> > Is it feasible to expect such a thing from native apps? if not, can it
> be an Xcode level feature when only .packages (Framework/Application) will
> be added support for shipping the .dSYM and Xcode will know to do the
> lifting to make it just work for the developer?
> >
> >
> > tnx,
> > -m
> >
> >
> >
> >

puıɯ ʎɯ ɯoɹɟ ʇuǝs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160214/6865b41a/attachment.html>

More information about the swift-evolution mailing list