Skip to content
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

'gradle run' fails in simple-jme. A hackers fix is included. #11

Open
tdhargraves opened this issue Jul 26, 2020 · 0 comments
Open

'gradle run' fails in simple-jme. A hackers fix is included. #11

tdhargraves opened this issue Jul 26, 2020 · 0 comments

Comments

@tdhargraves
Copy link

tdhargraves commented Jul 26, 2020

I decided to try and learn Gradle
Simcilica simple-jme seemed to be touted as the 'one-to-use'
I downloaded Simcilica/Examples and tried a 'gradle run' in simple-jme.
Gradle run failed at the line starting "task wrapper".
The error log suggested I upgrade gradle.
I was using Gradle 5.1.1, so I rapidly upgraded to the latest 6.5.1.
I got even more errors :-(

Seems the gradle renamers have been in action.
compile has been replaced by implementation
runtime by runtimeOnly.
These kinds of changes are great for the humble software engineer.
Employment forever...

So I hacked build.gradle so it works with Gradle 6.5.1 and simple-jme.
I simply delete the task wrapper statement. (?).
I used @sgold Stephen Gold's Minie project as a more recent example.
(I added the snippet from his gradle files to reduce warnings).

Please understand that yesterday I knew nothing about gradle.
Now I know about 0.001%

-----------------------------oOo--------------------------------

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'
apply plugin: 'idea'

mainClassName='mygame.Main'
	
repositories {
    jcenter()
}

ext.jmeVersion = "[3.3,)" 

project(":assets") {
    apply plugin: "java"
    
    buildDir = rootProject.file("build/assets")
    
    sourceSets {
        main {
            resources {
                srcDir '.'
            }
        }
    }    
}

dependencies {

    implementation "org.jmonkeyengine:jme3-core:$jmeVersion"
    implementation "org.jmonkeyengine:jme3-desktop:$jmeVersion"
    
    // select one version of LWJGL
    runtimeOnly "org.jmonkeyengine:jme3-lwjgl:$jmeVersion"  // LWJGL 2.x
    //runtimeOnly "org.jmonkeyengine:jme3-lwjgl3:$jmeVersion" // LWJGL 3.x

    // Include these to avoid warnings from AssetConfig.
    runtimeOnly "org.jmonkeyengine:jme3-blender:$jmeVersion"
    runtimeOnly "org.jmonkeyengine:jme3-jogg:$jmeVersion"
    runtimeOnly "org.jmonkeyengine:jme3-plugins:$jmeVersion"

    runtimeOnly project(':assets')    
}

task createDirs {
    
    def pkg = 'mygame'
    def dirs = [
        file("./src/main/java/$pkg"),
        file("./src/main/resources"),
        file("./assets/Interface"),
        file("./assets/MatDefs"),
        file("./assets/Materials"),
        file("./assets/Models"),
        file("./assets/Scenes"),
        file("./assets/Shaders"),
        file("./assets/Sounds"),
        file("./assets/Textures"),    
    ]
    
    dirs.each {
        if( !it.exists() ) {
            println "Creating " + it
            it.mkdirs()
        }
        if( it.listFiles().length == 0 ) {
            def stub = new File(it, 'removeme.txt') 
            println "Creating stub file to allow git checkin, file:$stub"
            stub.text = "Remove me when there are files here."
        }
    }
}
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

No branches or pull requests

1 participant