Initial removal of DebPackageCreator.cs
This commit is contained in:
parent
56d2153c08
commit
c5b4e48410
2 changed files with 15 additions and 110 deletions
|
@ -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>
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue