11using OpenMod . Installer . RocketMod . Helpers ;
22using OpenMod . NuGet ;
33using Rocket . Core . Logging ;
4- using System ;
54using System . IO ;
65using System . Linq ;
76using System . Threading . Tasks ;
@@ -20,24 +19,22 @@ protected NuGetInstallJob(string packageId)
2019
2120 public void ExecuteMigration ( string [ ] args )
2221 {
23- AsyncHelperEx . RunSync ( ( ) => DownloadPackage ( args . Contains ( "--force" ) || args . Contains ( "-f" ) ) ) ;
22+ AsyncHelperEx . RunSync ( ( ) => DownloadPackage ( args . Contains ( "--force" ) || args . Contains ( "-f" ) , args . Contains ( "-p" ) || args . Contains ( "--pre" ) ) ) ;
2423 }
2524
26- private async Task DownloadPackage ( bool force )
25+ private async Task DownloadPackage ( bool force , bool usePre )
2726 {
2827 Logger . Log ( $ "Installing package \" { m_PackageId } \" ...") ;
2928 var nuGetPackageManager = NuGetHelper . GetNuGetPackageManager ( ) ;
3029
31- const bool c_AllowPreReleaseVersion = false ;
32-
3330 var oldIdentity = await nuGetPackageManager . GetLatestPackageIdentityAsync ( m_PackageId ) ;
3431 if ( ! force && oldIdentity != null )
3532 {
3633 Logger . LogWarning ( $ "Package \" { m_PackageId } \" is already installed, skipping. Use \" openmod install -f\" to install anyway.") ;
3734 return ;
3835 }
3936
40- var package = await nuGetPackageManager . QueryPackageExactAsync ( m_PackageId , null , c_AllowPreReleaseVersion ) ;
37+ var package = await nuGetPackageManager . QueryPackageExactAsync ( m_PackageId , null , usePre ) ;
4138 if ( package ? . Identity == null )
4239 {
4340 Logger . LogError ( $ "Downloading has failed for { m_PackageId } : { NuGetInstallCode . PackageOrVersionNotFound } ") ;
@@ -52,16 +49,8 @@ private async Task DownloadPackage(bool force)
5249
5350 var identity = package . Identity ;
5451
55- var installResult = await nuGetPackageManager . InstallAsync ( identity , c_AllowPreReleaseVersion ) ;
56- bool isInstalled ;
57- if ( Enum . GetValues ( typeof ( NuGetInstallCode ) ) . Length == 3 ) // loaded 3.0 version openmod
58- {
59- isInstalled = ( int ) installResult . Code is 0 or 1 ; // Success / NoUpdatesFound
60- }
61- else
62- {
63- isInstalled = installResult . Code == NuGetInstallCode . Success ;
64- }
52+ var installResult = await nuGetPackageManager . InstallAsync ( identity , usePre ) ;
53+ var isInstalled = installResult . Code == NuGetInstallCode . Success || installResult . Code == NuGetInstallCode . NoUpdatesFound ;
6554
6655 if ( isInstalled )
6756 {
0 commit comments