This commit is contained in:
ManlyMarco committed 2019-12-23 14:58:12 +01:00
commit c367fb6d23
3 files changed
+35 -9

No files matched your search

+7 -7
View File
@@ -10,8 +10,8 @@ You can use the included [cakebuild](https://cakebuild.net/) script that allows
### Windows (Command Line)
Clone or [download](https://github.com/BepInEx/BepInEx/archive/master.zip) this repository.
After that, run
Clone this repository via `git clone https://github.com/BepInEx/BepInEx.git`.
After that, run in the repository directory
```bat
build.bat -target=Build
@@ -19,8 +19,8 @@ build.bat -target=Build
### Windows (PowerShell)
Clone or [download](https://github.com/BepInEx/BepInEx/archive/master.zip) this repository.
After that, run
Clone this repository via `git clone https://github.com/BepInEx/BepInEx.git`.
After that, run in the repository directory
```ps
./build.ps1 -target=Build
@@ -30,8 +30,8 @@ Make sure you have the execution policy set to enable running scripts.
### Linux (Bash)
Clone or [download](https://github.com/BepInEx/BepInEx/archive/master.zip) this repository.
After that, run
Clone this repository via `git clone https://github.com/BepInEx/BepInEx.git`.
After that, run in the repository directory
```sh
./build.sh --target=Build
@@ -49,4 +49,4 @@ The build script provides the following build targets (that you can pass via the
## MSBuild
Download and IDE (for example Visual Studio), open the solution file and build it.
Download and IDE (for example Visual Studio), open the solution file and build it.
+20 -1
View File
@@ -172,13 +172,16 @@ namespace BepInEx.Bootstrap
var dependencies = BepInDependency.FromCecilType(type);
var incompatibilities = BepInIncompatibility.FromCecilType(type);
var bepinVersion = type.Module.AssemblyReferences.FirstOrDefault(reference => reference.Name == "BepInEx")?.Version ?? new Version();
return new PluginInfo
{
Metadata = metadata,
Processes = filters,
Dependencies = dependencies,
Incompatibilities = incompatibilities,
TypeName = type.FullName
TypeName = type.FullName,
TargettedBepInExVersion = bepinVersion
};
}
@@ -195,6 +198,16 @@ namespace BepInEx.Bootstrap
return true;
}
private static bool PluginTargetsWrongBepin(PluginInfo pluginInfo)
{
var pluginTarget = pluginInfo.TargettedBepInExVersion;
// X.X.X.x - compare normally. x.x.x.X - nightly build number, ignore
if (pluginTarget.Major != CurrentAssemblyVersion.Major) return true;
if (pluginTarget.Minor > CurrentAssemblyVersion.Minor) return true;
if (pluginTarget.Minor < CurrentAssemblyVersion.Minor) return false;
return pluginTarget.Build > CurrentAssemblyVersion.Build;
}
/// <summary>
/// The entrypoint for the BepInEx plugin system.
/// </summary>
@@ -276,6 +289,12 @@ namespace BepInEx.Bootstrap
DependencyErrors.Add(message);
Logger.LogError(message);
}
else if (PluginTargetsWrongBepin(pluginInfo))
{
string message = $@"Plugin [{pluginInfo.Metadata.Name}] targets a wrong version of BepInEx ({pluginInfo.TargettedBepInExVersion}) and might not work until you update";
DependencyErrors.Add(message);
Logger.LogWarning(message);
}
}
var emptyDependencies = new string[0];
+8 -1
View File
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using BepInEx.Bootstrap;
@@ -21,6 +22,8 @@ namespace BepInEx
internal string TypeName { get; set; }
internal Version TargettedBepInExVersion { get; set; }
void ICacheable.Save(BinaryWriter bw)
{
bw.Write(TypeName);
@@ -43,6 +46,8 @@ namespace BepInEx
bw.Write(incList.Count);
foreach (var bepInIncompatibility in incList)
((ICacheable)bepInIncompatibility).Save(bw);
bw.Write(TargettedBepInExVersion.ToString(4));
}
void ICacheable.Load(BinaryReader br)
@@ -78,6 +83,8 @@ namespace BepInEx
}
Incompatibilities = incList;
TargettedBepInExVersion = new Version(br.ReadString());
}
}
}