MiniBuilder and JNotify JNI – could use some help

In a previous post, Ian T made this comment about AIR MiniBuilder:

Tried it out today on Vista – nice work.
What’s causing the cross-platform issues for Mac? Presumably the Java builder code and the AIR package are both cross-platform… is it anything someone else can help you out with?

Thank you for the question. As a matter of fact, yes, I could use some help. In general, any help is appreciated, this is an open-source (GPL) project and it’s intended to evolve into a community.

I use a JNI library, JNotify for the communication between AIR and Java. I didn’t opt for Merapi because the pure AS3 version (non-flex) of Merapi is not yet released and it has issues. Instead, I opted for a file-system notification based protocol. Java “listens” in a directory for message files and in return, AIR polls a file only during asynchronous actions to check the progress. Development with JNotify proved to be a breeze. Also the speed of the complete system is good.

The issue with Mac comes fromĀ  JNotify, it only has JNI implementations for Linux and Windows. And it’s the only GPL compatible library I could find.

Any hints will be welcome! More than it, it’ll be extra cool if someone would contribute the entire AS3 – Java link code for MiniBuilder (probably Merapi based). I’m looking to add commiters to the project, based on quality of the contributions. The time I can allocate for this project is limited.

One more issue with Merapi is the firewall because it works over TCP. The way it is now, MiniBuilder does not need any exception in the firewall.

In any case, this is a temporary solution, as soon asĀ  AIR 2.0 is out, the problem vanishes.

Thank you again!


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

12 Responses to “MiniBuilder and JNotify JNI – could use some help”

  1. Hey,

    I’m totally interested in this project, looks awesome.
    Got a similar project, kinda, under way:
    http://code.google.com/p/moonshineproject/

    It’s more focused on design/UI & collaboration aspects. Haven’t put in more than a week or two on it, but am planning to ramp up dev next week (when current project is over).

    Some very early & not too pretty sketches can be found here:
    http://www.thewaxup.com/moonshine/

    Might just drop that & join your effort instead.
    Please get in touch with me at petterson.erik@gmail.com

    Hugs,
    Erik

  2. @Erik

    Your project looks interesting, maybe you shouldn’t just abandon it.

    If you are interested to join MiniBuilder, inspect the code, come up with some questions, i’ll be glad to answer, send a patch:

    * bugfix
    * refactoring
    * pending feature
    * new feature
    * UI/design improvement
    * anything you find useful…

    Depending on quality of contribution, your patch can be used, it can be applied as is, or you can even become a full featured svn commiter.

    Other contribution options are related to modularisation. MiniBuilder will support some protocols to fit 3′rd party plugins. Text editors, visual editors, project views, project level functionalities, etc. I am open for architecture propositions, as not much is in the code right now. I had to hurry on with the alpha launch ;)

  3. Hey Victor – first off – incredible project you’ve got on the go here…
    As a Mac user I’m desperate for the work around as I’d love to try it out. Although I noticed in your post above you’re looking for someone to help out with the UI design? – Well, I would LOVE to help out in that department! As much as I do a lot of development in as3, I’m nowhere near up to your level, but I can design a mean UI.

    Get in touch!

    Liam

  4. Hi Victor,

    I have run across your project and tried to run it on 64-bit Linux… without success. The supplied libjnotify.so is 32-bit, and thus, Java complains about ELFCLASS32 upon starting the compilation server. I compiled libjnotify.so from sources (encountering a build regression in the kernel headers [1]), and then, it worked.
    It would be nice if you would supply a native 64-bit version. ;-)

    [1] http://lkml.indiana.edu/hypermail/linux/kernel/0808.3/0732.html

  5. first of all, i’m still in doubt whether to waste the time for extending the file-system-event based as3-java link, or just switch to something else.

    possible solutions i can see now:
    – low level tcp, Merapi or something along those lines
    – http based communication. this second one, although implies a bit more complexity, would be preferable because it will also serve the next step in development: remote compilation service. this would allow MiniBuilder run both in AIR and web pages with almost the same code behind.

    I’m thinking about using a small servlet container (jetty?) that will be part of MBCompiler. Alternatively, users could opt for a web provided compilation server and not install MBCompiler at all. I’ll check if Flex SDK can be fit into a Google APP.

    Or just wait for AIR 2.0

    @Liam
    Design, yes great! Do something an mail me. At any level, from raster image mockup to skin programming under aswing.

    @Dimitri
    Great! I just found out that my laptop can fit a Ubuntu 64 bit. I am still in doubt whether to stick with 32 bit. The speed gain is not much.
    Can you contribute the 64bit so? Just mail it to me or something.

    victor dot dramba on google mail.

  6. Web server is a good idea…

    Does it need to be particularly advanced? What about something simple like this? (i.e. considerably smaller than Jetty!)

    http://www.java2s.com/Code/Java/Tiny-Application/HttpServer.htm

  7. (Obviously with tweaks to adapt it to call various compilation actions!)

  8. How cool, tiny

    Though Jetty is only 2.4Mb. If I make it run as a servlet, the code can run under any standard Java server.

    What do you think?

  9. Well, if you want it running in a servlet and want a small server, there’s always:
    http://tjws.sourceforge.net/

    But yeah, I think it makes lots of sense to run it as a servlet; then it can be run offline or online as you see fit. :-)

    (I know Jetty’s only 2.4Mb – just thinking that download sizes add up!)

  10. That looks good. I scent a winner ;)

  11. Hey Victor.

    I can’t find your email on the site?

    my email’s attached to this comment if you could fire a quick email…

    Liam

  12. FlexBuilder 3 alpha still works, but none of the new fx4 stuff is part of it. There is still a long-pending vote on the Adobe Bugs site as for who wants FB on Linux. If you have an interest, definitely create an account to here.

Leave a Reply

Powered by WP Hashcash