Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Auto Builds

Auto Builds

Scheduled Pinned Locked Moved The Lounge
c++csharpcssquestionworkspace
10 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    ExtraLean
    wrote on last edited by
    #1

    I'm looking for suggestions on setting up an auto-build for my dev environment. What do you all use? Batch files, a build program like FinalBuilder, or something else? FinalBuilder looks nice but is quite expensive. Do you know of any other products like this that I should try out? By the way, I'm using Visual C++ .NET 2003. Thanks :cool: -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder

    T G A M 4 Replies Last reply
    0
    • E ExtraLean

      I'm looking for suggestions on setting up an auto-build for my dev environment. What do you all use? Batch files, a build program like FinalBuilder, or something else? FinalBuilder looks nice but is quite expensive. Do you know of any other products like this that I should try out? By the way, I'm using Visual C++ .NET 2003. Thanks :cool: -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder

      T Offline
      T Offline
      Thomas Freudenberg
      wrote on last edited by
      #2

      Curently we're using a bunch of batch files, which are originated several years ago. I'd like to update out build environment to NAnt[^] plus Draco.NET[^] or Hippo.NET[^]. If only I'd have the time :sigh: Regards Thomas


      Disclaimer:
      Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you.

      E 1 Reply Last reply
      0
      • E ExtraLean

        I'm looking for suggestions on setting up an auto-build for my dev environment. What do you all use? Batch files, a build program like FinalBuilder, or something else? FinalBuilder looks nice but is quite expensive. Do you know of any other products like this that I should try out? By the way, I'm using Visual C++ .NET 2003. Thanks :cool: -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder

        G Offline
        G Offline
        Gary R Wheeler
        wrote on last edited by
        #3

        For our current product, I use a combination of a Windows application and some VBScript. The Windows application lets you enter some information (version number, build number, and a couple of version resource strings) into a dialog. A couple of header files are automatically checked out of SourceSafe, edited, and checked back in. The app then runs the VBScript, which does the actual build. The build process 'gets' the source out of SourceSafe and compiles all of the solutions (about 20 all told, between one application, several services, a bunch of COM objects, and the odd device driver here and there). Once the compile finishes, the script builds the install. The installation files and some additional material are then copied into a directory that is essentially an image of what goes on the distribution CD. The final step for the script is to post-process log files from each step of the build into a single HTML log. The HTML summarizes the results of the build at the top, and includes links to the results for each step. An application was used as a driver for the build process, because it's easier to validate the information entered. The VBScript made it easy to run the various build tools (SourceSafe, VS.NET, InstallShield) via OLE Automation. It also made file manipulation much easier. We took a brief look at some of the tools out there, and none of them had the flexibility we needed. In one form or another, they all insisted that your workflow conform to their requirements. The one option that some tools offer that would be useful is the ability to distribute the build process between several machines, thereby reducing the time required. Our product build currently requires a little over an hour, so this wasn't critical.


        Software Zen: delete this;

        E 1 Reply Last reply
        0
        • E ExtraLean

          I'm looking for suggestions on setting up an auto-build for my dev environment. What do you all use? Batch files, a build program like FinalBuilder, or something else? FinalBuilder looks nice but is quite expensive. Do you know of any other products like this that I should try out? By the way, I'm using Visual C++ .NET 2003. Thanks :cool: -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder

          A Offline
          A Offline
          Andy Brummer
          wrote on last edited by
          #4

          I'm using NANT right now including running unit tests with NUnit. It took me a while to setup and my builds are only going to zip files. I'd like to take the time to convert it to msi, but it is working well now. I'm using it to build an ASP.net application, associated database and batch processes as well as push them out to our test server. I've been meaning to check out Draco.NET though. -Andy Brummer

          E 1 Reply Last reply
          0
          • T Thomas Freudenberg

            Curently we're using a bunch of batch files, which are originated several years ago. I'd like to update out build environment to NAnt[^] plus Draco.NET[^] or Hippo.NET[^]. If only I'd have the time :sigh: Regards Thomas


            Disclaimer:
            Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you.

            E Offline
            E Offline
            ExtraLean
            wrote on last edited by
            #5

            Thanks Thomas.... I'll look into those. -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder

            1 Reply Last reply
            0
            • G Gary R Wheeler

              For our current product, I use a combination of a Windows application and some VBScript. The Windows application lets you enter some information (version number, build number, and a couple of version resource strings) into a dialog. A couple of header files are automatically checked out of SourceSafe, edited, and checked back in. The app then runs the VBScript, which does the actual build. The build process 'gets' the source out of SourceSafe and compiles all of the solutions (about 20 all told, between one application, several services, a bunch of COM objects, and the odd device driver here and there). Once the compile finishes, the script builds the install. The installation files and some additional material are then copied into a directory that is essentially an image of what goes on the distribution CD. The final step for the script is to post-process log files from each step of the build into a single HTML log. The HTML summarizes the results of the build at the top, and includes links to the results for each step. An application was used as a driver for the build process, because it's easier to validate the information entered. The VBScript made it easy to run the various build tools (SourceSafe, VS.NET, InstallShield) via OLE Automation. It also made file manipulation much easier. We took a brief look at some of the tools out there, and none of them had the flexibility we needed. In one form or another, they all insisted that your workflow conform to their requirements. The one option that some tools offer that would be useful is the ability to distribute the build process between several machines, thereby reducing the time required. Our product build currently requires a little over an hour, so this wasn't critical.


              Software Zen: delete this;

              E Offline
              E Offline
              ExtraLean
              wrote on last edited by
              #6

              Thanks Gary... will probably end up doing something similar. Would you mind sharing what the Windows application is that you are using? -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder

              G 1 Reply Last reply
              0
              • A Andy Brummer

                I'm using NANT right now including running unit tests with NUnit. It took me a while to setup and my builds are only going to zip files. I'd like to take the time to convert it to msi, but it is working well now. I'm using it to build an ASP.net application, associated database and batch processes as well as push them out to our test server. I've been meaning to check out Draco.NET though. -Andy Brummer

                E Offline
                E Offline
                ExtraLean
                wrote on last edited by
                #7

                andy brummer wrote: I'm using NANT right now including running unit tests with NUnit Will look into these as well... thanks! -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder

                1 Reply Last reply
                0
                • E ExtraLean

                  I'm looking for suggestions on setting up an auto-build for my dev environment. What do you all use? Batch files, a build program like FinalBuilder, or something else? FinalBuilder looks nice but is quite expensive. Do you know of any other products like this that I should try out? By the way, I'm using Visual C++ .NET 2003. Thanks :cool: -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder

                  M Offline
                  M Offline
                  Marcie Jones
                  wrote on last edited by
                  #8

                  Hi Edward, In the Whidbey timeframe, Microsoft is coming out with their own tool for this, MSBuild. Marcie http://www.codeproject.com

                  E 1 Reply Last reply
                  0
                  • M Marcie Jones

                    Hi Edward, In the Whidbey timeframe, Microsoft is coming out with their own tool for this, MSBuild. Marcie http://www.codeproject.com

                    E Offline
                    E Offline
                    ExtraLean
                    wrote on last edited by
                    #9

                    Thanks Marcie, I hadn't heard about MSBuild yet. Watching Alex's webcast as we speek :-) -Ed -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder

                    1 Reply Last reply
                    0
                    • E ExtraLean

                      Thanks Gary... will probably end up doing something similar. Would you mind sharing what the Windows application is that you are using? -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder

                      G Offline
                      G Offline
                      Gary R Wheeler
                      wrote on last edited by
                      #10

                      The Windows application is something I wrote, and is specific to our product and build process. The application is a simple property sheet, with three tabs. The first tab displays edit fields for the version number, build number, special and private build comments. The second and third tabs display the contents of the two header files that define constants that are compiled into our version resources. When the application starts up, it gets the two header files out of SourceSafe. As the user changes the fields on the first page, the application edits the contents of the second and third pages so that they match. If the user clicks on the build button, the app checks out the two header files, rewrites them with the values in the fields on the first page, and then checks them back in. The next thing the build application does is it starts a VBScript that performs the actual build process. The script retrieves the entire project structure for the product from SourceSafe into an empty directory. The script then iterates through the top-level directories beneath the build directory, running VS.NET from the command line and building each solution file it finds. After the compile completes, the script runs InstallShield through OLE Automation and builds the installation. The script then copies the installation files to a final directory from which our test group can install the product. As a final step, the script reformats various text logs from the compile and InstallShield steps into a single HTML report that summarizes the results of the build. This sounds like a lot, but it really isn't. Given that we will go through 50-100 builds from the time we go from beta test to first customer ship, having the build process be as simple as possible really helps. On a previous product we had a set of batch files to do the job. They worked fairly well, but they were a pain to maintain, and we had to edit version information into our header file by hand. With the new approach, a build can be started with only a few clicks. I spent one day on the Windows application, and 4-5 days on the script. This thing builds a product that consists of two user .EXE's, ~20 COM objects, 3 services, and a device driver. There's over 300 source files and probably in excess of 500,000 lines of code. There's just no way you could reliably build the whole thing without an automated process.


                      Software Zen: delete this;

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups