Skip to content

Commit fb1d0f2

Browse files
Using ignore
1 parent 49a1b76 commit fb1d0f2

2 files changed

Lines changed: 40 additions & 63 deletions

File tree

registry.json

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -396,27 +396,21 @@
396396
"version": "4.10.0"
397397
},
398398
"TrackMan.SharedCalculator.runtime.linux-arm64": {
399-
"listed": true,
400-
"version": "9.112.0"
399+
"ignore": true
401400
},
402401
"TrackMan.SharedCalculator.runtime.linux-x64": {
403-
"listed": true,
404-
"version": "9.112.0"
402+
"ignore": true
405403
},
406404
"TrackMan.SharedCalculator.runtime.osx-arm64": {
407-
"listed": true,
408-
"version": "9.112.0"
405+
"ignore": true
409406
},
410407
"TrackMan.SharedCalculator.runtime.osx-x64": {
411-
"listed": true,
412-
"version": "9.112.0"
408+
"ignore": true
413409
},
414410
"TrackMan.SharedCalculator.runtime.win-arm64": {
415-
"listed": true,
416-
"version": "9.112.0"
411+
"ignore": true
417412
},
418413
"TrackMan.SharedCalculator.runtime.win-x64": {
419-
"listed": true,
420-
"version": "9.112.0"
414+
"ignore": true
421415
}
422416
}

src/UnityNuGet/RegistryCache.cs

Lines changed: 34 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -436,18 +436,7 @@ private async Task BuildInternal()
436436
// If we don't have any dependencies error, generate the package
437437
if (!hasDependencyErrors)
438438
{
439-
bool packageAvailable = await ConvertNuGetToUnityPackageIfDoesNotExist(packageIdentity, npmPackageInfo, npmVersion, packageMeta, forceUpdate, packageEntry);
440-
441-
if (!packageAvailable)
442-
{
443-
npmPackage.Versions.Remove(npmVersion.Version);
444-
445-
if (npmPackageInfo.Versions.TryGetValue(npmCurrentVersion, out var tagValue) && tagValue == "latest")
446-
npmPackageInfo.Versions.Remove(npmCurrentVersion);
447-
448-
continue;
449-
}
450-
439+
bool packageConverted = await ConvertNuGetToUnityPackageIfDoesNotExist(packageIdentity, npmPackageInfo, npmVersion, packageMeta, forceUpdate, packageEntry);
451440
npmPackage.Time[npmCurrentVersion] = packageMeta.Published?.UtcDateTime ?? GetUnityPackageFileInfo(packageIdentity, npmVersion).CreationTimeUtc;
452441

453442
// Copy repository info if necessary
@@ -459,7 +448,7 @@ private async Task BuildInternal()
459448
// Update the cache entry
460449
await WritePackageCacheEntry(packageId, cacheEntry);
461450

462-
if (packageAvailable && IsRunningOnAzure)
451+
if (packageConverted && IsRunningOnAzure)
463452
{
464453
string localPackagePath = Path.Combine(globalPackagesFolder, packageIdentity.Id.ToLowerInvariant(), packageIdentity.Version.ToString());
465454

@@ -514,18 +503,22 @@ RegistryEntry packageEntry
514503

515504
if (!IsUnityPackageValid(identity, npmPackageVersion) || !IsUnityPackageSha1Valid(identity, npmPackageVersion))
516505
{
517-
return await ConvertNuGetPackageToUnity(identity, npmPackageInfo, npmPackageVersion, packageMeta, packageEntry);
518-
}
506+
await ConvertNuGetPackageToUnity(identity, npmPackageInfo, npmPackageVersion, packageMeta, packageEntry);
519507

520-
npmPackageVersion.Distribution.Shasum = await ReadUnityPackageSha1(identity, npmPackageVersion);
508+
return true;
509+
}
510+
else
511+
{
512+
npmPackageVersion.Distribution.Shasum = await ReadUnityPackageSha1(identity, npmPackageVersion);
521513

522-
return true;
514+
return false;
515+
}
523516
}
524517

