SBT - В чем разница между именем и идентификатором?
Мне было интересно, есть ли разница в SBT между именем проекта и id.
Я заметил примеры файлов build.sbt со следующим ключом:
name := "My Project"
И я заметил файлы Build.scala с:
Project(id = "My Project", base = file("."))
Есть ли разница? Должны ли они быть одинаковыми или это не имеет значения? Для чего они используются?
Спасибо!
Ответы
Ответ 1
Название проекта должно использоваться для имени вашего проекта, видимого заголовка для любой документации.
Идентификатор используется для ссылки на проект для изменения настроек или с точки зрения управления зависимостями, т.е. для подключения подпроекта к корневому проекту, который вы можете сказать subproject.dependsOn(rootProjectId)
Ответ 2
В вашем файле build.sbt есть одно определение проекта. Вы также можете передать атрибут имени в настройки Project
в вашей build.scala. Поскольку у вас может быть несколько подпроектов в файле сборки, вы должны предоставить идентификатор для каждого из них, тогда как имя проекта останется прежним.