Files
JMEControllerConfig/desktopLegacy/build.gradle

92 lines
2.9 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
plugins {
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"
}
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
dependencies {
implementation(project(':desktop')) {
exclude module: "jme3-lwjgl3"
exclude group: "org.lwjgl"
}
implementation "${jme3.g}:jme3-lwjgl:${jme3.version}"
// implementation rootProject.files('libs/jme3-lwjgl.jar')
// implementation 'org.lwjgl.lwjgl:lwjgl:2.9.3'
// /*
// * Upgrades the default jinput-2.0.5 to jinput-2.0.9 to fix a bug with gamepads on Linux.
// * See https://hub.jmonkeyengine.org/t/linux-gamepad-input-on-jme3-lwjgl-splits-input-between-two-logical-gamepads
// */
// implementation 'net.java.jinput:jinput:2.0.9'
// implementation 'net.java.jinput:jinput:2.0.9:natives-all'
}
// Define the main class for the application
mainClassName = 'markil3.controller.Main'
/*
* TODO - The default zipped distributions are a bit of a mess.
*/
jar {
baseName rootProject.name
version rootProject.version
manifest {
attributes "Main-Class": mainClassName,
"Class-Path": configurations.runtime.files.collect {
"lib/$it.name"
}.join(" "),
"Implementation-Title": rootProject.name,
"Implementation-Version": rootProject.version,
"Version-Code": versionNumber
}
}
shadowJar {
archivesBaseName = rootProject.name
archiveClassifier = "universal-lwjgl2"
version = rootProject.version
mainClassName = project.mainClassName
}
launch4j {
mainClassName = project.mainClassName
outfile = rootProject.name + "-" + rootProject.version + "-windows-lwjgl2.exe"
copyConfigurable = shadowJar.outputs.files
jar = shadowJar.archiveFile.get()
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"
}