525518
/// <summary>
526519
/// Converts a NuGet package to a Unity package.
527520
/// </summary>
528-
private async Task<bool> ConvertNuGetPackageToUnity
521+
private async Task ConvertNuGetPackageToUnity
529522
(
530523
PackageIdentity identity,
531524
NpmPackageInfo npmPackageInfo,
@@ -563,38 +556,35 @@ RegistryEntry packageEntry
563556
{
564557
using var memStream = new MemoryStream();
565558

566-
// Select the framework version that is the closest or equal to the latest configured framework version
567-
var versions = await packageReader.GetLibItemsAsync(CancellationToken.None);
568-
569-
var closestVersions = NuGetHelper.GetClosestFrameworkSpecificGroups(versions, _targetFrameworks);
570-
571-
var collectedItems = new Dictionary<FrameworkSpecificGroup, HashSet<RegistryTargetFramework>>();
572-
573-
foreach (var (item, targetFramework) in closestVersions)
574-
{
575-
if (!collectedItems.TryGetValue(item, out var frameworksPerGroup))
576-
{
577-
frameworksPerGroup = new HashSet<RegistryTargetFramework>();
578-
collectedItems.Add(item, frameworksPerGroup);
579-
}
580-
frameworksPerGroup.Add(targetFramework);
581-
}
582-
583-
if (!packageEntry.Analyzer && collectedItems.Count == 0)
584-
{
585-
LogWarning(
586-
$"Skipping package `{identity}` because it does not contain a compatible .NET assembly " +
587-
$"for {string.Join(",", _targetFrameworks.Select(x => x.Name))}.");
588-
return false;
589-
}
590-
591559
using (var outStream = File.Create(unityPackageFilePath))
592560
using (var gzoStream = new GZipOutputStream(outStream)
593561
{
594562
ModifiedTime = packageMeta.Published?.UtcDateTime
595563
})
596564
using (var tarArchive = new TarOutputStream(gzoStream, Encoding.UTF8))
597565
{
566+
// Select the framework version that is the closest or equal to the latest configured framework version
567+
var versions = await packageReader.GetLibItemsAsync(CancellationToken.None);
568+
569+
var closestVersions = NuGetHelper.GetClosestFrameworkSpecificGroups(versions, _targetFrameworks);
570+
571+
var collectedItems = new Dictionary<FrameworkSpecificGroup, HashSet<RegistryTargetFramework>>();
572+
573+
foreach (var (item, targetFramework) in closestVersions)
574+
{
575+
if (!collectedItems.TryGetValue(item, out var frameworksPerGroup))
576+
{
577+
frameworksPerGroup = new HashSet<RegistryTargetFramework>();
578+
collectedItems.Add(item, frameworksPerGroup);
579+
}
580+
frameworksPerGroup.Add(targetFramework);
581+
}
582+
583+
if (!packageEntry.Analyzer && collectedItems.Count == 0)
584+
{
585+
throw new InvalidOperationException($"The package does not contain a compatible .NET assembly {string.Join(",", _targetFrameworks.Select(x => x.Name))}");
586+
}
587+
598588
var isPackageNetStandard21Assembly = DotNetHelper.IsNetStandard21Assembly(identity.Id);
599589
var hasMultiNetStandard = collectedItems.Count > 1;
600590
var hasOnlyNetStandard21 = collectedItems.Count == 1 && collectedItems.Values.First().All(x => x.Name == "netstandard2.1");
@@ -838,10 +828,7 @@ RegistryEntry packageEntry
838828

839829
if (!packageEntry.Analyzer && collectedItems.Count == 0)
840830
{
841-
LogWarning(
842-
$"Skipping package `{identity}` because it does not contain a compatible .NET assembly " +
843-
$"for {string.Join(",", _targetFrameworks.Select(x => x.Name))}.");
844-
return false;
831+
throw new InvalidOperationException($"The package does not contain a compatible .NET assembly {string.Join(",", _targetFrameworks.Select(x => x.Name))}");
845832
}
846833

847834
// Write the native libraries
@@ -912,7 +899,6 @@ RegistryEntry packageEntry
912899
// Try to fetch the license from an URL
913900
using (var httpClient = new HttpClient())
914901
{
915-
httpClient.Timeout = TimeSpan.FromSeconds(15);
916902
licenseUrlText = await httpClient.GetStringAsync(licenseUrl);
917903
}
918904

@@ -977,10 +963,7 @@ RegistryEntry packageEntry
977963
}
978964

979965
LogWarning($"Error while processing package `{identity}`. Reason: {ex}");
980-
return false;
981966
}
982-
983-
return true;
984967
}
985968

986969
private static Guid GetStableGuid(PackageIdentity identity, string name)

0 commit comments

Comments
 (0)