Permalink
Commits on Oct 19, 2016
  1. public release v1.2

    3F committed Oct 19, 2016
    * FIXED: Fixed bug "Save changes to the following items?" VS IDE
    * FIXED: [FileComponent] Fixed bug with copying to internal directory for `copy.directory`:
             Avoids of recursive duplicates of destination when it is internal part of source `D:\test -> D:\test\new`
    
    * FIXED: Fixed incorrect variable names if used Global MSBuild properties like `$(+name = ...)`.
    * FIXED: UI. Fixed bugs in "Waiting for completion" & "Hide process".
    * NEW: Support of ErrorList pane of Visual Studio - now see also the all errors/warnings here.
    * NEW: [MSBuild] Implemented Syntactic sugar `+=` & `-=` - Increment & Decrement operators for numbers and strings
            ```
            $(n = 0)
            $(n += 3.14)
            $(n += $(n))
    
            $(desc = "Hello ")
            $(desc += "world !")
            ```
            The documentation here: http://vssbe.r-eg.net/doc/Scripts/MSBuild/#syntactic-sugar
    
    * NEW: [SBE-Scripts] Implemented new BoxComponent - Container of data for operations like a template, repeating, etc.
            ```
            #[Box iterate(i = 0; $(i) < 10; i += 1):
               ...
            ]
            ```
            `repeat(expression condition [; boolean silent])`
            `void data.pack(string name, boolean eval): In`
            ...
            The documentation here: http://vssbe.r-eg.net/doc/Scripts/SBE-Scripts/Components/BoxComponent/
    
    * NEW: [InternalComponent] added StartUpProject property to get/set the project by default or 'StartUp Project.
    * NEW: [SBE-Scripts] Added new TryComponent (try/catch) to handle errors:
           ```
            #[try
            {
                ...
            }
            catch(err, msg)
            {
                $(err) - Type of Exception
                $(msg) - Error Message
                ...
            }]
           ```
           The documentation here: http://vssbe.r-eg.net/doc/Scripts/SBE-Scripts/Components/TryComponent/
    
    * NEW: Started support of Visual Studio 15 /tested on Enterprise Preview 4 (25618.00)
           Please read here: 3F/vsSolutionBuildEvent#36
           Preview 5: We still do not know about the final decision of the team. It will be considered later.
    
    * NEW: [FileComponent] copy.file - new extended signature of `copy.file`:
            `void copy.file((string src | object srclist), string dest, bool overwrite [, object except])`
            ```
            #[IO copy.file({
                                "bin\client.zip",
                                "bin\server\*.*"
                           },
                           "$(plugin)\beta",
                           true,
                           {
                                "*debug*",
                                "*.pdb"
                           })]
            ```
            The documentation: http://vssbe.r-eg.net/doc/Scripts/SBE-Scripts/Components/FileComponent/#copy
    
    * NEW: Added additional tool-helpers: gnt.bat, msbuild.bat
    * NEW: Added new special MSBuild properties:
            * `vsCE_CommonPath` - Common path of library.
            * `vsCE_LibPath` - Full path to library.
            * `vsCE_WorkPath` - Working path for library.
    
    * CHANGED: MSBuild core. Native expressions now uses InvariantCulture by default. For other culture use CultureInfo, for example:
              ```
              $([System.DateTime]::Parse("08/21/2016", '$([System.Globalization.CultureInfo]::GetCultureInfo("en-US"))').ToBinary())
              ```
              See documentation for details.
    
    * CHANGED: C# Mode. IMSBuild: + getProject(string name);
    * CHANGED: C# Mode. IEnvironment: added direct access to EnvDTE80.DTE2 (+EnvDTE), Build.Evaluation.Project + prepared list of EnvDTE projects.
    * CHANGED: Abort build after first script error (from our engines).
    * CHANGED: Updated 7-zip v16.04, AvalonEdit v5.0.3, NLog v4.3.10, Newtonsoft.Json v9.0.1
    * NOTE: Now available .NET 4.0 and .NET 4.5 assemblies. Look the Downlods page. http://vsce.r-eg.net/Downloads/
    * NOTE: Reviewed with vsSolutionBuildEvent engine v0.12.9
  2. Updated 7-zip 16.04 & NLog 4.3.10

    3F committed Oct 19, 2016
  3. Fixed problem with special MSBuild Properties: $(vsCE_LibPath), $(vsC…

    3F committed Oct 19, 2016
    …E_CommonPath), $(vsCE_WorkPath)
Commits on Oct 12, 2016
  1. Final sync.: 78692bb

    3F committed Oct 12, 2016
