stephanenicolas / robospice

Repo of the Open Source Android library : RoboSpice. RoboSpice is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules.
Apache License 2.0
2.95k stars 545 forks source link

commons io version #378

Open siyamed opened 9 years ago

siyamed commented 9 years ago

Is there any specific reason to keep commons io dependency at 1.3.2 ? Current version is 2.4

http://commons.apache.org/proper/commons-io/upgradeto2_4.html

Thanks

Defuera commented 9 years ago

yeah it would be nice to update this, since it causes lot's of dependency conflicts.

My dependencies looks like this because of it

compile('com.octo.android.robospice:robospice:1.4.14') {
    exclude group: 'org.apache.commons', module: 'commons-io'
}
compile('com.octo.android.robospice:robospice-retrofit:1.4.14') {
    exclude group: 'org.apache.commons', module: 'commons-io'
}
compile('com.octo.android.robospice:robospice-okhttp:1.4.14') {
    exclude group: 'org.apache.commons', module: 'commons-io'
}
stephanenicolas commented 9 years ago

The reason is that commons introduced some feature, by memory an array copy, that was not available on android in some SDK release.

If you could try to upgrade the version and get the build to pass or identify the SDK minimum version, we can talk about upgrading it.

Note that nothing prevents you from using a more recent commons version in your own app..

nateridderman commented 9 years ago

If Robospice does not use the new feature, why is it a problem to upgrade? I see String.getBytes() was added in API 9. http://developer.android.com/reference/java/lang/String.html#getBytes%28java.nio.charset.Charset%29. Perhaps that is the source of this problem - http://stackoverflow.com/questions/17359163/apache-commons-io-on-android