Skip to content

Commit

Permalink
override snapshots download file name
Browse files Browse the repository at this point in the history
  • Loading branch information
MrXiaoM committed Dec 24, 2023
1 parent dedbc22 commit dacb7ee
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 12 deletions.
23 changes: 14 additions & 9 deletions src/main/java/org/itxtech/mcl/component/Repository.java
Original file line number Diff line number Diff line change
Expand Up @@ -178,28 +178,33 @@ public String getJarUrl(MclPackage pkg, PackageInfo info) {
return "";
}

private String getSnapshotJarUrl(String baseFolder) throws Exception {
private String getSnapshotJarUrl(String baseFolder, String packageName, String packageVersion) throws Exception {
if (httpHead(baseFolder + "maven-metadata.xml").statusCode() != 200) return "";
var content = httpGet(baseFolder + "maven-metadata.xml", "");
var factory = DocumentBuilderFactory.newInstance();
factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
var document = factory.newDocumentBuilder().parse(new InputSource(new StringReader(content)));
var elements = document.getElementsByTagName("snapshotVersion");
var versions = new HashMap<String,String>();
for (int i = 0; i < elements.getLength(); i++) {
var version = elements.item(i).getChildNodes();
var classifier = findNodeValue(version, "classifier", "");
var extension = findNodeValue(version, "extension", "");
var value = findNodeValue(version, "value", "");
var suffix = (classifier.isEmpty() ? "" : ("-" + classifier)) + "." + extension;
if (loader.config.archiveSuffix.contains(suffix)) {
var real = baseFolder + value + suffix;
try {
if (httpHead(real).statusCode() == 200) {
return real;
}
} catch (Exception e) {
loader.logger.logException(e);

var real = baseFolder + packageName + "-" + value + suffix;
versions.put(suffix, packageName + "-" + packageVersion + suffix + "|" + real);
}
for (var suf : loader.config.archiveSuffix) {
var real = versions.get(suf);
if (real == null) continue;
try {
if (httpHead(real.split("\\|")[1]).statusCode() == 200) {
return real;
}
} catch (Exception e) {
loader.logger.logException(e);
}
}
return "";
Expand Down
12 changes: 9 additions & 3 deletions src/main/java/org/itxtech/mcl/module/builtin/Updater.java
Original file line number Diff line number Diff line change
Expand Up @@ -181,9 +181,15 @@ public void downloadFile(MclPackage pack, Repository.PackageInfo info) {
);
return;
}
var index = jarUrl.lastIndexOf(name);
if (index != -1) {
jar = jarUrl.substring(index);
if (jarUrl.contains("|")) {
var split = jarUrl.split("\\|");
jar = split[0];
jarUrl = split[1];
} else {
var index = jarUrl.lastIndexOf(name);
if (index != -1) {
jar = jarUrl.substring(index);
}
}
down(jarUrl, new File(dir, jar));

Expand Down

0 comments on commit dacb7ee

Please sign in to comment.