You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Carol Frampton <cf...@adobe.com> on 2012/04/01 00:45:50 UTC

compiler files in pending svn load are in my whiteboard area

Although Alex got the signed software grant from Adobe to Apache on Friday it was not recorded so infra can not load the dump file this weekend.  I just added the files that are in the dumpfile to my whiteboard area:

https://svn.apache.org/repos/asf/incubator/flex/whiteboard/cframpton/trunk

I suggest you combine these files with the ones in trunk.  To build modules, cd to modules and type ant.  If all goes well, everything will build. Note the velocity target currently spits out lots of warnings about enum since the code was written before enum became a reserved word in Java.

The top-level build.xml file is currently undergoing legal review by Adobe and has cleared the patent lawyer so only one more lawyer to go.  I hope we can add it sometime next week.  This file builds both frameworks and modules and has targets for the source and binary distros and checkintests.

We did not get the bin directory in this batch of files.  I suggest you just use the ones in the opensource kit for now.  The .exe files will have to be replaced with .bat files because 1) we can't contribute the source of the .exe files since it belongs to another project in Adobe and 90% of its functionality we aren't using anyway 2) .exe files aren't source and 3) we, or at least I, don't want to have to have a Windows system to build Flex.

Carol

Re: compiler files in pending svn load are in my whiteboard area

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

> committers (who want to test the change to the code before committing it).
It will need to wait until the modules code is committed into the trunk (which hopefully will occur this weekend). 

Once that happens I'll take a look at the patch and applying it to the patches branch.

Thanks,
Justin


Re: compiler files in pending svn load are in my whiteboard area

Posted by Left Right <ol...@gmail.com>.
>
> The patch you supplied does fix this issue but the contrib lib is also
> required for Mustella. Perhaps it's best to wait until that donated and
> then see how the build scripts can be improved?
>
> But Mustella isn't included in the SDK yet, it's only needed for
committers (who want to test the change to the code before committing it).
Why would you bundle it with the rest of the SDK? Even if it does have this
dependency and it's not possible to remove this depenency, it will be a
very bad idea to make MXMLC build depend on it.

Besides, the readability improvement is strictly subjective, while
improvement in size and number of operations needed to perform a task is
objective...

Best.

Oleg

Re: compiler files in pending svn load are in my whiteboard area

Posted by Carol Frampton <cf...@adobe.com>.

On 4/3/12 4 :43AM, "Justin Mclean" <ju...@classsoftware.com> wrote:

>Hi,
>
>Basically using the contrib library made the ant script easier to write
>and understand. I do agree as you pointed out that was at a cost to
>people who want to compile the SDK.
>
>The patch you supplied does fix this issue but the contrib lib is also
>required for Mustella. Perhaps it's best to wait until that donated and
>then see how the build scripts can be improved?

Regardless of the decision on ant-contrib I'm still changing build files,
including downloads.xml, and the patch will need to be updated if applied.
 It would make my life much easier if we could just get out a preliminary
unofficial "release" that satisfies all the Apache requirements with the
build files as is.  I didn't write these build files.  I've cleaned up
some crud but there is much more to go.  Once we get back to where we
started, people can start mucking with the build files.  Hopefully I will
be doing something else by then so we wouldn't be colliding.

Carol

>
>Thanks,
>Justin
>
>PS Communication on this list works better if we all try and stay on
>topic, write short emails and post constructive comments. [1]
>
>1. http://www.apache.org/dev/contrib-email-tips.html


Re: compiler files in pending svn load are in my whiteboard area

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

Basically using the contrib library made the ant script easier to write and understand. I do agree as you pointed out that was at a cost to people who want to compile the SDK.

The patch you supplied does fix this issue but the contrib lib is also required for Mustella. Perhaps it's best to wait until that donated and then see how the build scripts can be improved?

Thanks,
Justin

PS Communication on this list works better if we all try and stay on topic, write short emails and post constructive comments. [1]

1. http://www.apache.org/dev/contrib-email-tips.html

Re: compiler files in pending svn load are in my whiteboard area

Posted by Left Right <ol...@gmail.com>.
Oh, come on, seriously... there are people doing (or wanting to do) a Maven
build - let them staff their build with gigabytes of nonsense, please,
don't do it in the basic setup... Remember an old man who liked to shave so
much he was known for his razor? What's redundant is wrong. This particular
contrib lib is redundant.

Again, why not use contrib libraries (I insist on the plural, not only this
particular one).
- Most of them can be replaced with more or less effort by using what's
already in Ant.
- They are the code not under our control. If they break something, or
decide to make other dependencies and so on - we get punished for it.
- They just take up disc space, download time, traffic when downloaded etc.
- They require additional work to set up.

I have a grave concern you can't "install" the library and run it in the
same build (I'm not sure here, would like to be wrong on this one), yet if
it is possible, then the installation is going to be complicated, as of
now, it will probably double the code used for downloading things, and yet
this particular library is needed in the task that downloads things - so if
you want to use it, you will need the downloading functionality written
twice, first time w/o using the library, second time using it - how does
this make sense to anyone?

This is like hoarding... there's this kind of programmers who staff their
projects with a bunch of little shiny objects and photographs of furry
animals because they can, not because they have to. Why want you  do it?

Best.

Oleg

Re: compiler files in pending svn load are in my whiteboard area

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

> hmm, why the ant contrib can not be in something like i.e. ant.lib subdirectory?
Binary files should only be included if there's no other option I believe (although I'm not 100% sure on the "official" rules).

However the ant script could download and install the ant contrib jar file to this location.

>  There must be plenty of apache projects that requires additional taskdefs.
Flex uses flexTask already but that part of the project so not sure if that counts (and it includes the source code).

Thanks,
Justin

Re: compiler files in pending svn load are in my whiteboard area

Posted by Jarosław Szczepankiewicz <js...@gmail.com>.
hmm, why the ant contrib can not be in something like i.e. ant.lib
subdirectory? it is from apache with (i suppose) compatible license?
if we add it to the ant file it will not require additional
configuration / copying to the ant. It can be included at runtime
without knowledge / configuration, using simple declaration of
<taskdef> so what is the problem? There must be plenty of apache
projects that requires additional taskdefs.

2012/4/3 Justin Mclean <ju...@classsoftware.com>:
> Hi,
>
> Perhaps the Ant Script could download/install the ANT contrib and/or echo instructions for doing so?
>
> Thanks,
> Justin

Re: compiler files in pending svn load are in my whiteboard area

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

Perhaps the Ant Script could download/install the ANT contrib and/or echo instructions for doing so?

Thanks,
Justin

Re: compiler files in pending svn load are in my whiteboard area

