[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] Mac Bundles

Hey gang,

To give you a quick update, I'm working on the next release of Momentics for BlackBerry BB10 development and I'm trying to make our install look a lot more like Xcode on the Mac. In case you haven't looked, they have everything under Xcode.app/Contents. I'd like to set up our Eclipse install the same way.

Looking through Pascal's blog entry on the subject and in parts of the code, I see that we put stuff up at the same level as Contents. And it seems to be pretty hardcoded there. But that isn't the standard way I see other apps do things. Everything's under Contents.

Now being the hack that I am, I tried just moving files around and editing the ini file and things seem to work, including upgrading build to build. But I have a feeling I'm missing something. First here's the maven-antrun code I used to set things up (BTW, I'm not using the magic .app in the top folder name trick).

<move todir="${macdir}/${appname}.app">

<fileset dir="${macdir}/${exename}.app">

<include name="**"/>

</fileset>

</move>

<delete dir="${macdir}/${exename}.app"/>

<move todir="${macdir}/${appname}.app/Contents">

<fileset dir="${macdir}">

<include name="**"/>

<exclude name="${appname}.app/**"/>

</fileset>

</move>

<replace file="${macdir}/${appname}.app/Contents/MacOS/${exename}.ini" token="../../.." value=".."/>


In my case appname is Momentics and exename is qde (for historical reasons I suppose)
 
The thing I'm most worried about is the ini file. What are the chances it get's overridden by a future configure step to point back at ../../..? The configure instructions for startup and launcher.library don't seem to hardcode that path, using just @artifact instead, so I'm crossing my figures.

BTW, looking through the code, it's looks like it was a lot of work to get the layout the way it was. And looks like the same amount of work to get things to properly go under Contents.

Any help appreciated. Thanks!
Doug.