How to build Minie from source

Hi @sgold , I have managed to build Minie from source. As explained in your guide, it can be done without an IDE.

I will give a brief guide to my attempts here in case anyone else encounters the same problems. I downloaded the project using the command:

  1. git clone https://github.com/stephengold/Minie.git

I tried to import the project into 3 different IDEs:

I built the MinieLibrary project, installed it on the local Maven repository and imported it into my project with gradle.

  1. gradlew :MinieLibrary:assemble

  2. gradlew clean install

repositories {
    mavenLocal() // to find libraries installed locally
    mavenCentral() // to find libraries released to the Maven Central repository
}
dependencies {
    //implementation 'com.github.stephengold:Minie:7.7.0+big3'
    implementation 'com.github.stephengold:Minie:7.7.1-SNAPSHOT'
}

Over the next few days I will be testing the new functionality on my project.
Is there anything in particular you would like to test?

2 Likes

As you may have heard, I’m a NetBeans fanatic, and since I love my Shift+F6, I’m still using NetBeans 18.

I used to provide NetBeans and JME SDK instructions for my projects, but it was awkward. When all you want to do is build/install/run a project without making any modifications, an IDE only gets in the way.

Is there anything in particular you would like to test?

I suggest focusing on collision detection, especially the relatively recent features:

  • getter and setter for the contact manager
  • the 4-argument PhysicsSpace.addContactListener() method
  • the PhysicsSpace.listManifolds() method
  • the contactTest() and pairTest() methods
1 Like

He he yes, I have heard that, I have been a frequent visitor to the forum for several years now, and it is always interesting to discover different points of view :wink:
I have been using Eclipse for over 15 years. I just use NetBeans with the SDK. I think I will also invest some time with IntelliJ just for fun.

1 Like

I’m curious about this, since the subprojects in Minie aren’t much different from those in other projects, such as jmonkeyengine, which (I assume) work fine with Eclipse.

My initial guess would be that perhaps Eclipse doesn’t support Gradle version 8. (The jmonkeyengine repo still specifies Gradle v7.6.3.) In which case reverting the Minie repo to Gradle 7 might resolve the issue you encountered.

1 Like

Eclipse is terrible on subprojects. With Maven at least. It is not impossible to use it. But a road of hardships. NB and IntelliJ seems to handle these well in my experience. Feels that it needs some love on Eclipse’s side, not on user’s side.

2 Likes

Yeah, a few long-standing Eclipse bugs keep my day-job project on ‘red’ for the remaining eclipse hold-outs. Related to circular dependencies that aren’t really circular, etc…

Both eclipse and maven kind of had ‘project hierarchies’ shoe-horned in late into development and it shows even to this day in some small and major ways.

1 Like

This is what the jMonkeyEngine project looks like when imported into Eclipse. The subprojects all compile except for the Android examples. The gradle tasks are also recognized correctly. I don’t know why ‘Minie’ is not imported correctly into Eclipse.

Edit:
This is the compilation error that Eclipse gives for Minie:

* What went wrong:
A problem occurred evaluating settings 'Minie'.
> Could not find method dependencyResolutionManagement() for arguments [settings_6ya9vixcd9izte8w55v68ric1$_run_closure1@18420d69] on settings 'Minie' of type org.gradle.initialization.DefaultSettings.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 36ms

Edit 2:
Correction: JME is also imported strangely by Eclipse.

1 Like

It’s nice to know about these issues, but I don’t know where to begin trying to solve them.

1 Like

This is a problem, if I can’t compile the source code, I can’t send PR. I wonder how many people are still using Eclipse. If I am in the minority I will learn IntelliJ, otherwise this remains a big problem. If anyone knows how to solve it, I would appreciate some help.

1 Like

Regardless of IDE restrictions, the command line will always work for compiling and I’d argue that it’s the best last step before submitting PRs, anyway… just to remove any possibility of IDE magic making things behave differently.

So the word “can’t” may be a bit extreme?

“If it’s less convenient to compile the source code, it’s less convenient to send PR.” might be better. And is a fair enough complaint on its own, I guess. But working around Eclipse bugs can be a full time job sometimes.

1 Like