Notice: Comments you submit will be routed for moderation. If you have an account, please log in first.

Ticket #603 (closed Task: fixed)

Opened 5 years ago

Last modified 5 years ago

Mac OS Package

Reported by: fsck222 Owned by: fsck222
Priority: 5, normal Milestone: 1.4.1
Component: Packaging Version: 1.4-trunk
Keywords: Cc:

Description

A jarbundler ant task or how to create a first class mac application executable via an ant task

http://informagen.com/JarBundler/

Attachments

izpack_icon_on_mac.png (53.9 kB) - added by mmcmar 5 years ago.
jajuk_mac_icon.icns (59.5 kB) - added by mmcmar 5 years ago.
icon file for mac

Change History

  Changed 5 years ago by fsck222

I don't have a mac hence I can't test. Any volunteer? Packages are in http://repository.jajuk.info/jajuk/ it won't work without tweak, because a lot of libs are still not including in the zip. I need to know what the zip should look like, what and where the files should be. Anyone mac user can help?

  Changed 5 years ago by fsck222

  • owner changed from bflorat to fsck222

  Changed 5 years ago by bflorat

Strange, don't we expect an .app file as a result ? (.app files are OS X packages AFAIK)

  Changed 5 years ago by bflorat

  • version set to 1.4-trunk
  • milestone set to 1.4 "Aerodynamic"

  Changed 5 years ago by fsck222

  • milestone changed from 1.4 "Aerodynamic" to 1.5 "Lothlórien"

follow-up: ↓ 8   Changed 5 years ago by mmcmar

I did some work on this and hope you can implement some changes. These changes work on my mac. For the most part everything was there and just needed a few tweaks.

A few notes first. I am building HEAD. I was initially not able to build on the mac using the provided build.xml due to a compiler error. I also am having trouble with the menu list on the mac after I figured out how to build. Seperate tickets will be put in for those.

Suggested Changes:

1) Include in target "jarbundler" all the jars. So addition to the current options do something like this:

<jarfileset dir="${distdir}/lib">

<include name="**/*.jar" /> <exclude name="**/CVS" />

</jarfileset> <jarfilelist dir="${distdir}/bin" files="${jarname}" />

2) Current izpack icon did not work for me. The jajuk logo wasn't displayed. I can provide an icns file that I created using the mac icon composer if desired.

3) In target package_macosx, the JavaApplicationStub? must be included and be executable. I added a seperate zipfileset for this, setting the permissions.

<zipfileset dir="${distdir}/jarbundler/Jajuk.app/Contents" filemode="755" prefix="Jajuk.app/Contents">

<include name="MacOS/JavaApplicationStub" />

</zipfileset>

I should be able to test this if you add it to the main build file. Also once this is done we can consider exactly what to deliver with the package (source files, licenses, languages, etc).

  Changed 5 years ago by bflorat

Nice ! Alexis, if you don't mind, I'll handle this.

in reply to: ↑ 6   Changed 5 years ago by bflorat

Replying to mmcmar:

I did some work on this and hope you can implement some changes. These changes work on my mac. For the most part everything was there and just needed a few tweaks.

Thanks for your help on OSX.

A few notes first. I am building HEAD. I was initially not able to build on the mac using the provided build.xml due to a compiler error. I also am having trouble with the menu list on the mac after I figured out how to build. Seperate tickets will be put in for those. Suggested Changes: 1) Include in target "jarbundler" all the jars. So addition to the current options do something like this: <jarfileset dir="${distdir}/lib"> <include name="**/*.jar" /> <exclude name="**/CVS" /> </jarfileset> <jarfilelist dir="${distdir}/bin" files="${jarname}" />

commited in 1.4_maintenance branch

2) Current izpack icon did not work for me. The jajuk logo wasn't displayed. I can provide an icns file that I created using the mac icon composer if desired.

Strange... IzPack? is pure java, I don't see why it cannot display a raw jpg file. Moreover, I don't think we can set a different file for OSX than others OSs in IZPack configuration file. What's the final result ? is it acceptable ? BTW, for my comprehention : izpack is not executed when using the OSX installation package, is it ?

