JRsync

A minimal android-compatible synchronization tool for transferring files. It is based on the rsync algorithm, not the rsync command, to utilize minimal dependencies.

License

License

GroupId

GroupId

com.github.batkinson
ArtifactId

ArtifactId

jrsync
Last Version

Last Version

1.4.3
Release Date

Release Date

Type

Type

jar
Description

Description

JRsync
A minimal android-compatible synchronization tool for transferring files. It is based on the rsync algorithm, not the rsync command, to utilize minimal dependencies.
Project URL

Project URL

https://github.com/batkinson/JRsync
Source Code Management

Source Code Management

https://github.com/batkinson/JRsync

Download jrsync

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.batkinson/jrsync/ -->
<dependency>
    <groupId>com.github.batkinson</groupId>
    <artifactId>jrsync</artifactId>
    <version>1.4.3</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.batkinson/jrsync/
implementation 'com.github.batkinson:jrsync:1.4.3'
// https://jarcasting.com/artifacts/com.github.batkinson/jrsync/
implementation ("com.github.batkinson:jrsync:1.4.3")
'com.github.batkinson:jrsync:jar:1.4.3'
<dependency org="com.github.batkinson" name="jrsync" rev="1.4.3">
  <artifact name="jrsync" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.batkinson', module='jrsync', version='1.4.3')
)
libraryDependencies += "com.github.batkinson" % "jrsync" % "1.4.3"
[com.github.batkinson/jrsync "1.4.3"]

Dependencies

test (4)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.12
org.slf4j : slf4j-jdk14 jar 1.7.12
junit : junit jar 4.12
org.mockito : mockito-core jar 1.9.5

Project Modules

There are no modules declared in this project.

JRsync

Build Status Coverage Status Maven Central

A library for efficiently synchronizing files, based on the rsync algorithm. It is intended to be usable by applications written for the Android mobile operating system with no additional dependencies, as well as from server applications.

Why?

After looking for a solution for the CIMS project, I could not find an acceptable solution for efficient, general purpose file synchronization usable for both client and server components written in Java/Android. I was looking for something that had the following properties:

  • Usable in Java and Android without external dependencies
  • Capable of efficient incremental synchronization of large files
  • Minimalistic - Small and focused over large and feature-rich
  • Reasonable test coverage
  • A commercial-friendly, permissive license (non-viral open source license)

Since I couldn't find what I was looking for, I decided to create it.

Requirements

To build this library, you'll need:

  • JDK 7+
  • Apache Maven

Building

To build the library, you just need to run:

mvn clean install

Versions

Version
1.4.3
1.4.2
1.4.1
1.4
1.3
1.2
1.1.1
1.1
1.0.1
1.0