5 Star 7 Fork 2

Gitee 极速下载/jmonkeyengine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/jMonkeyEngine/jmonkeyengine
克隆/下载
build.gradle 8.20 KB
一键复制 编辑 原始数据 按行查看 历史
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
buildscript {
repositories {
mavenCentral()
google()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath libs.android.build.gradle
classpath libs.gradle.retrolambda
classpath libs.spotbugs.gradle.plugin
}
}
allprojects {
repositories {
mavenCentral()
google()
}
tasks.withType(Jar) {
duplicatesStrategy = 'include'
}
}
// Set the license for IDEs that understand this
ext.license = file("$rootDir/source-file-header-template.txt")
apply plugin: 'base'
apply plugin: 'com.github.spotbugs'
apply from: file('version.gradle')
apply plugin: 'me.tatarka.retrolambda'
// This is applied to all sub projects
subprojects {
if(!project.name.equals('jme3-android-examples')) {
apply from: rootProject.file('common.gradle')
} else {
apply from: rootProject.file('common-android-app.gradle')
}
if (!project.name.endsWith("-native") && enableSpotBugs != "false" ) {
apply plugin: 'com.github.spotbugs'
// Currently we only warn about issues and try to fix them as we go, but those aren't mission critical.
spotbugs {
ignoreFailures = true
toolVersion = '4.8.6'
}
tasks.withType(com.github.spotbugs.snom.SpotBugsTask ) {
reports {
html.enabled = !project.hasProperty("xml-reports")
xml.enabled = project.hasProperty("xml-reports")
}
}
}
}
task run(dependsOn: ':jme3-examples:run') {
description = 'Run the jME3 examples'
}
defaultTasks 'run'
task libDist(dependsOn: subprojects.build, description: 'Builds and copies the engine binaries, sources and javadoc to build/libDist') {
doLast {
File libFolder = mkdir("$buildDir/libDist/lib")
File sourceFolder = mkdir("$buildDir/libDist/sources")
File javadocFolder = mkdir("$buildDir/libDist/javadoc")
subprojects.each {project ->
if(!project.hasProperty('mainClassName')){
project.tasks.withType(Jar).each {archiveTask ->
String classifier = archiveTask.archiveClassifier.get()
String ext = archiveTask.archiveExtension.get()
if (classifier == "sources") {
copy {
from archiveTask.archivePath
into sourceFolder
rename {project.name + '-' + classifier + '.' + ext}
}
} else if (classifier == "javadoc") {
copy {
from archiveTask.archivePath
into javadocFolder
rename {project.name + '-' + classifier + '.' + ext}
}
} else{
copy {
from archiveTask.archivePath
into libFolder
rename {project.name + '.' + ext}
}
}
}
}
}
}
}
task createZipDistribution(type:Zip,dependsOn:["dist","libDist"], description:"Package the nightly zip distribution"){
archiveFileName = provider {
"jME" + jmeFullVersion + ".zip"
}
into("/") {
from {"./dist"}
}
into("/sources") {
from {"$buildDir/libDist/sources"}
}
}
task copyLibs(type: Copy){
// description 'Copies the engine dependencies to build/libDist'
from {
subprojects*.configurations*.implementation*.copyRecursive({ !(it instanceof ProjectDependency); })*.resolve()
}
into "$buildDir/libDist/lib-ext" //buildDir.path + '/' + libsDirName + '/lib'
}
task dist(dependsOn: [':jme3-examples:dist', 'mergedJavadoc']){
description 'Creates a jME3 examples distribution with all jme3 binaries, sources, javadoc and external libraries under ./dist'
}
def mergedJavadocSubprojects = [
":jme3-android",
":jme3-core",
":jme3-desktop",
":jme3-effects",
":jme3-ios",
":jme3-jbullet",
":jme3-jogg",
":jme3-lwjgl",
":jme3-lwjgl3",
":jme3-networking",
":jme3-niftygui",
":jme3-plugins",
":jme3-terrain",
":jme3-vr"
]
task mergedJavadoc(type: Javadoc, description: 'Creates Javadoc from all the projects.') {
title = 'jMonkeyEngine3'
destinationDir = mkdir("dist/javadoc")
options.encoding = 'UTF-8'
// Allows Javadoc to be generated on Java 8 despite doclint errors.
if (JavaVersion.current().isJava8Compatible()) {
options.addStringOption('Xdoclint:none', '-quiet')
}
options.overview = file("javadoc-overview.html")
source = mergedJavadocSubprojects.collect { project(it).sourceSets.main.allJava }
classpath = files(mergedJavadocSubprojects.collect { project(it).sourceSets.main.compileClasspath })
}
clean.dependsOn('cleanMergedJavadoc')
task cleanMergedJavadoc(type: Delete) {
delete file('dist/javadoc')
}
task mergedSource(type: Copy){
}
ext {
ndkCommandPath = ""
ndkExists = false
}
task configureAndroidNDK {
def ndkBuildFile = "ndk-build"
// if windows, use ndk-build.cmd instead
if (System.properties['os.name'].toLowerCase().contains('windows')) {
ndkBuildFile = "ndk-build.cmd"
}
// ndkPath is defined in the root project gradle.properties file
String ndkBuildPath = ndkPath + File.separator + ndkBuildFile
//Use the environment variable for the NDK location if defined
if (System.env.ANDROID_NDK != null) {
ndkBuildPath = System.env.ANDROID_NDK + File.separator + ndkBuildFile
}
if (new File(ndkBuildPath).exists()) {
ndkExists = true
ndkCommandPath = ndkBuildPath
}
}
gradle.rootProject.ext.set("usePrebuildNatives", buildNativeProjects!="true");
if (skipPrebuildLibraries != "true" && buildNativeProjects != "true") {
String rootPath = rootProject.projectDir.absolutePath
Properties nativesSnapshotProp = new Properties()
File nativesSnapshotPropF = new File("${rootPath}/natives-snapshot.properties");
if (nativesSnapshotPropF.exists()) {
nativesSnapshotPropF.withInputStream { nativesSnapshotProp.load(it) }
String nativesSnapshot = nativesSnapshotProp.getProperty("natives.snapshot");
String nativesUrl = PREBUILD_NATIVES_URL.replace('${natives.snapshot}', nativesSnapshot)
println "Use natives snapshot: " + nativesUrl
String nativesZipFile = "${rootPath}" + File.separator + "build" + File.separator + nativesSnapshot + "-natives.zip"
String nativesPath = "${rootPath}" + File.separator + "build" + File.separator + "native"
task getNativesZipFile {
outputs.file nativesZipFile
doFirst {
File target = file(nativesZipFile);
println("Download natives from " + nativesUrl + " to " + nativesZipFile);
target.getParentFile().mkdirs();
ant.get(src: nativesUrl, dest: target);
}
}
task extractPrebuiltNatives {
inputs.file nativesZipFile
outputs.dir nativesPath
dependsOn getNativesZipFile
doFirst {
for (File src : zipTree(nativesZipFile)) {
String srcRel = src.getAbsolutePath().substring((int) (nativesZipFile.length() + 1));
srcRel = srcRel.substring(srcRel.indexOf(File.separator) + 1);
File dest = new File(nativesPath + File.separator + srcRel);
boolean doCopy = !(dest.exists() && dest.lastModified() > src.lastModified())
if (doCopy) {
println("Copy " + src + " " + dest);
dest.getParentFile().mkdirs();
Files.copy(src.toPath(), dest.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
}
}
}
assemble.dependsOn extractPrebuiltNatives
}
}
retrolambda {
javaVersion JavaVersion.VERSION_1_7
incremental true
jvmArgs '-noverify'
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/mirrors/jmonkeyengine.git
[email protected]:mirrors/jmonkeyengine.git
mirrors
jmonkeyengine
jmonkeyengine
master

搜索帮助