Преобразовать проект gradle/sbt/maven в систему сборки брюк
Я использую систему сборки брюк для проекта (scala), и мне нужно использовать некоторые сторонние зависимости, которые доступны для импорта как gradle, sbt или maven. Есть ли стандартный способ преобразования файлов gradle.build/pom.xml/build.sbt/plugin в брюки сборки?
Ниже pom (часть плагинов) является примером того, что нужно каким-то образом преобразовать в брюки.
Спасибо
<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.4.1</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.lightbend.akka.grpc</groupId>
<artifactId>akka-grpc-maven-plugin</artifactId>
<version>${akka.grpc.version}</version>
<configuration>
<language>Scala</language>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- disable surefire -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<!-- enable scalatest -->
<plugin>
<groupId>org.scalatest</groupId>
<artifactId>scalatest-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
<junitxml>.</junitxml>
<filereports>TestSuite.txt</filereports>
<argLine>-javaagent:${org.mortbay.jetty.alpn:jetty-alpn-agent:jar}</argLine>
</configuration>
<executions>
<execution>
<id>test</id>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.5.1</version>
<executions>
<execution>
<id>getClasspathFilenames</id>
<goals>
<!-- provides the jars of the classpath as properties inside of maven
so that we can refer to one of the jars in the exec plugin config below -->
<goal>properties</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>server</id>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-javaagent:${org.mortbay.jetty.alpn:jetty-alpn-agent:jar}</argument>
<argument>-classpath</argument>
<classpath />
<argument>com.example.helloworld.GreeterServer</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>client</id>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>com.example.helloworld.GreeterClient</argument>
<argument>${GreeterClient.user}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
0 ответов
Я не верю, что есть какие-то инструменты, которые могут превратить существующие помпы в брюки. Я не верю, что есть плагины Pants, эквивалентные почти любому плагину Maven.
Похоже, что лучшая альтернатива - создать плагины Pants для преобразований, без которых вы не можете жить, и преобразовать свои сборки в соответствии со стандартами инструмента сборки, на который вы переходите (к сожалению).
Вот некоторая документация по созданию новых плагинов:
https://www.pantsbuild.org/dev_tasks.html
Пример плагина, который преобразует код Avro в некоторый код Java (кажется таким же хорошим стартером, как и любой другой для преобразования кода на основе Java):
https://github.com/pantsbuild/pants/tree/master/contrib/avro/src/python/pants/contrib/avro
В качестве альтернативы вы можете использовать jvm_prep_command и запускать нужные java-процессы более хакерским способом: