Ruben,
This sounds really a great idea.I shall just check with this and
get back to u.Thanks a lot Ruben.
Thanks and regards
Maddy
On Thu, Jul 2, 2009 at 1:10 PM, Ruben Willems <[email protected]>wrote:
> Hi
>
> that is also possible I think,
> only problem : what are the errors?
> --> what should nant scan for errors?
>
>
> the only way I see for the moment is the following :
> ° in your publisher section, set this nant task as the last publisher,
> surely AFTER the merge files task
> ° from within the nant script, you know what the artifact folder is,
> hardcoded or via the nant property CCNetArtifactDirectory
> in the buildlogs subfolder, take the last buildlog file, so the
> youngest file.
> this contains the data of the last build (failed or not)
> ° with the nant xmlpeek, you should be able to extract the errors you want
> http://nant.sourceforge.net/release/latest/help/tasks/xmlpeek.html
>
>
> with kind regards
> Ruben Willems
>
>
>
> On Thu, Jul 2, 2009 at 9:08 AM, madhu nambiar
> <[email protected]>wrote:
>
>> Hi Ruben,
>> There is another update from my side.I am able to send mails
>> via nant.build.So <http://nant.build.so/> dont u think that the
>> requiremnent which i had told you y'day could be implemented i.e extraction
>> of the mail ID from a text file and now update that mail ID into some value
>> in the nant.build file dynamically.
>> Any other suggestions from ur side are most welcome.
>>
>>
>> Thanks and regards
>> Maddy
>>
>> On Wed, Jul 1, 2009 at 2:41 PM, madhu nambiar
>> <[email protected]>wrote:
>>
>>> Hi ruben,
>>> Thanks a lot for the input.Let me just have a look at it and get
>>> back to u..
>>>
>>>
>>> Thanks
>>> Maddy
>>>
>>> On Wed, Jul 1, 2009 at 12:27 PM, Ruben Willems <
>>> [email protected]> wrote:
>>>
>>>> Hi
>>>>
>>>>
>>>> there is no built in functionality that can handle this, sorry.
>>>> you can create your own publisher though, not that difficult.
>>>>
>>>> read my blog at http://rubenwillems.blogspot.com/
>>>> sections : customizing code
>>>>
>>>> I would advise to do it as a plugin (also in the blog), so you can
>>>> easily upgrade ccnet,
>>>> without loosing your publisher
>>>>
>>>> basically :
>>>> ° create a publisher
>>>> ° scan the log for known problems (via the existing xls)
>>>> ° look up the email id's
>>>> ° mail them via the built in .Net classes (not difficult at all)
>>>>
>>>>
>>>> with kind regards
>>>> Ruben Willems
>>>>
>>>> On Wed, Jul 1, 2009 at 8:25 AM, madhu nambiar <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi,
>>>>> let me make it to you very clear.There is a development team which
>>>>> does all the check ins and check outs of their .cpp files.there is another
>>>>> team known as Integration team which handles all the compilation and
>>>>> realease of the build.Generally what happens is ,whenever the integ team
>>>>> guys finds any errors in the building or compilation process,they just
>>>>> look
>>>>> the .cpp file which is having errors on the IDE and then search the .cpp
>>>>> file in an .xls file which has different coulmns and corresponding mail ID
>>>>> is taken agains the particular .cpp file which is having errors.Then the
>>>>> Integ team guys sends mails to that mail Id telling them that the file
>>>>> which
>>>>> was checked is having errors and they need to take care about it.So i just
>>>>> want to know some method by which this can be automated using ccnet.config
>>>>> file where the errors are searched in the build.log file and then take the
>>>>> .cpp file and search the .xls file and send mails to the users.
>>>>>
>>>>> Plz get back to me for more clarifications.
>>>>>
>>>>> Thanks and regards
>>>>> Maddy
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Jul 1, 2009 at 10:40 AM, Ruben Willems <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> thinking of a way ....
>>>>>> but how would a program know that the fault is in a.c?
>>>>>> from the warnings or so?
>>>>>>
>>>>>>
>>>>>> But why do you make it so complicated?
>>>>>> if user X breaks the build, he is responsible
>>>>>> and mailing all modifiers is rather easy.
>>>>>>
>>>>>>
>>>>>> or is it the case that user X and user Y check something in,
>>>>>> the fault is in a.c (handled by user X) and that Y may NOT get a mail?
>>>>>>
>>>>>> is this the case, if so a custom mailing program is needed,
>>>>>> should not be that hard to create.
>>>>>>
>>>>>>
>>>>>> with kind regards
>>>>>> Ruben Willems
>>>>>>
>>>>>>
>>>>>> On Wed, Jul 1, 2009 at 6:48 AM, madhu nambiar <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hi ruben,
>>>>>>> Sorry for the late reply.
>>>>>>>
>>>>>>> The one u had mentioned is exactly what i am trying to automate.
>>>>>>> The Integ team guys checks an .xls corresponding to some packet named
>>>>>>> a.c and he extracts the mail ID corresponding to the user and send mail
>>>>>>> to
>>>>>>> him.
>>>>>>>
>>>>>>> is there anyway out Ruben??
>>>>>>>
>>>>>>> Thanks and regards
>>>>>>> maddy
>>>>>>>
>>>>>>> On Wed, Jul 1, 2009 at 1:39 AM, Ruben Willems <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> Just to see if I get this straight :
>>>>>>>> ° user X checks in some code
>>>>>>>> ° it breaks the build
>>>>>>>> ° the reason is an error in file a.c
>>>>>>>> ° you look up who is assigned to handle a.c (should be userX)
>>>>>>>> ° ccnet should mail user X
>>>>>>>>
>>>>>>>>
>>>>>>>> correct?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> with kind regards
>>>>>>>> Ruben Willems
>>>>>>>>
>>>>>>>> On Tue, Jun 30, 2009 at 5:25 PM, madhu nambiar <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hi ruben,
>>>>>>>>> As per the requirement what they wish is something which
>>>>>>>>> automates the manual process they are doing.Whenever they see any
>>>>>>>>> compilation errors in their execution,they just look the .cpp file
>>>>>>>>> which is
>>>>>>>>> having erors and they manually search the .xls file which is having
>>>>>>>>> the EID
>>>>>>>>> and the mail Id corresponding to the .cpp file.So they just told me to
>>>>>>>>> automate this process so that i can extract the .cpp file having
>>>>>>>>> errors and
>>>>>>>>> then look up the .xls and extract the mail ID and this mail ID
>>>>>>>>> updates the
>>>>>>>>> ccnet.config file dynamically without out interference.So i am able to
>>>>>>>>> convert the .xls to a .txt file .Now i m just stuck up in this dynamic
>>>>>>>>> updation.
>>>>>>>>>
>>>>>>>>> Thanks and regards
>>>>>>>>> Maddy
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 6/29/09, Ruben Willems <[email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> this is not possible :-(
>>>>>>>>>>
>>>>>>>>>> ccnet executes nant, the nant script *could* update the config
>>>>>>>>>> file (not recommended!), but the changes will only be in effect
>>>>>>>>>> on the NEXT integration run.
>>>>>>>>>>
>>>>>>>>>> but why you want to do this?
>>>>>>>>>> where is this csv file coming from?
>>>>>>>>>>
>>>>>>>>>> if you really need someting that can update the users being mailed
>>>>>>>>>> at runtime
>>>>>>>>>> I would suggest make a JIRA issue, and document clearly HOW you
>>>>>>>>>> would like it
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> with kind regards
>>>>>>>>>> Ruben Willems
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Jun 29, 2009 at 2:52 PM, madhu nambiar <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> yes sure,i can make that clear.I want my ccnet.config file which
>>>>>>>>>>> invokes the nant scripts which reads the value from the text
>>>>>>>>>>> file(In this
>>>>>>>>>>> case my mail ID ) and this same value should be updated into the
>>>>>>>>>>> email
>>>>>>>>>>> section in ccnet.config file
>>>>>>>>>>> dor eg:
>>>>>>>>>>>
>>>>>>>>>>> <email [email protected] mailhost="smtp.company"
>>>>>>>>>>> includeDetails="TRUE">
>>>>>>>>>>> <users>
>>>>>>>>>>>
>>>>>>>>>>> <user name="Maddy" group="buildmaster" address=
>>>>>>>>>>> [email protected]/>
>>>>>>>>>>> </users>
>>>>>>>>>>>
>>>>>>>>>>> So i want this adress to change dynamically i.e when the
>>>>>>>>>>> ccnet.config invokes the nant and the nant reads the value from the
>>>>>>>>>>> text
>>>>>>>>>>> file.That same value should be updated in the address section.
>>>>>>>>>>>
>>>>>>>>>>> Thanks and regards
>>>>>>>>>>> maddy
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Jun 29, 2009 at 6:02 PM, Ruben Willems <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> now I'm confused, what does the mailing section of ccnet.config
>>>>>>>>>>>> has to do with the reading of this csv file?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> with kind regards
>>>>>>>>>>>> Ruben Willems
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Jun 29, 2009 at 2:21 PM, madhu nambiar <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi ruben,
>>>>>>>>>>>>> Thanks a lot .So can i echo this mail ID and
>>>>>>>>>>>>> update in the mailing section of my ccnet.config file??It shoukd
>>>>>>>>>>>>> update
>>>>>>>>>>>>> dynamically .
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks and regards
>>>>>>>>>>>>> Maddy
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Fri, Jun 26, 2009 at 4:51 PM, Ruben Willems <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> <foreach item="Line" in="t.csv" delim="|"
>>>>>>>>>>>>>> property="eid,packet,mail">
>>>>>>>>>>>>>> <echo message="${eid}" />
>>>>>>>>>>>>>> <echo message="${packet}" />
>>>>>>>>>>>>>> <echo message="${mail}" />
>>>>>>>>>>>>>> </foreach>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> t.csv contents
>>>>>>>>>>>>>> EID|Packet name|Name
>>>>>>>>>>>>>> e352312|a.cpp|[email protected]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> output
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [echo] EID
>>>>>>>>>>>>>> [echo] Packet name
>>>>>>>>>>>>>> [echo] Name
>>>>>>>>>>>>>> [echo] e352312
>>>>>>>>>>>>>> [echo] a.cpp
>>>>>>>>>>>>>> [echo] [email protected]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> as you see it is best that the csv file is delimited with a
>>>>>>>>>>>>>> special character, with filled spaces
>>>>>>>>>>>>>> you can trim spaces but you will have a problem with 'Packet
>>>>>>>>>>>>>> name' this also contains a space
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> with kind regards
>>>>>>>>>>>>>> Ruben Willems
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Fri, Jun 26, 2009 at 12:49 PM, madhu nambiar <
>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi ruben,
>>>>>>>>>>>>>>> Thanks for your input .I am able to read that
>>>>>>>>>>>>>>> particular line but unable to read the particular word in the
>>>>>>>>>>>>>>> line.Can u
>>>>>>>>>>>>>>> please suggest me any method.Infact the link which u had given
>>>>>>>>>>>>>>> was not a
>>>>>>>>>>>>>>> straight forward one.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Maddy
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Fri, Jun 26, 2009 at 3:15 PM, Ruben Willems <
>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> the example at the bottom of the page :
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> http://nant.sourceforge.net/release/latest/help/tasks/foreach.html
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> that could help
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> with kind regards
>>>>>>>>>>>>>>>> Ruben Willems
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Fri, Jun 26, 2009 at 11:38 AM, Maddy <
>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi, I had posted a nant.build file which will read each
>>>>>>>>>>>>>>>>> line in the
>>>>>>>>>>>>>>>>> outfile.txt.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> <target name="main" description="compiles the source code">
>>>>>>>>>>>>>>>>> <property name="i" value="0"/>
>>>>>>>>>>>>>>>>> <foreach item="Line" in="outfile.txt" property="x"
>>>>>>>>>>>>>>>>> trim="Both">
>>>>>>>>>>>>>>>>> <property name="i" value="${int::parse(i) + 1}"/>
>>>>>>>>>>>>>>>>> <if test="${i==LineToRead}">
>>>>>>>>>>>>>>>>> <property name="myInt" value="${x}"/>
>>>>>>>>>>>>>>>>> </if>
>>>>>>>>>>>>>>>>> </foreach>
>>>>>>>>>>>>>>>>> <echo>found ${myInt} at line ${LineToRead}</echo>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> EID Packet name Name
>>>>>>>>>>>>>>>>> e352312 a.cpp
>>>>>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Now Can anyone suggest me a way by which i can read the
>>>>>>>>>>>>>>>>> 2ndline 3rd
>>>>>>>>>>>>>>>>> column i.e i should be able to read the mail ID and echo
>>>>>>>>>>>>>>>>> this thing to
>>>>>>>>>>>>>>>>> me.I am not sure if this is the right forum to ask this
>>>>>>>>>>>>>>>>> question .May
>>>>>>>>>>>>>>>>> be if anyone had a better understanding and working
>>>>>>>>>>>>>>>>> experience in nant
>>>>>>>>>>>>>>>>> could help me out with this as i am stuck up with this for
>>>>>>>>>>>>>>>>> past some
>>>>>>>>>>>>>>>>> days.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I am invoking nant from cruise control.NET.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks and regards
>>>>>>>>>>>>>>>>> Maddy
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>