Commits on Feb 24, 2016
  1. public release /1.1.0

    3F committed Feb 24, 2016
    * FIXED: UI: possible crash when sorted actions in action list.
    * FIXED: Incorrect component re/activation (SBE-Scripts)
    * FIXED: Infinite loop with user-variables(+recursive properties) in MSBuild engine.
    * FIXED: MSBuild: Fixed incorrect evaluation from double quotes if used `(`, `)` symbols.
    * FIXED: `not found component for handling` with vsCE & Core alias (InternalComponent)
    * FIXED: [FileComponent] Fixed BOM for all UTF-8 encodings when is used the `replace` methods.
    * FIXED: Possible null-reference exception when getting name from "Set as StartUp Project".
    * FIXED: Possible crash for COMException in OWP components.
    * FIXED: UI: incorrect updating of variable list in Testing tool when the user script is failed.
    * NEW: UI: added the Raise item to check the all incoming commands inside sniffer.
    * NEW: UI. Added list of the MSBuild Properties in code completion. start with '$('<--
    * NEW: Additional MSBuild Property 'vsCommandEvent'
    * NEW: Added the code generation Wizard 'Automatic Version Numbering'
    * NEW: [InternalComponent] new stdout & stderr properties.
           To get data from stdout/stderr for action which is executed asynchronously.
    
    * NEW: Forcing evaluation with MSBuild engine from new MSBuildComponent. (SBE-Scripts)
    * NEW: [FileComponent] remote.download() to download files from remote server.
            Method signatures:
                - `void remote.download(string addr, string output [, string user, string pwd])` ...
    
    * NEW: [FileComponent] copy() methods to copy selected files / directories to the destination. +mkdir
            Fast operations instead of xcopy etc.
            Method signatures:
                - `void copy.file(string src, string dest, bool overwrite [, object except])`
                - `void copy.directory(string src, string dest, bool force [, bool overwrite])` ...
    
    * NEW: [FileComponent] delete() methods to delete selected files / directories.
            Method signatures:
                - `void delete.files(object files [, object except])`
                - `void delete.directory(string dir, bool force)` ...
    
    * NEW: [FileComponent] BOM (Byte-Order Mark) special names: `utf-8-bom` (0xEF 0xBB 0xBF) & `utf-8`
    * NEW: Added NuGetComponent for work with NuGet packages (nupkg) via GetNuTool logic. (SBE-Scripts)
            GetNuTool v1.3
            Method signatures:
                - `void gnt.raw(string command)` ...
    
    * NEW: Added special marker `<#data> ... ` to avoid broken container for unpaired symbols `[`, `]` (SBE-Scripts)
    * NEW: [MSBuild core] Global MSBuild properties $(+name = ...) & $(-name = ...)
    * NEW: Added SevenZipComponent for work with archives via 7-Zip engine (www.7-zip.org).
                Method signatures:
                    - `void pack.files(object files, string output [, object except][, enum format, enum method, integer level])`
                    - `void pack.directory(string dir, string output [, enum format, enum method, integer level])`
                    - `boolean check(string file [, string pwd])`
                    - `void unpack(string file [, string output][, boolean delete][, string pwd])` ...
    
    * CHANGED: Limit for supported containers per action: 2^16 (MSBuild engine)
    * CHANGED: Allowed using of the vsCE panel from VS.Output Window. R/W operations. (OWPComponent)
    * CHANGED: Allowed evaluation of string arguments with MSBuild engine for:
                Components:
                    - BuildComponent
                    - FileComponent
                    - FunctionComponent
                    - NuGetComponent
                    - SevenZipComponent
    
    * CHANGED: [FileComponent] Default encoding for all I/O operations - `UTF-8 Without BOM`
    * CHANGED: [FileComponent] Removed processing of tokens when is used the `write` operations.
    * CHANGED: Allowed multiline definitions of all nodes. (SBE-Scripts)
    * CHANGED: Updated forms of Boolean type. See the vsSBE documentation. (SBE-Scripts)
    * CHANGED: Updated NLog v4.2.3 & Newtonsoft.Json v8.0.2
    * CHANGED: Unescaping the quote characters from arguments by default. (SBE-Scripts)
    * CHANGED: The ToolsVersion="4.0" now is used by default instead of 12.0 (Targets Mode - Template)
    * CHANGED: Other trivial changes and bug fixes.
    * NOTE: It includes vsSolutionBuildEvent engine v0.12.7
            The documentation:
                - vssbe.r-eg.net
                -  vsce.r-eg.net
