Skip to content

Commit 6d716cb

Browse files
committed
updated gradle build scripts for apps and watch faces
1 parent b14fe90 commit 6d716cb

File tree

6 files changed

+77
-66
lines changed

6 files changed

+77
-66
lines changed

src/processing/mode/android/AndroidBuild.java

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ class AndroidBuild extends JavaBuild {
7474
// All of these are hard-coded, as the TARGET_SDK. Should obtained from the
7575
// repository files? Or users being able to change them in the preferences
7676
// file?
77-
static public final String SUPPORT_VER = "25.2.0";
78-
static public final String PLAY_SERVICES_VER = "10.2.0";
79-
static public final String WEAR_VER = "2.0.0";
77+
static public final String SUPPORT_VER = "25.3.1";
78+
static public final String PLAY_SERVICES_VER = "11.8.0";
79+
static public final String WEAR_VER = "2.0.5";
8080
static public final String GVR_VER = "1.60.1";
8181

8282
// Main activity or service
@@ -179,7 +179,7 @@ public boolean usesOpenGL() {
179179

180180
public String getPathForAPK() {
181181
String suffix = target.equals("release") ? "release_unsigned" : "debug";
182-
String apkName = module + "/build/outputs/apk/" + sketch.getName().toLowerCase() + "_" + suffix + ".apk";
182+
String apkName = getPathToAPK() + sketch.getName().toLowerCase() + "_" + suffix + ".apk";
183183
final File apkFile = new File(tmpFolder, apkName);
184184
if (!apkFile.exists()) {
185185
return null;
@@ -233,16 +233,12 @@ protected File createProject(boolean external)
233233
File folder = sdk.getBuildToolsFolder();
234234
String[] versions = folder.list();
235235
String[] sorted = PApplet.sort(versions, versions.length);
236-
String buildToolsVer = "";
237-
if (sorted != null && 0 < sorted.length) {
238-
buildToolsVer = sorted[sorted.length - 1];
239-
}
240236

241237
if (sketchClassName != null) {
242238
renderer = info.getRenderer();
243239
writeMainClass(srcFolder, renderer, external);
244-
createTopModule(buildToolsVer, "':" + module +"'");
245-
createAppModule(buildToolsVer, module);
240+
createTopModule("':" + module +"'");
241+
createAppModule(module);
246242
}
247243

248244
return tmpFolder;
@@ -292,7 +288,7 @@ protected boolean gradleBuild() throws SketchException {
292288
// Gradle modules
293289

294290

295-
private void createTopModule(String buildToolsVer, String projectModules)
291+
private void createTopModule(String projectModules)
296292
throws IOException {
297293
File buildTemplate = mode.getContentFile("templates/" + TOP_GRADLE_BUILD_TEMPLATE);
298294
File buildlFile = new File(tmpFolder, "build.gradle");
@@ -310,7 +306,7 @@ private void createTopModule(String buildToolsVer, String projectModules)
310306
}
311307

312308

313-
private void createAppModule(String buildToolsVer, String moduleName)
309+
private void createAppModule(String moduleName)
314310
throws SketchException, IOException {
315311
File moduleFolder = AndroidUtil.createPath(tmpFolder, moduleName);
316312

@@ -332,7 +328,6 @@ private void createAppModule(String buildToolsVer, String moduleName)
332328
HashMap<String, String> replaceMap = new HashMap<String, String>();
333329
replaceMap.put("@@tools_folder@@", Base.getToolsFolder().getPath().replace('\\', '/'));
334330
replaceMap.put("@@target_platform@@", sdk.getTargetPlatform().getPath().replace('\\', '/'));
335-
replaceMap.put("@@build_tools@@", buildToolsVer);
336331
replaceMap.put("@@package_name@@", getPackageName());
337332
replaceMap.put("@@min_sdk@@", minSdk);
338333
replaceMap.put("@@target_sdk@@", TARGET_SDK);
@@ -700,10 +695,6 @@ private void copySupportLibs(File tmpFolder, File libsFolder) throws IOException
700695
aarFile = new File(sdk.getSupportLibrary(),
701696
"/support-vector-drawable/" + SUPPORT_VER + "/support-vector-drawable-" + SUPPORT_VER + ".aar");
702697
Util.copyFile(aarFile, new File(libsFolder, aarFile.getName()));
703-
704-
File compatJarFile = new File(sdk.getSupportLibrary(),
705-
"/support-annotations/" + SUPPORT_VER + "/support-annotations-" + SUPPORT_VER + ".jar");
706-
Util.copyFile(compatJarFile, new File(libsFolder, "support-annotations-" + SUPPORT_VER + ".jar"));
707698
}
708699

709700

@@ -758,7 +749,7 @@ public File exportPackage(String keyStorePassword) throws Exception {
758749

759750
// Final export folder
760751
File exportFolder = createExportFolder("build");
761-
Util.copyDir(new File(projectFolder, module + "/build/outputs/apk"), exportFolder);
752+
Util.copyDir(new File(projectFolder, getPathToAPK()), exportFolder);
762753
return exportFolder;
763754
}
764755

@@ -768,10 +759,10 @@ private File signPackage(File projectFolder, String keyStorePassword) throws Exc
768759
if (keyStore == null) return null;
769760

770761
File unsignedPackage = new File(projectFolder,
771-
module + "/build/outputs/apk/" + sketch.getName().toLowerCase() + "_release_unsigned.apk");
762+
getPathToAPK() + sketch.getName().toLowerCase() + "_release_unsigned.apk");
772763
if (!unsignedPackage.exists()) return null;
773764
File signedPackage = new File(projectFolder,
774-
module + "/build/outputs/apk/" + sketch.getName().toLowerCase() + "_release_signed.apk");
765+
getPathToAPK() + sketch.getName().toLowerCase() + "_release_signed.apk");
775766

776767
JarSigner.signJar(unsignedPackage, signedPackage,
777768
AndroidKeyStore.ALIAS_STRING, keyStorePassword,
@@ -793,7 +784,7 @@ private File zipalignPackage(File signedPackage, File projectFolder)
793784
}
794785

795786
File alignedPackage = new File(projectFolder,
796-
module + "/build/outputs/apk/" + sketch.getName().toLowerCase() + "_release_signed_aligned.apk");
787+
getPathToAPK() + sketch.getName().toLowerCase() + "_release_signed_aligned.apk");
797788

798789
String[] args = {
799790
zipAlign.getAbsolutePath(), "-v", "-f", "4",
@@ -906,18 +897,23 @@ private void copyCodeFolder(final File libsFolder) throws IOException {
906897

907898
private void renameAPK() {
908899
String suffix = target.equals("release") ? "release-unsigned" : "debug";
909-
String apkName = module + "/build/outputs/apk/" + module + "-" + suffix + ".apk";
900+
String apkName = getPathToAPK() + module + "-" + suffix + ".apk";
910901
final File apkFile = new File(tmpFolder, apkName);
911902
if (apkFile.exists()) {
912903
String suffixNew = target.equals("release") ? "release_unsigned" : "debug";
913-
String apkNameNew = module + "/build/outputs/apk/" +
904+
String apkNameNew = getPathToAPK() +
914905
sketch.getName().toLowerCase() + "_" + suffixNew + ".apk";
915906
final File apkFileNew = new File(tmpFolder, apkNameNew);
916907
apkFile.renameTo(apkFileNew);
917908
}
918909
}
919910

920911

912+
private String getPathToAPK() {
913+
return module + "/build/outputs/apk/" + target + "/";
914+
}
915+
916+
921917
/**
922918
* The Android dex util pukes on paths containing spaces, which will happen
923919
* most of the time on Windows, since Processing sketches wind up in

templates/AppBuild.gradle.tmpl

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ apply plugin: 'com.android.application'
22

33
android {
44
compileSdkVersion @@target_sdk@@
5-
buildToolsVersion "@@build_tools@@"
65
defaultConfig {
76
applicationId "@@package_name@@"
87
minSdkVersion @@min_sdk@@
@@ -12,6 +11,10 @@ android {
1211
vectorDrawables.useSupportLibrary = true
1312
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1413
}
14+
compileOptions {
15+
sourceCompatibility JavaVersion.VERSION_1_8
16+
targetCompatibility JavaVersion.VERSION_1_8
17+
}
1518
buildTypes {
1619
debug {
1720
debuggable true
@@ -24,14 +27,12 @@ android {
2427
}
2528

2629
dependencies {
27-
compile fileTree(include: ['*.jar'], dir: 'libs')
28-
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
29-
exclude group: 'com.android.support', module: 'support-annotations'
30-
})
31-
compile 'com.android.support:appcompat-v7:@@support_version@@'
32-
compile 'com.android.support:design:@@support_version@@'
33-
provided 'com.google.android.wearable:wearable:@@wear_version@@'
34-
compile 'com.google.android.support:wearable:@@wear_version@@'
35-
testCompile 'junit:junit:4.12'
36-
compile files('libs/processing-core.jar')
30+
implementation fileTree(include: ['*.jar'], dir: 'libs')
31+
implementation 'com.android.support:appcompat-v7:@@support_version@@'
32+
implementation 'com.android.support:design:@@support_version@@'
33+
compileOnly 'com.google.android.wearable:wearable:@@wear_version@@'
34+
implementation files('libs/processing-core.jar')
35+
testImplementation 'junit:junit:4.12'
36+
androidTestImplementation 'com.android.support.test:runner:1.0.1'
37+
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
3738
}

templates/AppBuildECJ.gradle.tmpl

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ apply plugin: 'com.android.application'
22

33
android {
44
compileSdkVersion @@target_sdk@@
5-
buildToolsVersion "@@build_tools@@"
65
defaultConfig {
76
applicationId "@@package_name@@"
87
minSdkVersion @@min_sdk@@
@@ -12,7 +11,10 @@ android {
1211
vectorDrawables.useSupportLibrary = true
1312
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1413
}
15-
14+
compileOptions {
15+
sourceCompatibility JavaVersion.VERSION_1_8
16+
targetCompatibility JavaVersion.VERSION_1_8
17+
}
1618
buildTypes {
1719
debug {
1820
debuggable true
@@ -58,7 +60,7 @@ android {
5860

5961
// Running the JavaExec task, which requires the main class to run,
6062
// the classpath, and the list of arguments
61-
// https://docs.gradle.org/3.5/dsl/org.gradle.api.tasks.JavaExec.html#org.gradle.api.tasks.JavaExec:main
63+
// https://docs.gradle.org/4.4/dsl/org.gradle.api.tasks.JavaExec.html#org.gradle.api.tasks.JavaExec:main
6264
javaexec {
6365
main ecjMain
6466
classpath ecjClasspath
@@ -73,11 +75,10 @@ android {
7375
}
7476

7577
dependencies {
76-
provided files('@@tools_folder@@/../modes/java/mode/org.eclipse.jdt.core.jar')
77-
compile fileTree(include: ['*.jar'], dir: 'libs')
78-
compile 'com.android.support:appcompat-v7:@@support_version@@'
79-
compile 'com.android.support:design:@@support_version@@'
80-
provided 'com.google.android.wearable:wearable:@@wear_version@@'
81-
compile 'com.google.android.support:wearable:@@wear_version@@'
82-
compile files('libs/processing-core.jar')
78+
compileOnly files('@@tools_folder@@/../modes/java/mode/org.eclipse.jdt.core.jar')
79+
implementation fileTree(dir: 'libs', include: ['*.jar'])
80+
implementation 'com.android.support:appcompat-v7:@@support_version@@'
81+
implementation 'com.android.support:design:@@support_version@@'
82+
compileOnly 'com.google.android.wearable:wearable:@@wear_version@@'
83+
implementation files('libs/processing-core.jar')
8384
}

templates/TopBuild.gradle.tmpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22

33
buildscript {
4+
45
repositories {
6+
google()
57
jcenter()
68
}
79
dependencies {
8-
classpath 'com.android.tools.build:gradle:2.3.2'
10+
classpath 'com.android.tools.build:gradle:3.0.1'
911

1012
// NOTE: Do not place your application dependencies here; they belong
1113
// in the individual module build.gradle files
@@ -14,10 +16,8 @@ buildscript {
1416

1517
allprojects {
1618
repositories {
19+
google()
1720
jcenter()
18-
maven {
19-
url "https://maven.google.com"
20-
}
2121
}
2222
}
2323

templates/WearBuild.gradle.tmpl

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@ apply plugin: 'com.android.application'
22

33
android {
44
compileSdkVersion @@target_sdk@@
5-
buildToolsVersion "@@build_tools@@"
65
defaultConfig {
76
applicationId "@@package_name@@"
87
minSdkVersion @@min_sdk@@
98
targetSdkVersion @@target_sdk@@
109
versionCode @@version_code@@
1110
versionName "@@version_name@@"
1211
}
12+
compileOptions {
13+
sourceCompatibility JavaVersion.VERSION_1_8
14+
targetCompatibility JavaVersion.VERSION_1_8
15+
}
1316
buildTypes {
1417
debug {
1518
debuggable true
@@ -23,11 +26,13 @@ android {
2326

2427
dependencies {
2528
compile fileTree(dir: 'libs', include: ['*.jar'])
26-
compile 'com.android.support:palette-v7:@@support_version@@'
27-
compile 'com.google.android.gms:play-services-fitness:@@play_services_version@@'
28-
compile 'com.google.android.gms:play-services-wearable:@@play_services_version@@'
29-
compile 'com.android.support:support-v13:@@support_version@@'
30-
provided 'com.google.android.wearable:wearable:@@wear_version@@'
31-
compile 'com.google.android.support:wearable:@@wear_version@@'
32-
compile files('libs/processing-core.jar')
29+
implementation fileTree(dir: 'libs', include: ['*.jar'])
30+
implementation 'com.android.support:palette-v7:@@support_version@@'
31+
implementation 'com.android.support:support-v4:@@support_version@@'
32+
implementation 'com.google.android.gms:play-services-wearable:@@play_services_version@@'
33+
implementation 'com.android.support:percent:@@support_version@@'
34+
implementation 'com.android.support:recyclerview-v7:@@support_version@@'
35+
implementation 'com.google.android.support:wearable:@@wear_version@@'
36+
compileOnly 'com.google.android.wearable:wearable:@@wear_version@@'
37+
implementation files('libs/processing-core.jar')
3338
}

templates/WearBuildECJ.gradle.tmpl

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@ apply plugin: 'com.android.application'
22

33
android {
44
compileSdkVersion @@target_sdk@@
5-
buildToolsVersion "@@build_tools@@"
65
defaultConfig {
76
applicationId "@@package_name@@"
87
minSdkVersion @@min_sdk@@
98
targetSdkVersion @@target_sdk@@
109
versionCode @@version_code@@
1110
versionName "@@version_name@@"
1211
}
12+
compileOptions {
13+
sourceCompatibility JavaVersion.VERSION_1_8
14+
targetCompatibility JavaVersion.VERSION_1_8
15+
}
1316
buildTypes {
1417
debug {
1518
debuggable true
@@ -70,13 +73,18 @@ android {
7073
}
7174

7275
dependencies {
73-
provided files('@@tools_folder@@/../modes/java/mode/org.eclipse.jdt.core.jar')
74-
compile fileTree(dir: 'libs', include: ['*.jar'])
75-
compile 'com.android.support:palette-v7:@@support_version@@'
76-
compile 'com.google.android.gms:play-services-fitness:@@play_services_version@@'
77-
compile 'com.google.android.gms:play-services-wearable:@@play_services_version@@'
78-
compile 'com.android.support:support-v13:@@support_version@@'
79-
provided 'com.google.android.wearable:wearable:@@wear_version@@'
80-
compile 'com.google.android.support:wearable:@@wear_version@@'
81-
compile files('libs/processing-core.jar')
76+
compileOnly files('@@tools_folder@@/../modes/java/mode/org.eclipse.jdt.core.jar')
77+
implementation fileTree(dir: 'libs', include: ['*.jar'])
78+
implementation 'com.android.support:palette-v7:@@support_version@@'
79+
implementation 'com.android.support:support-v4:@@support_version@@'
80+
implementation 'com.google.android.gms:play-services-wearable:@@play_services_version@@'
81+
implementation 'com.android.support:percent:@@support_version@@'
82+
implementation 'com.android.support:recyclerview-v7:@@support_version@@'
83+
implementation 'com.google.android.support:wearable:@@wear_version@@'
84+
compileOnly 'com.google.android.wearable:wearable:@@wear_version@@'
85+
implementation files('libs/processing-core.jar')
8286
}
87+
88+
89+
90+

0 commit comments

Comments
 (0)