diff --git a/README.md b/README.md index f076b60..b972a3d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # [IeXod](https://github.com/3F/IeXod) -The most portable alternative to Microsoft.Build for evaluating, manipulating, and other progressive data processing in a compatible XML-like syntax. +The most portable alternative to *Microsoft.Build* for evaluating, manipulating, and other progressive data processing in a compatible XML-like syntax. ```r Copyright (c) .NET Foundation and contributors @@ -12,16 +12,15 @@ Copyright (c) IeXod contributors https://github.com/3F/IeXod/graphs/contributors [![Build status](https://ci.appveyor.com/api/projects/status/mclqcptonbch6jjv/branch/master?svg=true)](https://ci.appveyor.com/project/3Fs/iexod/branch/master) [![release](https://img.shields.io/github/v/release/3F/IeXod?include_prereleases&sort=semver)](https://github.com/3F/IeXod/releases/latest) [![NuGet IeXod](https://img.shields.io/nuget/v/IeXod.svg)](https://www.nuget.org/packages/IeXod/) -[![Tests](https://img.shields.io/appveyor/tests/3Fs/iexod/master.svg)](https://ci.appveyor.com/project/3Fs/iexod/build/tests) -# Why IeXod +## Why IeXod https://github.com/3F/MvsSln/issues/23 -## 🔍 Easy to use +### 🔍 Easy to use -MSBuild with its typical error [[?]](https://github.com/3F/MvsSln/wiki/Advanced-Features#about--possible--problems) +*Microsoft.Build* with its typical error [[?]](https://github.com/3F/MvsSln/wiki/Advanced-Features#about--possible--problems) ```csharp // 'The SDK 'Microsoft.NET.Sdk' specified could not be found. @@ -41,7 +40,7 @@ new Project(""); // Microsoft.NET.Sdk -> */ ``` -## 🔧 Configurable Sdk resolvers at runtime: +### 🔧 Configurable Sdk resolvers at runtime ```csharp new Project("...", properties, ProjectToolsOptions.Default); @@ -59,32 +58,32 @@ ProjectToolsOptions.Default.SdkResolvers = new SdkResolver[] { }; ``` -## 🧦🎯 Automatic searching of the modern Toolsets +### 🧦🎯 Automatic searching of the modern Toolsets -VS setup API + Registry + Configuration files; +VS setup **API** + Registry + [hMSBuild.bat](https://3F.github.io/hMSBuild/releases/latest/) + Configuration files + ...; That continues direction of https://github.com/3F/hMSBuild -## 🔨 Exposing Toolsets in classical notation: +### 🔨 Exposing Toolsets in classical notation -```csharp -> {[Current, ToolsPath=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\amd64]} +``` +> {[Current, ToolsPath=...\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64]} +... {[14.0, ToolsPath=C:\Program Files (x86)\MSBuild\14.0\bin\amd64]} -{[15.0, ToolsPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\amd64]} ->> {[16.0, ToolsPath=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\amd64]} +{[15.0, ToolsPath=...\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\amd64]} +{[16.0, ToolsPath=...\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\amd64]} +>> {[17.0, ToolsPath=...\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64]} ``` -## 🧰 Portability, Compatibility, and Functionality +### 🧰 Portability, Compatibility, and Functionality > Modern #MSBuild assemblies are much more closely integrated with #VisualStudio and much more difficult to maintain independently [[?]](https://twitter.com/GitHub3F/status/1184170248532119552) This is most important goal for [IeXod](https://github.com/3F/IeXod) project. To help to avoid the following nightmare: -❌ From difficulty use (\~ [Microsoft.Build.Locator](https://www.nuget.org/packages/Microsoft.Build.Locator/) an official solution) to unpredictable behavior in various products (\~ Visual Studio etc) due to active integration inside a single environment with *Microsoft.Build.* - -## 🎈 Something More +❌ From difficulty use (\~ [Microsoft.Build.Locator](https://www.nuget.org/packages/Microsoft.Build.Locator/)) to unpredictable behavior in various products (\~ Visual Studio etc) due to active integration inside a single environment with *Microsoft.Build.* -We were just born. Alpha state :3 +### 🎈 Something More in progress ... @@ -92,13 +91,12 @@ Follow the news; * https://github.com/3F * https://github.com/3F/IeXod -* https://twitter.com/GitHub3F Contribute; Enjoy! -# IeXod and custom Sdk Resolvers +## IeXod and custom Sdk Resolvers IeXod provides independent interface for the easiest implementation of any new Sdk Resolvers. @@ -106,7 +104,7 @@ IeXod provides independent interface for the easiest implementation of any new S Extend evaluation as you need; Then, easily register and configure new resolvers on the fly! -# Where is used +## Where is used ( 📅 Planned at least after first stable IeXod release ) diff --git a/changelog.txt b/changelog.txt index e522f6f..dadb1dd 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,8 +2,56 @@ IeXod - https://github.com/3F/IeXod - - - - - - - - - - - - - - - - - - +[0.2] 2024.02.22 -[v0.1-beta] 2020.06.04 + * NEW: New Evaluation.Expander. Adds external use of missing functions: + new/unknown(yet for IeXod engine) MSBuild static functions $([MSBuild]::... + + * NEW: Basic Tasks support as IeXod.Tasks. + RoslynCodeTaskFactory. (No host or extenral nodes yet) + IeXod.Tasks also improves additional references to standard library assemblies + in RoslynCodeTaskFactory + Compilers (Roslyn tools) + + * NEW: Support hMSBuild 2.4.1 helper for custom search related engines. + + * NEW: IeXodBinPath property. Where IeXod.dll is located. + + * FIXED: Possible InvalidProjectFileException "Could not find a part of the path ..." + When Import SDKs projects. + + * FIXED: Wrong minimal compatible Sdk version ~ 1.1.0 + When Sdk-style evaluation, e.g. Sdk="Microsoft.NET.Sdk" + + * FIXED: Failed hostfxr use in Sdk resolving when .NET Core target platforms. + + * FIXED: Possible incorrect evaluation MSBuildExtensionsPath or like properties. + + * FIXED: Using most of the original MSBxxxx messages. + + * FIXED: Fixed SdkResolverLoader and ProjectInstance initialization. + + * CHANGED: Improved expanding of the Import attribute using extra fallback logic. + + * CHANGED: .tasks processing using IeXod.Tasks by default. + + * CHANGED: MSBuildFrameworkToolsRoot changed to FrameworkBasePath value at runtime. + + * CHANGED: MSB4010 Warning now is considered as XD4010 Message. + + * CHANGED: MSBUILD_EXE_PATH now is considered as IEXOD_PATH_TO_MSBUILD_EXE + + * CHANGED: Changed logic for searching Toolset properties using extra fallback. + + * CHANGED: Improved searcing of the original engine. + + * CHANGED: Improved accessing to the most known properties from the original engine and its SDKs. + + * CHANGED: Original ProjectCollection.Version changed as EngineVersion + Modified Version now points to MSBuild-compatible Version. + + * CHANGED: Updated hostfxr.dll 6.0.22 (fix doubling the collection using hostfxr_get_available_sdks_result_fn, etc.) + + +[0.1-beta] 2020.06.04 * Initial public release. @@ -12,7 +60,7 @@ IeXod - https://github.com/3F/IeXod https://github.com/3F/IeXod -[v1.0][SdkResolver] 2020.06.04 +[1.0][SdkResolver] 2020.06.04 * Initial public release. diff --git a/src/Build/IeXod.csproj b/src/Build/IeXod.csproj index 941dd5a..c34efd4 100644 --- a/src/Build/IeXod.csproj +++ b/src/Build/IeXod.csproj @@ -37,15 +37,15 @@ PreserveNewest - - - - - PreserveNewest - - - PreserveNewest - + + + + + diff --git a/src/Shared/UnitTests/App.config b/src/Shared/UnitTests/App.config index 63537c2..e8a4520 100644 --- a/src/Shared/UnitTests/App.config +++ b/src/Shared/UnitTests/App.config @@ -1,7 +1,7 @@  -
+
@@ -13,11 +13,11 @@ - + - + diff --git a/src/common.props b/src/common.props index b19305e..1b2c8f6 100644 --- a/src/common.props +++ b/src/common.props @@ -194,13 +194,13 @@ Copyright (c) .NET Foundation and contributors | Copyright (c) 2020-2024 Denis Kuzmin <x-3F@outlook.com> github/3F - [ IeXod ] 🧰 The most portable alternative to Microsoft.Build - This is IeXod and its components. 🧰 The most portable alternative to Microsoft.Build for evaluating, manipulating, and other progressive data processing in a compatible XML-like syntax. https://github.com/3F/IeXod + [ IeXod ] The most portable alternative to Microsoft.Build + The most portable alternative to Microsoft.Build for evaluating, manipulating, and other progressive data processing in a compatible XML-like syntax. https://github.com/3F/IeXod reg https://github.com/3F/IeXod https://github.com/3F/IeXod git - MSBuild evaluator MicrosoftBuild evaluating VisualStudio parser project-parser projects csproj vcxproj MSBuildSdkResolver VS2019 VS2017 VS2015 VS2013 VS2012 VS2010 msbuildtargets xml targets props proj EvMSBuild SobaScript IeXod IeXodSdkResolver + MSBuild evaluator MicrosoftBuild evaluating VisualStudio parser project-parser projects csproj vcxproj MSBuildSdkResolver VS2022 VS2019 VS2017 VS2015 VS2013 VS2012 VS2010 msbuildtargets xml targets props proj IeXod IeXodSdkResolver changelog: https://github.com/3F/IeXod/blob/master/changelog.txt github.com/3F/IeXod diff --git a/src/versions.props b/src/versions.props index 516b14c..80adc3f 100644 --- a/src/versions.props +++ b/src/versions.props @@ -1,7 +1,7 @@  - 0.1.0-beta + 0.2.0 1.0.0