Skip to content

Commit 57cc99e

Browse files
committed
include android and ios example modules only when their tasks are called
1 parent 415a257 commit 57cc99e

2 files changed

Lines changed: 48 additions & 7 deletions

File tree

build.gradle

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,30 @@ tasks.register('run') {
8585
description = 'Run the jME3 examples'
8686
}
8787

88+
tasks.register('runAndroidExamples') {
89+
description = 'Run the Android examples selector'
90+
def androidExamplesProject = findProject(':jme3-android-examples')
91+
if (androidExamplesProject != null) {
92+
dependsOn ':jme3-android-examples:runAndroidExamples'
93+
} else {
94+
doLast {
95+
throw new GradleException('Android examples are not available. Request an Android examples task and configure an Android SDK.')
96+
}
97+
}
98+
}
99+
100+
tasks.register('runIosExamples') {
101+
description = 'Run the iOS examples selector'
102+
def iosExamplesProject = findProject(':jme3-ios-examples')
103+
if (iosExamplesProject != null) {
104+
dependsOn ':jme3-ios-examples:runIosExamples'
105+
} else {
106+
doLast {
107+
throw new GradleException('iOS examples are not available. Request an iOS examples task.')
108+
}
109+
}
110+
}
111+
88112
defaultTasks 'run'
89113

90114
def libDist = tasks.register('libDist') {

settings.gradle

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,22 @@ plugins {
1717
rootProject.name = 'jmonkeyengine'
1818

1919
def androidExamplesMinCompileSdk = 34
20-
def isMacOs = System.getProperty('os.name').toLowerCase(Locale.ROOT).contains('mac')
20+
def isAndroidExamplesTaskRequested = {
21+
gradle.startParameter.taskNames.any { taskName ->
22+
taskName == 'runAndroidExamples'
23+
|| taskName == ':runAndroidExamples'
24+
|| taskName == 'jme3-android-examples'
25+
|| taskName.startsWith(':jme3-android-examples:')
26+
}
27+
}
28+
def isIosExamplesTaskRequested = {
29+
gradle.startParameter.taskNames.any { taskName ->
30+
taskName == 'runIosExamples'
31+
|| taskName == ':runIosExamples'
32+
|| taskName == 'jme3-ios-examples'
33+
|| taskName.startsWith(':jme3-ios-examples:')
34+
}
35+
}
2136

2237
def findAndroidSdk = {
2338
def sdkDirs = []
@@ -94,13 +109,15 @@ include 'jme3-testdata'
94109
include 'jme3-examples'
95110
include 'jme3-awt-dialogs'
96111

97-
def androidSdk = findAndroidSdk()
98-
if (androidSdk != null) {
99-
System.setProperty('android.home', androidSdk.dir.absolutePath)
100-
gradle.ext.androidExamplesCompileSdk = androidSdk.compileSdk
101-
include 'jme3-android-examples'
112+
if (isAndroidExamplesTaskRequested()) {
113+
def androidSdk = findAndroidSdk()
114+
if (androidSdk != null) {
115+
System.setProperty('android.home', androidSdk.dir.absolutePath)
116+
gradle.ext.androidExamplesCompileSdk = androidSdk.compileSdk
117+
include 'jme3-android-examples'
118+
}
102119
}
103-
if (isMacOs) {
120+
if (isIosExamplesTaskRequested()) {
104121
include 'jme3-ios-examples'
105122
}
106123
include 'jme3-screenshot-tests'

0 commit comments

Comments
 (0)