Commits on Feb 23, 2016
  1. Fixed incorrect variable names if used Global MSBuild properties like…

    3F committed Feb 21, 2016
    … `$(+name = ...)`
    
    also:
    
    * fixed the condition for rows /DataGridViewExt
    * Dom typo from 3ab4e46
Commits on Feb 21, 2016
  1. UI: added the Raise command for sniffer tool

    3F committed Feb 21, 2016
    + links on bitbucket src has been removed
Commits on Feb 19, 2016
  1. Final sync.: 9e8bc95

    3F committed Feb 19, 2016
    Delta:
    
    * nuget.exe has been replaced on GetNuTool v1.3
    * Updated .vssbe script for work with GetNuTool & 7zip (7za.exe has been removed)
    * added build-helpers - .bat
    * fixed possible crash for COMException
    * fixed Bootloader.updateActivation
    * Log: COM & DTE implemention has been encapsulated to IPane.
  2. Synchronization with latest changes of parent engine. /part3 - 9e8bc95

    3F committed Feb 19, 2016
    Delta:
    
    * UI:
    * * Added the code generation Wizard 'Automatic Version Numbering'
    * * UI: stack trace in testing tool & fixed notifications for removed rows
    * * updated xshd sbe-scripts +added cpp
  3. Synchronization with latest changes of parent engine. /part2 - 9e8bc95

    3F committed Feb 19, 2016
    Delta:
    
    * Added NuGetComponent for work with NuGet packages (nupkg) via GetNuTool logic.
    * Added SevenZipComponent for work with archives via 7-Zip engine.
    * Forcing evaluation with MSBuild engine from new MSBuildComponent
    * The `Compiled` option for property item of MSBuild expression.
    * Global MSBuild properties $(+name = ...) & $(-name = ...)
    * Limit for supported containers per action: 2^16 (MSBuild engine)
    * Avoids infinite loop with user-variables(+recursive properties) in MSBuild engine.
    * MSBuild: Fixed incorrect evaluation from double quotes if used `(`, `)` symbols.
    * Updated NLog v4.2.3 & Newtonsoft.Json v8.0.2
    * Fixed possible null-reference exception when getting name from "Set as StartUp Project".
  4. Synchronization with latest changes from parent engine /part1 - 9e8bc95

    3F committed Feb 19, 2016
    3F/vsSolutionBuildEvent@9e8bc95
    
    Delta:
    
    * all sbe-scripts components also works via SNode/IPM
    * +common entryPoint for abstract Component
    * +`Is` method for checking arguments of levels (SNode)
    * Unescaping the quote characters from arguments with IPM
    * fixed the getting of the right operand for incorrect syntax like: `property @ = true` and similar
    * Syntactic sugar for IPM: +It, +IsMethodWithArgs ...
    * Updated forms of boolean values
    * Added special marker `<#data> ... </#data>` to avoid broken container for unpaired symbols `[`, `]`
    * +stdout & stderr properties. To get data from stdout/stderr for action which is executed asynchronously.
    * FileComponent:
    * * Default encoding - `UTF-8 Without BOM`
    * * BOM (Byte-Order Mark) special names: `utf-8-bom` (0xEF 0xBB 0xBF) & `utf-8`
    * * Fixed BOM for all UTF-8 encodings when is used the `replace` methods.
    * * Removed processing of tokens when is used the `write` operations.
    * * remote.download() to download files from remote server.
    * * copy() methods to copy selected files / directories to the destination. +mkdir
    * * delete() methods to delete selected files / directories.
    * Fixed `SBEScripts-selector: not found component for handling` with vsCE & Core alias (InternalComponent)
    * IPM: +IsData
    * The `Compiled` option for:
    * * rules of IPM nodes;
    * * general container of SBE-Scripts;
    * .vssbe: fixed inner strings
    * Allowed using of the vsCE panel from VS.Output Window. R/W operations. (OWPComponent)
    * `Singleline` option for all components /entryPoint - that allows multiline definitions of all nodes
    * Allows evaluation of string arguments with MSBuild engine for:
        - BuildComponent
        - FileComponent
        - FunctionComponent
        - NuGetComponent
        - SevenZipComponent
    
    * Added UID as a unique identifier for all StringProtector:
    
        This variant is based on storing of tokens inside string.
        It's simply, but we have a some problems (like with guid) and other inconvenience from final strings.
        As alternative for this, we should implement the nodes storing (like SNode) to abstract build of all final strings by tokens etc.
