2013-07-18 5 views
0

Я работаю над веб-приложением, используя JPA, Hibernate и Ivy для управления зависимостями.Зависит от проекта градации с использованием плюща

Добавление зависимости от спящего режима из maven-репо прямолинейно, но теперь мне нужно изменить источник спящего режима, перестроить его и добавить свою собственную вилку в качестве зависимости.

Проблема в том, что спящий режим использовать градлу. Мне удалось создать его (чистая сборка gradlew), и теперь у меня есть все банки в каждом подпроекте hibernate (hibernate-entitymanager, hibernate-core и т. Д.).

Мой проект прямо сейчас зависит от других проектов в моей рабочей области, но они используют плющ, и, следовательно, я могу без проблем добавлять их в зависимость, используя функцию разрешения в рабочей области. Теперь я не могу понять, как импортировать hibernate ...

(Я даже не уверен, как управлять вилкой спящего режима ... в другом проекте, который я разветвил, я просто настроил плющ (также forked project use ivy), чтобы использовать ветку, таким образом, я уверен, чтобы решить мою вилку, а не оригинальный проект, но спящий режим использовать град ... поэтому я не могу использовать ветку)

aProject/ivy.xml

<info 
    organisation="it.example" 
    module="aProject" 
    branch="myFork" 
    status="integration"> 
</info> 

MyProject/ivy.xml

<dependency org="it.example" name="aProject" branch="myFork" rev="latest.integration" conf="runtime->default"/> 

Может ли кто-нибудь предложить мне решение? (или указать мне правильный путь?)

+1

Не можете ли вы добавить вилку для спящего режима в свой репозиторий maven и получить его оттуда? Чем он должен вести себя как любая иная зависимость, но я не плющ эксперт и никогда не раздваивал спящий режим. – ssindelar

ответ

0

Я следовал совету Кейси (спасибо Кейси) и модифицировал сценарий градиента, чтобы опубликовать его в своем репо. (В местном репо, так как я получаю сообщение об ошибке пытается опубликовать в локальной сети одного, но это уже другая проблема)

Вот что я сделал: в build.gradle:

uploadArchives { 
     repositories.mavenDeployer { 
      name = 'localDeployer' 
      configuration = configurations.deployerJars 
      pom.project pomConfig 
      repository(url: "file://C:/Users/<myUserName>/.m2/local/") 
     } 
    } 

(я не был в состоянии использовать свойство как $ {user.home}, если кто-то знает, как это сделать нужно аккуратно отредактировать это)

в ivysettings.xml

<resolvers> 
    <filesystem name="local-maven-2" m2compatible="true" 
     local="true"> 
     <artifact pattern="${user.home}/.m2/local/[organisation]/[module]/[revision]/[module]-[revision].[ext]" /> 
     <ivy pattern="${user.home}/.m2/local/[organisation]/[module]/[revision]/[module]-[revision].pom" /> 
    </filesystem> 
</resolvers> 

Остальное просто, вам просто нужно отредактировать версию спящего режима (или вашу раздвоенную библиотеку), чтобы указать его как пользовательский (например. 4.2.3 -> 4.2.3-lelmarir) и использовать это в зависимости от плюща

Смежные вопросы