@@ -8,7 +8,7 @@ import osenv = require("osenv");
88export class ProjectService implements IProjectService {
99 private static DEFAULT_PROJECT_ID = "com.telerik.tns.HelloWorld" ;
1010 private static DEFAULT_PROJECT_NAME = "HelloNativescript" ;
11- private static APP_FOLDER_NAME = "app" ;
11+ public static APP_FOLDER_NAME = "app" ;
1212 private static PROJECT_FRAMEWORK_DIR = "framework" ;
1313
1414 private cachedProjectDir : string = "" ;
@@ -188,18 +188,44 @@ class AndroidProjectService implements IAndroidProjectService {
188188
189189 public createProject ( projectData : IProjectData ) : IFuture < void > {
190190 return ( ( ) => {
191- var safeActivityName = projectData . projectName . replace ( / \W / g, '' ) ;
192191 var packageName = projectData . projectId ;
193- var packageAsPath = packageName . replace ( / \. / g , path . sep ) ;
192+ var projectDir = path . join ( projectData . projectDir , "platforms" , "android" ) ;
194193
195194 var targetApi = this . getTarget ( ) ;
196- var manifestFile = path . join ( this . frameworkDir , "AndroidManifest.xml" ) ;
197195
198196 this . validatePackageName ( packageName ) ;
199197 this . validateProjectName ( projectData . projectName ) ;
200198
201199 this . checkRequirements ( ) . wait ( ) ;
202200
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+
203229 } ) . future < any > ( ) ( ) ;
204230 }
205231
0 commit comments