/
EvilBeaver
/
OneScript
Обзор
Документация
Войти
/
EvilBeaver
/
OneScript
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
v1.8.3
Build.csproj
250 строк
13 KB
EvilBeaver
Несколько ошибок сборки
16 июн 2022, 10:27
16 июн 2022, 10:27
2800e07
Код
Авторство
О чём код?
<Project Sdk="Microsoft.NET.Sdk"> <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" /> <PropertyGroup> <ReleaseNumber Condition="'$(ReleaseNumber)' == ''">1.1.0</ReleaseNumber> <BuildNumber Condition="'$(BUILD_NUMBER)' != ''">$(BUILD_NUMBER)</BuildNumber> <BuildNumber Condition="'$(BUILD_NUMBER)' == ''">0</BuildNumber> <ArtifactsRoot>$(MSBuildProjectDirectory)/built</ArtifactsRoot> <Solution>$(MSBuildProjectDirectory)/src/1Script.sln</Solution> <Configuration>Release</Configuration> <TargetFrameworkId>net48</TargetFrameworkId> </PropertyGroup> <ItemGroup> <PlatformItem Include="x86"> <MSBuildName>x86</MSBuildName> <BinFolder>bin32</BinFolder> </PlatformItem> <PlatformItem Include="x64"> <MSBuildName>Any CPU</MSBuildName> <BinFolder>bin</BinFolder> </PlatformItem> </ItemGroup> <Target Name="CleanAll"> <ItemGroup> <TestsResults Include="$(MSBuildProjectDirectory)/tests/*.os.xml" /> </ItemGroup> <Delete Files="@(TestsResults)" /> <DeleteTree Directories="$(ArtifactsRoot)" Condition="Exists($(ArtifactsRoot))" /> <MSBuild Projects="$(Solution)" Targets="restore;Clean" Properties="ReleaseNumber=$(ReleaseNumber);Configuration=$(Configuration);Platform=%(PlatformItem.MSBuildName);TargetFrameworkId=$(TargetFrameworkId)"/> </Target> <Target Name="Make"> <MSBuild Projects="$(Solution)" Targets="restore;Build" Properties="ReleaseNumber=$(ReleaseNumber);Configuration=$(Configuration);Platform=%(PlatformItem.MSBuildName);TargetFrameworkId=$(TargetFrameworkId)"/> </Target> <Target Name="CreateDistributions" DependsOnTargets="CreateInstaller;CreateNuget;CreateZip"> <ItemGroup> <TempContent Include="$(ArtifactsRoot)/tmp"/> <TempContent Include="$(MDDocFolder)"/> </ItemGroup> <DeleteTree Directories="@(TempContent)"/> </Target> <Target Name="PrepareArtifactsRoot"> <PropertyGroup> <TempFolder>$(ArtifactsRoot)/tmp</TempFolder> <LibFolder>$(TempFolder)/lib</LibFolder> <ToolFolder>$(TempFolder)/bin</ToolFolder> <ExamplesFolder>$(TempFolder)/examples</ExamplesFolder> <DocFolder>$(TempFolder)/doc</DocFolder> <DebugDest>$(ArtifactsRoot)\vscode\</DebugDest> <MDDocFolder>$(ArtifactsRoot)/mddoc</MDDocFolder> </PropertyGroup> <MakeDir Directories="$(ArtifactsRoot)" /> <MakeDir Directories="$(TempFolder)" /> </Target> <Target Name="PrepareDistributionContent"> <CallTarget Targets="GatherBinaries" /> <CallTarget Targets="GatherLibrary" /> <CallTarget Targets="GatherExamples" /> <CallTarget Targets="GatherDocuments" Condition=" '$(OneScriptDocumenter)' != '' "/> <CallTarget Targets="CleanIntermediates"/> </Target> <!-- Собирает отовсюду содержимое папки bin --> <Target Name="GatherBinaries" DependsOnTargets="Make;PrepareArtifactsRoot"> <ItemGroup> <BuiltProjects Include="oscript" /> <BuiltProjects Include="TestApp" /> <BinaryFiles Include="$(MSBuildProjectDirectory)/src/%(BuiltProjects.Identity)/bin/$(Configuration)/$(TargetFrameworkId)/**"> <Dest>$(TempFolder)/bin</Dest> </BinaryFiles> <BinaryFiles Include="$(MSBuildProjectDirectory)/src/%(BuiltProjects.Identity)/bin/x86/$(Configuration)/$(TargetFrameworkId)/**"> <Dest>$(TempFolder)/bin32</Dest> </BinaryFiles> <AspFiles Include="$(MSBuildProjectDirectory)/src/ASPNETHandler/bin/$(Configuration)/$(TargetFrameworkId)/ASPNETHandler.dll"/> </ItemGroup> <ItemGroup> <BuiltProjects Include="ScriptEngine.NativeApi" /> <BinaryFiles Include="$(MSBuildProjectDirectory)/src/%(BuiltProjects.Identity)/bin/$(Configuration)/$(TargetFrameworkId)/*.dll"> <Dest>$(TempFolder)/bin</Dest> </BinaryFiles> <BinaryFiles Include="$(MSBuildProjectDirectory)/src/%(BuiltProjects.Identity)/bin/x86/$(Configuration)/$(TargetFrameworkId)/*.dll"> <Dest>$(TempFolder)/bin32</Dest> </BinaryFiles> </ItemGroup> <Copy SourceFiles="@(BinaryFiles)" DestinationFiles="@(BinaryFiles->'%(Dest)/%(Filename)%(Extension)')" /> <Copy SourceFiles="@(AspFiles)" DestinationFolder="%(BinaryFiles.Dest)"/> <!-- Копирование скрипта запуска для opm --> <Copy SourceFiles="$(MSBuildProjectDirectory)\install\opm.bat" DestinationFolder="%(BinaryFiles.Dest)"/> <PropertyGroup> <DebugSrc>$(MSBuildProjectDirectory)/src/VSCode.DebugAdapter/bin/$(Configuration)/$(TargetFrameworkId)</DebugSrc> </PropertyGroup> <ItemGroup> <DbgBinFiles Include="$(DebugSrc)/*.dll"/> <DbgBinFiles Include="$(DebugSrc)/*.exe"/> <DbgBinFiles Include="$(DebugSrc)/*.config"/> <DbgPackageFiles Include="$(DebugSrc)/README.md"/> <DbgPackageFiles Include="$(DebugSrc)/package.json"/> <DbgImageFiles Include="$(DebugSrc)/images/**"/> </ItemGroup> <Copy SourceFiles="@(DbgBinFiles)" DestinationFolder="$(DebugDest)/bin"/> <Copy SourceFiles="@(DbgPackageFiles)" DestinationFolder="$(DebugDest)"/> <Copy SourceFiles="@(DbgImageFiles)" DestinationFolder="$(DebugDest)/images"/> <Exec WorkingDirectory="$(TempFolder)" Command=""$(ToolFolder)/oscript.exe" -version > VERSION"/> </Target> <!-- Собирает в целевой папке содержимое папки lib --> <Target Name="GatherLibrary" DependsOnTargets="Make;GatherBinaries"> <MakeDir Directories="$(LibFolder)" /> <CallTarget Targets="InstallStdLib" Condition="'$(StandardLibraryPacks)' != ''"/> <DeleteTree Directories="$(LibFolder)/opm" /> <Exec Command=""$(ToolFolder)/oscript.exe" "$(MSBuildProjectDirectory)\install\unicode-zipper.os" unpack "$(MSBuildProjectDirectory)\install\opm.ospx" "$(LibFolder)\tmp""/> <Exec Command=""$(ToolFolder)/oscript.exe" "$(MSBuildProjectDirectory)\install\unicode-zipper.os" unpack "$(LibFolder)\tmp\content.zip" "$(LibFolder)/opm""/> <Copy SourceFiles="$(MSBuildProjectDirectory)\install\package-loader.os" DestinationFolder="$(LibFolder)"/> <DeleteTree Directories="$(LibFolder)\tmp"/> </Target> <!-- Копирует поставляемые файлы stdlib, если они есть на машине сборки --> <Target Name="InstallStdLib"> <ItemGroup> <LibraryFiles Include="$(StandardLibraryPacks)\**\*" Exclude="package-loader.os"/> </ItemGroup> <Copy SourceFiles="@(LibraryFiles)" DestinationFolder="$(LibFolder)\%(RecursiveDir)"/> </Target> <!-- Собирает в целевой папке содержимое папки examples --> <Target Name="GatherExamples" DependsOnTargets="PrepareArtifactsRoot"> <ItemGroup> <ExampleFiles Include="$(MSBuildProjectDirectory)\install\examples\**\*"/> </ItemGroup> <MakeDir Directories="$(ExamplesFolder)" /> <Copy SourceFiles="@(ExampleFiles)" DestinationFolder="$(ExamplesFolder)\%(RecursiveDir)"/> </Target> <!-- Собирает в целевой папке содержимое папки doc --> <Target Name="GatherDocuments" DependsOnTargets="PrepareArtifactsRoot;GenerateDocs"> <MakeDir Directories="$(DocFolder)"/> <Exec Command="$(OneScriptDocumenter) html $(TMP)\tempdoc.xml "$(DocFolder)""/> </Target> <!-- Генерирует необходимую документацию --> <Target Name="GenerateDocs"> <Exec Command="$(OneScriptDocumenter) $(TMP)\tempdoc.xml "$(ToolFolder)\ScriptEngine.dll" "$(ToolFolder)\ScriptEngine.HostedScript.dll" "$(ToolFolder)\oscript.exe""/> <MakeDir Directories="$(MDDocFolder)"/> <Exec Command="$(OneScriptDocumenter) markdown $(TMP)\tempdoc.xml "$(MDDocFolder)" /syntax/page"/> </Target> <!-- Чистка промежуточных файлов --> <Target Name="CleanIntermediates"> <ItemGroup> <ExcludedArtifacts Include="$(TempFolder)/%(PlatformItem.BinFolder)/*.pdb" /> <ExcludedArtifacts Include="$(TempFolder)/%(PlatformItem.BinFolder)/*.xml" /> <!-- остается от документера. Надо починить его чтобы писал куда-то в другое место --> <ExcludedArtifacts Include="$(MSBuildProjectDirectory)/map.json"/> </ItemGroup> <Delete Files="@(ExcludedArtifacts)"/> </Target> <!-- Инсталлятор --> <Target Name="CreateInstaller" DependsOnTargets="PrepareArtifactsRoot"> <Error Text="No installer path is specified" Condition="'$(InnoSetupPath)' == ''"/> <PropertyGroup> <InstallerStandardPath>"$(InnoSetupPath)\iscc.exe"</InstallerStandardPath> <DistPath>$(ArtifactsRoot)</DistPath> </PropertyGroup> <Exec Command="$(InstallerStandardPath) /o"$(DistPath)" /DSuffix=%(PlatformItem.Identity) "$(MSBuildProjectDirectory)\install\install.iss""/> </Target> <!-- Nuget --> <Target Name="CreateNuget" DependsOnTargets="PrepareArtifactsRoot"> <ItemGroup> <NugetAbleProject Include="ScriptEngine"/> <NugetAbleProject Include="ScriptEngine.HostedScript"/> <NugetAbleProject Include="OneScript.Language"/> <NugetAbleProject Include="OneScript.DebugServices"/> <NugetAbleProject Include="OneScript.DebugProtocol"/> </ItemGroup> <MSBuild Projects="src/%(NugetAbleProject.Identity)/%(NugetAbleProject.Identity).csproj" Targets="pack" Properties="PackageOutputPath=$(ArtifactsRoot);ReleaseNumber=$(ReleaseNumber);TargetFrameworkId=$(TargetFrameworkId)"/> </Target> <!-- ZIP --> <Target Name="CreateZip" DependsOnTargets="PrepareArtifactsRoot"> <Exec Command=""$(MSBuildProjectDirectory)\install\prepare-zip.cmd" $(TempFolder) %(PlatformItem.Identity)"/> <Exec Command=""$(ToolFolder)\oscript.exe" "$(MSBuildProjectDirectory)\install\unicode-zipper.os" pack "$(TempFolder)/zip%(PlatformItem.Identity)/*" "$(ArtifactsRoot)/OneScript-$(ReleaseNumber)-%(PlatformItem.Identity).zip""/> <Exec Command=""$(ToolFolder)\oscript.exe" "$(MSBuildProjectDirectory)\install\unicode-zipper.os" pack "$(MDDocFolder)/*" "$(ArtifactsRoot)/mddoc-$(ReleaseNumber).zip""/> </Target> <!-- MSI --> <Target Name="CreateMSI"> <MSBuild Projects="$(MSBuildProjectDirectory)\src\Installer\Installer.wixproj" Properties="Configuration=$(Configuration);OutputPath=$(ArtifactsRoot);OutputPathForBuild=$(ArtifactsRoot);Version=$(ReleaseNumber).$(BuildNumber)" /> </Target> <Target Name="xUnitTest" DependsOnTargets="PrepareArtifactsRoot"> <CreateItem Include="$(MSBuildProjectDirectory)\tests\*.os.xml"> <Output TaskParameter="Include" ItemName="RemoveXMLTestResult" /> </CreateItem> <Delete Files="@(RemoveXMLTestResult)" /> <Exec WorkingDirectory="$(MSBuildProjectDirectory)\tests" Command=""$(ToolFolder)/oscript.exe" "$(MSBuildProjectDirectory)\tests\testrunner.os" -runall . xddReportPath ." IgnoreExitCode="true"/> </Target> <Target Name="PublishNuget"> <ItemGroup> <NugetAbleProject Include="OneScript"/> <NugetAbleProject Include="OneScript.StandardLibrary"/> <NugetAbleProject Include="OneScript.Language"/> <NugetAbleProject Include="OneScript.DebugServices"/> <NugetAbleProject Include="OneScript.DebugProtocol"/> </ItemGroup> <Error Text="No nuget token (/p:NugetToken=) specified" Condition="'$(NugetToken)' == ''" /> <Exec WorkingDirectory="$(MSBuildProjectDirectory)\built" Command="dotnet nuget push %(NugetAbleProject.Identity).$(ReleaseNumber).nupkg -k $(NugetToken) -s https://api.nuget.org/v3/index.json"/> </Target> </Project>