From 56b6eff87062adfd83232e0bdaa2f57f54acee11 Mon Sep 17 00:00:00 2001 From: Jerome Haltom Date: Thu, 14 Dec 2023 12:05:20 -0600 Subject: [PATCH] Initialize maven for tests on Github. Enable private repo test. Need to publish some sort of jar that we can use to actually test against. --- .github/workflows/IKVM.Maven.yml | 6 +++ .../MavenReferenceItemResolveTests.cs | 54 +++++++++---------- src/IKVM.Maven.Sdk.Tasks/MavenEnvironment.cs | 4 +- 3 files changed, 34 insertions(+), 30 deletions(-) diff --git a/.github/workflows/IKVM.Maven.yml b/.github/workflows/IKVM.Maven.yml index 8428d96..368f4d8 100644 --- a/.github/workflows/IKVM.Maven.yml +++ b/.github/workflows/IKVM.Maven.yml @@ -199,6 +199,12 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: 7.0.x + - name: Set up Java 8 + uses: actions/setup-java@v2 + with: + java-version: 8 + server-id: github + settings-path: ${{ github.workspace }} - name: Add NuGet Source (GitHub) shell: pwsh run: dotnet nuget add source --username USERNAME --password $env:GITHUB_TOKEN --store-password-in-clear-text --name ikvm $env:GITHUB_REPOS diff --git a/src/IKVM.Maven.Sdk.Tasks.Tests/MavenReferenceItemResolveTests.cs b/src/IKVM.Maven.Sdk.Tasks.Tests/MavenReferenceItemResolveTests.cs index 05127d0..774ea20 100644 --- a/src/IKVM.Maven.Sdk.Tasks.Tests/MavenReferenceItemResolveTests.cs +++ b/src/IKVM.Maven.Sdk.Tasks.Tests/MavenReferenceItemResolveTests.cs @@ -545,34 +545,32 @@ public void CanResolveFromLocalRepository() t.ResolvedReferences.Should().Contain(i => i.ItemSpec == "maven$hellotest:hellotest:1.0"); } - // TODO, need to set up some sort of local repository resolution or something to run this test - // - //[TestMethod] - //public void CanResolveFromPrivateRepository() - //{ - // var cacheFile = Path.GetTempFileName(); - - // var engine = new Mock(); - // var errors = new List(); - // engine.Setup(x => x.LogErrorEvent(It.IsAny())).Callback((BuildErrorEventArgs e) => { errors.Add(e); TestContext.WriteLine("ERROR: " + e.Message); }); - // engine.Setup(x => x.LogWarningEvent(It.IsAny())).Callback((BuildWarningEventArgs e) => TestContext.WriteLine("WARNING: " + e.Message)); - // engine.Setup(x => x.LogMessageEvent(It.IsAny())).Callback((BuildMessageEventArgs e) => TestContext.WriteLine(e.Message)); - // var t = new MavenReferenceItemResolve(); - // t.BuildEngine = engine.Object; - // t.CacheFile = cacheFile; - // t.Repositories = new[] { GetCentralRepositoryItem(), GetPrivateRepositoryItem() }; - - // var i1 = new TaskItem("hellotest:hellotest:1.0"); - // i1.SetMetadata(MavenReferenceItemMetadata.GroupId, "hellotest"); - // i1.SetMetadata(MavenReferenceItemMetadata.ArtifactId, "hellotest"); - // i1.SetMetadata(MavenReferenceItemMetadata.Version, "1.0"); - // i1.SetMetadata(MavenReferenceItemMetadata.Scope, "compile"); - // t.References = new[] { i1 }; - - // t.Execute().Should().BeTrue(); - // errors.Should().BeEmpty(); - // t.ResolvedReferences.Should().Contain(i => i.ItemSpec == "maven$hellotest:hellotest:1.0"); - //} + [TestMethod] + public void CanResolveFromPrivateRepository() + { + var cacheFile = Path.GetTempFileName(); + + var engine = new Mock(); + var errors = new List(); + engine.Setup(x => x.LogErrorEvent(It.IsAny())).Callback((BuildErrorEventArgs e) => { errors.Add(e); TestContext.WriteLine("ERROR: " + e.Message); }); + engine.Setup(x => x.LogWarningEvent(It.IsAny())).Callback((BuildWarningEventArgs e) => TestContext.WriteLine("WARNING: " + e.Message)); + engine.Setup(x => x.LogMessageEvent(It.IsAny())).Callback((BuildMessageEventArgs e) => TestContext.WriteLine(e.Message)); + var t = new MavenReferenceItemResolve(); + t.BuildEngine = engine.Object; + t.CacheFile = cacheFile; + t.Repositories = new[] { GetCentralRepositoryItem(), GetPrivateRepositoryItem() }; + + var i1 = new TaskItem("org.apache.xmlgraphics:fop:2.8"); + i1.SetMetadata(MavenReferenceItemMetadata.GroupId, "org.apache.xmlgraphics"); + i1.SetMetadata(MavenReferenceItemMetadata.ArtifactId, "fop"); + i1.SetMetadata(MavenReferenceItemMetadata.Version, "2.8"); + i1.SetMetadata(MavenReferenceItemMetadata.Scope, "compile"); + t.References = new[] { i1 }; + + t.Execute().Should().BeTrue(); + errors.Should().BeEmpty(); + t.ResolvedReferences.Should().Contain(i => i.ItemSpec == "maven$org.apache.xmlgraphics:fop:2.8"); + } } diff --git a/src/IKVM.Maven.Sdk.Tasks/MavenEnvironment.cs b/src/IKVM.Maven.Sdk.Tasks/MavenEnvironment.cs index ae3442c..3bcf0e6 100644 --- a/src/IKVM.Maven.Sdk.Tasks/MavenEnvironment.cs +++ b/src/IKVM.Maven.Sdk.Tasks/MavenEnvironment.cs @@ -186,8 +186,8 @@ File GetDefaultLocalRepoDir() { if (settings.getLocalRepository() != null) return new File(settings.getLocalRepository()); - - return new File(Path.Combine(UserHome, "repository")); + else + return new File(Path.Combine(UserHome, "repository")); } ///