Fork me on GitHub

Builds

We now have reliable automated builds using Travis CI (to cover all Android, iOS, Linux, and Mac OS X builds) and AppVeyor (providing Windows builds). Thanks to both initiatives for providing such a great service to open source projects! Every pull request is built for all targets, and each commit generates a new snapshot build.

Using Snapshot Builds

These builds can be used outside of the main release cycles to test latest features with only a few changes required to the pom.xml file to obtain the latest snapshot version from the snapshot repository. Taking the sample usage for OpenCV, the dependency in the pom.xml file would change to this, followed by the additional repository settings:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.bytedeco.javacpp-presets.opencv</groupId>
    <artifactId>stitching</artifactId>
    <version>1.4.4-SNAPSHOT</version>
    <properties>
        <exec.mainClass>Stitching</exec.mainClass>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.bytedeco.javacpp-presets</groupId>
            <artifactId>opencv-platform</artifactId>
            <version>4.0.0-1.4.4-SNAPSHOT</version>
        </dependency>
        <!-- ... -->
    </dependencies>
    <repositories>
        <repository>
            <id>sonatype-nexus-snapshots</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>sonatype-nexus-snapshots</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </pluginRepository>
    </pluginRepositories>
    <!-- ... -->
</project>

It is also advisable to specify your platform with the javacpp.platform system property and use the --update-snapshots option, for example, mvn -Djavacpp.platform=linux-x86_64 --update-snapshots [...], as binaries for all platforms may not be available at all times.

The pom.xml file above can also be used to download snapshots for others tools such as Gradle or sbt, which are incapable of downloading the snapshot artifacts by themselves. Simply save a dummy pom.xml file outside of any project context, run mvn -U compile on it, and add the necessary settings for Gradle or sbt to use artifacts from your local Maven repository. In the case of Gradle, we specify that with repositories { mavenLocal() } along with the dependencies { } block, in app/build.gradle for an Android project, while for sbt, we can put resolvers += Resolver.mavenLocal next to the libraryDependencies.

For convenience, we can browse and download JAR files manually as well from the snapshot repository:

Current Build Status

Builds information and history is available on