Hi Jan,

thanks you very much for your very detailed 2 cents =)

> 
> My few cents ...
> * you should have a buildfile

I have one, it is just not included in the zip. Will be available via
sf.net cvs/svn


> * if possible, you should also have testcases
>   - AntUnit
>   - JUnit (maybe extending oata.BuildFileTest)

I will have a look at it.


> * I would extract the lines 157-187 into a checkConfiguration()
method

done (and uploaded)


> * does it make sence to proceed with a failed configuration?
>   - you invoce handleError() which will log the message when
> failonerror==false 
>   - I think handleError() should set a flag "hasError" so you could
>     quit the job after the checks

Not sure if I understand you correctly. After handleError() is called
the following return exists the execute() method.
Example (where this code is not yet extracted to the above mentioned
checkConfiguration()):
                if (projectfile == null) {
                        handleError("Attribute 'projectfile' is
required");
                        return;
                }

This way, the task is exited regardless of what failonerror is set to.
The difference is that the build fails or not.


> * line 247+250: we always use brackets .... you could use Checkstyle
>   and Ants src/etc/checkstyle/checkstyle-config for verifying
> codestyle. 

corrected.
I will have a look at checkstyle later.
<strike>Is it possible to use Eclipse´s internal formatter for
this?</strike> =)
http://webster.cs.uga.edu/~pavagada/SoftwareEngineering/Checkstyle.htm
l


> * Maybe you want to implement the task as AntLib [1], then
>   you could also find the common [2] module interesting ...

Umm... I visited [1] and googled but I´m not quite sure what AntLib is
for.
At first, I used a exec call with args to execute HelpStudio. Would
AntLib mean that I extracted this first ant script code so that it
could be referenced from any buildfile? No Java?

What would be the advantage?


>> HelpStudio Ant Task
>> tested with Ant 1.6.5
>> license: GPL
> 
> If ready, you could add it to [3] or provide a patch for [4] (see
[5]
> for that). 

I don´t like [3] as it adds unnecessary redundancy (though I love
wikis =)
Text for [4] is already prepared.


>> I´ve attached the distribution as a zipfile (project is
>> registered at sourceforge - just needs acknowledgement).
> 
> Maybe you are interested in continous integration using Gump [6].
> Write a gump descriptor [7] and mail it here - every ASF committer
> could add that to 
> gumps metadata directory.

Thanks but IMHO this won´t be necessary as the project isn´t going to
grow very much. Eventually, I will add patches for changes in
HelpStudio. Nonetheless, I recently read about CI with CruiseControl
and it´s very interesting. So, ASF offers CI to any project related
with Ant or other ASF software?


>> 1)
>> I used nsisant.sf.net as a model. If necessary, in which form
>> should I state this in the source file or in the documentation?
> 
> As "model"? Or more as "template"?
> For me it seems that you used nsisAnt for making a copy and
modifying
> that (how was Erich Gammas wording? "Monkey see - Monkey do" )

yeah, that´s the best description! *g*
So should I add something like "based on nsisant by..."?


>> 2)
>> Can anybody tell me down to which ant version my task is
compatible?
>> How could I easily find out?
> 
> testing ...
> Could be compatible with Ant 1.5. But you have to test.
> I would not spend time on compatibility tests <1.5 and maybe not
<1.6.
> Because we are in front of 1.7, compatibility with 1.6 (2003 [8])
> should be enough. 

ok, I´ll test this.


>> 3)
>> One remaining problem is that command line arguments are
>> automatically escaped via " if they contain spaces. Now it is
>> possible that a to be compiled booklet has a space in it so
>> the appropriate command line would look like this:
>>   helpstudio2.exe /bk="just a test" projectfile.hsp
>> Unfortunately, when I pass the option as /bk=just a test it
>> gets converted to "/bk=just a test" or /bk="just a test" gets
>> converted to '/bk="just a test"' and HelpStudio doesn´t
>> recognize these.
> 
> Who is escaping? Or is it just inside the debug log?

o.a.t.a.types.Commandline.quoteArgument() does this.

   lArgs.add("/bk=\"just a test\"");

gets converted to '/bk="just a test"'.
The commandline then reads e.g. "helpstudio2.exe '/bk="just a test"'
myproject.hsp"


>> 4)
>> Patching
>> http://svn.apache.org/repos/asf/ant/core/trunk/xdocs/external.xml
>> for the "External Tools and Tasks" page: I´m using Eclipse 
>> 3.1 on Windows.
>> I know that I can create a patch to a file that is under
>> versioncontrol. Is there an easy way to create a patch besides
>> configuring the svn repository in Eclipse?
> 
> You could also create the xml snippet ...

Already done. I thought applying a patch file would have been even
easier for you guys.


(snip)


>> 6)
>> btw: Though using the GPL or any other opensource license, why
>> do people state a copyright in the source files? Shouldn´t
>> this mean that only this person is allowed to copy the code?
>> (I now just adopted this)
> 
> AFAIK this is your code. You are the holder. You decide, who could
> use the code 
> in which way. The GPL (nor any other OSS-license) does not change
> that. 

sounds reasonable


> 
> Inside Ant we dont have any @author statements any more. We have a
> contributor-file instead. Now we arent a group of individuals any
> more - now we are a team ;-) 

lol


> [1] http://ant.apache.org/manual-beta/CoreTypes/antlib.html
> [2] http://svn.apache.org/viewvc/ant/antlibs/common/trunk/
> [3] http://wiki.apache.org/ant/AntExternalTaskdefs
> [4] http://ant.apache.org/external.html
> [5] http://ant.apache.org/faq.html#adding-external-tasks
> [6] http://gump.apache.org/
> [7] Gump DD examples
>     *
> https://svn.apache.org/repos/asf/gump/metadata/project/args4j.xml 
>     *
> https://svn.apache.org/repos/asf/gump/metadata/project/antbook.xml
> [8] http://ant.apache.org/faq.html#history 


Cheers
Lars


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to