authenteq-zz / java-bigchaindb-driver

Official BigchainDB Java driver
https://www.bigchaindb.com
Apache License 2.0
32 stars 22 forks source link

Why was the Maven setup removed? #3

Closed alvin-reyes closed 7 years ago

tzclucian commented 7 years ago

Following.

bohdanbezp commented 7 years ago

The original idea is that gradle-only system would be much easier to maintain, but if there is such a strong demand for mvn setup, then I see no obstacles why it shouldn't be added again.

alvin-reyes commented 7 years ago

Ok, with your permission, can I fork this and create the maven changes? I'll be adding the code to handle the other API endpoints as well.

We're planning to use BigChainDB for our Enterprise project. It would be awesome to collaborate.

Thanks

bohdanbezp commented 7 years ago

Sure, sounds good. Just create the pull requests and I'll include the changes.

tzclucian commented 7 years ago

@alvin-reyes Awesome to hear that. I'll jump in and help where possible as I'm in the same situation.

alvin-reyes commented 7 years ago

Added the pom.xml and a manual dependency for the crypto-conditions jar file.

https://github.com/alvin-reyes/java-bigchaindb-driver

I don't think I can merge my fork with the main master branch as I did some major changes to how it connects, build and access the APIs easily. @bodia , @tzclucian . I'll let you review it eitherway.

tzclucian commented 7 years ago

Looking forward for the pull request.

I like what I'm seeing the the forked repo right now

bohdanbezp commented 7 years ago

I agree, looks good, the only thing that is the setup with global config makes it impossible to have multiple connection instances (I can't think about the usecase for this yet, but maybe useful for someone).

tzclucian commented 7 years ago

Yep, also the system scoped dependency can prove to be a hassle.

alvin-reyes commented 7 years ago

@tzclucian, we can use extend the maven install plugin to include that without using a system scoped attribute. I'll modify the pom.xml for that.

@bodia , you are right. I'll modify the code so that we can easily create multiple instances of DB connection and make sure those can be "injected" easily when accessing the APIs.

Thank you for the feedback. Once it's done, I'll send the PR for your review.

alvin-reyes commented 7 years ago

Hi @tzclucian , @bodia, is there a specific reason why didn't we use jackson or gson/guava for JSON parsing? I'd like to know if you're open to migrating it to use these libraries as oppose to using the org.json library

bohdanbezp commented 7 years ago

@alvin-reyes actually migrating to something other than org.json has been one of the most important improvements for the driver that I considered. No objections at all. Moreover, getting rid of org.json will make the driver compatible with Android.

tzclucian commented 7 years ago

Hi @tzclucian , @bodia, is there a specific reason why didn't we use jackson or gson/guava for JSON parsing? I'd like to know if you're open to migrating it to use these libraries as oppose to using the org.json library

I do agree with jackson/guava. I was even thinking about introducing POJOs/models for the actual request and response entities.

alvin-reyes commented 7 years ago

Yes. Got this working now on my local branch. Introduce a bunch of POJOs. I haven't finish them yet but please feel free to check it out. https://github.com/alvin-reyes/java-bigchaindb-driver

alvin-reyes commented 7 years ago

PR for this: https://github.com/authenteq/java-bigchaindb-driver/pull/10

Remaining items: Support for Multiple Connections.

Let me know your thoughts. I'm going to use my version for our Enterprise Solution. Would be good if someone from your team can review and provide feedback.

tzclucian commented 7 years ago

I think we can close this issue now?

What do you think @alvin-reyes , @bodia ?

alvin-reyes commented 7 years ago

Yes. I think so. I'll create a separate issue for the features that I think is beneficial for the library.

dominic-healid commented 6 years ago

Hello Guys, I'm new with Java and Maven, how can I install this on my java project? I know it's says mvn clean install, but what should I do first before running that command? Guide me please.

tzclucian commented 6 years ago

Hello Guys, I'm new with Java and Maven, how can I install this on my java project? I know it's says mvn clean install, but what should I do first before running that command? Guide me please.

Hey @dominic-healid , Best thing you could do is to start off with a Maven tutorial. Check https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html .

dominic-healid commented 6 years ago

Thanks, I resolved it somehow I'm not sure if this is really the way to add this library, but what I actually did, I downloaded this project, and run maven and then I added this whole project to my project.

But yeah, will definitely look at that tutorial.

Thank you @tzclucian