-
Notifications
You must be signed in to change notification settings - Fork 15
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
Generalisable package? #1
Comments
Yeah that would be really awesome. So, I already have included a mechanism for listing the files you need: I meant to have the This is what it currently uses to know which files to copy. I had been intending Here is an example of the files I think you need in order to build an app which uses Blink.jl:
(I haven't finished testing it, but I think those are the only two files you need for Blink.) But you're right, currently the code you write has to include something like I did in Paddle Battle in order to use the provided libraries: For Blink, I think it would be:
So are you asking to have the tool automatically generate the above code and insert it into the project before running It's particularly difficult, because I think you need to add this section after the |
But yes, i am definitely hoping to have this be generalizable!! My goal is that you can simply run this tool against your julia code (maybe having to make a few changes like the one above), and produce an app you can distribute! And I'd obviously love your/everyone's help on that!! |
And actually another thing that would be good to do would be to automatically update the dependency paths on any |
Hi @NHDaly, thank you so much for your help and detailed comments. I actually managed to bundle Blink as per your instructions and with this package too. However, there's one particular thing that I think you missed out on. I needed this for my app to actually work. We also have to define and run this function so that when we open the app, the As for generalisability, I think it's fine for now that we should manually change the internal paths. Perhaps it is too difficult to automate that in every case. I would also like my app to work on Windows and Linux and I shall provide updates on those two as well. I'll try to get those two platforms to work as well and maybe we can come up with an umbrella package for all three platforms. |
!! That's amazing!! I'm glad to hear you got the bundle to work!! :D if you want anyone to beta test it, feel free to send it to me! :) I've actually been trying to bundle a Perhaps you could also post the command you used to execute this script? :D
Ah, yes, whoops good call. I forgot about that one too! Perhaps we could at least provide that as a utility function so that user code could simply say There was some talk of migrating this code into |
Yay! Yeah, same. I think the |
if get(ENV, "COMPILING_APPLE_BUNDLE", "false") == "true"
println("GOING TO CHANGE THEM PATHS!")
eval(Blink.AtomShell, :(_electron = "Julia.app/Contents/MacOS/Julia"))
eval(Blink.AtomShell, :(mainjs = "main.js"))
eval(Blink, :(buzz = "main.html"))
eval(Blink, :(resources = Dict("spinner.css" => "res/spinner.css",
"blink.js" => "res/blink.js",
"blink.css" => "res/blink.css",
"reset.css" => "res/reset.css")))
eval(HttpParser, :(lib = "libhttp_parser.dylib"))
println("CHANGED ALL PATHS!")
end
Sure, this should be a utility provided by a package. I would say a
I think this should remain a separate package by itself, because it addresses package and shipping whereas PackageCompiler addresses compilation.
For sure. I shall keep you posted on any progress I make on the other platforms. |
Hmm, are you also adding this It seems I need that in order to get Blink.jl to compile. But when I add those lines ( How did you get around that? Are you using a different trick to detect the location? |
(Also, i've made this a package, and called it |
Yes, I've had to hard code that path in the BinDeps package for it to work.
Does it? I didn't notice that. Gosh. I ran into a different problem now in Blink that I didn't notice before.
Fantastic! I was going to suggest that you do. That way I can contribute to this directly.
I just realised. The problem with doing |
haha oh man, that's true. ... well, it should hopefully be fine because (at least for now), the ApplicationBundler module doesn't actually use PackageCompiler, only the |
Okay, I fixed the You should be able to simply use |
@NHDaly Just an update: I've been working on some shipping issues relating to UI components. Usually, packages that want to serve assets put it into their |
Hi, sorry for the late response. We've just finished our move to Rhode Island, but we're still setting up the apartment. It will be nice to be settled! Huh, the
What do you mean by which we need to do while shipping? Do you mean that, currently (without If so, how will AssetRegistry help with that? :) I'm excited to find out! |
No problem! Take care, and I hope all goes well. :-) With regards to AssetRegistry, what happens is that earlier, UI packages were made to do to place assets (such as CSS files) in the following directory: const path = `path/to/asset`
function __init__()
tachyons_css[] = Scope(imports = path)
end This would let us modify the
I simply meant that we need to change file paths in our build script through
So the thing with Blink is that it seems to be implemented in a way such that the assets are in a different folder ( I wonder if I have explained this very well. BTW, I'd be more than happy to hop on a Hangout to discuss these issues if you think that will help. |
I was wondering if this can be turned into a more generalizable package. Perhaps we can specify a dictionary of paths to non jl files including binaries, which we can use to preprocess the source files. I noticed that in your Paddle Battle, you included a code snippet to change the paths and an environment variable to control whether the paths get changed.
The text was updated successfully, but these errors were encountered: