Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build improvements #3155

Draft
wants to merge 40 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
f2295f8
Added new .netstandard20 project for custom MSBuild-Task utilizing Gi…
Vanmodeus Apr 5, 2022
1c539f7
Check if frame file exists
Apr 6, 2022
494e838
Removed unnecessary Path.Combines
Apr 6, 2022
d0a1935
Added compiled library containing new build task
Apr 6, 2022
86de603
Adapted all .csproj files to use new MSBuild Task
Apr 6, 2022
aeab9a4
Removed obsolete PreBuildEvent scripts
Apr 6, 2022
cc294e9
Included MergeConfigs script as MSBuild Task
Apr 6, 2022
59b2488
Finished porting MergeConfigs script to c#
Apr 6, 2022
fac55cc
Removed old PostBuildEvent / MergeConfigs commands
Apr 6, 2022
22b27a3
Removed obsolete ConfigMerger/MergeConfigs
Apr 6, 2022
247da26
Adapted custom build task to fallback to current datetime if no git i…
Apr 7, 2022
d79ebff
Rely on "git" and not on "cmd.exe" to be platform independent
Apr 7, 2022
ed3b58b
Cleaned up ExactOptimization project files
Apr 8, 2022
768e7e7
Changed UpdateVersion to only include minutes since midnight, as the …
Apr 11, 2022
432e5b4
Used int for minutes since midnight, Suppress git error messages
Apr 11, 2022
348b26f
Removed overlooked PreBuildEvent for Linux in ExternalEvaluation
Apr 11, 2022
2e32596
Added new Task for protoc generation in build script (including requi…
Apr 12, 2022
96aadcd
Finalized ProtoGen in custom MSBuild Task (at least for windows for n…
Vanmodeus Apr 12, 2022
74ff6e8
Added latest version of compiled HeuristicLab.Build and referenced dlls
Vanmodeus Apr 12, 2022
8cc1924
Merge branch 'heal-research:main' into build_improvements
Vanmodeus Apr 13, 2022
34c01af
Removed references to local file system (CodeAnalysis)
Apr 15, 2022
cf00d82
Unified all <OutputPath> to $(SolutionDir)/bin/ instead of the old ..…
Apr 15, 2022
ececfaf
Removed ProtoGen from ExtLibs (as it is only used for the build proce…
Apr 15, 2022
4d9ca61
Removed ProtoGen as project reference
Apr 15, 2022
dee936a
Removed old build files from SolutionItem
Apr 15, 2022
3fa8388
Ignored the generated proto file
Apr 15, 2022
dcbb7e5
Converted all projects of the HeuristicLab solution to sdk style proj…
Apr 15, 2022
f678854
Fixed csproj files for Client.Hive.Slave
Apr 15, 2022
d8c7895
Removed unused Transformers
Apr 15, 2022
90841f2
Removed unused reference to Resource stub
Apr 15, 2022
e2e10e1
Unified <HintPath> to use $(SolutionDir)\bin instead of ..\..\ cascade
Apr 15, 2022
2e72cae
Fixed csproj files for HeuristicLab.Services.*
Apr 20, 2022
742c2e1
Removed references to local file system (CodeAnalysis)
Apr 21, 2022
4b2b0b1
Changed DebugType to embedded
Apr 22, 2022
36b0bc3
Removed WarningLevel (as 4 is default)
Apr 22, 2022
78df181
Removed CodeAnalysisRuleSet
Apr 22, 2022
34502f3
Removed DocumentationFile
Apr 22, 2022
b881651
Also applied csproj changes to ExtLibs (embedded, WarningLevel, CodeA…
Apr 22, 2022
2fe265a
Removed CodeAnalysis and ErrorReport
Apr 22, 2022
b37e98c
Removed </CodeAnalysisRules
Apr 22, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -400,3 +400,4 @@ FodyWeavers.xsd

# JetBrains Rider
*.sln.iml
HeuristicLab.Problems.ExternalEvaluation/3.4/Protos/ExternalEvaluationMessages.cs
Binary file removed ConfigMerger.exe
Binary file not shown.
2 changes: 0 additions & 2 deletions HeuristicLab 3.3 Services.sln
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@ VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{96396439-A764-4022-A8D2-BE021449B8D1}"
ProjectSection(SolutionItems) = preProject
ConfigMerger.exe = ConfigMerger.exe
..\documentation\License\gpl-3.0.txt = ..\documentation\License\gpl-3.0.txt
HeuristicLab 3.3 Services.vsmdi = HeuristicLab 3.3 Services.vsmdi
LocalTestRun.testrunconfig = LocalTestRun.testrunconfig
PreBuildEvent.cmd = PreBuildEvent.cmd
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Services.Deployment-3.3", "HeuristicLab.Services.Deployment\3.3\HeuristicLab.Services.Deployment-3.3.csproj", "{30D8C5F1-CD3A-4EC1-907F-430177A03FBE}"
Expand Down
3 changes: 0 additions & 3 deletions HeuristicLab 3.3.sln
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
Build.cmd = Build.cmd
ConfigMerger.exe = ConfigMerger.exe
..\documentation\License\gpl-3.0.txt = ..\documentation\License\gpl-3.0.txt
MergeConfigs.cmd = MergeConfigs.cmd
PreBuildEvent.cmd = PreBuildEvent.cmd
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab-3.3", "HeuristicLab\3.3\HeuristicLab-3.3.csproj", "{B1DCDECA-B56E-41D5-9850-EF0D3A77DEAF}"
Expand Down
205 changes: 30 additions & 175 deletions HeuristicLab.Algorithms.ALPS/3.3/HeuristicLab.Algorithms.ALPS-3.3.csproj
Original file line number Diff line number Diff line change
@@ -1,209 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" 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>{59F354CB-FE13-4253-AED2-AD86372BEC27}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>HeuristicLab.Algorithms.ALPS</RootNamespace>
<AssemblyName>HeuristicLab.Algorithms.ALPS-3.3</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<TargetFramework>net472</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<OutputPath>$(SolutionDir)\bin\</OutputPath>
<UseCommonOutputDirectory>true</UseCommonOutputDirectory>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>$(SolutionDir)\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<DebugType>embedded</DebugType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>$(SolutionDir)\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<DebugType>embedded</DebugType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>$(SolutionDir)\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
<DebugType>embedded</DebugType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>$(SolutionDir)\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
<DebugType>embedded</DebugType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>$(SolutionDir)\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
<DebugType>embedded</DebugType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>$(SolutionDir)\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
<DebugType>embedded</DebugType>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
</ItemGroup>
<ItemGroup>
<Compile Include="AlpsOffspringSelectionGeneticAlgorithmMainLoop.cs" />
<Compile Include="AlpsOffspringSelectionGeneticAlgorithm.cs" />
<Compile Include="AlpsGeneticAlgorithmMainOperator.cs" />
<Compile Include="AlpsOffspringSelectionGeneticAlgorithmMainOperator.cs" />
<Compile Include="AlpsOffspringSelector.cs" />
<Compile Include="ReseedingController.cs" />
<Compile Include="ResultsHistoryWiper.cs" />
<Compile Include="WeightingReducer.cs" />
<Compile Include="Analyzers\OldestAverageYoungestAgeAnalyzer.cs" />
<Compile Include="Analyzers\AgeDistributionAnalyzer.cs" />
<Compile Include="AgingScheme.cs" />
<Compile Include="AlpsGeneticAlgorithm.cs" />
<Compile Include="AlpsGeneticAlgorithmMainLoop.cs" />
<Compile Include="Analyzers\OldestAverageYoungestAgeCalculator.cs" />
<Compile Include="EldersSelector.cs" />
<Compile Include="LastLayerCloner.cs" />
<Compile Include="MatingPoolCreator.cs" />
<Compile Include="Plugin.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="HeuristicLab.snk" />
<None Include="Plugin.cs.frame" />
<None Include="Properties\AssemblyInfo.cs.frame" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">
<Project>{887425b4-4348-49ed-a457-b7d2c26ddbf9}</Project>
<Name>HeuristicLab.Analysis-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
<Project>{958b43bc-cc5c-4fa2-8628-2b3b01d890b6}</Project>
<Name>HeuristicLab.Collections-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
<Project>{a9ad58b9-3ef9-4cc1-97e5-8d909039ff5c}</Project>
<Name>HeuristicLab.Common-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
<Project>{c36bd924-a541-4a00-afa8-41701378ddc5}</Project>
<Name>HeuristicLab.Core-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
<Project>{bbab9df5-5ef3-4ba8-ade9-b36e82114937}</Project>
<Name>HeuristicLab.Data-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
<Project>{23da7ff4-d5b8-41b6-aa96-f0561d24f3ee}</Project>
<Name>HeuristicLab.Operators-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Optimization.Operators\3.3\HeuristicLab.Optimization.Operators-3.3.csproj">
<Project>{25087811-f74c-4128-bc86-8324271da13e}</Project>
<Name>HeuristicLab.Optimization.Operators-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
<Project>{14ab8d24-25bc-400c-a846-4627aa945192}</Project>
<Name>HeuristicLab.Optimization-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
<Project>{56f9106a-079f-4c61-92f6-86a84c2d84b7}</Project>
<Name>HeuristicLab.Parameters-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
<Project>{102bc7d3-0ef9-439c-8f6d-96ff0fdb8e1b}</Project>
<Name>HeuristicLab.Persistence-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
<Project>{94186a6a-5176-4402-ae83-886557b53cca}</Project>
<Name>HeuristicLab.PluginInfrastructure-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Random\3.3\HeuristicLab.Random-3.3.csproj">
<Project>{f4539fb6-4708-40c9-be64-0a1390aea197}</Project>
<Name>HeuristicLab.Random-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Selection\3.3\HeuristicLab.Selection-3.3.csproj">
<Project>{2c36cd4f-e5f5-43a4-801a-201ea895fe17}</Project>
<Name>HeuristicLab.Selection-3.3</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Optimization.Operators\3.3\HeuristicLab.Optimization.Operators-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Random\3.3\HeuristicLab.Random-3.3.csproj" />
<ProjectReference Include="..\..\HeuristicLab.Selection\3.3\HeuristicLab.Selection-3.3.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="HEAL.Attic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\bin\HEAL.Attic.dll</HintPath>
<HintPath>$(SolutionDir)\bin\HEAL.Attic.dll</HintPath>
<Private>False</Private>
<SpecificVersion>False</SpecificVersion>
</Reference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
set ProjectDir=$(ProjectDir)
set SolutionDir=$(SolutionDir)
set Outdir=$(Outdir)

call PreBuildEvent.cmd
</PreBuildEvent>
<PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
export ProjectDir=$(ProjectDir)
export SolutionDir=$(SolutionDir)

$SolutionDir/PreBuildEvent.sh
</PreBuildEvent>
</PropertyGroup>
<UsingTask TaskName="HeuristicLab.Build.UpdateVersion" AssemblyFile="$(MSBuildProjectDirectory)\..\..\build\bin\HeuristicLab.Build.dll"/>
<Target Name="BeforeBuild"> <UpdateVersion ProjectDir="."/> </Target>
</Project>
Loading