Как я могу заполнить то, что индексируется в поле метаданных тегов в Maven central?


Средство поиска Maven Central предлагает несколько различных полей, в которых вы можете искать. Наиболее известными являются, конечно, идентификатор группы, идентификатор артефакта и версия. Но есть и другие. Например, вот запрос, который ищет в поле с именем tags:

Http://search.maven.org/#search%7Cga%7C1%7Ctags%3Asbtplugin

Если вы выберете артефакт в этом списке и копнетесь в нем, вы действительно обнаружите, что (как только вы пройдете через сломанные ссылки!) у pom.xml есть sbtVersion свойство в нем.

Так что, возможно, я подумал, что именно так вы заполняете поле tags: просто добавьте произвольное свойство в строфу properties. Конечно, искомый выше тег-это sbtplugin , в то время как проверяемое свойство - sbtVersion, поэтому очевидно, что здесь замешано что-то еще, но этот механизм нигде не задокументирован.

Итак, какзаполняется это поле индекса ? является ли это особенностью Нексуса? Могу ли я заполнить его с помощью maven-deploy-plugin, чьи цели не кажется, намекают на такую вещь?

Возможность программного поиска в этом поле была бы очень, очень полезной, если бы я мог контролировать то, что туда помещается.
2 2

2 ответа:

Цитирую изописания API на самом Maven central.

http://search.maven.org/#search|ga|1|tags:sbtplugin

Возвращает артефакты al в центре, которые являются sbtplugins. Sbtplugin-это определяется как артефакт с пом, включающим свойства "sbtVersion" и "scalaVersion" .

Также

http://search.maven.org/#search|ga|1|tags:sbtVersion-0.11

Возвращает все артефакты в central , использующие sbt версии 0.11

Джоэл Орлина из Sonatype пишет:

Более старые версии индексатора, который поддерживает search.maven.org заполняет поле tags содержимым элемента <description> в POM. Поле пропускается через некоторые стандартные фильтры StopWord и, возможно, некоторые другие анализаторы Люцена, поэтому полное содержимое не попадает в поле tag. Мы внесли некоторые изменения пару лет назад, чтобы помочь сообществу scala / sbt, где, основываясь на конкретных элементах, которые мы обнаруживаем в scala / sbt-плагин poms, мы синтезируем три тега: sbtPlugin, sbtVersion, и scalaVersion. Это позволяет пользователям плагинов sbt искать те типы артефактов, которые во многих случаях не соответствуют макету репозитория Maven2 и, как таковые, обычно не индексируются search.maven.org индексатор.

В поле тегов больше ничего нет.