Skip to content
Permalink
Branch: various_unity
Commits on Mar 15, 2019
  1. Merge pull request #43 from Unity-Technologies/dry-run

    aras-p committed Mar 15, 2019
    Implement --dry-run flag
Commits on Mar 13, 2019
  1. Merge pull request #42 from Unity-Technologies/fix-rebuilds-bug

    richard-fine committed Mar 13, 2019
    Fix "tundra constantly rebuilds" bug due to uninitialized/garbage data
Commits on Mar 12, 2019
  1. Fix "tundra constantly rebuilds" bug that is fairly random due to uni…

    aras-p committed Mar 12, 2019
    …nitialized/garbage data.
    
    #36 changed so that C++ include scans are done into a hashset, which then is processed in
    hash order (to get stable ordering).
    
    However between scanning each input file, the scratch allocator was being reset, so for
    actions that had multiple input files (e.g. using precompiled header), the scans of
    the later ones trampled over some of the filenames in previous scan. The hashset
    processing was getting garbage filenames, and thus not adding their entries into
    digest cache.
    
    Now don't reset the scratch allocator between each input file scan; just around the loop
    that processes all of them. On Windows Standalone player build, max usage of
    temp scratch allocator increases from 210kb/thread to 225kb/thread on average, which sounds acceptable
    (temp allocator has 32MB capacity)
Commits on Mar 11, 2019
Commits on Mar 8, 2019
Commits on Mar 7, 2019
  1. ExecWin32: show diagnostics when a lingering process is found to keep…

    kwi-dk committed Mar 7, 2019
    … Tundra temp file open
Commits on Feb 22, 2019
Commits on Feb 20, 2019
  1. ExecWin32: detect if lingering subprocess is keeping stdout/err file …

    kwi-dk committed Feb 19, 2019
    …open
    
    If that happens, it is a build program bug: Tundra already reported the
    output, so any further messages written to the file would disappear, or
    worse, be misattributed to another build action.
    
    The only way to consistently detect this is to close (and delete) the
    file, then attempt to recreate it. If this recreation fails, show a
    helpful error message and terminate the build.
Commits on Feb 19, 2019
  1. Make error handling more consistent

    kwi-dk committed Feb 19, 2019
    - Add the "missing" CroakErrnoAbort function, such that all Croak
      variations are now available.
    
    - Always report errno/GetLastError when system calls fail.
    
    - Also report Windows error codes in the more common hexadecimal form.
    
    - Use consistent "tundra: error: " heading for error message, ensuring
      the "reporter" is unambiguously identifiable in what may be a sea of
      messages from other programs (e.g. build automation or test suite).
  2. ExecWin32: on temp file creation error, abort sooner rather than later

    kwi-dk committed Feb 19, 2019
    Previously, the INVALID_HANDLE_VALUE would be passed to CreateProcessW,
    which would fail with ERROR_INVALID_PARAMETER, and then cause Tundra to
    abort. There's no reason to not simply fail immediately.
    
    Also, use CroakErrno to include the actual failure reason with the error
    message. (In my case, it was ERROR_SHARING_VIOLATION because of the file
    being kept open by a process lingering from a previous build action.)
  3. Manually flush C file streams before calling abort

    kwi-dk committed Feb 19, 2019
    The lack of flushing caused error messages to be swallowed on Windows.
Commits on Jan 25, 2019
  1. Merge pull request #38 from Unity-Technologies/show-includes

    aras-p committed Jan 25, 2019
    Add "report includes" command
Commits on Jan 22, 2019
  1. Don't overwrite/produce structured log file if tundra is not actually…

    aras-p committed Jan 22, 2019
    … doing a build (but just showing help/targets/includes)
Commits on Jan 21, 2019
  1. Add "-I" / "-report-includes" command to Tundra, that reports "includ…

    aras-p committed Jan 21, 2019
    …es database" into a JSON output file.
    
    The output file contains information on which files from the DAG #include which other ones, as well
    as which of included files include other ones etc. The JSON looks like:
    
    {
      "dagFile":"artifacts\\tundra\\WinEditor.dag",
      "files":[
        {
          "file":"Modules\\Physics2D\\PointEffector2D.cpp",
          "direct":1,
          "includes":["Projects\\PrecompiledHeaders\\UnityPrefix.h","Modules\\Physics2D\\PhysicsManager2D.h","Modules\\Physics2D\\PointEffector2D.h"]
        },
        {
          "file":"Modules\\ShortcutManagerEditor\\ShortcutManager.h",
          "includes":["Runtime\\Input\\GUIEventManager.h"]
        },
        {
          "file":"Runtime\\Input\\GUIEventManager.cpp",
          "includes":["Projects\\PrecompiledHeaders\\UnityPrefix.h","Runtime\\Input\\GUIEventManager.h","Runtime\\Utilities\\RuntimeStatic.h"]
        },
        {
          "file":"Editor\\Src\\MacroClientCommands.h",
          "includes":[]
        }
      ]
    }
Commits on Jan 5, 2019
Commits on Jan 4, 2019
  1. Add natvis file to the vcxproj file

    richard-fine committed Jan 4, 2019
    The natvis file was present on disk but not added to the vcxproj file, which meant that VS was not using it.
  2. Stable ordering + dedup for implicit inputs

    richard-fine committed Jan 4, 2019
    When collecting implicit inputs for a node's input signature, accumulate them in a hashset and then add them to the signature after scanning all explicit input files, rather than doing it on-the-fly. This allows us to ensure a stable ordering on the implicit inputs, as well as deduplicating them.
    
    Fix the way implicit inputs are recorded into the buildstate to also be deduplicated and stably ordered, to match.
Commits on Dec 20, 2018
  1. Merge pull request #35 from Unity-Technologies/fix-job-clamp

    aras-p committed Dec 20, 2018
    Fix crash when # of jobs/threads is larger than the max we support
  2. Fix crash when # of jobs/threads is larger than the max we support

    aras-p committed Dec 20, 2018
    The code was reading the input struct that is const and has not been clamped to max # of jobs.
Commits on Nov 28, 2018
  1. Merge pull request #33 from Unity-Technologies/ban-content-digest-for…

    ecuzzillo committed Nov 28, 2018
    …-inputs
    
    add support for banning content digest for inputs
Commits on Nov 21, 2018
Commits on Nov 9, 2018
  1. Merge pull request #34 from Unity-Technologies/error-bright-red

    aras-p committed Nov 9, 2018
    Change "error" output color to bright red
  2. Change "error" output color to bright red

    aras-p committed Nov 9, 2018
    Makes it much more legible on default windows powershell blue background
Commits on Nov 2, 2018
Commits on Oct 15, 2018
  1. Bump the magic number on the DAG data

    richard-fine committed Oct 15, 2018
    Needed because of adding the SharedResources members. Forgot to do this before...
Commits on Oct 12, 2018
  1. Merge pull request #32 from Unity-Technologies/feature/shared-resources

    richard-fine committed Oct 12, 2018
    Shared Resources support
Commits on Oct 10, 2018
  1. Add missing files

    richard-fine committed Oct 10, 2018
  2. Shared Resources support

    richard-fine committed Oct 10, 2018
    Support for Shared Resources, which are logical entities which can be used by multiple build actions (e.g. compiler servers). A resource can run one command when it is created, and another when it is shut down. The first time we try to execute an action that needs a particular resource, the resource is created; and at the end of the build, all created resources are destroyed.
Older
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.