@@ -72,6 +72,8 @@ class AndroidBuild extends JavaBuild {
72
72
static private final String TOP_GRADLE_BUILD_TEMPLATE = "TopBuild.gradle.tmpl" ;
73
73
static private final String GRADLE_SETTINGS_TEMPLATE = "Settings.gradle.tmpl" ;
74
74
static private final String FRAGMENT_GRADLE_BUILD_TEMPLATE = "FragmentBuild.gradle.tmpl" ;
75
+ static private final String HANDHELD_GRADLE_BUILD_TEMPLATE = "HandheldBuild.gradle.tmpl" ;
76
+ static private final String WEARABLE_GRADLE_BUILD_TEMPLATE = "WearableBuild.gradle.tmpl" ;
75
77
76
78
// TODO: ask base package name when exporting signed apk
77
79
// static final String basePackage = "changethispackage.beforesubmitting.tothemarket";
@@ -1521,7 +1523,7 @@ protected void createGradleProject(File projectFolder, File exportFolder) throws
1521
1523
if (appComponent == WATCHFACE ) {
1522
1524
createTopModule (projectFolder , exportFolder , "':mobile', ':wear'" );
1523
1525
createMobileModule (projectFolder , exportFolder , "24.0.1" );
1524
- createWearModule (projectFolder , exportFolder , "24.0.1" );
1526
+ createWearModule (new File ( projectFolder , "wear" ) , exportFolder , "24.0.1" );
1525
1527
} else {
1526
1528
createTopModule (projectFolder , exportFolder , "':app'" );
1527
1529
createAppModule (projectFolder , exportFolder , "24.0.1" );
@@ -1553,12 +1555,11 @@ private void createTopModule(File projectFolder, File exportFolder,
1553
1555
1554
1556
private void createAppModule (File projectFolder , File exportFolder , String buildToolsVer )
1555
1557
throws SketchException , IOException {
1556
- File appFolder = mkdirs (exportFolder , "app" );
1558
+ File moduleFolder = mkdirs (exportFolder , "app" );
1557
1559
1558
1560
File appBuildTemplate = mode .getContentFile ("templates/" + FRAGMENT_GRADLE_BUILD_TEMPLATE );
1559
- File appBuildFile = new File (appFolder , "build.gradle" );
1560
- HashMap <String , String > replaceMap = new HashMap <String , String >();
1561
-
1561
+ File appBuildFile = new File (moduleFolder , "build.gradle" );
1562
+ HashMap <String , String > replaceMap = new HashMap <String , String >();
1562
1563
replaceMap .put ("@@build_tools@@" , buildToolsVer );
1563
1564
replaceMap .put ("@@package_name@@" , getPackageName ());
1564
1565
replaceMap .put ("@@min_sdk@@" , AndroidBuild .min_sdk_fragment );
@@ -1567,14 +1568,14 @@ private void createAppModule(File projectFolder, File exportFolder, String build
1567
1568
replaceMap .put ("@@version_name@@" , manifest .getVersionName ());
1568
1569
AndroidMode .createFileFromTemplate (appBuildTemplate , appBuildFile , replaceMap );
1569
1570
1570
- writeFile (new File (appFolder , "proguard-rules.pro" ),
1571
+ writeFile (new File (moduleFolder , "proguard-rules.pro" ),
1571
1572
new String []{"# Add project specific ProGuard rules here." });
1572
1573
1573
1574
File coreFile = new File (projectFolder , "libs/processing-core.jar" );
1574
- File libsFolder = mkdirs (appFolder , "libs" );
1575
+ File libsFolder = mkdirs (moduleFolder , "libs" );
1575
1576
Util .copyFile (coreFile , new File (libsFolder , "processing-core.jar" ));
1576
1577
1577
- File mainFolder = mkdirs (appFolder , "src/main" );
1578
+ File mainFolder = mkdirs (moduleFolder , "src/main" );
1578
1579
File javaFolder = mkdirs (mainFolder , "java" );
1579
1580
File resFolder = mkdirs (mainFolder , "res" );
1580
1581
@@ -1586,12 +1587,62 @@ private void createAppModule(File projectFolder, File exportFolder, String build
1586
1587
1587
1588
private void createMobileModule (File projectFolder , File exportFolder , String buildToolsVer )
1588
1589
throws SketchException , IOException {
1590
+ File moduleFolder = mkdirs (exportFolder , "mobile" );
1591
+
1592
+ File appBuildTemplate = mode .getContentFile ("templates/" + HANDHELD_GRADLE_BUILD_TEMPLATE );
1593
+ File appBuildFile = new File (moduleFolder , "build.gradle" );
1594
+ HashMap <String , String > replaceMap = new HashMap <String , String >();
1595
+ replaceMap .put ("@@build_tools@@" , buildToolsVer );
1596
+ replaceMap .put ("@@package_name@@" , getPackageName ());
1597
+ replaceMap .put ("@@min_sdk@@" , AndroidBuild .min_sdk_handheld );
1598
+ replaceMap .put ("@@target_sdk@@" , AndroidBuild .target_sdk );
1599
+ replaceMap .put ("@@version_code@@" , manifest .getVersionCode ());
1600
+ replaceMap .put ("@@version_name@@" , manifest .getVersionName ());
1601
+ AndroidMode .createFileFromTemplate (appBuildTemplate , appBuildFile , replaceMap );
1602
+
1603
+ writeFile (new File (moduleFolder , "proguard-rules.pro" ),
1604
+ new String []{"# Add project specific ProGuard rules here." });
1605
+
1606
+ File mainFolder = mkdirs (moduleFolder , "src/main" );
1607
+ File javaFolder = mkdirs (mainFolder , "java" );
1608
+ File resFolder = mkdirs (mainFolder , "res" );
1589
1609
1610
+ Util .copyFile (new File (projectFolder , "AndroidManifest.xml" ),
1611
+ new File (mainFolder , "AndroidManifest.xml" ));
1612
+ Util .copyDir (new File (projectFolder , "res" ), resFolder );
1613
+ Util .copyDir (new File (projectFolder , "src" ), javaFolder );
1590
1614
}
1591
1615
1592
1616
private void createWearModule (File projectFolder , File exportFolder , String buildToolsVer )
1593
1617
throws SketchException , IOException {
1618
+ File moduleFolder = mkdirs (exportFolder , "wear" );
1594
1619
1620
+ File appBuildTemplate = mode .getContentFile ("templates/" + WEARABLE_GRADLE_BUILD_TEMPLATE );
1621
+ File appBuildFile = new File (moduleFolder , "build.gradle" );
1622
+ HashMap <String , String > replaceMap = new HashMap <String , String >();
1623
+ replaceMap .put ("@@build_tools@@" , buildToolsVer );
1624
+ replaceMap .put ("@@package_name@@" , getPackageName ());
1625
+ replaceMap .put ("@@min_sdk@@" , AndroidBuild .min_sdk_watchface );
1626
+ replaceMap .put ("@@target_sdk@@" , AndroidBuild .target_sdk );
1627
+ replaceMap .put ("@@version_code@@" , manifest .getVersionCode ());
1628
+ replaceMap .put ("@@version_name@@" , manifest .getVersionName ());
1629
+ AndroidMode .createFileFromTemplate (appBuildTemplate , appBuildFile , replaceMap );
1630
+
1631
+ writeFile (new File (moduleFolder , "proguard-rules.pro" ),
1632
+ new String []{"# Add project specific ProGuard rules here." });
1633
+
1634
+ File coreFile = new File (projectFolder , "libs/processing-core.jar" );
1635
+ File libsFolder = mkdirs (moduleFolder , "libs" );
1636
+ Util .copyFile (coreFile , new File (libsFolder , "processing-core.jar" ));
1637
+
1638
+ File mainFolder = mkdirs (moduleFolder , "src/main" );
1639
+ File javaFolder = mkdirs (mainFolder , "java" );
1640
+ File resFolder = mkdirs (mainFolder , "res" );
1641
+
1642
+ Util .copyFile (new File (projectFolder , "AndroidManifest.xml" ),
1643
+ new File (mainFolder , "AndroidManifest.xml" ));
1644
+ Util .copyDir (new File (projectFolder , "res" ), resFolder );
1645
+ Util .copyDir (new File (projectFolder , "src" ), javaFolder );
1595
1646
}
1596
1647
1597
1648
private void writeFile (final File file , String [] lines ) {
0 commit comments