-
Notifications
You must be signed in to change notification settings - Fork 10
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
Feedback #3
Comments
Thanks for taking a look. Just checking out and running "mvn package" always worked for me, but you're not the first one to complain about issues with Lombok. I'm not sure what causes it, but I'll go ahead and remove the dependency. |
Huh. |
I just pulled, and now |
Thanks. I'm mainly looking for feedback on the API and parts that'd be difficult to change in a backwards compatible way, e.g., unclear naming, non-obvious "magic", inappropriate separation of concerns, missing features, etc. I'm mainly using Silencer::close to make sure that it tries to close all contained elements (e.g. a collection of arrays inside struct) rather than stopping if any one throws an error (e.g. the 2nd one may close properly even if the 1st one fails). What do you think about trying to close everything, and re-throw the first encountered IOException? |
My personal opinion on IO errors is that if any one part goes wrong, it's likely that the user is going to have to proactively take action to fix it. It might be possible to contain an error, but my experience has been that complex error handling can hide the root cause from the user (making it harder to fix), and usually the user is still going to have to take action anyway, so the even if the complex error handling doesn't obscure the error, it still doesn't save the end user much time. I definitely wouldn't swallow it (very frustrating to not find out that your data silently didn't actually write, especially if just part of the data didn't write), and I tend to think it's not worth the effort to be fancy, but it's your lib :) |
I'm on a couple flights today, I'm tinkering with integration to give API feedback as requested. |
I think I cleaned up most of the rough edges that were still bothering me. I'm planning on releasing a 1.0 into Maven Central this week. I assume you're swamped, so I'll go ahead and close this issue. Feel free to re-open if you ever run into anything. |
Sorry for slow response. I did a decent amount of integration work, and I never encountered any hiccups. The API looks great! Congrats on 1.0 release, once it's on Maven I'll link to it from MatFileRW when you're ready. If you're planning on taking community contributions, I would highly recommend
I've found that having those two things setup greatly reduces my workload. |
Awesome, that's great to hear! I haven't worked with Travis before, but I'll try to get it setup shortly. I'm currently using a private Jenkins server, but currently others wouldn't be able to see what happened if something failed. Does Spotless by any chance come with a configuration that matches the default settings of IntelliJ IDEA? |
There is no support for the IntelliJ formatter right now, but it is on the todo: diffplug/spotless#200 |
Uploading to Maven central turned out to be a bit of a pain, but it's finally live! I ran into a few issues with the release process, so I initially uploaded it as version 0.x. Assuming that I don't encounter any more integration issues, I'll make the next release 1.0. <dependency>
<groupId>us.hebi.matlab</groupId>
<artifactId>mat-file-io</artifactId>
<version>0.1.1</version>
</dependency> |
contributing instructions / maven / lombok noob problems
This looks great! I'm a gradle partisan and very ignorant of maven, maybe I'm doing something wrong?
With maven 3.5.3 on java 1.8, if I run
mvn install
from the root, I get a bunch of errors like this:Do I need to do some kind of system-wide install of lombok? I'm also having a hard time getting it up and building in eclipse. I've had good luck on my opensource projects having a
CONTRIBUTING.md
with just a few lines on how to build the project and get it setup in an IDE if there's anything unusual about it.Silencer
https://github.com/ennerf/MatlabTools/blob/0a0ecaee16d91350c379b3935c786a4626a6d884/io/src/main/java/us/hebi/matlab/common/util/Silencer.java#L68-L76
Can this be
rethrow new RuntimeException
? I think I'd want to know if I was getting IOExceptions on close, especially if I'm writing.The text was updated successfully, but these errors were encountered: