opennars / opennars

OpenNARS for Research 3.0+
http://www.opennars.org/
MIT License
386 stars 84 forks source link

Mavenize project and split into separate repositories. #87

Closed freemo closed 6 years ago

freemo commented 6 years ago

The project should be split into separate logical repositories, core example nars_core and nars_web. Each one should be mavenized and the appropriate dependencies added between them.

PtrMan commented 6 years ago

It's resurrected from zombie land - the undead land of closed but valid issues https://github.com/opennars/opennars/issues/77

patham9 commented 6 years ago

If you both can make this work, awesome, I highly welcome it! :) I couldn't and didn't have much time for it. I agree, closing it was bad practice in this case. Ideally we would have: nars_core (the core reasoner, no dependency on any others) nars_gui (dependent on nars_core) nars_web (dependent on nars_core) nars_lab (dependent on nars_gui and nars_core)

freemo commented 6 years ago

I am working on this issue as we speak as well as most of the other ones I posted.

freemo commented 6 years ago

nars core has now been mavenized and compiles successfully. Are there test classes for it somewhere I am missing? The pull request is up, just gotta add the test classes back...

freemo commented 6 years ago

@patham9 nars_core's unit tests depend on nars_lab, if nars_lab itself depends on nars_core then we have a problem. Ill see if there is any sort of quick fix.

patham9 commented 6 years ago

Hm maybe there are some test-package-relevant classes in nars_lab. If that's the case they can probably just be moved to the test-part of nars_core as to remove their dependency on nars_lab. If this doesn't fix it, I guess only beer can! :)

freemo commented 6 years ago

yea im working on it.. there is some ugly stuff like some dependencies on some stuff autmenta did but never released it to central.. just one file though so with his permission ill move over the file itself.

On Wed, May 2, 2018 at 9:01 PM, patham9 notifications@github.com wrote:

Hm maybe there are some test-package-relevant classes in nars_lab. If that's the case they can probably just be moved to the test-part of nars_core as to remove their dependency on nars_lab. If this doesn't fix it, I guess only beer can! :)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/opennars/opennars/issues/87#issuecomment-386165934, or mute the thread https://github.com/notifications/unsubscribe-auth/AC5JAo2ReeUzmxk2lUH5ppBNIaNRkrrpks5tulbsgaJpZM4TwRdy .

freemo commented 6 years ago

@patham9 and @PtrMan The mavenization of core is ready, and working. Tests compile and run. One fails but likely not related to anything i did. We of course need to do some refactoring now, but ill leave that as a separate ticket. Otherwise look it over and make sure there are no issues. I will continue on mavenizing the other modules. Once we get it in ill retackle some of the other refactoring.

freemo commented 6 years ago

Hot damn the other modules are turning into a lot of work. You guys are using libraries so ancient that they arent even versions that exist in maven... I'm updating to the latest versions and significantly editing the code to work with the new libraries.

freemo commented 6 years ago

OpenNARS GUI is now mavenized and pulled out as a module as well. It can be found here: https://github.com/freemo/opennars-gui

freemo commented 6 years ago

OpenNARS web is now mavenized and ready here: https://github.com/freemo/opennars-web

freemo commented 6 years ago

OpenNARS lab now mavenized and ready here: https://github.com/freemo/opennars-lab

The entire project has now been mavenized

https://github.com/freemo/opennars-parent https://github.com/freemo/opennars https://github.com/freemo/opennars-web https://github.com/freemo/opennars-gui https://github.com/freemo/opennars-lab

the pull request here: https://github.com/opennars/opennars/pull/106

Someone needs to find a new proper home for the docs (its own repo), the web client, and we probably want to add maven tasks to run the various components. But for the most part its ready to merge in. Someone obviously needs to create new repos for my forks too.

One final note since someone decided to use a snapshot/unreleased version of JBox2D you need to first clone JBox2D and install it locally (normally this would be handled as a dependency if it were a released version). You can get that here: https://github.com/jbox2d/jbox2d

also make sure you run mvn clean install -DskipTests=true on the projects in the following order. Once we get this deployed to maven central you will be able to compile any project without needing to compile the others. But for now you have to do it manually:

jbox2d opennars-parent opennars opennars-gui opennars-web opennars-lab

OpenNars-lab has dependency on EVERYTHING above, so it must be last.

I will open a ticket encouraging us to migrate away from the snapshot of jbox2D

@patham9 @PtrMan please tag whoever can approve this stuff and get it in. I have a lot more work to do, so the sooner we get it in the sooner I can tackle some of the other tickets for you.

freemo commented 6 years ago

completed