Commits on Oct 21, 2015
  1. public release /1.0.0

    3F committed Oct 21, 2015
        First release. Based on vsSolutionBuildEvent - v0.12.4
  2. * Fixes with deserialization of complex objects.

    3F committed Oct 21, 2015
    * Fixed crash for COMException in onPaneUpdated.
    * Added alias 'Core' for InternalComponent.
    * Added supporting of Char symbols to SNode.
    * The limit on 2048 records in sniffer tool.
    * Trivial fixes with UI: notifications, editing captions, updated links etc.
    * updated tests
Commits on Oct 19, 2015
Commits on Oct 1, 2015
  1. fixed badges in README

    3F committed Oct 1, 2015
Commits on Sep 30, 2015
  1. Devenv - public release /1.3

    3F committed Sep 30, 2015
    * CHANGED: API Support v1.3. Update of loading and initialization with new loader. /Provider v3.0
    * NEW: Added support of the `Build.Cancel` command for user scripts.
  2. Updated vsSBE.CI.MSBuild to v1.5.1

    3F committed Sep 30, 2015
Commits on Sep 29, 2015
  1. public release /0.12.4

    3F committed Sep 29, 2015
    * FIXED: C# Mode. Error CS1567 when used GenerateInMemory property.
    * FIXED: "Action ... is ignored for current configuration" for AnyCPU platform if used MSBuild tool.
    * FIXED: Targets Mode. "The operation cannot be completed because a build is already in progress."
             if used MSBuild tool instead of Visual Studio.
    
    * FIXED: Bug for client.vssbe.dll for using in Isolated Environments:
             "Client library: problem with initialization 'System.NullReferenceException: ..."
    
    * FIXED: UI. Possible crash: "SplitterDistance must be between Panel1MinSize and Width - Panel2MinSize"
    * NEW: Added User-Configuration - `.vssbe.user`: DebugMode, CacheData of binaries for C# Mode etc.
    * NEW: [BuildComponent] Definition of who is first or last project in selected solution.
            Samples:
                #[Build solution.current.First.path]
                #[Build solution.path("D:\app.sln").Last.name]
                ...
                See documentation.
    
    * NEW: [FunctionComponent] Hash calculation with MD5 & SHA-1.
            Samples:
                string #[Func hash.MD5(string data)]
                string #[Func hash.SHA1(string data)]
                ...
                See documentation.
    
    * NEW: Added raw CoreCommand - "DebugMode" (When DebugMode is updated) for client.vssbe.dll users & others with API level.
    * CHANGED: Targets Mode. New entry point for user code.
               Now it simply: constantly called target "Init" and provide additional properties like a BuildType, EventType, etc.
               http://vssbe.r-eg.net/doc/Modes/Targets/
    
    * CHANGED: Configuration. The LastTime property has been replaced on CacheData with value from .vssbe.user. Solves inconvenience with SCM.
    * CHANGED: Configuration. Optional `Command__` property for convenient using directly in file. See documentation.
    * CHANGED: UI. Avoided actions by default for new configuration. Only Pre-Build event.
    * CHANGED: Allowed empty container of events to support compact .vssbe
    * CHANGED: C# Mode. Added our Bridge reference to complete internal using of our API layer in C# mode by default for simple user.
    * CHANGED: C# Mode. Added 'System.dll' to 'References' list by default for new actions.
    * CHANGED: C# Mode. New SmartReferences option for searching references with our GAC utility or using standrad list.
    * CHANGED: C# Mode. GAC utility: added search of assemblies in CurrentDomain - by Name, Version, PublicKeyToken.
    * CHANGED: C# Mode & API. IMSBuild: now has public access to IEnvironment & IUserVariable.
    * CHANGED: Updated NLog v4.1.2
    * CHANGED: UI. Trivial changes and fixes: validation of names in action list, handler of keys etc.
  2. [Devenv] support of latest API v1.3

    3F committed Sep 29, 2015
    * Update of loading and initialization with new loader. /Provider v3.0
    * Added support of the `Build.Cancel` command for user scripts.
    
    Also:
    
    * wrapped OutOfMemoryException in main lib - Environment.exec
  3. Updated NLog v4.1.2

    3F committed Sep 29, 2015
  4. [FunctionComponent] Hash calculation with MD5 & SHA-1

    3F committed Sep 29, 2015
    ```
    string #[Func hash.MD5(string data)]
    string #[Func hash.SHA1(string data)]
    ```
    
    also:
    
    * IMSBuild: public access to IEnvironment & IUserVariable
