We need separate Build Automation steps for 64bit builds

  1. 4 years ago

    Tim J

    15 Nov 2015 Pre-Release Testers N. Phoenix, AZ

    Now that 64bit is a reality, we really need to have the Build Steps enhanced to provide both 32bit and 64bit specific steps. When I build my apps in each version, I have very different background helpers that need to be copied in to the resulting build depending on the platform. Without separate build and CopyFiles Steps for each, things get very convoluted when you're building for all 6 platforms.

    Feedback Case #41594

    @Tim J Because if you have both the 32bit and 64bit CopyFileStep files in the Build Automation, the Build pass executes both of them.

    It seems there is an easier way than manually moving the 32bit/64bit "Copy Files steps".

    An example for Windows - in a situation where you want to add 32Bit or 64Bit .dll's:
    Build Settings -> Windows -> Build: PostBuildSteps

    1. CopyZlib_Setup (Script, Source see below; needs to be above the next two steps)
    2. CopyZlib_32Bit (CopyFile Step, which adds the 32Bit .dll)
    3. CopyZlib_64Bit (CopyFile Step, which adds the 64Bit .dll)

    BuildScript "CopyZlib_Setup":

      'Reset
      PropertyValue("CopyZlib_32Bit.Applies to") = "3" 'None
      PropertyValue("CopyZlib_64Bit.Applies to") = "3" 'None
      
     'Enable depending on CurrentBuildTarget
      select case CurrentBuildTarget
      case 3 'Windows 32Bit
        PropertyValue("CopyZlib_32Bit.Applies to") = "0" 'Both Debug and Release
      case 19 'Windows 64Bit
        PropertyValue("CopyZlib_64Bit.Applies to") = "0" 'Both Debug and Release
      end select[/code]


    This will dis/enable the CopyFile Steps depending on the CurrentBuildTarget.
    So you can leave both 32Bit/64Bit Copy File Steps in the PostBuild section - and they will get activated depending on the current Build Settings.

    Note: This won't work for 2011r3, as the "Applies to: None" has been introduced somewhen later... It's there in 2016r3.

  2. Greg O

    15 Nov 2015 Xojo Inc scout.galaxy.barn

    Have you considered triggering the builds externally using the ide communicator?

  3. Norman P

    15 Nov 2015 Xojo Inc, Pre-Release Testers, Xojo Pro Seeking work. npalardy@great-w...

    Thats already been requested

  4. John M

    15 Nov 2015 Pre-Release Testers, Xojo Pro New York / New Jersey

    @Greg OLone Have you considered triggering the builds externally using the ide communicator?

    How does this work? I've never heard of it - where can I find more info about it?

  5. Paul L

    15 Nov 2015 Xojo Inc, Third Party Store

    There is an example project. See: Controlling Xojo from the Command Line

  6. Tim J

    15 Nov 2015 Pre-Release Testers N. Phoenix, AZ

    ... and it obviates the purpose for the Build Automation steps. Granted, it can be done, but we're then right back to where we were before Build Automation appeared and I may as well go back to my old, arcane IDEScripts.

  7. John M

    15 Nov 2015 Pre-Release Testers, Xojo Pro New York / New Jersey

    Ah! I keep forgetting to check the new docs (developer.xojo.com ). Must find time to read it *all*. Thanks!

  8. Greg O

    15 Nov 2015 Xojo Inc scout.galaxy.barn

    @Tim J ... and it obviates the purpose for the Build Automation steps. Granted, it can be done, but we're then right back to where we were before Build Automation appeared and I may as well go back to my old, arcane IDEScripts.

    Just a note... We now build all of our apps with those "old, arcane IDEScripts" using a continuous delivery system.

  9. Tim J

    15 Nov 2015 Pre-Release Testers N. Phoenix, AZ

    So, you're not eating your own soup, eh :S ?

  10. Norman P

    15 Nov 2015 Xojo Inc, Pre-Release Testers, Xojo Pro Seeking work. npalardy@great-w...
    Edited 4 years ago

    We are - just different soup
    We need to use an IDE build script because it allows more functionality that a single build automation build can

    Build automation and IDE scripting are two aspects of automating builds
    One more limited in scope than the other
    With a script we can do the 6 builds in one pass
    Cant do that with a single build automation setup

  11. Greg O

    15 Nov 2015 Xojo Inc scout.galaxy.barn

    The only thing that's changed is that instead of having a human being sitting in front of a computer doing each step, we now have a series of 16 scripts doing it for us on a server in a datacenter.

    The way I see building in Xojo is it comes in three levels:

    1. Building Manually. Developer hits Build and then assembles the final product by hand. We've all done that at one time or another, and usually when our products are simple enough or simply in flux.
    2. Build Automation Steps. Developer hits build and the repeatable steps are done in the IDE. The things that can't be done in the IDE are done manually (like cross platform installers).
    3. Continuous Integration. Developer checks a change into their version control system and an automatic build is triggered. Sometime in the not too distant future, a tested, packaged product is ready for delivery without need of human intervention.

    It's a natural progression, and you move from one to the next when your process outgrows the previous one. Until this summer, all of our products were built using levels 1 & 2. We've been working fastidiously to get everything moved to level 3, so a human being doesn't need to babysit the process.

    Did you happen to notice how many betas we had in r3, and how quickly they came? That was made possible by our new build process...

  12. Greg O

    15 Nov 2015 Xojo Inc scout.galaxy.barn

    FYI — I'm not arguing against your feature request. Just giving you an alternative way of doing this that's available now.

  13. Andre K

    16 Nov 2015 Pre-Release Testers
    Edited 4 years ago

    @Greg OLone Did you happen to notice how many betas we had in r3, and how quickly they came? That was made possible by our new build process...

    I was realy amazed how many and how fast new beta's were available, sometimes so fast that i missed one because of living on the other side of the world.
    Not that i need such a tool, but i allways am very interested in seeing a thing like that running.

    Must be a very smart piece of programming. :D

  14. Tim J

    16 Nov 2015 Pre-Release Testers N. Phoenix, AZ

    That then leads back to a very old fogbugz feature request (I don't have the original ID but I believe the current ID is 2800) for better documentation of the IDEScripting language and more in-depth examples.

  15. Norman P

    16 Nov 2015 Xojo Inc, Pre-Release Testers, Xojo Pro Seeking work. npalardy@great-w...

    The entire "language" is documented in the PDF "UserGuide-Framework"
    There were handful of updates in 2015r3 but we just use that
    No magic

  16. Paul L

    16 Nov 2015 Xojo Inc, Third Party Store

    @Tim J That then leads back to a very old fogbugz feature request (I don't have the original ID but I believe the current ID is 2800) for better documentation of the IDEScripting language and more in-depth examples.

    The latest information on Build Automation and IDE Scripting is in the Dev Center:

    There are some IDE Script examples included with Xojo:
    * Examples/Advanced/IDE Scripting

    And there is an IDE Scripting video:
    * Webinar: IDE Scripting

    Take a look at Xojo Format Code (on GitHub by Jeremy Cowgar) for an example of a sophisticated IDE Script.

  17. Tim J

    16 Nov 2015 Pre-Release Testers N. Phoenix, AZ

    Okay - that's a WTF moment for me. When did the "Dev Center" go live and why is it such a well kept secret :) ?

    I guess that I have some "new" digging to do.

  18. Norman P

    16 Nov 2015 Xojo Inc, Pre-Release Testers, Xojo Pro Seeking work. npalardy@great-w...

    @Tim J Okay - that's a WTF moment for me. When did the "Dev Center" go live .... ?

    When we released iOS

  19. Tim J

    16 Nov 2015 Pre-Release Testers N. Phoenix, AZ

    Looks like a number of the entries are either incomplete or out of date.

    CurrentBuildTarget
    BuildRegion

    And others, but I've got to get back to my work ...

  20. John M

    16 Nov 2015 Pre-Release Testers, Xojo Pro New York / New Jersey

    @Paul L Take a look at Xojo Format Code (on GitHub by Jeremy Cowgar) for an example of a sophisticated IDE Script.

    Wow! I think I'm about to learn a lot!

    Thanks for sharing this -

  21. Newer ›

or Sign Up to reply!