Hi Ruben,
There is another update from my side.I am able to send mails
via 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
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>