4 Replies Latest reply on Aug 13, 2010 10:00 AM by douglas.rapp

    Packaging .air file to .dmg via ANT

    braitsch

      First off, I hope someone sees this as this Archive thread is the only place the forum is allowing me to post my air related question.

       

      So, I'm having some trouble packaging (via ANT) my air 2.0 app into a .dmg file that can be run as a native installer.

      (I am running this on MacOSX 10.6.4 w/ a JRE 1.6.0_20)

       

      I should note that I can package a .dmg fine from the terminal via > adt -package -target native TestApp.dmg TestApp.air

      but attempting to do the same thing from an ANT task throws a host of various errors.

       

      For example :

      Running the following task throws errors saying that I have to include the signing options I used when I compiled the air app.

          <target name="package to dmg">
              <java jar="${ADT}" fork="true" failonerror="true" maxmemory="512m">
                  <arg value="-package"/>
                  <arg value="-target native"/>
                  <arg value="TestApp.dmg"/>
                  <arg value="TestApp.air"/>           
              </java>
          </target>

      Throws error :  [java] Signing options required to package from descriptor and fileset etc...

       

      My assumption is that this task should execute idential to the following terminal command :

      > adt -package -target native TestApp.dmg TestApp.air

       

      So I add my signing options and the compiler complains that now it can't see or load my app descriptor file.

      My understanding is that it shouldn't need the app descriptor since it already used that file when it compiled the swf into the air app?

       

          <target name="package to dmg"
              <java jar="${ADT}" fork="true" failonerror="true" maxmemory="512m">
                  <arg value="-package"/>
                  <arg value="-storetype"/>
                  <arg value="${STORETYPE}"/>
                  <arg value="-keystore"/>
                  <arg value="${KEYSTORE}"/> 
                  <arg value="-storepass"/>
                  <arg value="${CERT_PASSWORD}"/>           
                  <arg value="-target native"/> 
                  <arg value="TestApp.dmg" />           
                  <arg value="${DESCRIPTOR_FILE}"/>
                  <arg value="-C"/>
                  <arg value="${BUILD_DIR}"/>
                  <arg value="."/>
              </java>
          </target>

      Throws error : error 301: Application descriptor missing/cannot be opened

       

      I have tried every combination of ADT arguments I can think of but to no avail.

       

      Like I said, I can compile the air app fine and launch it in the ADL as well as install it on my system, it's just the packaging to .dmg from ANT that is giving me pain.

      Any suggestions would be really appreciated.

       

      Thanks,

      Stephen

       

      Here is a link to my full build script that may help you see what's going on.

      http://www.quietless.com/tmp/build.xml

       

      properties files here:

      http://www.quietless.com/tmp/proj.properties

      http://www.quietless.com/tmp/cert.properties

       

      Message was edited by: braitsch