At this point, the only external dependencies is the core JME as well as the test data for the sake of the controller textures.
122 lines
3.2 KiB
Groovy
122 lines
3.2 KiB
Groovy
/*
|
|
* Copyright 2020 Markil 3. All rights reserved.
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
import org.apache.tools.ant.taskdefs.condition.Os
|
|
|
|
import java.nio.file.Files
|
|
|
|
buildscript {
|
|
repositories {
|
|
jcenter()
|
|
google()
|
|
}
|
|
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:4.1.0'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
// Apply the java plugin to add support for Java
|
|
id "application"
|
|
id "distribution"
|
|
id "com.github.johnrengelman.shadow" version "5.0.0"
|
|
id "edu.sc.seis.launch4j" version "2.4.5"
|
|
id "edu.sc.seis.macAppBundle" version "2.3.0"
|
|
}
|
|
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
mavenCentral()
|
|
maven { url 'https://jitpack.io' }
|
|
maven {
|
|
url "https://dl.bintray.com/jmonkeyengine/org.jmonkeyengine"
|
|
}
|
|
}
|
|
|
|
sourceCompatibility = "1.8"
|
|
targetCompatibility = "1.8"
|
|
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
|
|
|
|
ext {
|
|
jme3 = [version: '3.3.2-stable', g: 'org.jmonkeyengine']
|
|
versionNumber = 3
|
|
}
|
|
|
|
dependencies {
|
|
// Logging
|
|
implementation "org.slf4j:slf4j-api:1.7.15"
|
|
implementation "org.slf4j:slf4j-simple:1.7.5"
|
|
|
|
implementation "${jme3.g}:jme3-core:${jme3.version}"
|
|
implementation "${jme3.g}:jme3-desktop:${jme3.version}"
|
|
implementation 'org.jmonkeyengine:jme3-testdata:3.3.2-stable'
|
|
|
|
implementation "${jme3.g}:jme3-lwjgl3:${jme3.version}"
|
|
}
|
|
|
|
// Define the main class for the application
|
|
mainClassName = 'markil3.controller.Main'
|
|
|
|
|
|
run {
|
|
if (project.hasProperty("appArgs")) {
|
|
args Eval.me(appArgs)
|
|
}
|
|
}
|
|
|
|
jar {
|
|
manifest {
|
|
attributes "Main-Class": mainClassName,
|
|
"Class-Path": configurations.runtime.files.collect {
|
|
"lib/$it.name"
|
|
}.join(" "),
|
|
"Implementation-Title": rootProject.displayName,
|
|
"Implementation-Version": rootProject.version,
|
|
"Version-Code": versionNumber
|
|
}
|
|
}
|
|
|
|
shadowJar {
|
|
baseName rootProject.name
|
|
classifier "universal"
|
|
version = rootProject.version
|
|
mainClassName = project.mainClassName
|
|
}
|
|
|
|
launch4j {
|
|
mainClassName = project.mainClassName
|
|
outfile = rootProject.name + "-" + project.version + "-windows.exe"
|
|
copyConfigurable = shadowJar.outputs.files
|
|
jar = shadowJar.getArchiveFile()
|
|
bundledJrePath = "jre"
|
|
//icon = new File(sourceSets.main.resources.srcDirs[0], "icon256.ico")
|
|
}
|
|
|
|
createExe.doLast({
|
|
println project.tasks.installDist.outputs.files.getClass()
|
|
for (file in new File(installDist.outputs.files[0], "lib").listFiles()) {
|
|
println file
|
|
}
|
|
})
|
|
|
|
macAppBundle {
|
|
mainClassName = project.mainClassName
|
|
icon = "myIcon.icns"
|
|
if (Os.isFamily(Os.FAMILY_MAC) && (appStyle == 'Oracle' || appStyle == 'universalJavaApplicationStub')) {
|
|
bundleJRE = true
|
|
}
|
|
javaProperties.put("apple.laf.useScreenMenuBar", "true")
|
|
backgroundImage = "doc/macbackground.png"
|
|
jarTask = "shadowJar"
|
|
}
|
|
|