Skip to content

Commit

Permalink
Updated template with common configuration files that should be show …
Browse files Browse the repository at this point in the history
…in visual studio
  • Loading branch information
david-driscoll committed Jul 4, 2019
1 parent 3bd7e2d commit d9953a5
Show file tree
Hide file tree
Showing 8 changed files with 84 additions and 4 deletions.
4 changes: 2 additions & 2 deletions Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
</ItemGroup>
<ItemGroup>
<PackageReference Update="Nuke.Common" Version="0.20.1" />
<PackageReference Update="Rocket.Surgery.Nuke" Version="0.1.0-beta.8" />
<PackageReference Update="GitVersion.CommandLine.DotNetCore" Version="5.0.0-beta4-9" />
<PackageReference Update="Rocket.Surgery.Nuke" Version="0.1.0-beta.9" />
<PackageReference Update="GitVersion.CommandLine.DotNetCore" Version="5.0.0-beta5.1" />
<PackageReference Update="ReportGenerator" Version="4.2.5" />
</ItemGroup>
<ItemGroup>
Expand Down
6 changes: 5 additions & 1 deletion src/Nuke/ComputedGitVersionAttribute.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,17 @@ namespace Rocket.Surgery.Nuke
/// </summary>
[PublicAPI]
[UsedImplicitly(ImplicitUseKindFlags.Default)]
public class ComputedGitVersionAttribute : InjectionAttributeBase
internal class ComputedGitVersionAttribute : InjectionAttributeBase
{
/// <inheritdoc />
public override object GetValue(MemberInfo member, object instance)
{
return ControlFlow.SuppressErrors(GitVer, includeStackTrace: true);
}

/// <summary>
/// Returns if GitVersion data is available
/// </summary>
public static bool HasGitVer()
{
return Variables.Keys.Any(z => z.StartsWith("GITVERSION_", StringComparison.OrdinalIgnoreCase));
Expand Down
18 changes: 17 additions & 1 deletion src/Nuke/CustomDotNetBuildExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,37 @@ namespace Rocket.Surgery.Nuke
{
public static class CustomDotNetBuildExtensions
{
/// <summary>
/// Configures binary logging for MSBuild
/// </summary>
/// <param name="settings"></param>
/// <param name="path"></param>
/// <param name="imports"></param>
public static T SetBinaryLogger<T>(this T settings, AbsolutePath path, MSBuildBinaryLogImports imports) where T : ToolSettings
{
var existingArgs = settings.ArgumentConfigurator;
return settings.SetArgumentConfigurator(args =>
existingArgs(args).Add($"/bl:{path};ProjectImports={imports}"));
}

/// <summary>
/// Configures a file logger for MSBuild
/// </summary>
/// <param name="settings"></param>
/// <param name="path"></param>
/// <param name="verbosity"></param>
public static T SetFileLogger<T>(this T settings, AbsolutePath path, Verbosity verbosity) where T : ToolSettings
{
var existingArgs = settings.ArgumentConfigurator;
return settings.SetArgumentConfigurator(args =>
existingArgs(args).Add($"/fileLogger /fileloggerparameters:ShowTimestamp;Verbosity={verbosity};LogFile=\"{path}\""));
}

/// <summary>
/// Ensures all the gitversion values are available as environment values (GITVERISON_*)
/// </summary>
/// <param name="settings"></param>
/// <param name="gitVersion"></param>
public static T SetGitVersionEnvironment<T>(this T settings, GitVersion gitVersion) where T : ToolSettings
{
foreach (var item in JObject.FromObject(gitVersion))
Expand All @@ -33,5 +50,4 @@ public static class CustomDotNetBuildExtensions
return settings;
}
}

}
4 changes: 4 additions & 0 deletions src/Nuke/Rocket.Surgery.Nuke.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
<PackageReference Include="GitVersion.CommandLine.DotNetCore" />
<PackageReference Include="ReportGenerator" />
</ItemGroup>
<ItemGroup>
<None Include="build/*.*" Pack="true" PackagePath="build" />
<None Include="buildMultiTargeting/*.*" Pack="true" PackagePath="buildMultiTargeting" />
</ItemGroup>
</Project>
34 changes: 34 additions & 0 deletions src/Nuke/build/Rocket.Surgery.Nuke.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<Project>
<PropertyGroup>
<_NukeRoot>$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectFullPath)', '.nuke'))</_NukeRoot>
<_CiFiles Condition="'$(_CiFiles)' == ''"></_CiFiles>
<_CiFiles Condition="Exists('$(_NukeRoot)\.azure-pipelines.yml')">$(_CiFiles);$(_NukeRoot)\.azure-pipelines.yml</_CiFiles>
<_CiFiles Condition="Exists('$(_NukeRoot)\azure-pipelines.yml')">$(_CiFiles);$(_NukeRoot)\azure-pipelines.yml</_CiFiles>
<_CiFiles Condition="Exists('$(_NukeRoot)\.appveyor.yml')">$(_CiFiles);$(_NukeRoot)\.appveyor.yml</_CiFiles>
<_CiFiles Condition="Exists('$(_NukeRoot)\appveyor.yml')">$(_CiFiles);$(_NukeRoot)\appveyor.yml</_CiFiles>
<_CiFiles Condition="Exists('$(_NukeRoot)\.travis.yml')">$(_CiFiles);$(_NukeRoot)\.travis.yml</_CiFiles>
<_CiFiles Condition="Exists('$(_NukeRoot)\travis.yml')">$(_CiFiles);$(_NukeRoot)\travis.yml</_CiFiles>
<_CiFiles Condition="Exists('$(_NukeRoot)\gitlab-ci.yml')">$(_CiFiles);$(_NukeRoot)\gitlab-ci.yml</_CiFiles>
<_CiFiles Condition="Exists('$(_NukeRoot)\codeship.yml')">$(_CiFiles);$(_NukeRoot)\codeship.yml</_CiFiles>
<_CiFiles Condition="Exists('$(_NukeRoot)\bitrise.yml')">$(_CiFiles);$(_NukeRoot)\bitrise.yml</_CiFiles>
<_CiFiles Condition="Exists('$(_NukeRoot)\.circleci\config.yml')">$(_CiFiles);$(_NukeRoot)\.circleci\config.yml</_CiFiles>

<_ConfigFiles Condition="'$(_ConfigFiles)' == ''"></_ConfigFiles>
<_ConfigFiles Condition="Exists('$(_NukeRoot)\global.json')">$(_ConfigFiles);$(_NukeRoot)\global.json</_ConfigFiles>
<_ConfigFiles Condition="Exists('$(_NukeRoot)\.editorconfig')">$(_ConfigFiles);$(_NukeRoot)\.editorconfig</_ConfigFiles>
<_ConfigFiles Condition="Exists('$(_NukeRoot)\nuget.config')">$(_ConfigFiles);$(_NukeRoot)\nuget.config</_ConfigFiles>
<_ConfigFiles Condition="Exists('$(_NukeRoot)\omnisharp.json')">$(_ConfigFiles);$(_NukeRoot)\omnisharp.json</_ConfigFiles>
<_ConfigFiles Condition="Exists('$(_NukeRoot)\.dependabot\config.yml')">$(_ConfigFiles);$(_NukeRoot)\.dependabot\config.yml</_ConfigFiles>
<_ConfigFiles Condition="Exists('$(_NukeRoot)\.config\dotnet-tools.json')">$(_ConfigFiles);$(_NukeRoot)\.config\dotnet-tools.json</_ConfigFiles>
<!--<_ConfigFiles Condition="Exists('$(_NukeRoot)\')">$(_ConfigFiles);$(_NukeRoot)\</_ConfigFiles>-->

<_GitFiles Condition="'$(_GitFiles)' == ''"></_GitFiles>
<_GitFiles Condition="Exists('$(_NukeRoot)\.gitattributes')">$(_GitFiles);$(_NukeRoot)\.gitattributes</_GitFiles>
<_GitFiles Condition="Exists('$(_NukeRoot)\.gitignore')">$(_GitFiles);$(_NukeRoot)\.gitignore</_GitFiles>
<_GitFiles Condition="Exists('$(_NukeRoot)\.gitmodules')">$(_GitFiles);$(_NukeRoot)\.gitmodules</_GitFiles>
<!--<_GitFiles Condition="Exists('$(_NukeRoot)\')">$(_GitFiles);$(_NukeRoot)\</_GitFiles>-->

<_NukeFiles Condition="'$(_NukeFiles)' == ''"></_NukeFiles>
<_NukeFiles>$(_NukeFiles);$(_NukeRoot)\build.ps1;$(_NukeRoot)\build.sh;$(_NukeRoot)\.nuke</_NukeFiles>
</PropertyGroup>
</Project>
16 changes: 16 additions & 0 deletions src/Nuke/build/Rocket.Surgery.Nuke.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<Project>
<ItemGroup>
<NukeSpecificationFiles Include="**\*.json" Exclude="bin\**;obj\**" />
<NukeExternalFiles Include="**\*.*.ext" Exclude="bin\**;obj\**" />
<None Remove="*.csproj.DotSettings;*.ref.*.txt" />

<!-- Common build related files -->
<None Include="$(_NukeFiles)" Link=".nuke\$([MSBuild]::MakeRelative($(_NukeRoot), %(FullPath)))" />
<None Include="$(_CiFiles)" Link=".ci\$([MSBuild]::MakeRelative($(_NukeRoot), %(FullPath)))" />
<None Include="$(_GitFiles)" Link=".git\$([MSBuild]::MakeRelative($(_NukeRoot), %(FullPath)))" />
<None Include="$(_ConfigFiles)" Link=".config\$([MSBuild]::MakeRelative($(_NukeRoot), %(FullPath)))" />
<None Include="$(_NukeRoot)\*.md" Link="docs\$([MSBuild]::MakeRelative($(_NukeRoot), %(FullPath)))" />
<None Include="$(_NukeRoot)\LICENSE" Condition="Exists('$(_NukeRoot)\LICENSE')" Link="docs\$([MSBuild]::MakeRelative($(_NukeRoot), %(FullPath)))" />
<None Include="$(_NukeRoot)\*.props;$(_NukeRoot)\*.targets" />
</ItemGroup>
</Project>
3 changes: 3 additions & 0 deletions src/Nuke/buildMultiTargeting/Rocket.Surgery.Nuke.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<Project>
<Import Project="..\build\$(MSBuildThisFile)" />
</Project>
3 changes: 3 additions & 0 deletions src/Nuke/buildMultiTargeting/Rocket.Surgery.Nuke.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<Project>
<Import Project="..\build\$(MSBuildThisFile)" />
</Project>

0 comments on commit d9953a5

Please sign in to comment.