Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
Bridge_v1.4_[50e9a29][net40].zip | 2016-09-12 | 12.2 kB | |
Bridge_v1.3_[8bde22a][net40].zip | 2015-08-29 | 8.7 kB | |
Bridge_v1.2_[dc72d4c][net40].zip | 2015-06-20 | 5.2 kB | |
Bridge_v1.1_[e9ad3bd][net40].zip | 2015-05-06 | 4.3 kB | |
Bridge_v1.0_[5d7aa0c].zip | 2015-02-02 | 3.2 kB | |
Totals: 5 Items | 33.7 kB | 0 |
vsSolutionBuildEvent - Flexible actions for all ...
!
Now, GitHub is primary place for this project - fork, star, and improve all of what you want !
- Source code & Public Bug Tracker: github.com/3F/vsSolutionBuildEvent
- vssbe.r-eg.net
- VS Gallery Page
Changes
v0.12.10
* FIXED: Fixed bug - `BAT files no longer dumps to VS Output window "vsSolutionBuildEvent"` Bug #34
* FIXED: Possible deadlock from any output messages. Related Issue #35 - 'targets mode issue'
* FIXED: Fixed problem with white-space chars in Files & Interpreter Mode.
Message: `'...' is not recognized as an internal or external command, operable program or batch file.`
* FIXED: Added messages about errors for actions in another thread when this failed.
* NEW: SBE-Scripts. [MSBuildComponent] Added multiline support for MSBuild expressions:
```
#[$(
[System.Math]::Exp('$(
[MSBuild]::Multiply(
$([System.Math]::Log(10)),
4
))'
)
)]
```
See the documentation.
* NEW: SBE-Scripts. Implemented `boolean run([enum context])` To Execute Action with specific context. [InternalComponent]
Now you can easy call any actions from other actions.
```
#[Core events.Pre.item("SpecBuild").run()]
#[Core events.Post.item(5).run(Build)]
```
* NEW: Implemented - "The revision of modulo" (Wizard)
* NEW: Added special types for `Execution order` - First / Last Project & Type
For convenient work with deferred Pre-Build event /Related question - #37
* CHANGED: C# Mode: Error/Warn messages also for result of this action by compiler settings - `Warnings & Errors` - `TreatWarningsAsErrors`
* CHANGED: Updated time format for main Log-messages: without date + added ten thousandths of a second (.0000 - .9999)
* CHANGED: Updated 7-zip v16.04 & NLog 4.3.11
* CHANGED: Other trivial changes for UI. The commands to copy / clear etc.
v0.12.9
* FIXED: Critical bug with WPF designer of VS IDE. Error 25012 - process terminated unexpectedly.
* FIXED: UI. Fixed problem when projects are not available in 'Execution order' list after loading solution.
* 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: Updated links to new public bug tracker, etc.
Now, GitHub is primary place for this project - fork, star, and improve all of what you want !
https://github.com/3F/vsSolutionBuildEvent
v0.12.8
* FIXED: Fixed bug with Isolated Environment - mismatch of project configurations.
* 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: Fixed access to $(vsSolutionBuildEvent) for several projects.
* FIXED: UI. Fixed default namespace for Wizard 'Automatic Version Numbering'.
* 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: Added Context for Sln-Opened event to support of Early / Late Sln-Opened.
All details in the documentation: http://vssbe.r-eg.net/doc/Events/SlnOpened/
* 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)
* 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: `get.CIM.bat`, CI.MSBuild.bat, gnt.bat, msbuild.bat
* NEW: Added new special MSBuild properties:
* `vsSBE_CommonPath` - Common path of library.
* `vsSBE_LibPath` - Full path to library.
* `vsSBE_WorkPath` - Working path for library.
* 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: Added XML Documentation for main projects.
* CHANGED: Updated 7z.Libs v16.02, AvalonEdit v5.0.3, NLog v4.3.8, Newtonsoft.Json v9.0.1
* CHANGED: MSBuild colorization of errors/warnings for CIM, Devenv, etc.
* CHANGED: Abort of build after first script error (from our engines).
* CHANGED: Other trivial bug fixes and improvements. See log of commits.
* NOTE: Available .NET 4.0 and .NET 4.5 assemblies. Look the Downlods page. http://vssbe.r-eg.net/Downloads/
* NOTE: Public Issue Tracker will be soon moved on GitHub.
v0.12.7
* FIXED: MSBuild engine. Bug with the unescape of double quotes from simply text data. The most common problem for C# Mode etc.
* FIXED: Properties by default for specific projects. [MSBuild core]
* FIXED: Possible error - 'InvalidOperationException' This property has already been set and cannot be modified. (Logging event type)
* FIXED: Fixes of incorrect behavior of special marker `<#data>` if it used 2 or more times. Symptoms: Breaking of SBE-container where it used.
* NEW: Event types: 'Sln-Opened' & 'Sln-Closed'. When solution has been opened/closed.
* NEW: [InternalComponent] new stdout & stderr properties.
To get data from stdout/stderr for action which is executed asynchronously.
* NEW: raw CoreCommand - 'property.set' & 'property.del'.
Raises when is used the `$(+name)` & `$(-name)` See the documentation.
v0.12.6
* FIXED: Bug with configuration for Isolated and other external Environments (CI.MSBuild, Devenv, etc.)
- `Failed Solution.Pre-binding: 'Object reference not set to an instance of an object.'`
- `Failed build-raw: 'Object reference not set to an instance of an object.'` ...
* FIXED: MSBuild: Fixed incorrect evaluation from double quotes if used `(`, `)` symbols.
Evaluation from single quotes is still protected for compatibility with original logic.
Because it can be different for ~
```
$([MSBuild]::Multiply('$([System.Math]::Log(2))', 16)) -> 1,10903548889591E+16
\ \_(1) 0,693147180559945_/
\_______________(2)__________________________________/
$([MSBuild]::Multiply('$([System.Math]::Log(2))', 16)) -> 11,0903548889591
\______________________(1)___________________________/
$([System.Math]::Exp(1.10903548889591E+16)) = ∞
$([System.Math]::Exp(11.0903548889591)) = 65535,9999999983
```
See the documentation for details.
* FIXED: Possible null-reference exception when getting name from "Set as StartUp Project".
* FIXED: `SBEScripts-selector: not found component for handling` with vsSBE & Core alias (InternalComponent)
* FIXED: [FileComponent] Fixed BOM for all UTF-8 encodings when is used the `replace` methods.
* 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])` ...
* 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: 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: [MSBuild core] Global MSBuild properties $(+name = ...) & $(-name = ...)
* NEW: Added special marker `<#data> ... </#data>` to avoid broken container for unpaired symbols `[`, `]` (SBE-Scripts)
* NEW: UI. Added list of the MSBuild Properties in code completion. start with '$('<--
* CHANGED: The ToolsVersion="4.0" now is used by default instead of 12.0 (Targets Mode - Template)
* 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 using of the vsSBE panel from VS.Output Window. R/W operations. (OWPComponent)
* CHANGED: Unescaping the quote characters from arguments by default. (SBE-Scripts)
* CHANGED: Allowed evaluation of string arguments with MSBuild engine for:
Components:
- BuildComponent
- FileComponent
- FunctionComponent
- NuGetComponent
- SevenZipComponent
* CHANGED: Allowed multiline definitions of all nodes. (SBE-Scripts)
* CHANGED: Updated forms of Boolean type. See the documentation. (SBE-Scripts)
* CHANGED: Updated NLog v4.2.3 & Newtonsoft.Json v8.0.2
v0.12.5
* FIXED: Infinite loop with user-variables(+recursive properties) in MSBuild engine.
* FIXED: "Fail: PM - getRightOperand: incorrect data ')")'" -> Func / SHA1 & MD5 (FunctionComponent)
* FIXED: Supported products ( +Enterprise & Community )
* FIXED: UI: Incorrect updating of availability of the form controls when selected action has been changed.
* FIXED: Possible crash for COMException in OWP components.
* FIXED: UI: incorrect updating of variable list in Testing tool when the user script is failed.
* FIXED: Evaluation with MSBuild engine when the all projects are not available at all - "Fail: not found project: ..."
* NEW: Added the code generation Wizard 'Automatic Version Numbering'
http://vssbe.r-eg.net/doc/Examples/Version/
* NEW: Support of complex objects for filters in CommandEvent, Sniffer tool, +DTEComponent
* NEW: UI: added control of log messages by type - Trace, Debug, etc.
* NEW: Added `Core` alias for InternalComponent.
* NEW: Support of all available items (OWPComponent)
Signature: `#[OWP out(string ident [, boolean isGuid])]`
* CHANGED: Limit for supported containers per action: 2^16 (MSBuild engine)
* CHANGED: Limit on 2048 records in sniffer tools.
* CHANGED: Updated NLog v4.2.2
* CHANGED: Other trivial changes and bug fixes with UI: stack trace in testing tool, fixed notifications for removed rows, etc.
v0.12.4
* 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.
v0.12.3
* NEW: Added support of the Build.Cancel command for CI.MSBuild via SBE-Scripts (BuildComponent).
* NEW: Added support of client libraries (client.vssbe.dll) for work with events from our core library.
Use our ClientDemo project as Template project for this features.
* FIXED: Limited range VSStd97CmdID & VSStd2KCmdID for all actions of CommandEvent.
* FIXED: Possible crash for some value of CustomIn & CustomOut arguments in CommandEvent context.
* FIXED: UI. Possible crash when closing Sniffer tool.
* FIXED: UI. Fixed notification about changes.
* FIXED: Problems with logger:
* Overlapping with other panes.
* Disappearing of some messages.
* CHANGED: Resetting of warnings counter between build + summary line.
* CHANGED: Added evaluation of MSBuild properties for next places if enabled support:
* Interpreter Mode: Handler field
* C# Mode - Compiler Settings: References & OutputPath fields
* CHANGED: UI. Saving properties in ram before choosing other events/actions.
* CHANGED: API Support v1.3
* CHANGED: API. Requires Provider (v3.0+) or API v1.3+
v0.12.2
* FIXED: SBE-Scripts Core. Fixes with multiple component initialization.
* FIXED: C# Mode. Possible problem with loading assembly if used the GenerateInMemory property.
* FIXED: C# Mode. Possible problem with searching the mscorlib.dll, System.dll for References property.
* FIXED: The configuration file is always loading only from first loaded solution.
* FIXED: UI. Incorrect filtering (case sensitivity) in DTE-Commands tool.
* NEW: Added "Try current action" as part of testing tools.
* NEW: Additional EnvDTE Sniffer tool.
* CHANGED: Updated Json.NET v7.0.1.
* CHANGED: UI. Avoids empty name for action in action list after update.
* CHANGED: Improvements for editor:
* Foldings for: Targets Mode, C# Mode, Script Mode, Interpreter Mode
* Highlighting for braces: {}, [], ()
* Highlighting for similar words.
* Standard search panel.
* CHANGED: others trivial changes for UI: items & Icons.
v0.12.1
* NEW: Processing Mode: 'Targets Mode' - for work with the msbuild targets/tasks etc. 'as is' (classic compatible mode).
* NEW: Processing Mode: 'C# Mode' with caching of bytecode.
For using the compiler as new action type for any available event.
Allows access to ICommand & ISolutionEvent - feel free with all available events & actions.
/Entry point for user code and how to use it, see in our documentation.
* NEW: The CommandEvent as the new experimental event type, for work with command-events from EnvDTE.
* NEW: The LastCommand property for DTEComponent. As part of getting latest command from EnvDTE. (SBE-Scripts)
Samples:
* #[DTE events.LastCommand.Guid]
* #[DTE events.LastCommand.Id]
...
* NEW: Sniffer as helper for listening all commands from EnvDTE. To listening and adding of all what you want. Simply configure it after, and use.
* NEW: The property 'type' for BuildComponent. Gets current type of the build action type, or last used type if it already finished. (SBE-Scripts)
* NEW: The 'Time Limit' option for Interpreter & Files Mode. It means - How long to wait the execution, in seconds. 0 value - infinitely.
* CHANGED: Added Ctx types for context of the build action type. (Thanks: Konstantin Erman)
* CHANGED: IO alias to the FileComponent.
* CHANGED: Allowed 'Waiting for completion' option for Logging event type.
* CHANGED: Updated NLog v4.0.1
* FIXED: Custom threads for all action with option 'Waiting for completion'.
* FIXED: Non-working parsing for the Operation Mode.
* FIXED: Possible loop problem for Logging event type.
* FIXED: Incorrect messages for #[OWP log.Level] & #[OWP log.Message] (SBE-Scripts)
* FIXED: Removed sub-definitions of available components. Problem for UI & configuration file.
* OTHER: trivial changes and bug fixes for UI like a Templates items for new processing modes etc.
v0.11.4
* CHANGED: Parser of MSBuild core. Fixes the order and moving of evaluation steps.
* CHANGED: Incompatible changes for post-evaluation e.g.:
`$($(ProjectDir:$(SolutionName)))` is now should be simply as a `$(ProjectDir:$(SolutionName))`
* CHANGED: The project name in properties is now 1 symbol or more - e.g.: `$(name:p)`
* CHANGED: Updated Tokens for escape-sequence - characters: r|n|t|v|a|b|0|f|x|u|U
* CHANGED: UI: new list of UserVariableComponent in code completion for all new features.
* CHANGED: Updated references with API - Bridge v1.1
* CHANGED: Updated NLog v3.2.1
* FIXED: Bug for some complex deepest containers (MSBuild core):
For example:
`$([System.TimeSpan]::FromTicks($([MSBuild]::Subtract($([System.DateTime]::UtcNow.Ticks), $([System.DateTime]::Parse("01.01.2000").ToBinary())))).TotalMinutes.ToString("0"))`
* FIXED: Bug with unescaping \n##[..] - (SBE-Script core)
* FIXED: Bug with quotes character for escaped slash "\\" & '\\' (SBE-Scripts & MSBuild core)
* FIXED: Escaping with msbuild containers inside #[] (SBE-Script) e.g.: `##[var p3 = $(p1) . $(p2) ]`
* NEW: Support MSBuild Registry Properties - https://msdn.microsoft.com/en-us/library/vstudio/ms171458.aspx
$(registry:Hive\MyKey\MySubKey@Value)
$(registry:Hive\MyKey\MySubKey)
* NEW: Added strings for user-variables (MSBuild core) - 2 types:
* ".." - Allows any evaluation inside string. Escaping is a \"
* '..' - All msbuild containers $() should not be evaluated for this type string. Escaping is a \'
Also: '\' and "\" used 'as is' for compatibility with MSBuild
* NEW: [CI.MSBuild]: Implemented limited types from msbuild targets for context of build action type or the build type for Isolated Environments.
* NEW: [Devenv Command-Line]: Implemented limited types from command-line switches for context of build action type.
* OTHER: also trivial changes and bug fixes for UI and developers. see related components (API, Provider etc.) & commits-log.
~ see full list of changes