Posted by Left Right <ol...@gmail.com>.
>  Also mustella requires ant-contrib.  I think ant-contrib
> should just be documented as part of the required software (which sorry I
> missed since I've had ant installed for so long).
>
> Also the formatting in the patch you submitted is messed up.  Each indent
> should be 4 spaces.  It looks like yours were 2 - not really sure - but
> you changes were ragged so something was off or you had embedded tabs in
> there.
>
> Hi Carol: The formatting is originally messed up, so I didn't know which
one I should follow. The rest of the text was probably edited in Intellij
Idea or another MPS editor. It uses random number of spaces to indent
nodes. My is at least consistent within that number of lines that I've
added. I couldn't deduce a common indenting pattern based on the document I
edited. Besides, there aren't any written guidelines for XML formatting on
Flex wiki, so I just took the liberty of using least space needed / this is
the default setting in Emacs.

I have answered your question re' readability before. It should be
comfortable for others, not for us (the developers). The difference in the
number of lines is insignificant as per this change, but you spare the
users of downloading, extracting and finding the proper place for the
downloaded binaries (!). Please don't assume that people wanting to build
the project will:
- want to read the wiki.
- will know how to follow the wiki, if they read it.
- will know how to find the wiki and how to navigate it (wait, I don't know
how to do that!)
- will infer from the error message given by the build script that they
need to read the wiki.

I want to illustrate this by an example from a slightly unrelated field,
but you'll see how this is related soon. Once on a job interview the
interviewer asked me to design a program that operated an elevator. Very
soon I discovered, that an elevator in deterministic environment (where the
number of users is known beforehand as well as the time of their arrival at
the floors and desired destinations) will have two essentially different
strategies, a fair strategy and the optimal strategy.
Consider this situation: there are two users in the building with 10 floors
and 1 elevator, elevator may perform following actions >=move up, <=move
down, L=load, U=unload, actions are said to take equal time. The users
arrive simultaneously at floor 1 and floor 5, the user from the floor 1
wants to go to floor 10 and the user from floor 5 wants to go to floor 4.
Elevator is at floor 1.
Fair (FIFO) elevator will do this: L>>>>>>>>>>U<<<<<L<U (22 points)
Optimal elevator will do this: L>>>>>L<U>>>>>>U (16 points)

As you might have noticed, elevators in real world are fair. I.e. they
treat passengers in the way that gives them the perception of being treated
in their best interest.
Same thing here (sorry for the very long-winded answer), it's not as
important for us (people who make the initial contribution) to make it
simple for ourselves, then to make it simple for others to utilize what we
do. Even if we have to sacrifice a little bit of our work, it will be
appreciated and seen as a good thing, but if we impose on others to do what
we perceive as optimal (which, in this case it isn't), but it won't be seen
as fair - no one will need our work, so who cares if it works a little
better?
Your average Joe-programmer will say "ah, more bloatware from these
whichmacallit Flex? eh, no news, no news at all... seen it, been there,
move to the litter bin" = end of story.

Mustella needs contrib libraries? Which and where? Mustella isn't a
must-have for someone who wants to build from sources / could be a separate
download. But if it's only these tasks, I'd rewrite it to remove the
dependency. The rewrite is really trivial / mechanical.

Best.

Oleg

Re: compiler files in pending svn load are in my whiteboard area

Posted by Carol Frampton <cf...@adobe.com>.
I'm not sure I agree with this.  While the script does work, it is much
harder to read.  Also mustella requires ant-contrib.  I think ant-contrib
should just be documented as part of the required software (which sorry I
missed since I've had ant installed for so long).

Also the formatting in the patch you submitted is messed up.  Each indent
should be 4 spaces.  It looks like yours were 2 - not really sure - but
you changes were ragged so something was off or you had embedded tabs in
there.

Carol

On 4/1/12 5 :27PM, "olegsivokon@gmail.com" <ol...@gmail.com> wrote:

>https://issues.apache.org/jira/browse/FLEX-35 I posted the patch. It seem
>to work for me.
>
>Best.
>
>Oleg


Re: compiler files in pending svn load are in my whiteboard area

Posted by Left Right <ol...@gmail.com>.
https://issues.apache.org/jira/browse/FLEX-35 I posted the patch. It seem
to work for me.

Best.

Oleg

Re: compiler files in pending svn load are in my whiteboard area

Posted by Left Right <ol...@gmail.com>.
While we are at it, what is the convention for property names in Ant
scripts? I can find these: CAPS_LOCK_IS_HERE, names.with.dots and
sTuRdYcApS, which one should I use if I need to add a new property?
Best.

Oleg

Re: compiler files in pending svn load are in my whiteboard area

Posted by Left Right <ol...@gmail.com>.
>
>
> Oleg, if you want to see something like this get done, it is best to do it
> yourself and submit the patch.
>
> I absolutely will. Was just asking whether this was intended.

Re: compiler files in pending svn load are in my whiteboard area

Posted by Alex Harui <ah...@adobe.com>.


On 4/1/12 3:32 AM, "olegsivokon@gmail.com" <ol...@gmail.com> wrote:

> Hi Justin, I understand what it's used for. I am asking that because I
> think that simplicity of compilation for others > simplicity of writing for
> the author.
> Besides, I know a lot of people who would, out of principle disallow ant
> contrib libraries. And I quite share their viewpoint. Compilation should be
> one keypress / one command process, if it's not, then it's broken.
Oleg, if you want to see something like this get done, it is best to do it
yourself and submit the patch.

-- 
Alex Harui
Flex SDK Team
Adobe Systems, Inc.
http://blogs.adobe.com/aharui


Re: compiler files in pending svn load are in my whiteboard area

Posted by Left Right <ol...@gmail.com>.
Hi Justin, I understand what it's used for. I am asking that because I
think that simplicity of compilation for others > simplicity of writing for
the author.
Besides, I know a lot of people who would, out of principle disallow ant
contrib libraries. And I quite share their viewpoint. Compilation should be
one keypress / one command process, if it's not, then it's broken.

Best.

Oleg

Re: compiler files in pending svn load are in my whiteboard area

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

> Was this conrib library inherited or added on purpose? I'd rather we loose
> it. It's not required really.

It's needed for the if ant task which is used in the download ant script. While it possible to write conditional ant tasks without it it makes them much simpler and easier to understand. It's quite commonly used as far as I'm aware.

Thanks,
Justin

Re: compiler files in pending svn load are in my whiteboard area

Posted by Left Right <ol...@gmail.com>.
Was this conrib library inherited or added on purpose? I'd rather we loose
it. It's not required really.

Best.

Oleg

RE: compiler files in pending svn load are in my whiteboard area

Posted by "Michael A. Labriola" <la...@digitalprimates.net>.
>Just a note to anyone trying to compiling that the download.xml script uses the <if> ant task which is not part of the standard ant install.

>You'll need to get it form here:
>http://sourceforge.net/projects/ant-contrib/files/ant-contrib/ant-contrib-1.0b2/

Also on windows, it is best to run these build scripts inside of something like Cygwin or, my preference, a bash shell such as gitbash.

Mike



Re: compiler files in pending svn load are in my whiteboard area

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

Just a note to anyone trying to compiling that the download.xml script uses the <if> ant task which is not part of the standard ant install.

You'll need to get it form here:
http://sourceforge.net/projects/ant-contrib/files/ant-contrib/ant-contrib-1.0b2/

On OSX you need to download the file and copy the jar like so (sudo may be required).
cp ant-contrib.jar /usr/share/ant/lib/ant-contrib-1.0b2.jar

You will also need to set ANT_HOME to /usr/share/ant 

Thanks,
Justin