I have a set of Maven projects that I would like to migrate to SBT.
The only thing stopping me from doing this is the project, which is an Eclipse plugin that has dependencies on the Eclipse Birt.
Tycho plugin for Maven, handles all dependencies. This tool is not available in SBT. I found the sbt-tycho plugin for SBT, but it looks like unscientific (3 years without activity).
Perhaps I can create my Eclipse plugin with Maven, and the rest of the projects with SBT. But I don’t know if this is possible.
Another alternative is to use Gradle with the wuff plugin .
Related questions in Stackoverflow:
But I prefer SBT over Maven or Gradle, so as not to introduce another language besides Scala.
Is it possible to have all projects in SBT, except for those that use Tycho (Eclipse plugin) ?. The Eclipse plug-in project is dependent on the main project and rarely changes.
Any ideas?
Update 1 : additional information. Eclipse plugins use p2 repository to handle dependencies instead of the standard Maven repository used for Gradle, Maven, Ivy and SBT. That is why special tools are needed. My custom Eclipse plugin has over 100 indirect p2 dependencies.
Update 2
pom.xml of my Eclipse plugin:
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>myCompany</groupId>
<artifactId>myPlugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<properties>
<tycho.version>0.19.0</tycho.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>eclipse</id>
<url>http://download.eclipse.org/releases/kepler</url>
<layout>p2</layout>
</repository>
<repository>
<id>babel</id>
<url>http://download.eclipse.org/technology/babel/update-site/R0.11.1/kepler</url>
<layout>p2</layout>
</repository>
<repository>
<id>logback</id>
<url>http://logback.qos.ch/p2/</url>
<layout>p2</layout>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<resolver>p2</resolver>
<environments>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
</environments>
</configuration>
</plugin>
</plugins>
</build>
</project>