Как оформить заказ и построить проект maven из gradle?

Мне нужно собрать кассу и создать исходный проект maven из моего файла сборки gradle:

mvn clean package -DskipTests -Phadoop-2.6 -Dhadoop.version=2.6.0 -P build-distr -Dhbase.hbase.version=1.2.0 -Dhbase.hadoop.version=2.6.0

Есть ли общий шаблон с gradle для этого рабочего процесса? Если да, то как это обычно делается?


person Chris Snow    schedule 05.08.2016    source источник
comment
У вас есть репозиторий maven (например, артефакт компании), на котором размещен ваш проект maven? Или вы пытаетесь проверить напрямую из системы scm, такой как git?   -  person Brandon McKenzie    schedule 05.08.2016
comment
У меня нет репозитория Maven компании. я предполагал, что мне придется проверить проект Apache Zeppelin с GitHub как часть сборки.   -  person Chris Snow    schedule 05.08.2016
comment
Это эта версия Zeppelin? Если это так, на самом деле он уже есть на Maven Central, ссылка покажет вам соответствующую запись.   -  person Brandon McKenzie    schedule 07.08.2016
comment
Если в будущем вам понадобится что-то, что находится в репозитории git, и вы не сможете найти его в центре maven, этот ответ поможет вам.   -  person Brandon McKenzie    schedule 07.08.2016
comment
К сожалению, предоставленная сборка работает только для Hbase 1.0. Для более поздних версий вам необходимо собрать Zeppelin из исходного кода. Подробнее здесь: zeppelin.apache.org/docs/0.6.0/ интерпретатор/hbase.html   -  person Chris Snow    schedule 07.08.2016


Ответы (1)


К сожалению, стандартного способа сделать это нет, но вы можете добиться этого с помощью пользовательских задач:

Извлечь пакет maven

task extractMavenPackage(type: Copy){
  destinationDir file(mvnHomeDir)
  from zipTree(configurations.maven.singleFile)
  includeEmptyDirs = false
  eachFile {  // workaround to skip first-level folder
    List segments = it.relativePath.segments as List
    it.path = segments.tail().join('/')
  }
}

Выполнить сборку

task mvnCleanPackage(type: Exec) {
  dependsOn extractMavenPackage, extractZeppelinSources
  commandLine "${mvnHomeDir}/bin/mvn.bat"
  workingDir zeppelinProjectDir
  args "-T", "4"
  // args "-s", "$projectDir/settings.xml" // uncomment it if you want to provide custom settings.xml
  args "clean", "package"
  args "-DskipTests"
  args "-P", "build-distr"
  args "-Phadoop-2.6", "-Dhadoop.version=2.6.0", "-Dhbase.hbase.version=1.2.0", "-Dhbase.hadoop.version=2.6.0"
}

Полный пример см. в проекте maven-from-gradle-example github.

person Vyacheslav Shvets    schedule 08.08.2016