@@ -8,7 +8,7 @@ import osenv = require("osenv");
8
8
export class ProjectService implements IProjectService {
9
9
private static DEFAULT_PROJECT_ID = "com.telerik.tns.HelloWorld" ;
10
10
private static DEFAULT_PROJECT_NAME = "HelloNativescript" ;
11
- private static APP_FOLDER_NAME = "app" ;
11
+ public static APP_FOLDER_NAME = "app" ;
12
12
private static PROJECT_FRAMEWORK_DIR = "framework" ;
13
13
14
14
private cachedProjectDir : string = "" ;
@@ -188,18 +188,44 @@ class AndroidProjectService implements IAndroidProjectService {
188
188
189
189
public createProject ( projectData : IProjectData ) : IFuture < void > {
190
190
return ( ( ) => {
191
- var safeActivityName = projectData . projectName . replace ( / \W / g, '' ) ;
192
191
var packageName = projectData . projectId ;
193
- var packageAsPath = packageName . replace ( / \. / g , path . sep ) ;
192
+ var projectDir = path . join ( projectData . projectDir , "platforms" , "android" ) ;
194
193
195
194
var targetApi = this . getTarget ( ) ;
196
- var manifestFile = path . join ( this . frameworkDir , "AndroidManifest.xml" ) ;
197
195
198
196
this . validatePackageName ( packageName ) ;
199
197
this . validateProjectName ( projectData . projectName ) ;
200
198
201
199
this . checkRequirements ( ) . wait ( ) ;
202
200
201
+ // Log the values for project
202
+ this . $logger . trace ( "Creating NativeScript project for the Android platform" ) ;
203
+ this . $logger . trace ( "Path: %s" , projectData . projectDir ) ;
204
+ this . $logger . trace ( "Package: %s" , projectData . projectId ) ;
205
+ this . $logger . trace ( "Name: %s" , projectData . projectName ) ;
206
+ this . $logger . trace ( "Android target: %s" , targetApi ) ;
207
+
208
+ this . $logger . out ( "Copying template files..." ) ;
209
+
210
+ shell . cp ( "-r" , path . join ( this . frameworkDir , "assets" ) , projectDir ) ;
211
+ shell . cp ( "-r" , path . join ( this . frameworkDir , "gen" ) , projectDir ) ;
212
+ shell . cp ( "-r" , path . join ( this . frameworkDir , "libs" ) , projectDir ) ;
213
+ shell . cp ( "-r" , path . join ( this . frameworkDir , "res" ) , projectDir ) ;
214
+
215
+ shell . cp ( "-f" , path . join ( this . frameworkDir , ".classpath" ) , projectDir ) ;
216
+ shell . cp ( "-f" , path . join ( this . frameworkDir , ".project" ) , projectDir ) ;
217
+ shell . cp ( "-f" , path . join ( this . frameworkDir , "AndroidManifest.xml" ) , projectDir ) ;
218
+ shell . cp ( "-f" , path . join ( this . frameworkDir , "project.properties" ) , projectDir ) ;
219
+
220
+ // Interpolate the activity name and package
221
+ shell . sed ( '-i' , / _ _ N A M E _ _ / , projectData . projectName , path . join ( projectDir , 'res' , 'values' , 'strings.xml' ) ) ;
222
+ shell . sed ( '-i' , / _ _ T I T L E _ A C T I V I T Y _ _ / , projectData . projectName , path . join ( projectDir , 'res' , 'values' , 'strings.xml' ) ) ;
223
+ shell . sed ( '-i' , / _ _ N A M E _ _ / , projectData . projectName , path . join ( projectDir , '.project' ) ) ;
224
+ shell . sed ( '-i' , / _ _ P A C K A G E _ _ / , packageName , path . join ( projectDir , "AndroidManifest.xml" ) ) ;
225
+
226
+ // Copy app into assets
227
+ shell . cp ( "-r" , path . join ( projectData . projectDir , ProjectService . APP_FOLDER_NAME ) , path . join ( projectDir , "assets" ) ) ;
228
+
203
229
} ) . future < any > ( ) ( ) ;
204
230
}
205
231
0 commit comments