Skip to content

Commit

Permalink
Packaging updates (#178)
Browse files Browse the repository at this point in the history
* Packaging updates

* Output tools info

* Use Mono 5.16 on macOS
  • Loading branch information
slozier committed Mar 12, 2019
1 parent 68ff345 commit f150f5a
Show file tree
Hide file tree
Showing 12 changed files with 133 additions and 179 deletions.
11 changes: 4 additions & 7 deletions Build.proj
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,11 @@
<UtilDir>$(RootDir)\Util</UtilDir>
<BinDir>$(RootDir)\bin</BinDir>
<BuildSysDir>$(RootDir)\Build</BuildSysDir>
<MSBuildCommunityTasksPath>$(RootDir)\Util\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
</PropertyGroup>

<Import Project="$(BuildSysDir)\Tasks.Targets" />
<Import Project="$(RootDir)\CurrentVersion.props" />

<Import Project="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets" />

<PropertyGroup>
<PackageVersion Condition="'$(ReleaseLevel)' == 'final'">$(MajorVersion).$(MinorVersion).$(MicroVersion)</PackageVersion>
<PackageVersion Condition="'$(ReleaseLevel)' != 'final' or '$(ReleaseSerial)' != '0'">$(MajorVersion).$(MinorVersion).$(MicroVersion)-$(ReleaseLevel)$(ReleaseSerial)</PackageVersion>
Expand Down Expand Up @@ -77,8 +75,7 @@
</ItemGroup>
<Copy DestinationFolder="$(StageDir)" SourceFiles="@(InfoFiles)" />
<ItemGroup>
<AssemblyFiles Include="$(BinDir)\$(Configuration)\**\Microsoft.*.dll" Exclude="$(BinDir)\$(Configuration)\**\Microsoft.*.Test.dll" />
<AssemblyFiles Include="$(BinDir)\$(Configuration)\**\Microsoft.*.xml" Exclude="$(BinDir)\$(Configuration)\**\Microsoft.*.Test.xml" />
<AssemblyFiles Include="$(BinDir)\$(Configuration)\**\Microsoft.*" Exclude="$(BinDir)\$(Configuration)\**\Microsoft.*.Test.*;$(BinDir)\$(Configuration)\**\Microsoft.VisualStudio.*" />
</ItemGroup>
<Copy DestinationFolder="$(StageDir)\%(RecursiveDir)" SourceFiles="@(AssemblyFiles)" />
</Target>
Expand Down Expand Up @@ -108,7 +105,7 @@
<Target Name="NuGetPackage" DependsOnTargets="Stage;MakePackageDir"
Inputs="@(NuGetPackageInputs);@(StageOutputs)"
Outputs="@(NuGetPackageOutputs)">
<Exec Command="$(NuGet) pack -Version $(PackageVersion) &quot;%(Package.NuSpecDir)\%(Package.Identity).nuspec&quot; -BasePath &quot;$(StageDir)&quot; -OutputDirectory &quot;$(PackageDir)&quot;" />
<Exec Command="$(NuGet) pack -Version $(PackageVersion) &quot;%(Package.NuSpecDir)\%(Package.Identity).nuspec&quot; -BasePath &quot;$(StageDir)&quot; -OutputDirectory &quot;$(PackageDir)&quot; -Symbols -SymbolPackageFormat snupkg" />
</Target>

<Target Name="ZipPackage" DependsOnTargets="Stage;MakePackageDir"
Expand All @@ -117,7 +114,7 @@
<ZipFiles Include="$(StageDir)\**\*.dll;$(StageDir)\**\*.xml;$(StageDir)\README.md;$(StageDir)\LICENSE"/>
</ItemGroup>
<Message Text="$(ZipFiles)" />
<Zip ZipLevel="9" Files="@(ZipFiles)" ZipFileName="$(PackageDir)\DynamicLanguageRuntime.$(PackageVersion).zip" WorkingDirectory="$(StageDir)"/>
<Zip Files="@(ZipFiles)" ZipFileName="$(PackageDir)\DynamicLanguageRuntime.$(PackageVersion).zip" WorkingDirectory="$(StageDir)"/>
</Target>

<Target Name="DebPackage" DependsOnTargets="Stage;MakePackageDir" Condition="'$(OS)' == 'Unix' ">
Expand Down
81 changes: 81 additions & 0 deletions Build/Tasks.Targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<UsingTask TaskName="Zip" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<ZipFileName ParameterType="System.String" Required="true" />
<Files ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
<WorkingDirectory ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Reference Include="System.IO.Compression" />
<Using Namespace="System.IO.Compression" />
<Code Type="Fragment" Language="cs">
<![CDATA[
string cwd = null;
try {
var di = new DirectoryInfo(WorkingDirectory);
if (!di.Exists) {
Log.LogError(string.Format("{0} doesn't exist", WorkingDirectory));
return false;
}
cwd = Environment.CurrentDirectory;
Environment.CurrentDirectory = di.FullName;
using (Stream zipStream = new FileStream(Path.GetFullPath(ZipFileName), FileMode.Create, FileAccess.Write))
using (ZipArchive archive = new ZipArchive(zipStream, ZipArchiveMode.Create)) {
foreach (ITaskItem fileItem in Files) {
var filename = fileItem.ItemSpec;
FileInfo fi = new FileInfo(filename);
if (!fi.FullName.StartsWith(di.FullName)) {
Log.LogError(string.Format("{0} not in {1}", filename, WorkingDirectory));
return false;
}
var archivename = fi.FullName.Substring(di.FullName.Length).TrimStart(new char [] { '\\', '/' });
using (Stream fileStream = new FileStream(fi.FullName, FileMode.Open, FileAccess.Read))
using (Stream fileStreamInZip = archive.CreateEntry(archivename).Open())
fileStream.CopyTo(fileStreamInZip);
}
}
return true;
} catch (Exception ex) {
Log.LogErrorFromException(ex);
return false;
} finally {
if (cwd != null) {
Environment.CurrentDirectory = cwd;
}
}
]]>
</Code>
</Task>
</UsingTask>

<UsingTask TaskName="FileUpdate" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<Files ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
<Expression ParameterType="System.String" Required="true" />
<Replacement ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Using Namespace="System.Text.RegularExpressions" />
<Code Type="Fragment" Language="cs">
<![CDATA[
try {
System.Text.RegularExpressions.Regex replaceRegex = new System.Text.RegularExpressions.Regex(Expression);
foreach(ITaskItem item in Files) {
string fileName = item.ItemSpec;
Log.LogMessage(string.Format("Updating File \"{0}\".", fileName));
string buffer = File.ReadAllText(fileName);
buffer = replaceRegex.Replace(buffer, Replacement);
File.WriteAllText(fileName, buffer);
}
} catch(Exception ex) {
Log.LogErrorFromException(ex);
return false;
}
return true;
]]>
</Code>
</Task>
</UsingTask>
</Project>
22 changes: 20 additions & 2 deletions Build/steps.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
parameters:
os: ''
preBuildSteps: []

steps:
- powershell: |
# Write your powershell commands here.
$xml = [xml] (Get-Content CurrentVersion.props)
$major = $xml.Project.PropertyGroup.MajorVersion
Expand Down Expand Up @@ -47,6 +45,26 @@ steps:
dotnet --info
df -Th
# Dump version info on macOS
- ${{ if eq(parameters.os, 'macOS') }}:
- task: ms-devlabs.utilitytasks.task-Shellpp.Shell++@0
displayName: Version Information
inputs:
type: InlineScript
script: |
# use Mono 5.16.0 version
SYMLINK=5.16.0
MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$SYMLINK
echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH"
echo "##vso[task.setvariable variable=PKG_CONFIG_PATH;]$MONOPREFIX/lib/pkgconfig:$MONOPREFIX/share/pkgconfig:$PKG_CONFIG_PATH"
echo "##vso[task.setvariable variable=PATH;]$MONOPREFIX/bin:$PATH"
# Dump some info about the tools
mono --version
msbuild /version
dotnet --info
- powershell: ./make.ps1
displayName: Build

Expand Down
5 changes: 4 additions & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
<InformationalVersion>$(MSBuildProjectName) $(MajorVersion).$(MinorVersion).$(MicroVersion) $(ReleaseLevel) $(ReleaseSerial)</InformationalVersion>

<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>

<!-- Don't include SourceRevisionId in InformationalVersion (SourceLink) -->
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
</PropertyGroup>

<!-- Signing -->
Expand Down Expand Up @@ -90,7 +93,7 @@
<!-- Release -->
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<DebugSymbols>false</DebugSymbols>
<DebugType>pdbonly</DebugType>
<DebugType>portable</DebugType>
<Optimize>true</Optimize>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<DefineConstants>$(Features);$(SignedSym);TRACE</DefineConstants>
Expand Down
6 changes: 4 additions & 2 deletions Package/nuget/DynamicLanguageRuntime.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
<authors>DLR Contributors,Microsoft</authors>
<owners>DLR Community</owners>
<projectUrl>http://ironpython.net</projectUrl>
<licenseUrl>https://github.com/IronLanguages/dlr/blob/master/LICENSE</licenseUrl>
<repository type="git" url="https://github.com/IronLanguages/dlr.git" />
<license type="expression">Apache-2.0</license>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Dynamic Language Runtime</description>
<summary>Dynamic Language Runtime</summary>
Expand All @@ -33,7 +34,8 @@
</dependencies>
</metadata>
<files>
<file src="**\*.dll" target="lib" exclude="**\Microsoft.VisualStudio.CodeCoverage.Shim.dll" />
<file src="**\*.dll" target="lib" />
<file src="**\*.pdb" target="lib" />
<file src="**\*.xml" target="lib" />
<file src="README.md;LICENSE" />
</files>
Expand Down
1 change: 1 addition & 0 deletions Src/Microsoft.Dynamic/Microsoft.Dynamic.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0-beta2-18618-05" PrivateAssets="All" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.6.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0-beta2-18618-05" PrivateAssets="All" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.6.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
Expand Down
1 change: 1 addition & 0 deletions Src/Microsoft.Scripting/Microsoft.Scripting.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0-beta2-18618-05" PrivateAssets="All" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.6.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
Expand Down
Loading

0 comments on commit f150f5a

Please sign in to comment.