3) In target package_macosx, the JavaApplicationStub? must be included and be executable. I added a seperate zipfileset for this, setting the permissions. <zipfileset dir="${distdir}/jarbundler/Jajuk.app/Contents" filemode="755" prefix="Jajuk.app/Contents"> <include name="MacOS/JavaApplicationStub" /> </zipfileset>

commited in 1.4_maintenance branch

I should be able to test this if you add it to the main build file. Also once this is done we can consider exactly what to deliver with the package (source files, licenses, languages, etc).

OK, nice. BTW, if you have a few time, could you help use testing JNLP issues under OSX (check #568) ? We have no mean to fix this as we cannot make work our Vmware Tiger images.

Changed 5 years ago by mmcmar

  Changed 5 years ago by mmcmar

Good news! The 1_4_maintenance branch mac osx package worked for me. The application successfully launched after unzipping the package. The only issue was the icon. See the attached izpack_icon_on_mac snapshot for how the icon looks on the mac. That is how the icns file is stored in the Jajuk.app/Contents/Resources folder. I don't know much about izpack to help.

  Changed 5 years ago by bflorat

Nice to hear but there's something I don't understand with the overall OSX packaging. Do we want to use IzPack? installer for OSX ? I thought that we provide a native and automatic installer, don't we ? (Alexis, do you have an opinion on this). For instance, under Linux we provide rpm and deb packages that are simply automatically installed without asking any question. Isn't the jarbundler goal to provide such package ?

  Changed 5 years ago by mmcmar

Sorry, I didn't explain well. The standard way to do a OSX install is to create a DMG package, which is a virtual disk image (like ISO). In the DMG package would be the application structure, which would be exactly how Jarbundler packages up the application. There is no real installer, when you get a DMG package you just move it to your local OSX hard drive. I believe there is no installer because the applications are more self contained and don't worry about dependencies.

I am still researching, but it appears to get a DMG package you run a utility on a OSX machine (hdiutil). So we can't do that currently in Jajuk since it's not built on an OSX machine. What we do is use Jarbundler to get the application pieces in the right place, and then zip it up. It is download, unzip, and there you have your app. I don't think Izpack is used in any way in this process.

The current issue is with the icon shown in the Menu Bar and in the System Tray when the application is running. This is pointing to an icon called 'izpack.icns' which I why I keep referring to Izpack. When I view that icon on my mac it's not the Jajuk standard icon, so my Menu Bar and Tray show a version of the icon that I attached before. Can you check that this icon file referred to in the build.xml 'jarbundler' target is really the Jajuk icon?

icon="${conf_izpackdir}/bin/icons/izpack.icns"

  Changed 5 years ago by bflorat

OK, I understand now. I'd like to set an icns file but how to build it ? the reference logo image is http://wiki.jajuk.info/upload/f/fa/Jajuk_logo.png, perhaps do you have some tool to build it ?

Changed 5 years ago by mmcmar

icon file for mac

  Changed 5 years ago by mmcmar

I created an icon file from the Jajuk_logo.png using the Mac Icon Composer. I attached it here and hope it works.

  Changed 5 years ago by bflorat

Thanks a lot, I'll rebuild it tonight so you can test it. BTW, I added you on the contrib page: http://jajuk.info/index.php/Jajuk_Team#Contributors

  Changed 5 years ago by anonymous

OK, please try again: MAC pakage: jajuk-macosx-1.4.1.zip (currently broken)

URL: http://repository.jajuk.info/jajuk/release/maintenance/jajuk-macosx-1.4.1.zip ASC: fa3bf66f6d5eae3fbac8ac867269d6b340b80fba MD5: 263a7bac98da126b57305bda1b135216

  Changed 5 years ago by mmcmar

This looks great on my mac, the application starts and has very nice icons working now.

  Changed 5 years ago by bflorat

  • status changed from new to closed
  • resolution set to fixed
  • milestone changed from 1.5 "Lothlórien" to 1.4.1

Excellent, I'll commit the new 1.4.1 OSX package on SF tonight

Add/Change #603 (Mac OS Package)

Author



Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.