Re: jam is deprecated
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