AlessioDP / libby

A runtime dependency management library for plugins running in Java-based Minecraft server platforms.
MIT License
85 stars 21 forks source link

Allow full-offline startup after resolved libraries once #41

Open Ghost-chu opened 9 months ago

Ghost-chu commented 9 months ago

In some cases, the server needs to be started without an (stable) internet connection. SpigotLibraryLoader is able to do this, but libby (gradle) requires an robust internet connection every time it is started in order to read the dependency files (even if cached files already exist).

frengor commented 9 months ago

Are you using the transitive dependency resolution feature?

Ghost-chu commented 9 months ago

Yes, I'm using transitive dependency resolution

Ghost-chu commented 9 months ago

Are you using the transitive dependency resolution feature?

Yes, is this due to the need to check if its associated dependencies have all finished downloading?
Can this be cached?

As well as I noticed that libby always uses Maven Central when resolving its own dependencies, instead of the mirror specified by Dev, which defeats the purpose of mirroring and ends up causing huge delays for the user (the quality of our country/region's internet connection to Maven Central is pretty bad)...
I'm using my own Fork to circumvent this problem.

Translated with DeepL.com (free version)

frengor commented 9 months ago

As well as I noticed that libby always uses Maven Central when resolving its own dependencies, instead of the mirror specified by Dev

If you add your mirror before Maven Central the mirror should be queried before it.

Ghost-chu commented 9 months ago

As well as I noticed that libby always uses Maven Central when resolving its own dependencies, instead of the mirror specified by Dev

If you add your mirror before Maven Central the mirror should be queried before it.

It's load libraries into an standalone classloader and never use user defined mirrors.