@@ -69,6 +69,12 @@ function selectDirectory(e) {
69
69
var projectDir = $ ( "#projectDirectory" ) . val ( ) . trim ( ) ;
70
70
var projectName = $ ( "#projectName" ) . val ( ) . trim ( ) ;
71
71
72
+ // If this came from drag-n-drop the project directory name will be
73
+ // passed in there so use it
74
+ if ( e != null ) {
75
+ projectDir = e ;
76
+ }
77
+
72
78
var isProjectPathEmpty = isProjectPathFieldEmpty ( projectDir ) ;
73
79
var isProjectNameEmpty = isEmptyField ( projectName ) ;
74
80
@@ -162,88 +168,64 @@ function create(projectName, projectId, projDir) {
162
168
var opts = [ ] ;
163
169
opts . env = process . env ;
164
170
171
+ var start = new Date ( ) ;
172
+ console . log ( "CREATE *STARTED* AT: " + start . toUTCString ( ) ) ;
173
+
165
174
// spawn child process and include success/error callbacks
166
175
var child = spawn ( node , args , opts ) ;
167
176
showLoader ( true ) ;
168
177
169
178
child . on ( 'close' , function ( code ) {
179
+
170
180
if ( code === 0 ) {
171
- d = new Date ( ) ;
172
181
hideLoader ( ) ;
173
- console . log ( "Created project at: " + options . path + " end time " + d . toUTCString ( ) ) ;
182
+ var complete = new Date ( ) ;
183
+ var diff = complete - start ;
184
+ var seconds_diff = diff / 1000 ;
185
+ var seconds_between = Math . abs ( seconds_diff ) ;
186
+ console . log ( "CREATE *COMPLETED* AT " + complete . toUTCString ( ) + ". TOTAL TIME: " + seconds_between + " seconds." ) ;
174
187
createHandler ( projectName , projectId , options . path ) ;
175
188
setLastSelectedProjectPath ( options . path ) ;
176
189
}
177
190
else {
178
191
hideLoader ( ) ;
179
- displayErrorMessage ( "Project create failed with code " + code ) ;
192
+ displayErrorMessage ( "Project create failed with code " + code ) ;
180
193
}
194
+
181
195
} ) ;
182
196
child . on ( 'error' , function ( e ) {
183
- console . log ( e ) ;
184
- displayErrorMessage ( e ) ;
197
+ console . log ( data . toString ( 'utf8' ) ) ;
198
+ displayErrorMessage ( e . toString ) ;
185
199
} ) ;
186
-
187
200
}
188
201
189
202
function createHandler ( projectName , projectId , projDir ) {
190
- // update the config.xml of the newly created project with the project name & project id entered by the user
191
- updateConfig ( projectName , projectId , projDir ) ;
203
+ // Removed updateConfig in favor of new readConfig since the config.xml file was already updated by the CLI
204
+ // updateConfig(projectName, projectId, projDir);
205
+ readConfig ( projectName , projectId , projDir ) ;
192
206
global . projDir = projDir ;
193
207
hideProjectDetailsOverlay ( ) ;
194
208
}
195
209
196
- function updateConfig ( projectName , projectId , projDir ) {
197
- console . log ( "updateConfig" ) ;
210
+ // Read the config.xml of the newly created project to get the version etc and invoke addProject
211
+ function readConfig ( projName , projId , projDir ) {
198
212
var newPathToConfigFile = projDir + buildPathBasedOnOS ( "/config.xml" ) ;
199
-
213
+
200
214
fs . readFile ( newPathToConfigFile , { encoding : 'utf8' } , function ( err , newPathData ) {
201
215
if ( err ) {
202
216
console . log ( "Error reading config file at " + newPathToConfigFile ) ;
203
- displayMissingConfigFileNotification ( ) ;
204
- } else {
205
- $ . xmlDoc = $ . parseXML ( newPathData ) ;
206
- console . log ( "updateConfigOnProjectCreation - newPathData" ) ;
207
- updateConfigOnProjectCreation ( $ . xmlDoc , projectName , projectId , newPathToConfigFile , projDir ) ;
208
- }
209
- } ) ;
210
- }
211
-
212
- function updateConfigOnProjectCreation ( configXML , projectName , projectId , pathToConfigFile , projDir ) {
213
- var iconPath = projDir + buildPathBasedOnOS ( "/www/" ) ;
214
- var serializer = new XMLSerializer ( ) ;
215
- var contents = serializer . serializeToString ( configXML ) ;
216
- var xml = new XML ( contents ) ;
217
- $ . xml = $ ( configXML ) ;
218
-
219
- // update project name
220
- xml . child ( "name" ) . setValue ( projectName ) ;
221
-
222
- // update project id
223
- xml . attribute ( "id" ) . setValue ( projectId ) ;
224
-
225
- // get the project version
226
- var projVersion = xml . attribute ( "version" ) . getValue ( ) ;
227
-
228
- // get the app icon
229
- var projectIcon = $ . xml . find ( "icon" ) . attr ( "src" ) ;
230
- iconPath += projectIcon ;
231
-
232
- // write the user entered project name & project id to the config.xml file
233
- fs . writeFile ( pathToConfigFile , xml , function ( err ) {
234
- if ( err ) {
235
- // throw err
236
- } else {
237
- // check if the project exists in PG-GUI's localstorage before adding
238
- //console.log("projDir: " + projDir);
239
- //console.log(projectExistsInLocalStorage(projDir));
240
- if ( ! projectExistsInLocalStorage ( projDir ) ) {
241
- addProject ( projectName , projVersion , iconPath , projDir ) ;
242
- } else {
243
- displayProjectExistsNotification ( ) ;
244
- }
245
- }
246
- } ) ;
217
+ displayMissingConfigFileNotification ( ) ;
218
+ } else {
219
+ console . log ( "updateConfigOnProjectCreation - newPathData" ) ;
220
+ xmlDoc = $ . parseXML ( newPathData ) ;
221
+ $xml = $ ( xmlDoc ) ;
222
+ var projVersion = $xml . find ( "widget" ) . attr ( "version" )
223
+ var projIcon = $xml . find ( "icon" ) . attr ( "src" ) ; ;
224
+ var iconPath = projDir + buildPathBasedOnOS ( "/www/" ) ;
225
+ iconPath += projIcon ;
226
+ addProject ( projName , projVersion , iconPath , projDir ) ;
227
+ }
228
+ } ) ;
247
229
}
248
230
249
231
function checkIfProjectConfigExists ( projDir ) {
0 commit comments