Skip to content

Commit

Permalink
Merge branch 'release/1.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
wasabii committed Feb 4, 2023
2 parents b740df4 + 09cf573 commit f21b23b
Show file tree
Hide file tree
Showing 15 changed files with 97 additions and 98 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/IKVM.Maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ jobs:
name: nuget
path: dist/nuget
- name: Create Release
if: github.ref == 'refs/heads/main' || github.event.head_commit.message == '+release'
if: github.ref == 'refs/heads/main' || github.event.head_commit.message == '+push'
uses: ncipollo/[email protected]
with:
tag: ${{ steps.GitVersion.outputs.semVer }}
Expand All @@ -251,7 +251,7 @@ jobs:
AZUREDEVOPS_REPOS: https://pkgs.dev.azure.com/ikvm-revived/ikvm/_packaging/ikvm-ci/nuget/v3/index.json
AZUREDEVOPS_TOKEN: ${{ secrets.AZUREDEVOPS_PAT }}
- name: Push NuGet
if: github.ref == 'refs/heads/main' || github.event.head_commit.message == '+release'
if: github.ref == 'refs/heads/main' || github.event.head_commit.message == '+push'
shell: pwsh
run: dotnet nuget push dist/nuget/*.nupkg --source $env:NUGET_REPOS --api-key $env:NUGET_TOKEN --skip-duplicate
env:
Expand Down
7 changes: 7 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,11 @@
<PackageVersion Condition=" '$(PackageVersion)' == '' ">$(Version)</PackageVersion>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="IKVM.Core.MSBuild" Version="0.1.27">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>

</Project>
5 changes: 4 additions & 1 deletion GitVersion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,8 @@ branches:
regex: ^dev(elop)?(ment)?$
tag: develop
release:
regex: ^releases?[/-]
regex: ^release?[/-]
tag: prerelease
hotfix:
regex: ^hotfix?[/-]
tag: prerelease
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,9 @@

<ItemGroup>
<PackageReference Include="FluentAssertions" Version="6.8.0" />
<PackageReference Include="IKVM.Core.MSBuild" Version="0.1.27">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeCoverage" Version="17.2.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
<PackageReference Include="Moq" Version="4.18.2" />
<PackageReference Include="Moq" Version="4.18.4" />
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
<PackageReference Include="Microsoft.Build" Version="16.9.0" />
Expand Down
35 changes: 35 additions & 0 deletions src/IKVM.Maven.Sdk.Tasks.Tests/MavenReferenceItemPrepareTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,41 @@ public void Should_populate_metadata_from_coordinates()
i1.GetMetadata(MavenReferenceItemMetadata.Version).Should().Be("1.0");
}

[TestMethod]
public void ShouldNotRemoveDuplicateDependencies()
{
var engine = new Mock<IBuildEngine>();
var errors = new List<BuildErrorEventArgs>();
engine.Setup(x => x.LogErrorEvent(It.IsAny<BuildErrorEventArgs>())).Callback((BuildErrorEventArgs e) => errors.Add(e));
var t = new MavenReferenceItemPrepare();
t.BuildEngine = engine.Object;

var i1 = (ITaskItem)new TaskItem("ikvm.test:foo:1.0");
var i2 = (ITaskItem)new TaskItem("ikvm.test:foo:1.0");
i2.SetMetadata(MavenReferenceItemMetadata.Classifier, "cls");
t.Items = new[] { i1, i2 };

t.Execute().Should().BeTrue();
errors.Should().BeEmpty();

t.Items.Should().HaveCount(2);

i1 = t.Items[0];
i1.ItemSpec.Should().Be("ikvm.test:foo:1.0");
i1.GetMetadata(MavenReferenceItemMetadata.GroupId).Should().Be("ikvm.test");
i1.GetMetadata(MavenReferenceItemMetadata.ArtifactId).Should().Be("foo");
i1.GetMetadata(MavenReferenceItemMetadata.Version).Should().Be("1.0");
i1.GetMetadata(MavenReferenceItemMetadata.Classifier).Should().BeNullOrEmpty();

i2 = t.Items[1];
i2.ItemSpec.Should().Be("ikvm.test:foo:1.0");
i2.GetMetadata(MavenReferenceItemMetadata.GroupId).Should().Be("ikvm.test");
i2.GetMetadata(MavenReferenceItemMetadata.ArtifactId).Should().Be("foo");
i2.GetMetadata(MavenReferenceItemMetadata.Version).Should().Be("1.0");
i2.GetMetadata(MavenReferenceItemMetadata.Classifier).Should().Be("cls");

}

}

}
2 changes: 1 addition & 1 deletion src/IKVM.Maven.Sdk.Tasks/IKVM.Maven.Sdk.Tasks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="IKVM" Version="8.4.0" />
<PackageReference Include="IKVM" Version="8.4.4" />
<PackageReference Include="IKVM.Core.MSBuild" Version="0.1.27">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
9 changes: 9 additions & 0 deletions src/IKVM.Maven.Sdk.Tasks/MavenReferenceItem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,11 @@ public override bool Equals(object obj)
return Equals(obj as MavenReferenceItem);
}

/// <summary>
/// Returns <c>true</c> if the this item is equal to the other item.
/// </summary>
/// <param name="other"></param>
/// <returns></returns>
public bool Equals(MavenReferenceItem other)
{
return other is not null &&
Expand All @@ -74,6 +79,10 @@ public bool Equals(MavenReferenceItem other)
ReferenceSource == other.ReferenceSource;
}

/// <summary>
/// Generates a unique hash code describing this item.
/// </summary>
/// <returns></returns>
public override int GetHashCode()
{
int hashCode = 1928079503;
Expand Down
13 changes: 5 additions & 8 deletions src/IKVM.Maven.Sdk.Tasks/MavenReferenceItemMetadata.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;

using Microsoft.Build.Framework;

Expand Down Expand Up @@ -48,20 +47,17 @@ public static void Save(MavenReferenceItem item, ITaskItem task)
/// </summary>
/// <param name="tasks"></param>
/// <returns></returns>
public static MavenReferenceItem[] Load(IEnumerable<ITaskItem> tasks)
public static MavenReferenceItem[] Import(IEnumerable<ITaskItem> tasks)
{
if (tasks is null)
throw new ArgumentNullException(nameof(tasks));

// normalize itemspecs into a dictionary
var map = new Dictionary<string, MavenReferenceItem>();
foreach (var task in tasks)
map[task.ItemSpec] = new MavenReferenceItem();
var list = new List<MavenReferenceItem>();

// populate the properties of each item
foreach (var task in tasks)
{
var item = map[task.ItemSpec];
var item = new MavenReferenceItem();
item.ItemSpec = task.ItemSpec;
item.GroupId = task.GetMetadata(MavenReferenceItemMetadata.GroupId);
item.ArtifactId = task.GetMetadata(MavenReferenceItemMetadata.ArtifactId);
Expand All @@ -70,10 +66,11 @@ public static MavenReferenceItem[] Load(IEnumerable<ITaskItem> tasks)
item.Optional = string.Equals(task.GetMetadata(MavenReferenceItemMetadata.Optional), "true", StringComparison.OrdinalIgnoreCase);
item.Scope = task.GetMetadata(MavenReferenceItemMetadata.Scope);
item.ReferenceSource = task.GetMetadata(MavenReferenceItemMetadata.ReferenceSource);
list.Add(item);
}

// return the resulting imported references
return map.Values.ToArray();
return list.ToArray();
}

}
Expand Down
10 changes: 8 additions & 2 deletions src/IKVM.Maven.Sdk.Tasks/MavenReferenceItemPrepare.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
using System.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using com.sun.tools.javac.util;

using IKVM.Maven.Sdk.Tasks.Resources;

using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;

using org.apache.maven.model;
using org.eclipse.aether.util.artifact;

namespace IKVM.Maven.Sdk.Tasks
Expand Down Expand Up @@ -40,7 +46,7 @@ public override bool Execute()
{
try
{
var items = MavenReferenceItemMetadata.Load(Items);
var items = MavenReferenceItemMetadata.Import(Items);

// assign other metadata
foreach (var item in items)
Expand Down
2 changes: 1 addition & 1 deletion src/IKVM.Maven.Sdk.Tasks/MavenReferenceItemResolve.cs
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ public override bool Execute()
try
{
var repositories = MavenRepositoryItemMetadata.Load(Repositories);
var items = MavenReferenceItemMetadata.Load(References);
var items = MavenReferenceItemMetadata.Import(References);
ResolvedReferences = ResolveReferences(repositories, items).Select(ToTaskItem).ToArray();
return true;
}
Expand Down
46 changes: 0 additions & 46 deletions src/IKVM.Maven.Sdk.Tasks/MavenReferenceItemUtil.cs

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public override bool Execute()
pom.setVersion(Version);

// add dependencies
foreach (var item in MavenReferenceItemMetadata.Load(References))
foreach (var item in MavenReferenceItemMetadata.Import(References))
foreach (var dependency in ItemToDependencies(item))
pom.addDependency(dependency);

Expand Down
40 changes: 20 additions & 20 deletions src/IKVM.Maven.Sdk.Tasks/ikvm-maven-sdk-tasks.pom
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,26 @@
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.8.7</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.7</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-resolver-provider</artifactId>
<version>3.8.7</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings-builder</artifactId>
<version>3.8.7</version>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-api</artifactId>
Expand Down Expand Up @@ -37,25 +57,5 @@
<artifactId>maven-resolver-transport-http</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.8.6</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.6</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-resolver-provider</artifactId>
<version>3.8.6</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings-builder</artifactId>
<version>3.8.6</version>
</dependency>
</dependencies>
</project>
6 changes: 1 addition & 5 deletions src/IKVM.Maven.Sdk.Tests/IKVM.Maven.Sdk.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,9 @@
<ItemGroup>
<PackageReference Include="FluentAssertions" Version="6.8.0" />
<PackageReference Include="Buildalyzer" Version="4.1.4" />
<PackageReference Include="IKVM.Core.MSBuild" Version="0.1.27">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeCoverage" Version="17.2.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
<PackageReference Include="Moq" Version="4.18.2" />
<PackageReference Include="Moq" Version="4.18.4" />
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
</ItemGroup>
Expand Down
8 changes: 2 additions & 6 deletions src/IKVM.Maven.Sdk/IKVM.Maven.Sdk.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,9 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="IKVM.Core.MSBuild" Version="0.1.27">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="all" />
<PackageReference Include="IKVM" Version="8.4.0" />
<PackageReference Include="IKVM.MSBuild" Version="8.4.0" />
<PackageReference Include="IKVM" Version="8.4.4" />
<PackageReference Include="IKVM.MSBuild" Version="8.4.4" />
</ItemGroup>

<ItemGroup>
Expand Down

0 comments on commit f21b23b

Please sign in to comment.