Initial removal of DebPackageCreator.cs

This commit is contained in:
PiotrP 2016-08-25 13:19:22 -07:00
parent 56d2153c08
commit c5b4e48410
2 changed files with 15 additions and 110 deletions

View file

@ -44,6 +44,8 @@
<DebianTestResultsXmlFile>$(SdkDebianIntermediateDirectory)/debian-testResults.xml</DebianTestResultsXmlFile>
<DebianInstalledDirectory>/usr/share/dotnet</DebianInstalledDirectory>
<EndToEndTestDirectory>$(RepoRoot)/test/EndToEnd</EndToEndTestDirectory>
<DotnetDebToolConfigJsonFilePath>$(SdkDebianLayoutOutputDirectory)/$(DotnetDebToolConfigJsonFileName)</DotnetDebToolConfigJsonFilePath>
</PropertyGroup>
<ItemGroup>
@ -105,12 +107,12 @@
SourceFiles="@(SdkDebManPageFiles)"
UseHardlinksIfPossible="False">
</Copy>
<Copy
DestinationFiles="@(SourceFile->'$(DebLayoutDocsDir)/%(RecursiveDir)%(Filename)-$(SdkVersion)%(Extension)')"
DestinationFiles="$(DotnetDebToolConfigJsonFilePath)"
OverwriteReadOnlyFiles="True"
SkipUnchangedFiles="False"
SourceFiles="@(SdkDebManPageFiles)"
SourceFiles="$(DotnetDebToolConfigJsonFilePath)"
UseHardlinksIfPossible="False">
</Copy>
@ -201,4 +203,14 @@
<WriteLinesToFile File="$(DotnetDebToolDir)/project.json" Lines="@(DotnetDebToolProjectJsonLines)" />
</Target>
<Target Name="UpdateDotnetDebConfigFile">
<ReplaceFileContents
InputFile="$(DotnetDebToolConfigJsonFilePath)"
DestinationFile="$(DotnetDebToolConfigJsonFilePath)"
ReplacementPatterns="@(SdkDebianPackageTemplateReplacement -> '%(Identity)')"
ReplacementStrings="@(SdkDebianPackageTemplateReplacement -> '%(ReplacementString)')" />
</Target>
</Project>

View file

@ -1,107 +0,0 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.DotNet.Cli.Build.Framework;
namespace Microsoft.DotNet.Cli.Build
{
public void CreateDeb(
string debianConfigJsonFile,
string packageName,
string packageVersion,
string inputBinariesDirectory,
Dictionary<string, string> debianConfigVariables,
string outputFile,
string manpagesDirectory = null,
bool versionManpages = false,
IEnumerable<string> debianFiles = null)
{
string debIntermediatesDirectory = Path.Combine(_intermediateDirectory, packageName, packageVersion);
string layoutDirectory = Path.Combine(debIntermediatesDirectory, "debianLayoutDirectory");
var debianLayoutDirectories = new DebianLayoutDirectories(layoutDirectory);
CreateEmptyDebianLayout(debianLayoutDirectories);
CopyFilesToDebianLayout(
debianLayoutDirectories,
packageVersion,
debianConfigJsonFile,
inputBinariesDirectory,
manpagesDirectory,
versionManpages,
debianFiles);
ReplaceDebianConfigJsonVariables(debianLayoutDirectories, debianConfigVariables);
CreateDebianPackage(debianLayoutDirectories, debIntermediatesDirectory, outputFile, packageName, packageVersion);
}
private void CopyFilesToDebianLayout(
DebianLayoutDirectories layoutDirectories,
string packageVersion,
string debianConfigFile,
string inputBinariesDirectory,
string manpagesDirectory,
bool versionManpages,
IEnumerable<string> debianFiles)
{
FS.CopyRecursive(inputBinariesDirectory, layoutDirectories.PackageRoot);
if (manpagesDirectory != null)
{
FS.CopyRecursive(manpagesDirectory, layoutDirectories.Docs);
// Append version to all manpage files
if (versionManpages)
{
foreach (var file in Directory.EnumerateFiles(layoutDirectories.Docs, "*", SearchOption.AllDirectories))
{
var versionedFile = Path.Combine(
Path.GetDirectoryName(file),
$"{Path.GetFileNameWithoutExtension(file)}-{packageVersion}{Path.GetExtension(file)}");
if (File.Exists(versionedFile))
{
File.Delete(versionedFile);
}
File.Move(file, versionedFile);
}
}
}
File.Copy(debianConfigFile,
Path.Combine(layoutDirectories.LayoutDirectory, s_debianConfigJsonFileName));
if (debianFiles != null)
{
foreach (var debianFile in debianFiles)
{
File.Copy(debianFile,
Path.Combine(layoutDirectories.DebianFiles, Path.GetFileName(debianFile)));
}
}
}
private void ReplaceDebianConfigJsonVariables(
DebianLayoutDirectories debianLayoutDirectories,
Dictionary<string, string> debianConfigVariables)
{
var debianConfigFile = Path.Combine(debianLayoutDirectories.LayoutDirectory, s_debianConfigJsonFileName);
var debianConfigFileContents = File.ReadAllText(debianConfigFile);
foreach (var variable in debianConfigVariables)
{
var variableToken = $"%{variable.Key}%";
debianConfigFileContents = debianConfigFileContents.Replace(variableToken, variable.Value);
}
File.WriteAllText(debianConfigFile, debianConfigFileContents);
}
}
}