in indexer-core/src/main/java/org/apache/maven/index/creator/MinimalArtifactInfoIndexCreator.java [349:464]
public boolean updateArtifactInfo(Document doc, ArtifactInfo ai) {
boolean res = false;
String uinfo = doc.get(ArtifactInfo.UINFO);
if (uinfo != null) {
int start = 0;
int end = uinfo.indexOf(FS);
ai.setGroupId(uinfo.substring(start, end));
start = end + 1;
end = uinfo.indexOf(FS, start);
ai.setArtifactId(uinfo.substring(start, end));
start = end + 1;
end = uinfo.indexOf(FS, start);
ai.setVersion(uinfo.substring(start, end));
start = end + 1;
end = uinfo.indexOf(FS, start);
if (end == -1) {
end = uinfo.length();
}
ai.setClassifier(ArtifactInfo.renvl(uinfo.substring(start, end)));
if (end != uinfo.length()) {
start = end + 1;
end = uinfo.length();
ai.setFileExtension(uinfo.substring(start, end));
}
res = true;
}
String info = doc.get(ArtifactInfo.INFO);
if (info != null) {
int start = 0;
int end = info.indexOf(FS);
ai.setPackaging(ArtifactInfo.renvl(info.substring(start, end)));
start = end + 1;
end = info.indexOf(FS, start);
ai.setLastModified(Long.parseLong(info.substring(start, end)));
start = end + 1;
end = info.indexOf(FS, start);
ai.setSize(Long.parseLong(info.substring(start, end)));
start = end + 1;
end = info.indexOf(FS, start);
ai.setSourcesExists(ArtifactAvailability.fromString(info.substring(start, end)));
start = end + 1;
end = info.indexOf(FS, start);
ai.setJavadocExists(ArtifactAvailability.fromString(info.substring(start, end)));
start = end + 1;
end = info.indexOf(FS, start);
if (end == -1) {
end = info.length();
}
ai.setSignatureExists(ArtifactAvailability.fromString(info.substring(start, end)));
if (end != info.length()) {
start = end + 1;
end = info.length();
ai.setFileExtension(info.substring(start, end));
} else {
if (ai.getClassifier() != null //
|| "pom".equals(ai.getPackaging()) //
|| "war".equals(ai.getPackaging()) //
|| "ear".equals(ai.getPackaging())) {
ai.setFileExtension(ai.getPackaging());
} else {
ai.setFileExtension("jar"); // best guess
}
}
res = true;
}
String name = doc.get(ArtifactInfo.NAME);
if (name != null) {
ai.setName(name);
res = true;
}
String description = doc.get(ArtifactInfo.DESCRIPTION);
if (description != null) {
ai.setDescription(description);
res = true;
}
// sometimes there's a pom without packaging(default to jar), but no artifact, then the value will be a "null"
// String
if ("null".equals(ai.getPackaging())) {
ai.setPackaging(null);
}
String sha1 = doc.get(ArtifactInfo.SHA1);
if (sha1 != null) {
ai.setSha1(sha1);
}
return res;
// artifactInfo.fname = ???
}