Quantcast

pbxbuild is now deprecated...

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

pbxbuild is now deprecated...

greg.casamento
Guys,

The pbxbuild program is now deprecated.  In spite of the fact that it
does work in many cases, it has already been superceded in
functionality by the buildtool/xcode framework I've been writing which
builds projects in the same way the xcodebuild tool does on mac os x,
through direct interpretation of the .xcodeproj file without any need
for GNUmakefiles.

I urge people not to depend on pbxbuild any longer and for people to
look at the new buildtool/xcode framework which I will be releasing in
the next few weeks.

Thanks, GC
--
Gregory Casamento
Open Logic Corporation, Principal Consultant
yahoo/skype: greg_casamento, aol: gjcasa
(240)274-9630 (Cell)
http://www.gnustep.org
http://heronsperch.blogspot.com

_______________________________________________
Gnustep-dev mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/gnustep-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pbxbuild is now deprecated...

Fred Kiefer
On 09.03.2012 01:05, Gregory Casamento wrote:

> Guys,
>
> The pbxbuild program is now deprecated.  In spite of the fact that it
> does work in many cases, it has already been superceded in
> functionality by the buildtool/xcode framework I've been writing which
> builds projects in the same way the xcodebuild tool does on mac os x,
> through direct interpretation of the .xcodeproj file without any need
> for GNUmakefiles.
>
> I urge people not to depend on pbxbuild any longer and for people to
> look at the new buildtool/xcode framework which I will be releasing in
> the next few weeks.
>
> Thanks, GC

Greg,

could you please explain this step? Together with your strange commit
message for pbxbuild this rather sounds like: "I broke your toy, you now
have to play with mine". And this isn't that attitude I like to see in a
free software project I am contributing to.

I am using pbxbuild on a weekly basis and the current code, before your
latest change, worked rather well for me. It may well be that the new
build tool is superior to pbxbuild, but why did you have to make a
revert on pbxbuild to prove this?

Last summer you made a similar revert and than rolled back this revert
and I had to clean up after that. I wont do this again now. Either the
new build tool works for me, or I will have to write a GNUmakefile
manually for each Mac project I port over to GNUstep. What I don't
intend to do is work on the new build tool as our different approaches
to participative software development don't seem to fit.

Fred

_______________________________________________
Gnustep-dev mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/gnustep-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pbxbuild is now deprecated...

greg.casamento
Fred,

I have been the main contributor to pbxbuild since it was originally
written Hans Baier.   Hans did excellent work for a first attempt so,
none of what follows is meant to be a bad commentary on any of that.
In fact, working on pbxbuild, gave me some insight on how to do the
new tool.   I've tried hard to make it general purpose, but pbxbuild
is not suited to building many project types.

The changes up until my reversion didn't work at all in many cases.  I
have consistently had to roll back this code to r29000 in order for it
to work properly.  My commit message wasn't mean the way you
interpreted it.  It was meant to express that what was on HEAD *prior*
to my rollback was broken, not to state that I was breaking the code
and that everyone should join me on the other tool.   The fact that
you would think that, surprises me.

The pbxbuild tool is horribly broken in so many respects that it
hardly matters whether I revert or not at this point because I will
surely break things for one person or for another person no matter
what I do.  I thought I was doing the right thing by reverting it to
29000 so that it could be useful to more people, but as I said in my
previous statement it's pointless trying to fix it because it's whole
paradigm is wrong.  It tries to gather information from the various
phases of the build and compose a GNUmakefile it.   A good analogy for
this tool is, basically, that of a compiler which can only build a
limited set of programs, most of which closely resemble "Hello,
World."  The reason I took a unilateral approach to pbxbuild was for
the following reasons:

1) I am the only one, to my knowledge, maintaining the thing...  look
at the changelog and the commit history.
2) I can demonstrate that it is broken for most modern xcodeproj files
because of recent changes.
3) I felt as though the revision I moved it back to was for the best.

I seldom have an "attitude" regarding anything I do and I'm really
very hurt that you often seem to feel otherwise.  Additionally, I'm
grieved that you won't consider helping with a better tool because I'm
the one developing it.    I don't usually make unilateral decisions on
something unless I'm the only one working on it.  If someone else is
working with me... I consult the group.

In any case pbxbuild is a clumsy approach to solving the problem of
building apps from xcodeproj files.   It tries VERY unsuccessfully to
generate GNUmakefiles.   It does work in some simple cases, but fails
for most others.  The new tool I'm developing doesn't have these
shortcomings because it doesn't rely on gnustep-make, nor does it rely
on GNUmakefiles.  Neither of these things are bad technologies, but
the translation from xcodeproj files to GNUmakefiles is fraught with
difficulty.    The new tool directly interprets the build phases in
the project file and handles them as the xcodebuild tool on the Mac
would.

Anyway... I will only be making critical fixes to pbxbuild from this
point on, thus, it is deprecated unless someone else feels like taking
it up.  I may, at some point, add the capability to the new tool
(buildtool...needs a better name) to generate GNUmakefiles, thus
completely superceding pbxbuild... but this is not my top priority
with the new tool

Sincerely, GC

On Fri, Mar 9, 2012 at 4:25 AM, Fred Kiefer <[hidden email]> wrote:

> On 09.03.2012 01:05, Gregory Casamento wrote:
>>
>> Guys,
>>
>> The pbxbuild program is now deprecated.  In spite of the fact that it
>> does work in many cases, it has already been superceded in
>> functionality by the buildtool/xcode framework I've been writing which
>> builds projects in the same way the xcodebuild tool does on mac os x,
>> through direct interpretation of the .xcodeproj file without any need
>> for GNUmakefiles.
>>
>> I urge people not to depend on pbxbuild any longer and for people to
>> look at the new buildtool/xcode framework which I will be releasing in
>> the next few weeks.
>>
>> Thanks, GC
>
>
> Greg,
>
> could you please explain this step? Together with your strange commit
> message for pbxbuild this rather sounds like: "I broke your toy, you now
> have to play with mine". And this isn't that attitude I like to see in a
> free software project I am contributing to.
>
> I am using pbxbuild on a weekly basis and the current code, before your
> latest change, worked rather well for me. It may well be that the new build
> tool is superior to pbxbuild, but why did you have to make a revert on
> pbxbuild to prove this?
>
> Last summer you made a similar revert and than rolled back this revert and I
> had to clean up after that. I wont do this again now. Either the new build
> tool works for me, or I will have to write a GNUmakefile manually for each
> Mac project I port over to GNUstep. What I don't intend to do is work on the
> new build tool as our different approaches to participative software
> development don't seem to fit.
>
> Fred
>
> _______________________________________________
> Gnustep-dev mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/gnustep-dev



--
Gregory Casamento
Open Logic Corporation, Principal Consultant
yahoo/skype: greg_casamento, aol: gjcasa
(240)274-9630 (Cell)
http://www.gnustep.org
http://heronsperch.blogspot.com

_______________________________________________
Gnustep-dev mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/gnustep-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pbxbuild is now deprecated...

Ivan Vučica
In reply to this post by greg.casamento
Whoops once again. :-)

I definitely did not mean that Mac spec files should be distributed, but the build tool could use something compatible with these files. That would allow a developer to simultaneously extend both GNUstep's build tool, Xcode and (some day) Zcode in case a new interesting language comes along.

It'd also allow an easy way to describe how to differently target GNUstep, GNUstep/Windows, Mac and one day Android using a simple change in the spec file for the product (.pbprodspec).

On Fri, Mar 9, 2012 at 21:13, Gregory Casamento <[hidden email]> wrote:
Wrong list, actually. :) The original discussion was on gnustep-dev. ;)

Nevertheless, no... the new tool doesn't look at the spec files.   I
didn't know about them, but they seem to define what each type is
based on a hierarchy.

Currently the build tool hardcodes assumptions about file types and
such, but I believe this approach is much better as it allows it to be
extensible by adding xcplugins which contain specs to tell Xcode how
to handle certain things.

