diff options
author | Andrii Kurdiumov <kant2002@gmail.com> | 2024-02-24 00:29:43 +0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-23 20:29:43 +0200 |
commit | dcd6359d629fbdc5e5d09fd89b81f7199c10cf55 (patch) | |
tree | 70c5486d17d6508f1faa6f6b8dc990cb687ce512 | |
parent | d1ceb5eccc84f2adcffb5d483afccd8a0414728b (diff) |
Fixes for infra, to run build.cmd using dotnet build (#155)1.0.343
* Fixes for infra, to run build.cmd using dotnet build
This changes did not take into account that ildasm/ilasm do not support signing and windows resource embedding, for now I disable these things, so I can continue working on build infra.
* Migrate Tests Extensions to new MSBuild SDK project style
* Switch to PackageReference instead of Reference
* Cleanup project files. Trivial stuff, to have less places to have complicated opinion.
* Update README
* Don't use PackageReference to smooth migration
* Undo changes in README.md
* Restore back net35
6 files changed, 23 insertions, 133 deletions
diff --git a/IronScheme/IronScheme.Closures/IronScheme.Closures.csproj b/IronScheme/IronScheme.Closures/IronScheme.Closures.csproj index cb808729..b2b6c9e0 100644 --- a/IronScheme/IronScheme.Closures/IronScheme.Closures.csproj +++ b/IronScheme/IronScheme.Closures/IronScheme.Closures.csproj @@ -8,6 +8,7 @@ <DebugType>pdbonly</DebugType>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<RunPostBuildEvent>Always</RunPostBuildEvent>
+ <UseNetFxIlTools Condition="'$(UseNetFxIlTools)' == ''">true</UseNetFxIlTools>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Optimize>true</Optimize>
@@ -21,6 +22,8 @@ </PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Microsoft.Scripting\IronScheme.Scripting.csproj" />
+ <PackageReference Include="runtime.win-x64.Microsoft.NETCore.ILAsm" Version="8.0.0" GeneratePathProperty="true" ExcludeAssets="all" />
+ <PackageReference Include="runtime.win-x64.Microsoft.NETCore.ILDAsm" Version="8.0.0" GeneratePathProperty="true" ExcludeAssets="all" />
</ItemGroup>
<ItemGroup>
<Content Include="IronScheme.Glue.il">
@@ -28,6 +31,15 @@ </Content>
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
- <Exec Command=""$(TargetFrameworkSDKToolsDirectory)ildasm" /out:"$(TargetDir)$(TargetName).il" /NOBAR /LINENUM "$(TargetPath)"
"$(SolutionDir)TailCallMaker\$(OutDir)TailCallMaker.exe" "$(TargetDir)$(TargetName).il"
"$(TargetedFrameworkDir)\ilasm" /dll /PDB /NOLOGO /QUIET /out:"$(TargetDir)$(TargetName).dll" /res:"$(TargetDir)$(TargetName).res" "$(TargetDir)$(TargetName).il" "$(TargetDir)IronScheme.Glue.il"" />
+ <PropertyGroup Condition="$(UseNetFxIlTools) == True">
+ <ILAsmPath>$(TargetFrameworkSDKToolsDirectory)ilasm</ILAsmPath>
+ <ILDAsmPath>$(TargetFrameworkSDKToolsDirectory)ildasm</ILDAsmPath>
+ </PropertyGroup>
+ <PropertyGroup Condition="$(UseNetFxIlTools) != True">
+ <ILAsmPath>$(Pkgruntime_win-x64_Microsoft_NETCore_ILAsm)\runtimes\win-x64\native\ilasm</ILAsmPath>
+ <ILDAsmPath>$(Pkgruntime_win-x64_Microsoft_NETCore_ILDAsm)\runtimes\win-x64\native\ildasm</ILDAsmPath>
+ </PropertyGroup>
+ <Exec Condition="$(UseNetFxIlTools) == True" Command=""$(TargetFrameworkSDKToolsDirectory)ildasm" /out:"$(TargetDir)$(TargetName).il" /NOBAR /LINENUM "$(TargetPath)"
"$(SolutionDir)TailCallMaker\$(OutDir)TailCallMaker.exe" "$(TargetDir)$(TargetName).il"
"$(TargetedFrameworkDir)\ilasm" /dll /PDB /NOLOGO /QUIET /out:"$(TargetDir)$(TargetName).dll" /res:"$(TargetDir)$(TargetName).res" "$(TargetDir)$(TargetName).il" "$(TargetDir)IronScheme.Glue.il"" />
+ <Exec Condition="$(UseNetFxIlTools) != True" Command=""$(ILDAsmPath)" /out:"$(TargetDir)$(TargetName).il" /LINENUM "$(TargetPath)"
"$(SolutionDir)TailCallMaker\$(OutDir)TailCallMaker.exe" "$(TargetDir)$(TargetName).il"
"$(ILAsmPath)" /dll /PDB /NOLOGO /QUIET /out:"$(TargetDir)$(TargetName).dll" /res:"$(TargetDir)$(TargetName).res" "$(TargetDir)$(TargetName).il" "$(TargetDir)IronScheme.Glue.il"" />
</Target>
</Project>
\ No newline at end of file diff --git a/IronScheme/IronScheme.Console/IronScheme.Console.csproj b/IronScheme/IronScheme.Console/IronScheme.Console.csproj index 0f232dc3..77079ced 100644 --- a/IronScheme/IronScheme.Console/IronScheme.Console.csproj +++ b/IronScheme/IronScheme.Console/IronScheme.Console.csproj @@ -1,8 +1,6 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> - <FileUpgradeFlags /> - <UpgradeBackupLocation /> <ApplicationIcon>ironscheme.ico</ApplicationIcon> <TargetFrameworks>net20;net5.0;netcoreapp2.1</TargetFrameworks> <GenerateManifests>false</GenerateManifests> @@ -14,7 +12,6 @@ <Version>1.0.0.0</Version> <NoWarn>1591</NoWarn> <OutputPath>bin\$(Configuration)\</OutputPath> - <DocumentationFile /> <Authors>Llewellyn Pritchard</Authors> <PackageIconUrl>http://ironscheme.net/logo-192.png</PackageIconUrl> <PackageId>IronScheme.Core</PackageId> diff --git a/IronScheme/IronScheme.Tests.Extensions/IronScheme.Tests.Extensions.csproj b/IronScheme/IronScheme.Tests.Extensions/IronScheme.Tests.Extensions.csproj index 46616206..fab90656 100644 --- a/IronScheme/IronScheme.Tests.Extensions/IronScheme.Tests.Extensions.csproj +++ b/IronScheme/IronScheme.Tests.Extensions/IronScheme.Tests.Extensions.csproj @@ -1,73 +1,14 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> +<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{BAF7E08E-2C51-47B2-B828-734E63AB69E0}</ProjectGuid> <OutputType>Exe</OutputType> - <RootNamespace>IronScheme.Tests.Extensions</RootNamespace> - <AssemblyName>IronScheme.Tests.Extensions</AssemblyName> - <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - <Deterministic>true</Deterministic> + <TargetFrameworks>net35</TargetFrameworks> </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <PlatformTarget>AnyCPU</PlatformTarget> - <DebugSymbols>true</DebugSymbols> - <DebugType>full</DebugType> - <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <PlatformTarget>AnyCPU</PlatformTarget> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - <OutputPath>bin\Release\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <ItemGroup> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Xml.Linq" /> - <Reference Include="System.Data.DataSetExtensions" /> - <Reference Include="System.Data" /> - <Reference Include="System.Xml" /> - </ItemGroup> - <ItemGroup> - <Compile Include="Program.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - </ItemGroup> <ItemGroup> - <ProjectReference Include="..\IronScheme.Closures\IronScheme.Closures.csproj"> - <Project>{8554dcc7-7f8e-4f98-aa54-c27daa550d4c}</Project> - <Name>IronScheme.Closures</Name> - </ProjectReference> - <ProjectReference Include="..\IronScheme.Console\IronScheme.Console.csproj"> - <Project>{5e6fdec6-9af4-4dfd-804e-d8a131326c20}</Project> - <Name>IronScheme.Console</Name> - </ProjectReference> - <ProjectReference Include="..\IronScheme.FrameworkPAL\IronScheme.FrameworkPAL.csproj"> - <Project>{5a0f3fdd-c1e0-4dfb-b15b-0c4c17aa5d45}</Project> - <Name>IronScheme.FrameworkPAL</Name> - </ProjectReference> - <ProjectReference Include="..\IronScheme\IronScheme.csproj"> - <Project>{04d8d17c-df2f-4894-9a66-2e75a78a5d22}</Project> - <Name>IronScheme</Name> - </ProjectReference> - <ProjectReference Include="..\Microsoft.Scripting\IronScheme.Scripting.csproj"> - <Project>{2ae75f5a-cd1f-4925-9647-af4d1c282fb4}</Project> - <Name>IronScheme.Scripting</Name> - </ProjectReference> - <ProjectReference Include="..\Oyster.IntX\Oyster.IntX.csproj"> - <Project>{371f38e6-8d55-482f-b010-4afac11c3cdb}</Project> - <Name>Oyster.IntX</Name> - </ProjectReference> + <ProjectReference Include="..\IronScheme.Closures\IronScheme.Closures.csproj" /> + <ProjectReference Include="..\IronScheme.Console\IronScheme.Console.csproj" /> + <ProjectReference Include="..\IronScheme.FrameworkPAL\IronScheme.FrameworkPAL.csproj" /> + <ProjectReference Include="..\IronScheme\IronScheme.csproj" /> + <ProjectReference Include="..\Microsoft.Scripting\IronScheme.Scripting.csproj" /> + <ProjectReference Include="..\Oyster.IntX\Oyster.IntX.csproj" /> </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </Project>
\ No newline at end of file diff --git a/IronScheme/IronScheme.Tests.Extensions/Properties/AssemblyInfo.cs b/IronScheme/IronScheme.Tests.Extensions/Properties/AssemblyInfo.cs deleted file mode 100644 index 52d19732..00000000 --- a/IronScheme/IronScheme.Tests.Extensions/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("IronScheme.ExtensionsTest")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("IronScheme.ExtensionsTest")] -[assembly: AssemblyCopyright("Copyright © 2022")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("baf7e08e-2c51-47b2-b828-734e63ab69e0")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/IronScheme/Microsoft.Scripting/IronScheme.Scripting.csproj b/IronScheme/Microsoft.Scripting/IronScheme.Scripting.csproj index 384c78f5..9600c22d 100644 --- a/IronScheme/Microsoft.Scripting/IronScheme.Scripting.csproj +++ b/IronScheme/Microsoft.Scripting/IronScheme.Scripting.csproj @@ -1,12 +1,8 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> - <ProductVersion>9.0.30729</ProductVersion> <RootNamespace>Microsoft.Scripting</RootNamespace> - <DocumentationFile>..\..\Bin\Release\Microsoft.Scripting.XML</DocumentationFile> <NoWarn>1591;1734</NoWarn> <TargetFrameworks>net20</TargetFrameworks> - <FileUpgradeFlags /> - <UpgradeBackupLocation /> <AssemblyTitle>Microsoft.Scripting</AssemblyTitle> <Company>Microsoft</Company> <Product>Microsoft.Scripting</Product> @@ -18,6 +14,7 @@ <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies> <OutputPath>Bin\$(Configuration)\</OutputPath> <DocumentationFile>Bin\$(Configuration)\IronScheme.Scripting.xml</DocumentationFile> + <ExecuteAsTool>false</ExecuteAsTool> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugType>full</DebugType> diff --git a/IronScheme/Oyster.IntX/Oyster.IntX.csproj b/IronScheme/Oyster.IntX/Oyster.IntX.csproj index e347d7e5..462e9a18 100644 --- a/IronScheme/Oyster.IntX/Oyster.IntX.csproj +++ b/IronScheme/Oyster.IntX/Oyster.IntX.csproj @@ -1,16 +1,6 @@ <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <ProjectType>Local</ProjectType>
- <ProductVersion>9.0.30729</ProductVersion>
- <ApplicationIcon />
- <DefaultClientScript>JScript</DefaultClientScript>
- <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
- <DefaultTargetSchema>IE50</DefaultTargetSchema>
<RootNamespace>Oyster.Math</RootNamespace>
- <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
- <StartupObject />
- <FileUpgradeFlags />
- <UpgradeBackupLocation />
<TargetFrameworks>net20</TargetFrameworks>
<AssemblyTitle>Oyster.IntX</AssemblyTitle>
<Company>Oyster</Company>
@@ -20,20 +10,13 @@ <AssemblyVersion>0.9.3.3</AssemblyVersion>
<FileVersion>0.9.3.3</FileVersion>
<BaseAddress>285212672</BaseAddress>
- <NoStdLib>false</NoStdLib>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<FileAlignment>4096</FileAlignment>
- <ConfigurationOverrideFile />
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<OutputPath>bin\</OutputPath>
<DocumentationFile>Oyster.IntX.xml</DocumentationFile>
<RegisterForComInterop>false</RegisterForComInterop>
- <PreBuildEvent />
- <PostBuildEvent />
- <PreBuildEvent />
- <PostBuildEvent />
- <PreBuildEvent />
- <PostBuildEvent />
+ <ExecuteAsTool>false</ExecuteAsTool>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<NoWarn />
@@ -46,10 +29,6 @@ <DebugType>pdbonly</DebugType>
<CodeAnalysisRuleSet />
</PropertyGroup>
- <PropertyGroup>
- <PreBuildEvent />
- <PostBuildEvent />
- </PropertyGroup>
<ItemGroup>
<Compile Update="Utils\Strings.Designer.cs">
<AutoGen>True</AutoGen>
|