//apply plugin:'application'

if (!hasProperty('mainClass')) {
    ext.mainClass = 'jme3test.TestChooser'
}

//mainClassName = ext.mainClass

dependencies {
    compile project(':jme3-blender')
    compile project(':jme3-core')
    compile project(':jme3-desktop')
    compile project(':jme3-effects')
//    compile project(':jme3-bullet')
    compile project(':jme3-jbullet')
    compile project(':jme3-jogg')
//    compile project(':jme3-jogl')
    compile project(':jme3-lwjgl')
    compile project(':jme3-networking')
    compile project(':jme3-niftygui')
    compile project(':jme3-plugins')
    compile project(':jme3-terrain')
    compile project(':jme3-testdata')
}

jar.doFirst{
    manifest {
        attributes('Manifest-Version'       : '1.0',
//                'Created-By'             : vendor,
//                'Specification-Title'    : appName,
//                'Specification-Version'  : jmeVersion,
//                'Specification-Vendor'   : "jMonkeyEngine",
//                'Implementation-Title'   : appName,
//                'Implementation-Version' : version,
//                'Implementation-Vendor'  : vendor,
                'Main-Class'             : getProperty('mainClass'),
                // Add dependencies to manifest, remove version
                'Class-Path'             : configurations.compile.resolvedConfiguration.resolvedArtifacts.collect {
                                                        'lib/' +
                                                        it.name +
                                                        it.classifier != null ? '-' + it.classifier : '' +
                                                        '.' + it.extension }.join(' ') 
        )
    }
}

task dist (dependsOn: ['build', ':jme3-jogl:jar', ':jme3-bullet:jar']){
    // Copy all dependencies to ../dist/lib, remove versions from jar files
    configurations.compile.resolvedConfiguration.resolvedArtifacts.each { artifact ->
        copy {
            from artifact.file
            into '../dist/lib'
            if(artifact.classifier != null){
                rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
            } else{
                rename { "${artifact.name}.${artifact.extension}" }
            }
        }
    }
    copy { 
        from jar.archivePath
        into '../dist'
        rename { "jMonkeyEngine3.jar" }
    }
    // Copy JOGL packages, remove version
    def config = project(':jme3-jogl').configurations.runtime.copyRecursive({ !(it instanceof ProjectDependency); })
    config.resolvedConfiguration.resolvedArtifacts.each {artifact -> 
        copy{
            from artifact.file
            into '../dist/opt/jogl/lib'
            if(artifact.classifier != null){
                rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
            } else{
                rename { "${artifact.name}.${artifact.extension}" }
            }
        }
    }
    copy { 
        from project(':jme3-jogl').jar.archivePath
        into '../dist/opt/jogl'
        rename {project(':jme3-jogl').name+".jar"}
    }
    
    // Copy bullet packages, remove version
    copy { 
        from project(':jme3-bullet').jar.archivePath
        into '../dist/opt/native-bullet'
        rename {project(':jme3-bullet').name+".jar"}
    }
    copy { 
        from project(':jme3-bullet-native').jar.archivePath
        into '../dist/opt/native-bullet'
        rename {"jme3-bullet-natives.jar"}
    }
}
