Loading ...
Sorry, an error occurred while loading the content.

How to start writing perl script for automating builds?

Expand Messages
  • ruchika_27
    Hi, I have to write perl scripts that automate the build process. We support multiple platforms - MSDEV, WinCE, ARM, etc and want to write a Perl script that
    Message 1 of 4 , Sep 7, 2004
    View Source
    • 0 Attachment
      Hi,

      I have to write perl scripts that automate the build process. We
      support multiple platforms - MSDEV, WinCE, ARM, etc and want to
      write a Perl script that can automate this process. I am a Perl
      Newbie and would appreciate pointers on how to start.

      I am thinking of starting by starting with the MSDEV environment
      first. Is there a way of automatically checking out code from
      Perforce and building it using MSDEV cmd. If yes, could you please
      provide some script/sample etc. Whats a good place to search for
      answers?

      Any suggestions would be highly appreciated.

      Thanks
    • Mike Dillinger
      ... That is a huge task. There is a team of 4 people at my company who do nothing but that. Perforce has a command line interface. Once you ve learned the
      Message 2 of 4 , Sep 7, 2004
      View Source
      • 0 Attachment
        On 09/07/2004 03:13 PM, ruchika_27 wrote:

        > Hi,
        >
        > I have to write perl scripts that automate the build process. We
        > support multiple platforms - MSDEV, WinCE, ARM, etc and want to
        > write a Perl script that can automate this process. I am a Perl
        > Newbie and would appreciate pointers on how to start.
        >
        > I am thinking of starting by starting with the MSDEV environment
        > first. Is there a way of automatically checking out code from
        > Perforce and building it using MSDEV cmd. If yes, could you please
        > provide some script/sample etc. Whats a good place to search for
        > answers?

        That is a huge task. There is a team of 4 people at my company who do
        nothing but that.

        Perforce has a command line interface. Once you've learned the command
        line interface, the Perl code will come naturally. Check out some Perforce
        documentation or take training.

        -MikeD
      • ruchika_27
        Thanks for the reply Mike. I have been able to run the p4 Sync command from the Perl script using the system command. Since my Perforce setting is already
        Message 3 of 4 , Sep 7, 2004
        View Source
        • 0 Attachment
          Thanks for the reply Mike.

          I have been able to run the p4 Sync command from the Perl script
          using the system command. Since my Perforce setting is already setup
          with the correct Client view and Port setup, I had to run just the
          P4 Sync command. But when running the automated nightly scripts on
          build machines, is it a good idea to setup perforce (P4Client,
          P4Port etc) from the script? If yes, what all do we need to
          initialize in P4?

          I also came across a way of building MSDEV project from Perl script
          using the Application Object. Is this the only way of building MSDEV
          project from Perl scripts or is their another way to do this? Could
          you/anyone point me to documentation on how to use Application
          Objects?

          Could someone advice me on how to invoke non MS IDE's from Perl
          scripts. Would system(<Cmd Line Interface for he IDE>) work? For eg,
          to build an ARM project, can I run the CodeWarrior IDE as follows
          from inside the script -
          system("cmdide $FULL_NAME$ /t "RamLib" /r /b /c /q 2>>
          $PLATFORM$_$SHORT_NAME$.txt").

          Thanks for your help.

          --- In perl-beginner@yahoogroups.com, Mike Dillinger <miked@s...>
          wrote:
          > On 09/07/2004 03:13 PM, ruchika_27 wrote:
          >
          > > Hi,
          > >
          > > I have to write perl scripts that automate the build process. We
          > > support multiple platforms - MSDEV, WinCE, ARM, etc and want to
          > > write a Perl script that can automate this process. I am a Perl
          > > Newbie and would appreciate pointers on how to start.
          > >
          > > I am thinking of starting by starting with the MSDEV environment
          > > first. Is there a way of automatically checking out code from
          > > Perforce and building it using MSDEV cmd. If yes, could you
          please
          > > provide some script/sample etc. Whats a good place to search for
          > > answers?
          >
          > That is a huge task. There is a team of 4 people at my company
          who do
          > nothing but that.
          >
          > Perforce has a command line interface. Once you've learned the
          command
          > line interface, the Perl code will come naturally. Check out some
          Perforce
          > documentation or take training.
          >
          > -MikeD
        • daymobrew@yahoo.com
          ... The info is probably in the compiler documentation. I found some info on building from the command line for Visual Studio 2003 on Microsoft s web site:
          Message 4 of 4 , Sep 8, 2004
          View Source
          • 0 Attachment
            --- In perl-beginner@yahoogroups.com, "ruchika_27" <ruchika_27@y...>
            wrote:
            > Thanks for the reply Mike.
            >
            > I have been able to run the p4 Sync command from the Perl script
            > using the system command. Since my Perforce setting is already setup
            > with the correct Client view and Port setup, I had to run just the
            > P4 Sync command. But when running the automated nightly scripts on
            > build machines, is it a good idea to setup perforce (P4Client,
            > P4Port etc) from the script? If yes, what all do we need to
            > initialize in P4?
            >
            > I also came across a way of building MSDEV project from Perl script
            > using the Application Object. Is this the only way of building MSDEV
            > project from Perl scripts or is their another way to do this? Could
            > you/anyone point me to documentation on how to use Application
            > Objects?
            >
            > Could someone advice me on how to invoke non MS IDE's from Perl
            > scripts. Would system(<Cmd Line Interface for he IDE>) work? For eg,
            > to build an ARM project, can I run the CodeWarrior IDE as follows
            > from inside the script -
            > system("cmdide $FULL_NAME$ /t "RamLib" /r /b /c /q 2>>
            > $PLATFORM$_$SHORT_NAME$.txt").
            >
            > Thanks for your help.
            >
            > --- In perl-beginner@yahoogroups.com, Mike Dillinger <miked@s...>
            > wrote:
            > > On 09/07/2004 03:13 PM, ruchika_27 wrote:
            > >
            > > > Hi,
            > > >
            > > > I have to write perl scripts that automate the build process. We
            > > > support multiple platforms - MSDEV, WinCE, ARM, etc and want to
            > > > write a Perl script that can automate this process. I am a Perl
            > > > Newbie and would appreciate pointers on how to start.
            > > >
            > > > I am thinking of starting by starting with the MSDEV environment
            > > > first. Is there a way of automatically checking out code from
            > > > Perforce and building it using MSDEV cmd. If yes, could you
            > please
            > > > provide some script/sample etc. Whats a good place to search for
            > > > answers?
            > >
            > > That is a huge task. There is a team of 4 people at my company
            > who do
            > > nothing but that.
            > >
            > > Perforce has a command line interface. Once you've learned the
            > command
            > > line interface, the Perl code will come naturally. Check out some
            > Perforce
            > > documentation or take training.
            > >
            > > -MikeD

            The info is probably in the compiler documentation.
            I found some info on building from the command line for Visual Studio
            2003 on Microsoft's web site:
            http://msdn.microsoft.com/library/en-us/vccore/html/_core_building_on_the_command_line.3a_.overview.asp

            You might consider hiring a contractor go write the scripts to get you
            started. I used to be on one of those teams that only did builds (we
            used shell scripts, perl and batch scripts on Windows).

            I would avoid setting up the Perforce view for each build. At least
            initially. Break the problem down into small chunks and write scripts
            for each bit and then group them together e.g. one chunk gets source
            from source control, another runs make/nmake, another verifies output
            (number of files, sizes +/- 10%), another copies build output to
            network area for QA, another emails people on status etc.
          Your message has been successfully submitted and would be delivered to recipients shortly.