Commits on Sep 28, 2015
  1. [BuildComponent] Definition of who is first or last project in select…

    3F committed Sep 28, 2015
    …ed solution & SNode.IPM analyzer.
    
    Samples:
    
    ```
    #[Build solution.current.First.path]
    #[Build solution.path("D:\tmp\app.sln").Last.name]
    #[Build solution.path("D:\tmp\app.sln").Last.guid]
    #[Build solution.path(string sln).GuidList]
    #[Build solution.path("D:\vsSolutionBuildEvent_2013.sln").projectBy("{97F0E2FF-42DB-4506-856D-8694DD99F827}").name]
    ...
    ```
    
    http://vssbe.r-eg.net/doc/Scripts/SBE-Scripts/Components/BuildComponent/#solution
    
    Also:
    
    * Added SNode.IPM analyzer - for a quick parsing line with properties and methods.
      i.e. now we can simply:
      IPM pm = new PM("#[Build solution.path("D:\app.sln").projectBy("4262A1DC-768F-43CC-85F5-A4ED9CD034CC")]");
Commits on Sep 26, 2015
  1. Fixed crash: "SplitterDistance must be between Panel1MinSize and Widt…

    3F committed Sep 25, 2015
    …h - Panel2MinSize"
    
    Problem with the Width property of main form. This may be unchangeable and less then Panel1MinSize or Panel2MinSize.
    For example: 160px (after click on preview box in taskbar on Win8.1 at least).
    Then, the next condition or requirements - 'SplitterDistance must be between Panel1MinSize and Width - Panel2MinSize' is unreachable at all.
    
    As a solution I moved the calling `base.WndProc(ref mes)`. Should help, however I'm not sure... so also added try/catch.
Commits on Sep 25, 2015
  1. +SuppressDualCommand for .vssbe.user

    3F committed Sep 25, 2015
    The 'Command__' property in configuration file is temporary and used for compatibility with format v0.9.
    However, this can be inconvenient and while we can't upgrade format, we should also provide a some option to turn off one field at least.
  2. Fixed bug of client.vssbe.dll for Isolated Environments.

    3F committed Sep 25, 2015
    "Client library: problem with initialization 'System.NullReferenceException: Object reference not set to an instance of an object."
    
    + Added raw CoreCommand - "DebugMode" (When DebugMode is updated) /However, I think, some event with common settings in IEntryPointCore is more useful.... later anyway -_-
    
    also:
    
    * Fixed LPath - broken from 26dba54
    * Fixed frozen window in ClientDemo - tested on CIM & IDE
  3. UI. next trivial changes:

    3F committed Sep 24, 2015
    * changes with handler of keys in action list: F2 - Edit name, space key - activation, + suppression of the enter key in edit mode.
    * fixed validation of names from edit mode in action list.
    * A trick with left/right keys in EditMode of text columns.
    * +Demo Projects link
    * color of strings in C# mode
Commits on Sep 22, 2015
  1. fixed build with .NET 4.0 - error CS1674: 'Microsoft.Build.Execution.…

    3F committed Sep 22, 2015
    …BuildManager'
    
    Using of BuildManager from Microsoft.Build.dll, v4.0.30319 - .NETFramework\v4.0\Microsoft.Build.dll
    Does not implement IDisposable, and voila:
    https://ci.appveyor.com/project/3Fs/vssolutionbuildevent/build/build-103
  2. CA1001 - with BuildManager /from 0b0a731

    3F committed Sep 22, 2015
    +CommandEvent for Dom property
  3. Major compatible changes of configuration.

    3F committed Sep 22, 2015
    * Added user configuration - .vssbe.user
    * * Value of zooming & Word wrapping of main editor for each Event/Action type.
    * * DebugMode & CacheData of binaries for C# Mode
    
    * The LastTime property from C# Mode is obsolete and will be removed soon.
    * * Added CacheData instead, with remote value from .vssbe.user - used IManager for work with CacheHeader.
    
    * Updated Configuration.Header
    * Added GlobalConfig: based on UserConfig(currently at least). In general, this useful for all priority settings before initialization of our engines. Default path - ApplicationData + APP_NAME
    * +IAppSettings & new non static Settings. It also provides DebugModeUpdated event - Useful for clients, I remember... for example with IEntryPointClient.
    * SolutionEvents is now specified with ISolutionEvents
    * New Command__ property as wrapper of original Command in .vssbe settings. For convenient using directly in file: reading or direct modifications.
    * * The original Command property should be replaced with incompatible changes later.
    
    Also:
    
    * +Id to ISolutionEvent
    * Updated values of SolutionEventType & ModeType - Compatible changes for .vssbe
    * ObjectExtension: fixed CloneBySerialization + added MD5Hash extension.
    * Avoids actions by default in SolutionEvents. Only PreBuild.
    * * Allows empty container for configuration: to support of compact .vssbe