[brailleblaster] Re: Contents of Distribution File

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

Hi Chris,

I can't speak to why Eclipse went the root they did, but I can say that 
normally plugins are found in one of three places. These locations are:

1. Inside the *.app file.
2. Inside /Library/Application Support/[application name]/

3. Inside ~/Library/Application Support/[application name]/
On 2010-11-15, at 9:59 AM, 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: