8000 Minor updates by Nadahar · Pull Request #7 · junrar/junrar · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Minor updates #7

8000
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 26, 2018
Merged

Minor updates #7

merged 4 commits into from
Apr 26, 2018

Conversation

Nadahar
Copy link
Contributor
@Nadahar Nadahar commented Apr 25, 2018

As discussed I made some minor updates that I think should be "safe".

I've updated the dependencies as much as possible while maintaining Java 6 compatibility, and looked at various forks and picked up a couple of things that seem useful. I also ran FindBugs and took care of the most obvious stuff.

I've successfully built it with Java 6, and run tests on a few different files. During testing I tested extracting a 3.5 GB file both from one large archive and several smaller pieces as well as other "random" smaller RAR files I found.

The code style/formatting is very foreign to me, so I have a hard time getting a grasp of what is done some places. I didn't want to reformat everything because the diffs would be huge, but it limits my ability to verify the correctness of the code. FindBugs issues 84 warning as the code is now, but most of it is minor stuff as far as I can see. There are some questionable byte <-> String conversions using the default (JVM) encoding that most definitly can lead to real problems, but correcting that would mean changing the API or investigating the format specs enough to know if only a defined encoding is in use.

The biggest problem I found is that the RAR 5.0 archive format isn't supported at all. That means that RAR archives made with more recent versions of RAR won't be extractable. While I found an up to date C++ source code, I'm not up for such a big task.

It's still useful for the "RAR 4 format" though, and I suppose there are no reason to use the proprietary RAR format for newer archives when free/open alternatives exists.

There's no need to add me as a contributor, I'm not planning to maintain this on a regular basis. My issue is simply that some of the dependencies are so outdated that it creates problems for us when making an "uber JAR" because of dependency collisions with more recent libraries.

@Nadahar
Copy link
Contributor Author
Nadahar commented Apr 25, 2018

@beothorn In case you're not watching this repository, here's my suggested changes.

@beothorn
Copy link
Contributor

@Nadahar done, Version 1.0.0.
I also accepted another PR to throw some checked exceptions.
Let me know if this solve your problems, thanks for the contributions

@Nadahar
Copy link
Contributor Author
Nadahar commented Apr 27, 2018

@beothorn Thank you very much for quick and uncomplicated handling 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0