Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use updated dependencies that are present on central #8

Merged
merged 3 commits into from
Apr 14, 2024

Conversation

lukebemish
Copy link
Contributor

Requires neoforged/InstallerTools#3 to actually publish InstallerTools to central; as ART is published to central, all its dependencies should be too.

@marchermans
Copy link
Contributor

I would be opposed to this!
We have had problems with pulling deps from central in the past.

There is 0 reason to pull from central when the same artifact is on our maven! We publish on central so that other users can consume the artifact without having to use our maven (although personally I put a ❓ behind that reasoning, but that is their decision). However we have our own maven and we should always pull our own artifacts from it.

@sciwhiz12
Copy link
Member

Currently, the fact that we pull ART's dependencies from our Maven repository has caused us to overlook the fact that some of ART's dependencies (that we publish; namely, InstallerTools) aren't available on Maven Central, causing would-be consumers of ART from Maven Central to be unable to do so properly. (See how https://mvnrepository.com/artifact/net.neoforged/AutoRenamingTool/2.0.2 shows the net.neoforged.installertools:cli-utils not being accessible from Central, as opposed to the other dependencies.)

If we remove the use of our Maven repository here, we make it impossible for this situation to happen again: any additional dependency would have to be available on Maven Central, or else Gradle will simply be unable to find the dependency.

@Matyrobbrt
Copy link
Member

Matyrobbrt commented Apr 13, 2024

However we have our own maven and we should always pull our own artifacts from it.

Our maven mirrors central, so we'd always pull artifacts from our maven in user-facing projects (i.e. the installer).
But dependencies of projects on central should use artifacts that are present on central too, otherwise it's useless.

Additionally, the problem of pulling from central was only encountered by the installer, virtually all Gradle projects (and well... maven, basically the entire Java ecosystem) pulls artifacts from central, that's why central exists.

@lukebemish
Copy link
Contributor Author

Changed back to query neo's maven -- with the understanding that at some point in the no-so-distant future, the neo maven will be split into a central mirror and releases maven which is a superset of the mirror, and this can query only the mirror to prevent this issue happening again.

@Matyrobbrt Matyrobbrt merged commit fd03365 into neoforged:main Apr 14, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants