• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: jam is deprecated
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: jam is deprecated


  • Subject: Re: jam is deprecated
  • From: Mike Swingler <email@hidden>
  • Date: Wed, 6 Jan 2010 14:15:22 -0800

On Jan 6, 2010, at 12:15 PM, Xochitl Lunde wrote:

> You can still build on Snow Leopard with Java SE 6 and target older
> versions, but you have to specify the -source 1.4 -target 1.4
> options to ant's javac invocation, and be careful not to use new
> API. If your "preflight" stub is the only part of your app that has
> to build this way, this shouldn't be a big problem.

>
> Ant (and from Xcode's perspective, any "external") targets should be
> buildable going back to before 10.4. You can still use the same app
> bundling logic, or if you'd like, check out the JNI Library template
> in Xcode 3.0 that builds a full Java application. You can simply
> remove the parts you don't use, like the native library target, and
> use that as a base which builds on Leopard if you change the project
> file to be Xcode 2.4 compatible.

>
> Ideally if you have an Xcode 2.4 compatible project file with
> external targets that build your Java resources using ant, with -
> source 1.4 -target 1.4, that should build equally well on both
> Leopard and Snow Leopard.


Then I am a little confused as to why I have the "Jam is deprecated" problem in the first place.  If I use Xcode 3.0 to create a new project, it gives me the options of Java Application and Java JNI Application in the New Project Assistant.  Both of these claim to be "Ant-based" builds.  I created my Java GUI targets in the same project as the backend which I think was originally instantiated with the Command Line Utility C++ Tool template.  When I created the Java targets in that project, I chose "Java Application" for the target type.  I am confused why creating the target that way would give me a non-Ant target using Jam, but using the Project Template for Java Application will give me an Ant target.

I'm sorry, I meant Xcode 3.2, not 3.0. No Xcode 3.2 template should give you a Jam template.

If these new Ant targets are External Build System targets, does that mean they also will be saved in the *.pbxuser file instead of the *.pbxproj file?  I moved away from using external build targets to build my program because of having to maintain a default.pbxuser file.

The external build targets are maintained inside of the project file, not the pbxuser files.

I haven't added any special "bundling logic" to my program, other than to use the Java Application target template and add a Copy Files Build Phase.  I definitely would like to keep the functionality from the Java Application target, because it does create a nice .app bundle that seems able to launch from anywhere in the file system. 

You should double-check that your Java Application target does not contain a Jam target in it. If it does, you'll have to convert it to an external target that calls ant.

Regards,
Mike Swingler
Java Runtime Engineer
Apple Inc.
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: jam is deprecated
      • From: Xochitl Lunde <email@hidden>
References: 
 >Re: jam is deprecated (From: Xochitl Lunde <email@hidden>)

  • Prev by Date: Re: jam is deprecated
  • Next by Date: Re: File encoding for files ported between Mac and Windows?
  • Previous by thread: Re: jam is deprecated
  • Next by thread: Re: jam is deprecated
  • Index(es):
    • Date
    • Thread