I don't think the tool will be using the spec files from the mac
because these files aren't distributed with the project.  It would be
nice to, however, learn from this architecture and incorporate some of
these ideas into the tool.

GC

On Fri, Mar 9, 2012 at 2:13 PM, Ivan Vučica <[hidden email]> wrote:
> Whoops, I accidentally went off-list.
>
> There are many .xcspec/.pbspec files that ship with Xcode and these
> determine how the projects are built. These determine supported languages
> (including how to colorize them), supported compilers, supported build
> systems, file types, format for .app bundles, et cetera.
>
> If you have a Mac around, search for files with following extensions:
>
> .xcspec
> .pbcompspec
> .pblinkspec
> .pbprodspec
> .pbbsetspec
> .pbfilespec
> .pblangspec
> .xclangspec
> .xcsynspec
> .xcperspec
> .xcbuildrules
> .pbRTSspec
> .trgttmpl
>
> Go to Xcode's folder and punch in:
> find . | grep .*\\.[px][bc].*spec
> Note, Xcode3 is much more interesting than Xcode4, especially since it
> supports plugins (albeit unofficially).
>
> Cocotron seems to be adding its cross compiler into Xcode by adding a spec
> file into the appropriate place.
>
> Also look at this C# plugin for Xcode:
> http://code.google.com/p/cocoa-sharp-dev/wiki/CSharpPlugin
>
> Some docs on spec files:
> http://code.google.com/p/xcode-plugin/wiki/Specifications
> http://maxao.free.fr/xcode-plugin-interface/
>
> This whole deal is basically why I got stuck with Zcode (aside from, at that
> time, still learning my way around AppKit and more advanced Objective-C
> concepts): I wanted to work on a build system that would use the spec files
> to generate the dependency tree and the build commands.
>
> On Fri, Mar 9, 2012 at 19:13, Gregory Casamento <[hidden email]>
> wrote:
>>
>> The XCode library and buildtool read the xcodeproj directly and follow
>> what is specified in each build phase in the order they are specified
>> in the xcodeproj file.
>>
>> I'm not familiar with what you are referring to with "spec" files.
>>
>> GC
>>
>> On Fri, Mar 9, 2012 at 5:56 AM, Ivan Vučica <[hidden email]> wrote:
>> > 9. 3. 2012., u 01:05, Gregory Casamento je napisao:
>> >
>> >> Guys,
>> >>
>> >> The pbxbuild program is now deprecated.  In spite of the fact that it
>> >> does work in many cases, it has already been superceded in
>> >> functionality by the buildtool/xcode framework I've been writing which
>> >> builds projects in the same way the xcodebuild tool does on mac os x,
>> >> through direct interpretation of the .xcodeproj file without any need
>> >> for GNUmakefiles.
>> >>
>> >> I urge people not to depend on pbxbuild any longer and for people to
>> >> look at the new buildtool/xcode framework which I will be releasing in
>> >> the next few weeks.
>> >>
>> >> Thanks, GC
>> >
>> > Do you make use of various files compatible with Xcode's spec files?
>>
>>
>>
>> --
>> Gregory Casamento
>> Open Logic Corporation, Principal Consultant
>> yahoo/skype: greg_casamento, aol: gjcasa
>> <a href="tel:%28240%29274-9630" value="+12402749630">(240)274-9630 (Cell)
>> http://www.gnustep.org
>> http://heronsperch.blogspot.com
>
>
>
>
> --
> Ivan Vučica - [hidden email]
>
>



--
Gregory Casamento
Open Logic Corporation, Principal Consultant
yahoo/skype: greg_casamento, aol: gjcasa
<a href="tel:%28240%29274-9630" value="+12402749630">(240)274-9630 (Cell)
http://www.gnustep.org
http://heronsperch.blogspot.com



--
Ivan Vučica - [hidden email]



_______________________________________________
Gnustep-dev mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/gnustep-dev
Loading...