Skip to content

Commit

Permalink
Fix packaging issues (#601)
Browse files Browse the repository at this point in the history
  • Loading branch information
slozier authored Feb 22, 2019
1 parent 7c77f2d commit 20e062e
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 34 deletions.
64 changes: 35 additions & 29 deletions Build/Tasks.Targets
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,45 @@
<ParameterGroup>
<ZipFileName ParameterType="System.String" Required="true" />
<Files ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
<WorkingDirectory ParameterType="System.String" Required="false" />
<WorkingDirectory ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Reference Include="System.IO.Compression" />
<Using Namespace="System.IO.Compression" />
<Code Type="Fragment" Language="cs">
<![CDATA[
var cwd = string.Empty;
string cwd = null;
try {
if(!string.IsNullOrWhiteSpace(WorkingDirectory)) {
if(!Directory.Exists(WorkingDirectory)) {
Log.LogError(string.Format("{0} doesn't exist", WorkingDirectory));
return false;
}
cwd = Environment.CurrentDirectory;
Environment.CurrentDirectory = WorkingDirectory;
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) {
string filename = fileItem.ItemSpec;
using (Stream fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read))
using (Stream fileStreamInZip = archive.CreateEntry(new FileInfo(filename).Name).Open())
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(!string.IsNullOrWhiteSpace(cwd)) {
Environment.CurrentDirectory = cwd;
if (cwd != null) {
Environment.CurrentDirectory = cwd;
}
}
]]>
Expand All @@ -53,22 +59,22 @@
<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) {
<![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;
]]>
}
return true;
]]>
</Code>
</Task>
</UsingTask>
Expand Down
10 changes: 10 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@
<InformationalVersion>$(MSBuildProjectName) $(MajorVersion).$(MinorVersion).$(MicroVersion) $(ReleaseLevel) $(ReleaseSerial)</InformationalVersion>

<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>

<!-- DisplayVersion is used by the msi project -->
<ShortReleaseLevel Condition="'$(ReleaseLevel)' == 'alpha'">a</ShortReleaseLevel>
<ShortReleaseLevel Condition="'$(ReleaseLevel)' == 'beta'">b</ShortReleaseLevel>
<ShortReleaseLevel Condition="'$(ReleaseLevel)' == 'candidate'">rc</ShortReleaseLevel>
<ShortReleaseLevel Condition="'$(ReleaseLevel)' == 'final'">f</ShortReleaseLevel>

<DisplayVersion Condition="'$(ReleaseLevel)' == 'final' and '$(MicroVersion)' == '0'">$(MajorVersion).$(MinorVersion)</DisplayVersion>
<DisplayVersion Condition="'$(ReleaseLevel)' == 'final' and '$(MicroVersion)' != '0'">$(MajorVersion).$(MinorVersion).$(MicroVersion)</DisplayVersion>
<DisplayVersion Condition="'$(ReleaseLevel)' != 'final'">$(MajorVersion).$(MinorVersion).$(MicroVersion)$(ShortReleaseLevel)$(ReleaseSerial)</DisplayVersion>
</PropertyGroup>

<!-- Signing -->
Expand Down
8 changes: 4 additions & 4 deletions Package/nuget/IronPython.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,22 @@
<tags>ironpython python dynamic dlr</tags>
<dependencies>
<group targetFramework="net45">
<dependency id="DynamicLanguageRuntime" version="[1.2.2]" />
<dependency id="DynamicLanguageRuntime" version="[1.2.3-alpha0]" />
</group>
<group targetFramework="netcoreapp2.0">
<dependency id="System.Text.Encoding.CodePages" version="4.5.0" />
<dependency id="Microsoft.Win32.Registry" version="4.5.0" />
<dependency id="DynamicLanguageRuntime" version="[1.2.2]" />
<dependency id="DynamicLanguageRuntime" version="[1.2.3-alpha0]" />
</group>
<group targetFramework="netcoreapp2.1">
<dependency id="System.Text.Encoding.CodePages" version="4.5.0" />
<dependency id="Microsoft.Win32.Registry" version="4.5.0" />
<dependency id="DynamicLanguageRuntime" version="[1.2.2]" />
<dependency id="DynamicLanguageRuntime" version="[1.2.3-alpha0]" />
</group>
<group targetFramework="netstandard2.0">
<dependency id="System.Text.Encoding.CodePages" version="4.5.0" />
<dependency id="Microsoft.Win32.Registry" version="4.5.0" />
<dependency id="DynamicLanguageRuntime" version="[1.2.2]" />
<dependency id="DynamicLanguageRuntime" version="[1.2.3-alpha0]" />
</group>
</dependencies>
</metadata>
Expand Down
2 changes: 1 addition & 1 deletion Src/DLR
Submodule DLR updated 1 files
+2 −2 CurrentVersion.props

0 comments on commit 20e062e

Please sign in to comment.