Публикация игрового модуля во внутреннем репозитории Maven - PullRequest
2 голосов
/ 15 февраля 2012

Я могу создать модуль Play Framework локально и использовать его локально, но как я могу опубликовать его во внутреннем (Nexus) Maven-репозитории (не в общедоступном репозитории Play), чтобы Play мог его найти?

Ответы [ 4 ]

2 голосов
/ 03 февраля 2013

Мне удалось получить сборку модуля play 2.0 на частном сервере maven (в моем случае Artificatory), используя следующую конфигурацию в проекте / Build.scala:

object ApplicationBuild extends Build {

    /* Stuff about your app (version,name etc) and dependencies */


    val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
          organization := "org.myorg"
    ).settings(
          publishTo := Some("My Realm" at "https://myserver.com/libs-release-local")
    ).settings(
          credentials += Credentials("My Realm", "myserver.com", "username", "password")
    )
}

Затем набрав

play publish

В проекте dir

Редактировать

для Play 2.3, добавить следующее к build.sbt

resolvers += "My Server" at "https://myserver.com/libs-release-local"

credentials += Credentials("Artifactory Realm", "myserver.com", "username", "password")

Тогда выпустите

sbt publish

1 голос
/ 17 февраля 2012

Получается, что целая куча различных решений для этого.Есть даже подсказка, спрятанная в документации Play, но она, как сообщается, немного неверна.

Решение, которое я выбрал, заключалось в добавлении задачи публикации в build.xml, использующей ivy, и записи файла ivy.xml, которыйустановите тип файла артефакта bundle и расширение файла zip.

0 голосов
/ 16 февраля 2012

В сценарии вы можете использовать эту команду для передачи артефакта в хранилище Nexus, пользователь должен иметь право передавать артефакты на Nexus

curl --request POST --user user:passwd http://mynexus/nexus/content/repositories/releases/com/myorg/$APPLICATION/$VERSION/$APPLICATION-$VERSION.zip -F "file=@dist/$APPLICATION-$VERSION.zip"  --verbose
0 голосов
/ 15 февраля 2012

Я сам не знаю Play Framework, но обычно у вас есть два варианта. Play содержит свою собственную сборку Maven? Если это так, вы можете настроить параметры управления распространением для pom.xml платформы Play и просто использовать «mvn deploy». Просто настройте Nexus, как описано в следующей документации по плагину maven deploy:

http://maven.apache.org/plugins/maven-deploy-plugin/usage.html

Если нет сборки Maven для платформы Play, вы можете использовать цель «deploy: deploy-file» для jar-файлов, которые вы хотите развернуть вручную в Nexus.

Я помню, что сначала довольно сложно получить все необходимые параметры для команды deploy-file. Будьте терпеливы:)

...