Mac OS X: calling Self-Contained App Package Ant Tasks with jenkins

Hello,
we're trying to create a self-contained application package using the ant packager tasks running on Mac OS X Mountain Lion using Java 1.7.0_07-b10. This works fine when it is executed as a regular build. However, when we try to execute it from a Jenkins build job that is forced to use our "Mac Build Node" everything works fine as well BUT the packager fails to create a DMG-Image. It seems that the Applescript, created by the Packager to build the DMG, has problems to talk to the Finder application. Probably because it is executed remotely.
Here is the Stacktrace:
16:36:55 Using default package resource [script to run after application image is populated] (add package/macosx/sfx-client-post-image.sh to the class path to customize)
16:36:55   Using default package resource [DMG setup script] (add package/macosx/sfx-client-dmg-setup.scpt to the class path to customize)
16:37:09 /var/folders/rk/mtx558t16p1f50_432f2dkq00000gq/T/build6253445559899130246.fxbundler/macosx/sfx-client-dmg-setup.scpt:55:59: execution error: Finder got an error: Application isn’t running. (-600)
16:37:09 java.io.IOException: Exec failed with code 1 command [[osascript, /var/folders/rk/mtx558t16p1f50_432f2dkq00000gq/T/build6253445559899130246.fxbundler/macosx/sfx-client-dmg-setup.scpt] in unspecified directory
16:37:09      at com.sun.javafx.tools.packager.bundlers.IOUtils.exec(IOUtils.java:131)
16:37:09      at com.sun.javafx.tools.packager.bundlers.IOUtils.exec(IOUtils.java:107)
16:37:09      at com.sun.javafx.tools.packager.bundlers.IOUtils.exec(IOUtils.java:101)
16:37:09      at com.sun.javafx.tools.packager.bundlers.MacDMGBundler.buildDMG(MacDMGBundler.java:356)
16:37:09      at com.sun.javafx.tools.packager.bundlers.MacDMGBundler.bundle(MacDMGBundler.java:80)
16:37:09      at com.sun.javafx.tools.packager.PackagerLib.generateNativeBundles(PackagerLib.java:452)
16:37:09      at com.sun.javafx.tools.packager.PackagerLib.generateDeploymentPackages(PackagerLib.java:435)
16:37:09      at com.sun.javafx.tools.ant.DeployFXTask.execute(DeployFXTask.java:215)I'd like to know if this is a known problem or a general limitation of the packager (or the way DMG creation works in OS X) ... OR if there is anything that I can do/configure/change to make it execute correctly when called via ssh on a remote mac?
Thanks in advance!
Jens

Apple script is used to style dmg installer (position icons, etc.).
This is unavoidable step unless you will only build .app and generate .dmg on your own.
It should still work over ssh if you log as a same user on the desktop on the build system.
Finder can not initialize if it can not display. We use Hudson in house to do builds and they are building .dmg bundles fine as long as build slaves
have same user logged in on desktop on the slave node. I assume similar should work for Jenkins but i have not tried myself.
Otherwise, you can do custom dmg along these lines:
- create .dmg image once from manual build
- convert .dmg file to read-write form
- remove content of you application folder (but keep top level app directory)
- add this dmg to the build (should be able to compress it if size is concern)
- at the build time - mount it, copy .app content into the image, then convert .dmg into compressed read only form

Similar Messages

  • Self Contained apps.

    Hello everyone, well recently i've been experimenting with trying to build static applications, and self-contained packages.
    Ive messed around with Appimagekit and CDE to build self-contained apps and have finally come up with a method of my own for achieving massive portability with packages compiled with very new glibc versions.
    what i've done is built gimp 2.7.2 on arch and managed to run it on ubuntu 11.04, 10.04 and 8.04, as well as centos 5.6 and the very old centos 4.8
    basically I've rebuilt arch's glibc package to require kernel version 2.6.9 instead of 2.6.27 (still not sure if this is entirly neccessary)
    install all the packages required to build and run the gimp.
    make a directory called /Programs that has user read and write permission.
    built the gimp to install all its required files into /Programs/Gimp/2.7
    ran cde ( can be found here http://www.stanford.edu/~pgbovine/cde.html ) to find all the files that gimps requires, including other base tools, libraries etc.
    moved all the libraries i need into /Programs/Gimp/2.7
    and use this line to run
    LD_PRELOAD=/Programs/Gimp/2.7/lib/libc.so.6 /Programs/Gimp/2.7/lib/ld-linux-x86-64.so.2 /Programs/Gimp/2.7/bin/gimp-2.7
    which can be implemented into a script very easily.
    So by simply makeing a /Programs directory and changing the ownership to user, this same binary can be ran on systems as old as centos 4.8 which is as old a system I would expect anyone to use, however it most likely works with any linux using 2.6 kernel.
    Ill be uploading my packages to an fileserver of mine when I get the machine configured.
    This may not help anyone here in particular, but its very nice if you have older machines and need the latest apps, or an unpopular distro where packages arent available, and building is quite tedious.
    I would imagine these packages would work on *BSD with linux emulation but have not tested this yet.
    Sorry for my bad writting. Hopefully some of you can help me make more packages, test or whatever, as it would be nice to have a one stop place for common GNU/Linux apps that arent distro/glibc/kernel dependent.
    P.S. one good advantage of this aswell, is that the user has read and write access to the apps, which themselves do not require superuser rights to run, so why should they require rights to be installed. If anything this may be a security feature.

    dolik.rce wrote:
    Hi kolbycrouch,
    I've been experimenting with the very same ideas in the past, trying to build portable apps to be used from thumb drive. But I ended up with much less success than you I did pretty much the same steps as you (CDE + LD_LIBRARY_PATH/LD_PRELOAD), but didn't think of recompiling glibc. Did you do that manually or using modified pkgbuild? If you have the pkgbuild for that I would really like to see it, as I will definitely try this again
    Anyway, thanks for sharing your experience!
    I just used the pkgbuild from the abs.
    Ill have my tarballs uploaded somewhere soon, as of right now, some very old systems do not have /lib/ld-linux-x86-64.so.2 which might be needed for plugin programs, I noticed this when running gimp 2.7 (that i built on arch)  on centos, gimp would run if you used the prepackaged ld-linux-x86-64.so.2 however it wouldnt load the plugins unless I put that ld in /lib, not a problem really, but i wish i could assign some variable like $LD= or something. It doesnt seem to need the ld that it was built with, just anyone will do, since ubuntu hardy has /lib/ld-linux-x86-64.so.2 it worked fine without needing my prepackaged one.
    Maybe someone can tell me why arch's default Glibc packages is built with --enable-kernel=2.6.27, as I have not noticed any difference after lowering it to 2.6.9.
    P.S. Woot, am running gimp 2.7.2 flawlessly on my very old centos 4.8 (kernel 2.6.9, glic 2.3) workstation.

  • Mobile App Packaged as Desktop (with air runtime)???

    Okay, so I have this application that is basically the ubiqutous page turning component you can find online, but modified for mobile.  It's for kid's storybooks.  It's a mobile flex application in FlashBuilder 4.6.  When I export release build for my mobile project, I see an option for desktop .air packaging rather than mobile.  Works and looks great....but you can't sell a .air file on Mac App Store.  I want to bundle the air runtime to create a  .app, which hopefully I can get on the app store.  However, this option is not available in a mobile project.  I've tried figuring it out via commandline...
    java -jar adt.jar -package -keystore ./jamesabrannan_cert_development.p12 -storetype pkcs12 -target bundle ShortBook.app ShortBook-app.xml ShortBook.swf
    but that results in.... no such file /Users/jamesabrannan/Documents/test/ShortBook.app
    So then I saw that perhaps some of the google results might be wrong/outdated and I was actually simply supposed to indicate the folder the app was to be created in, okay, so....
    java -jar adt.jar -package -keystore ./jamesabrannan_cert_development.p12 -storetype pkcs12 -target bundle . ShortBook-app.xml ShortBook.swf
    But that results in....
    Files "/Users/jamesabrannan/Documents/test/ShortBook-app.xml" and "/Users/jamesabrannan/Documents/test/ShortBook-app.xml" have conflicting package paths: /Users/jamesabrannan/Documents/test/ShortBook-app.xml
    What I want to do is take my mobile application and package it with the OS X runtime for adobe air.  It must be possible, but I'll be darned if I can figure it out.  Looks like I have AIR 2.6, or whatever is standard in FlashBuilder 4.6
    I'm trying to avoid creating a desktop app, adding the mobile framework, and then transfering my code to it.
    Any help would be appreciated.  This would be a great boon, as some tablet apps would be totally applicable - with a few slight modifications - on a desktop.
    Thanks,
    James A. Brannan
    Brannan Technical Solutions LLC
    www.floopiebooks.com

    If you're using the MAX preview release then make sure both the device and your PC are on the same network and connected.

  • Finding an iPhone app that syncs tasks with Outlook for Mac

    Does anyone have any recommendations?  It's a pretty simple use case
    I want to create/read/edit/delete tasks on my iPhone
    I want to create/read/edit/delete tasks in Outlook for Mac
    I want those tasks to stay in sync?

    You don't need an app for notes:
    http://support.apple.com/kb/HT4231

  • Mac AppStore trying to update an app i never downloaded with someone else's ID

    My mac app store wants to update an app i never downloaded, MacTracker, and when i click update, it has someone elses ID in the login box.
    I don't download cracked apps/software.
    I have never heard of this app let alone downloaded it.
    Tried resetting ID/password, logged in and out of all Apple services iCloud/iTunes/MAS
    Reset MAS, reinstalled, deleted preferences and still it wants to update this app.
    Anyone shed a light on this?

    Quit the App Store.
    Go to ~/Library/Caches/com.apple.appstore
    Move the Cache.db file from the com.apple.appstore folder to the Trash, restart your Mac.
    ~ (Tilde) character represents the Home folder.
    For LIon: To find the Home folder in OS X Lion, open the Finder, hold the Option key, and choose Go > Library

  • FCP 6 won't export QT as "self-contained"

    I'm trying to export some files as QT's, but even though the "make movie self-contained" box IS checked, they still won't play without opening FCP. I did change playback preferences from FCP to QT, which works on the source computer... but when I move the files to another computer, they still won't play. Any thoughts?

    I think we are getting confused with what you want to do here... if all you want to do is open the file up inside QuickTime simply right click or control click - Open With > QuickTime Pro.
    This will not open in Final Cut Pro. Also, you never told use what codec you were working in.
    Know this - Self Contained has nothing to do with which application opens the movie file. This function determines how the file will be created. By default, a movie file created by Final Cut Pro will try and open with Final Cut Pro. You can change this with the "Get Info" switch, then select QuickTime Pro as the default player.
    Hope this helps,
    //Fremen

  • QT self contained or QT conversion H264

    Hi everybody,
    I wish to import into "project A" several subclips that I have edited in "project B".
    The editing in project B is quite tricky and the "copy paste" action from B to A led to some sync problems, because it was hard to put back pieces together"
    In order to ease the transfert, I thought that I could export the set of subclips from project B as a whole (self contained movie for example) and then insert the resulting file in project A.
    What is the best way to proceed to avoid loss of quality?
    Should I use in the menu "export as quick time movie (self contained)"
    or " using the QTconversion with H264 compression" ?
    Thanks in advance for advise
    Bernard

    I wish to import into "project A" several subclips that I have edited in "project B".
    I do this often.
    In order to ease the transfert, I thought that I could export the set of subclips from project B as a whole (self contained movie for example) and then insert the resulting file in project A. < </div>
    Copy and paste is my route, dunno why it won't work for you. Should work fine.
    What is the best way to proceed to avoid loss of quality?
    Should I use in the menu "export as quick time movie (self contained)"
    or " using the QTconversion with H264 compression" ?<
    H264 is never appropriate for production. Why not use a reference movie? If you're using DV, your copy will not be recompressed, it will be a digital close. Umm, that's the theory, as long as therea re no effects or transitions. Those do indeed add compression as a result of the processing/rendering.
    bogiesan

  • HDV - self contained .mov OUT OF SYNC!

    just exported a 50 min self contained hdv 1080i pal sequence - it gradually goes out of sync, it gets really bad - video ends up around 4 seconds in front of audio
    same as reference movie?
    HELP!

    yeh not kidding - 'About 25hours' -
    if i just insert the seq into a dvpal 50 48khz -render - export qt mov self contained (reference mov is ok with dv pal isnt it?) - compressor- compress .mov to mpg2 - will this be quicker than - conform (20+hours) - export qt mov self contained (1/2hours)- compressor (3-4hours) - mpg2 2

  • What Is The Difference Between Save As Self-Contained Movie and Exporting

    What Is The Difference Between Save As Self-Contained Movie and Exporting a Video as a Quicktime File

    Save As places the file inside a .mov container. No re-encoding.
    Your still have the option to save this file as "self-contained" (all the parts travel with the file) or "reference" (small file sized movie that merely "points" to the movie parts).
    A reference movie can't play if the source files can't be found. If they are moved or deleted the reference movie will fail and it can't be re-created.
    Exporting is done to convert one QuickTime format to another. Typically you do this with a high quality source file. Exporting previously compressed files is a bad idea that leads to unpredictable results.
    QuickTime doesn't open WMP formats without third party software help (Flip4Mac is one). You can't convert (export) WMP formats without paying extra fees to upgrade their software.

  • Using the Captivate App Packager

    I'm using captivate 8 and trying to combine in with a HTML game in App packager.
    Forgive me but i'm somewhere near novice with this.
    I am trying to insert a HTML game into my captivate project. using the captivate packager.  I have seen a number of videos and read a number of things that demonstrate just how simple this is.  However for whatever reason I can't do it.
    1. I open Captivate App Package
    2. I select the published file, which opens
    3. This is where I get stuck, on the videos and information I have read I should be able to insert the game now.  However I can't insert anything into the project because I do not have this option.  I have a limited number of options which all involve publishing to mobile devices, what should I do?

    Several weeks later I'm not sure this will be helpful, but here goes anyway.
    App Packager that came with Captivate 7 allows you to add in HTML5 based content on top of your base project (to be clear, you open app packager, you select a project that's been built/published as HTML5 in App Packager, and then can import in other HTML5 based things like animations on top of it). 
    App Packager that comes with Captivate 8 does not offer this option anymore.  I haven't seen the reason  documented per se, but I'm thinking it's because in Captivate 8 you can import HTML5-based stuff into your Captivate .cptx file directly via.the Media button>HTML5 Animation.    Since you can import it directly into your Captivate project before you ever get to App Packager, it seems to make sense why the option is no longer present in App Packager for Captivate 8.
    Can you import the game into your .cptx file directly and then publish the whole shebang as HTML5, then bring it all into App Packager?

  • OOP question: self contained class or use of "external" typedefs...

    Hi all,
    I am trying my first steps into Labview OOP and am currently thinking on how to best proceed.
    I have an existing RT application running on a CRIO system that has as one of its components,
    a multi channel analyzer (MCA8000).
    I thought this would be a good candidate for my first LV class since the vi's I curently have for this MCA
    are all connected via a rather large cluster with sub-clusters to store status information and so on for
    this device. Exactly the kind of data which is better defined as private within a class!
    In the currently working code for the whole intrument (non-OOP) I use several queues to send commands
    to indivudal loops of the software and one general message and error logging queue.
    In the code I want to re-implement as OOP for the MCA I use data queues and the "general" logging
    queue of the main program. These queues are all typedefed in the main program.
    So instead of error in's and out's I have the typedefed logging queue as input and errors are logged there
    when they occur. Not sure if this is good practice but this is a good way to let the user know of errors that occur
    on the RT target since the queued log "entries" are all sent to the UI which runs on a laptop.
    The MCA specific queue typedefs I can include into the class project so that they are part of the MCA class.
    What I am not sure about is how to handle the "general" logging queue since it is also used elsewhere in the main
    program. And I am not "yet" planning of re-implementing the whole thing using oop, I wanted to start with a small
    overseeable project.
    In a fully OOP project I would probably define the logging queue in a parent class if I understand OOP correctly?
    Sorry, I am rather new to LV OOP so I might be asking something obvious...
    Olaf

    If you are really planning on implementing your OOP in pieces I would recommend attacking it from the most common and shared items first. So, start with your logs, error processing and messaging components. These are the types of things that will get used by your higher level classes. They also tend to be a bit more self contained and easier to start with.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • After downloading and install 10.8 from the Mac Store, where does the install app go? I would like to burn the 'InstallESD.dmg" package to DVD.

    Hi folks -- i downloaded ML 10.8 from the Mac Store yesterday, and before installing saw the install app in my Applications folder. Following a posting on Macworld.com, I would like to make a DVD backup of the installer, but after restarting from the installation process, the Installer app is gone from the Applications folder, and I cannot find it anywhere... In would like to make that DVD backup in case I have Internet issues and need to do an install.
    Do I need to download the installar again (and if I do, do I have to pay for it again), or is it hidden somewhere invisibly on my drive?--
    Thanks in advance ~

    It gets deleted as soon as you install.
    You need to quit the installer and extract from the app package before installing or download again.
    AC

  • Bundles can't contain multiple app packages error

    Hi All,
    I am building an universal windows application targeting to multiple platforms x86,x64 and ARM.
    However when i build my project in TFS i get following exception
    "D:\Builds\22\MDWindowsClient\MDWindowsClient_dev\src\MDWindowsClient\MDWindowsClient.Windows\MDWindowsClient.Windows.csproj" (default target) (2) ->
    (_CreateBundle target) ->
    MakeAppx : error : Error info: error 80080204: The package with file name "MDWindowsClient.Windows_1.0.0.9_x86_Debug.appx" and package full name "SMDWindowsClient_1.0.0.9_x64__8cggqpkfn886j" is not valid in the bundle because the bundle also contains the package with file name "SMDWindowsClient.Windows_1.0.0.9_x64_Debug.appx" and package full name "SMDWindowsClient_1.0.0.9_x64__8cggqpkfn886j" which applies to the same processor architecture. Bundles can't contain multiple app packages for the same processor architecture, or an architecture-neutral app package with any architecture-specific app package. [D:\Builds\22\SMDWindowsClient\SMDWindowsClient_dev\src\SMDWindowsClient\SMDWindowsClient.Windows\SMDWindowsClient.Windows.csproj]
    MakeAppx : error : Bundle creation failed. [D:\Builds\22\MDWindowsClient\MDWindowsClient_dev\src\MDWindowsClient\MDWindowsClient.Windows\MDWindowsClient.Windows.csproj]
    MakeAppx : error : 0x80080204 - The specified package format is not valid: The package manifest is not valid. [D:\Builds\22\MDWindowsClient\MDWindowsClient_dev\src\MDWindowsClient\MDWindowsClient.Windows\MDWindowsClient.Windows.csproj]
    Already this kind of error was reported here https://social.msdn.microsoft.com/Forums/vstudio/en-US/ce255209-a94b-41c1-97f6-4659f5844ce3/how-to-create-a-windows-store-bundle-by-tfs-2013-build-system?forum=tfsbuildBut found no solution to this problem
    Any help will be hugely appreciated.
    Best Regards,
    Saurav

    Hi Saurav,  
    Thanks for your post.
    Your application is Windows Store application? And you can manually build(using MSBuild) your application on build agent machine successfully?
    As this is a reproduced issue and posted to feedback site, but there’s no a solution in that old feedback and it be closed, so please resubmit this issue to Microsoft Connect Feedback portal at:
    https://connect.microsoft.com/VisualStudio Microsoft engineers will evaluate them seriously. 
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Can an Automator app be self contained?

    I have a mini app that I made that makes a PDF from a Word document, but it uses MS Office actions from 2008. My manager only has 2004 and is not necessarily looking to upgrade right now. So my question is, can I make it so my PDF maker app is totally self-contained and run on his computer, or is this something that I would have to know about Developer to do?
    Thanks for any help on this matter.

    Actions that come with an application typically use parts of that application to perform it's task. If you can find a stand-alone action that performs your conversion then you won't need the application, otherwise you will need to install the application to use it's actions.

  • Self Contained Applications and their preferences, database, etc

    Hello,
    Let say i have a cross-platform runnable application
    This application create then read/write some data and preference in external files
    Bundle hierarchy is as follow:
    ApplicationFolder/application.jar
    ApplicationFolder/database.odb
    ApplicationFolder/config.xml
    Whether it's on a Mac, Windows or Linux, the application knows that everything is next to her (ie: /database.odb or /config.xml)
    Now comes the Self Contained Application feature provided by JavaFx 2
    The application is embedded in .exe on Windows, .app on Mac and don't know yet about Linux...
    As a Mac user i've tested it on Mac and saw that database.odb and config.xml are now created at the user root path
    I thus agree that i should think of a cross-platform mechanism to save/read my application preferences regarding the operating system
    But i'm not quite sure of what to do and how to do it (can't find any googling help either..)
    On windows, the .exe is installed in a folder, so i guess i can keep the same behavior
    On Mac, the .app is a folder and i should keep everything inside (how to get the .app path ?!)
    Isn't there a built-in mechanism in Java/JavaFx ?
    Thanks a lot for any comment, advice, documentation or else that you could give me
    Badisi

    dolik.rce wrote:
    Hi kolbycrouch,
    I've been experimenting with the very same ideas in the past, trying to build portable apps to be used from thumb drive. But I ended up with much less success than you I did pretty much the same steps as you (CDE + LD_LIBRARY_PATH/LD_PRELOAD), but didn't think of recompiling glibc. Did you do that manually or using modified pkgbuild? If you have the pkgbuild for that I would really like to see it, as I will definitely try this again
    Anyway, thanks for sharing your experience!
    I just used the pkgbuild from the abs.
    Ill have my tarballs uploaded somewhere soon, as of right now, some very old systems do not have /lib/ld-linux-x86-64.so.2 which might be needed for plugin programs, I noticed this when running gimp 2.7 (that i built on arch)  on centos, gimp would run if you used the prepackaged ld-linux-x86-64.so.2 however it wouldnt load the plugins unless I put that ld in /lib, not a problem really, but i wish i could assign some variable like $LD= or something. It doesnt seem to need the ld that it was built with, just anyone will do, since ubuntu hardy has /lib/ld-linux-x86-64.so.2 it worked fine without needing my prepackaged one.
    Maybe someone can tell me why arch's default Glibc packages is built with --enable-kernel=2.6.27, as I have not noticed any difference after lowering it to 2.6.9.
    P.S. Woot, am running gimp 2.7.2 flawlessly on my very old centos 4.8 (kernel 2.6.9, glic 2.3) workstation.

Maybe you are looking for

  • Replacement Shuffle Still Not Recognized In Windows Or iTunes

    Hello everyone, I was having the orange/green light issue and my 512MB shuffle was not recognized in Windows or iTunes 7.0.1. I contacted Apple and they replaced my shuffle - after I attempted all documented fixes and running the Shuffle Reset Utilit

  • Best way to write readable code?

    So I'm waist deep in building my GUI by hand and it occurs to me that I'm probably not doing this the best way possible. What I have now is listed below and I was thinking that other possibilities would be to write other methods like initMainFrame()

  • ***Problems installing Flash Player***

    I just recently switched my operating system to windows vista and I can no longer view videos on youtube. It says: "Hello, you either have JavaScript turned off or an old version of Macromedia's Flash Player. Get the latest Flash player." When I get

  • System Monitoring prerequisite

    Hi All    I am running on solution manager 4.0 Kernal 7.0 SP13 . I am unable to configure system monitoring for satellite system SAP 4.6c (ABAP System)  Do we need to upgrade it to SP 15 for CCMS and for System monitoring . Please suggest u2026   Ple

  • Cluster install

    i am installing clustered instance on 4 nodes. Should i move msmdsrv.ini config file to shared drive or should i leave it in default location? it appears that one benefit of having it on clustered disk would be one modification for all nodes vs chang