[brailleblaster] Re: Contents of Distribution File

  • From: Alex Jurgensen <asquared21@xxxxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Mon, 15 Nov 2010 10:31:46 -0800

Hi,

Eclpse is a special case. I don't know the resoning behind what Eclipse did.

See my E-mail about where plugins are usually found.

I am not saying that we shouldn't see what and why Eclipse did it that way, but 
that I don't think it is the standard on the Mac OS. I cold be wrong.

Regards,
Alex,

On 2010-11-15, at 10:04 AM, Michael Whapples wrote:

> Hello,
> You describe eclipse as I find it for the Mac. As I had come from Linux/unix 
> where you basically unzip the eclipse downloaded file and run from that 
> directory I thought on Mac it may require you to have the plugins directories 
> and such like in the same directory as the app bundle. Is that right?
> 
> Michael Whapples
> On 15 Nov 2010, at 17:59, Chris von See wrote:
> 
>> I'm not an XCode user, so I can't speak to why it doesn't contain Java 
>> templates.  Java is still considered to be a first-class language on Mac OS 
>> X, meaning that the OS itself contains support for the language.  The app 
>> bundle approach that's described is still in widespread use by many (most?) 
>> Mac OS X Java developers and is supported by other tools in the Apple 
>> Developer's Kit, such as Jar Bundler; I don't think that many developers are 
>> using Java Web Start, but according to the Apple Java developer's mailing 
>> list some are definitely doing that as well.
>> 
>> The "last update" date on the page is 2010-10-20.  The "Introduction" 
>> section referenced in the sidebar specifically mentions Mac OS X 10.6 Update 
>> 3, so the info is pretty recent.
>> 
>> The version of Eclipse that I have (Ganymede) includes an app bundle in the 
>> directory it installs into /Applications, but the plugins, etc. are outside 
>> of the bundle.  I don't have definitive knowledge as to why, but one 
>> possible explanation is that an application cannot modify its own app bundle 
>> at runtime - that would preclude placing dynamically-installed plugins, log 
>> files, user-specific preferences etc. in the bundle itself.  Other projects 
>> will do as other projects do :)  and of course BrailleBlaster should do 
>> what's best for its particular situation.   There *may* be some things that 
>> won't be possible if you're not packaged as an app bundle, such as placing 
>> the app in the Dock (you can place folders in the Dock but not individual 
>> files - at least not in Leopard).
>> 
>> 
>> Cheers
>> Chris
>> 
>> 
>> On Nov 15, 2010, at 9:33 AM, Michael Whapples wrote:
>> 
>>> Thanks for the link, I just went for a quick search about java applications 
>>> on Mac and found that. I have two questions arising from that:
>>> * How old is that document? The current version of xcode does not come with 
>>> java templates. The bundling information may still be valid but one needs 
>>> to question it when there is out of date information in the document as 
>>> well.
>>> * What is the reason for other projects not doing this?
>>> 
>>> I actually find another question but not from that document. What is the 
>>> importance of creating an application bundle? I would suggest may be giving 
>>> it a rating (may be out of 10) but as we haven't rated the importance of 
>>> other things that may be a little meaningless on its own. What I really 
>>> want to stress is it may be a nice feature but is it absolutely required to 
>>> be able to use BrailleBlaster.
>>> 
>>> Michael Whapples
>>> On 15 Nov 2010, at 17:02, Chris von See wrote:
>>> 
>>>> A Mac OS X application bundle is really no more than a specially-packaged 
>>>> directory tree,  and it can contain Java class files.  There's a file 
>>>> called "info.plist" inside the app bundle that identifies the main class 
>>>> to be invoked, defines the classpath, gives parameters that should be 
>>>> passed to that class and provides options that should be used to start the 
>>>> JVM.  TAMC, for example, bundles everything it needs to run (including its 
>>>> class libraries) inside its app bundle, and stores user preferences   
>>>> 
>>>> The general structure of a Java app bundle looks like this:
>>>> 
>>>> Application (.app)
>>>> - Contents directory
>>>> - - - Info.plist file
>>>> - - - Mac OS directory (contains Mac OS X's Java bootstrapper)
>>>> - - - Pkginfo file
>>>> - - - Resources directory
>>>> - - - - - Application icon file
>>>> - - - - - Java directory
>>>> - - - - - - - (application specific content, including "lib" directory for 
>>>> class libraries, core JARs, readme files, parameter files and so on)
>>>> 
>>>> More info can be found at 
>>>> http://developer.apple.com/library/mac/#documentation/Java/Conceptual/Java14Development/03-JavaDeployment/JavaDeployment.html
>>>> 
>>>> Of course, this may all change in a few years when Java is no longer 
>>>> bundled with Mac OS X, but Apple is already making changes that would 
>>>> allow third-party JVMs to be installed in Mac OS X and (I think) even 
>>>> allow applications to bundle a JRE as part of the app itself.
>>>> 
>>>> 
>>>> Cheers
>>>> Chris
>>>> 
>>>> On Nov 15, 2010, at 8:37 AM, Michael Whapples wrote:
>>>> 
>>>>> How does the Apple java application bundles relate to java applications?
>>>>> 
>>>>> If I take eclipse as an example, I think it still is a archived bundle 
>>>>> with a number of directories and the application bundle, which you 
>>>>> extract to a location on disk. So this is similar I think to what is 
>>>>> being suggested.
>>>>> 
>>>>> So here are the various ways I imagine BrailleBlaster will be started on 
>>>>> the various systems:
>>>>> * Windows: There will be a brailleblaster.exe programme or may be a batch 
>>>>> script which users should run. This will automatically start the JVM with 
>>>>> the options we require.
>>>>> * Linux/Solaris/FreeBSD/other unix system: A shell script will be present 
>>>>> which the user runs. Again this will start the JVM with all required 
>>>>> options.
>>>>> *MacOSX: In the BrailleBlaster folder, along with the bin, lib, and so on 
>>>>> folders there will be a brailleblaster application bundle, users should 
>>>>> run this and it will start the JVM with all required options.
>>>>> 
>>>>> Unless the Java code and liblouis/liblouisutdml libraries can be put 
>>>>> inside an application bundle I don't see anything wrong with what was 
>>>>> originally suggested.
>>>>> 
>>>>> Please correct me if I have things all wrong, I am still fairly new to 
>>>>> MacOSX and would appreciate it if those more knowledgable were to help me 
>>>>> understand it.
>>>>> 
>>>>> Michael Whapples
>>>>> On 15 Nov 2010, at 15:37, Alex Jurgensen wrote:
>>>>> 
>>>>>> Hi John,
>>>>>> 
>>>>>> The standard Mac OS X convention that I would suggest using for the Mac 
>>>>>> distribution of Braille Blaster is a *.app bundle inside of a *.dmg disk 
>>>>>> image.
>>>>>> 
>>>>>> Regards,
>>>>>> Alex,
>>>>>> 
>>>>>> 
>>>>>> On 2010-11-15, at 7:24 AM, John J. Boyer wrote:
>>>>>> 
>>>>>>> We should certainly look at how different platforms handle application 
>>>>>>> distribution. I think the zip file might be a good way to start for all 
>>>>>>> of them. The starter script for Mac OS X could set up BrailleBlaster as 
>>>>>>> a standard Mac applicationj.
>>>>>>> 
>>>>>>> John
>>>>>>> 
>>>>>>> On Mon, Nov 15, 2010 at 07:23:57AM -0800, Alex Jurgensen wrote:
>>>>>>>> Hi John,
>>>>>>>> 
>>>>>>>> I disagree with this packaging scheme, at least for OS X, because OS X 
>>>>>>>> applications have a certain convention that they must follow in order 
>>>>>>>> to be run in the standard way. They are also distributed in a few 
>>>>>>>> standard ways.
>>>>>>>> 
>>>>>>>> I suggest that we look at how the different platforms already handle 
>>>>>>>> distributing files.
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> Alex,
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 2010-11-15, at 7:12 AM, John J. Boyer wrote:
>>>>>>>> 
>>>>>>>>> Here is what I think should be in the BrailleBlaster distribution 
>>>>>>>>> files. 
>>>>>>>>> They will be zip files and there will be one for each platform.
>>>>>>>>> 
>>>>>>>>> COPYING:  containing the Apache 2.0 license
>>>>>>>>> 
>>>>>>>>> AUTHORS: A list of authors with their e-mail addresses if appropriate
>>>>>>>>> 
>>>>>>>>> README: Instructions on installation, getting started, licensing and 
>>>>>>>>> where to get the source code
>>>>>>>>> 
>>>>>>>>> scripts: For starting BrailleBlaster on various platforms
>>>>>>>>> 
>>>>>>>>> bin directory: C libraries
>>>>>>>>> 
>>>>>>>>> lib directory: jar files of Java libraries used by BrailleBlaster
>>>>>>>>> 
>>>>>>>>> brailleblaster.jar: the piece de resistance
>>>>>>>>> 
>>>>>>>>> The bin subdirectory will contain the following subdirectgories
>>>>>>>>> 
>>>>>>>>> bin: scripts and command-line tools for liblouis and liblouisutdml
>>>>>>>>> 
>>>>>>>>> lib: The various libraries, such as liblouis, liblouisutdml 
>>>>>>>>> libitex2MML 
>>>>>>>>> libhunspell etc.
>>>>>>>>> 
>>>>>>>>> share: containing liblouis and liblouisutdml tables and files. This 
>>>>>>>>> will 
>>>>>>>>> enable them to find their stuff in the paths they expect.
>>>>>>>>> 
>>>>>>>>> John
>>>>>>>>> 
>>>>>>>>> -- 
>>>>>>>>> John J. Boyer; President, Chief Software Developer
>>>>>>>>> Abilitiessoft, Inc.
>>>>>>>>> http://www.abilitiessoft.com
>>>>>>>>> Madison, Wisconsin USA
>>>>>>>>> Developing software for people with disabilities
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> Alex Jurgensen,
>>>>>>>> VoiceOver Trainer,
>>>>>>>> ASquared21@xxxxxxxxxxxxxxxxx                   
>>>>>>>> 
>>>>>>>> Visit us on the web at: www.vipbc.org
>>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> John J. Boyer; President, Chief Software Developer
>>>>>>> Abilitiessoft, Inc.
>>>>>>> http://www.abilitiessoft.com
>>>>>>> Madison, Wisconsin USA
>>>>>>> Developing software for people with disabilities
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> Alex Jurgensen,
>>>>>> VoiceOver Trainer,
>>>>>> ASquared21@xxxxxxxxxxxxxxxxx                     
>>>>>> 
>>>>>> Visit us on the web at: www.vipbc.org
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 

Alex Jurgensen,
VoiceOver Trainer,
ASquared21@xxxxxxxxxxxxxxxxx                    

Visit us on the web at: www.vipbc.org

Other related posts: