@@ -48,104 +48,96 @@ function version(program) {
4848
4949 if ( ! targets . length || targets . indexOf ( 'android' ) > - 1 ) {
5050 android = new Promise ( function ( resolve , reject ) {
51- fs . stat ( programOpts . android , function ( err ) {
52- if ( err ) {
53- reject ( [
54- {
55- style : 'red' ,
56- text : 'No gradle file found at ' + programOpts . android
57- } ,
58- {
59- style : 'yellow' ,
60- text : 'Use the "--android" option to specify the path manually'
61- }
62- ] ) ;
63- } else {
64- const androidFile = fs . readFileSync ( programOpts . android , 'utf8' ) ;
65- var newAndroidFile = androidFile ;
66-
67- if ( ! programOpts . incrementBuild ) {
68- newAndroidFile = newAndroidFile . replace (
69- / v e r s i o n N a m e " ( .* ) " / , 'versionName "' + appPkg . version + '"'
70- ) ;
51+ var gradleFile ;
52+
53+ try {
54+ gradleFile = fs . readFileSync ( programOpts . android , 'utf8' ) ;
55+ } catch ( err ) {
56+ reject ( [
57+ {
58+ style : 'red' ,
59+ text : 'No gradle file found at ' + programOpts . android
60+ } ,
61+ {
62+ style : 'yellow' ,
63+ text : 'Use the "--android" option to specify the path manually'
7164 }
65+ ] ) ;
66+ }
7267
73- newAndroidFile = newAndroidFile
74- . replace ( / v e r s i o n C o d e ( \d + ) / , function ( match , cg1 ) {
75- const newVersionCodeNumber = parseInt ( cg1 , 10 ) + 1 ;
76- return 'versionCode ' + newVersionCodeNumber ;
77- } ) ;
68+ if ( ! programOpts . incrementBuild ) {
69+ gradleFile = gradleFile . replace (
70+ / v e r s i o n N a m e " ( . * ) " / , 'versionName "' + appPkg . version + '"'
71+ ) ;
72+ }
7873
79- fs . writeFileSync ( programOpts . android , newAndroidFile ) ;
80- resolve ( ) ;
81- }
74+ gradleFile = gradleFile
75+ . replace ( / v e r s i o n C o d e ( \d + ) / , function ( match , cg1 ) {
76+ const newVersionCodeNumber = parseInt ( cg1 , 10 ) + 1 ;
77+ return 'versionCode ' + newVersionCodeNumber ;
8278 } ) ;
79+
80+ fs . writeFileSync ( programOpts . android , gradleFile ) ;
81+ resolve ( ) ;
8382 } ) ;
8483 }
8584
8685 if ( ! targets . length || targets . indexOf ( 'ios' ) > - 1 ) {
8786 ios = new Promise ( function ( resolve , reject ) {
88- fs . stat ( programOpts . ios , function ( err ) {
89- if ( err ) {
90- reject ( [
91- {
92- style : 'red' ,
93- text : 'No project folder found at ' + programOpts . ios
94- } ,
95- {
96- style : 'yellow' ,
97- text : 'Use the "--ios" option to specify the path manually'
98- }
99- ] ) ;
100- } else {
101- try {
102- child . execSync ( 'xcode-select --print-path' , {
103- stdio : [ 'ignore' , 'ignore' , 'pipe' ]
104- } ) ;
105- } catch ( err ) {
106- reject ( [
107- {
108- style : 'red' ,
109- text : err
110- } ,
111- {
112- style : 'yellow' ,
113- text : 'Looks like Xcode Command Line Tools aren\'t installed'
114- } ,
115- {
116- text : '\n Install:\n\n $ xcode-select --install\n'
117- }
118- ] ) ;
87+ try {
88+ child . execSync ( 'xcode-select --print-path' , {
89+ stdio : [ 'ignore' , 'ignore' , 'pipe' ]
90+ } ) ;
91+ } catch ( err ) {
92+ reject ( [
93+ {
94+ style : 'red' ,
95+ text : err
96+ } ,
97+ {
98+ style : 'yellow' ,
99+ text : 'Looks like Xcode Command Line Tools aren\'t installed'
100+ } ,
101+ {
102+ text : '\n Install:\n\n $ xcode-select --install\n'
119103 }
104+ ] ) ;
120105
121- const agvtoolOpts = {
122- cwd : programOpts . ios
123- } ;
124-
125- try {
126- child . execSync ( 'agvtool what-version' , agvtoolOpts ) ;
127- } catch ( err ) {
128- reject ( {
129- style : 'red' ,
130- text : err . stdout
131- } ) ;
132- }
106+ return ;
107+ }
133108
134- if ( ! programOpts . incrementBuild ) {
135- child . spawnSync (
136- 'agvtool' , [ 'new-marketing-version' , appPkg . version ] , agvtoolOpts
137- ) ;
109+ const agvtoolOpts = {
110+ cwd : programOpts . ios
111+ } ;
112+
113+ try {
114+ child . execSync ( 'agvtool what-version' , agvtoolOpts ) ;
115+ } catch ( err ) {
116+ reject ( [
117+ {
118+ style : 'red' ,
119+ text : 'No project folder found at ' + programOpts . ios
120+ } ,
121+ {
122+ style : 'yellow' ,
123+ text : 'Use the "--ios" option to specify the path manually'
138124 }
125+ ] ) ;
139126
140- if ( programOpts . resetBuild ) {
141- child . execSync ( 'agvtool new-version -all 1' , agvtoolOpts ) ;
142- } else {
143- child . execSync ( 'agvtool next-version -all' , agvtoolOpts ) ;
144- }
127+ return ;
128+ }
145129
146- resolve ( ) ;
147- }
148- } ) ;
130+ if ( ! programOpts . incrementBuild ) {
131+ child . spawnSync ( 'agvtool' , [ 'new-marketing-version' , appPkg . version ] , agvtoolOpts ) ;
132+ }
133+
134+ if ( programOpts . resetBuild ) {
135+ child . execSync ( 'agvtool new-version -all 1' , agvtoolOpts ) ;
136+ } else {
137+ child . execSync ( 'agvtool next-version -all' , agvtoolOpts ) ;
138+ }
139+
140+ resolve ( ) ;
149141 } ) ;
150142 }
151143
0 commit comments