| 
									
										
										
										
											2021-01-05 14:04:47 -08:00
										 |  |  | #!/usr/bin/env node
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Copyright (c) Microsoft Corporation. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Licensed under the Apache License, Version 2.0 (the "License"); | 
					
						
							|  |  |  |  * you may not use this file except in compliance with the License. | 
					
						
							|  |  |  |  * You may obtain a copy of the License at | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * http://www.apache.org/licenses/LICENSE-2.0
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Unless required by applicable law or agreed to in writing, software | 
					
						
							|  |  |  |  * distributed under the License is distributed on an "AS IS" BASIS, | 
					
						
							|  |  |  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
					
						
							|  |  |  |  * See the License for the specific language governing permissions and | 
					
						
							|  |  |  |  * limitations under the License. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const fs = require('fs'); | 
					
						
							|  |  |  | const path = require('path'); | 
					
						
							| 
									
										
										
										
											2022-02-08 11:35:00 -07:00
										 |  |  | const { workspace } = require('../workspace.js'); | 
					
						
							| 
									
										
										
										
											2021-01-05 14:04:47 -08:00
										 |  |  | const { execSync } = require('child_process'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const packageJSON = require('../../package.json'); | 
					
						
							| 
									
										
										
										
											2021-11-16 15:38:14 -08:00
										 |  |  | const baseVersion = packageJSON.version.split('-')[0]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let prefix = ''; | 
					
						
							|  |  |  | if (process.argv[2] === '--alpha') { | 
					
						
							|  |  |  |   prefix = 'alpha'; | 
					
						
							|  |  |  | } else if (process.argv[2] === '--beta') { | 
					
						
							|  |  |  |   prefix = 'beta'; | 
					
						
							|  |  |  | } else { | 
					
						
							|  |  |  |   throw new Error('only --alpha or --beta prefixes are allowed'); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-29 18:05:43 +01:00
										 |  |  | let newVersion; | 
					
						
							| 
									
										
										
										
											2021-11-16 15:38:14 -08:00
										 |  |  | if (process.argv[3] === '--today-date') { | 
					
						
							| 
									
										
										
										
											2021-02-09 14:28:04 -08:00
										 |  |  |   const date = new Date(); | 
					
						
							|  |  |  |   const month = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'][date.getMonth()]; | 
					
						
							|  |  |  |   const day = date.getDate(); | 
					
						
							|  |  |  |   const year = date.getFullYear(); | 
					
						
							| 
									
										
										
										
											2021-11-29 18:05:43 +01:00
										 |  |  |   newVersion = `${baseVersion}-${prefix}-${month}-${day}-${year}`; | 
					
						
							| 
									
										
										
										
											2021-11-16 15:38:14 -08:00
										 |  |  | } else if (process.argv[3] === '--commit-timestamp') { | 
					
						
							| 
									
										
										
										
											2021-02-09 14:28:04 -08:00
										 |  |  |   const timestamp = execSync('git show -s --format=%ct HEAD', { | 
					
						
							|  |  |  |     stdio: ['ignore', 'pipe', 'ignore'] | 
					
						
							|  |  |  |   }).toString('utf8').trim(); | 
					
						
							| 
									
										
										
										
											2021-11-29 18:05:43 +01:00
										 |  |  |   newVersion = `${baseVersion}-${prefix}-${timestamp}000`; | 
					
						
							| 
									
										
										
										
											2021-02-09 14:28:04 -08:00
										 |  |  | } else { | 
					
						
							| 
									
										
										
										
											2021-08-24 03:02:24 -07:00
										 |  |  |   throw new Error('This script must be run with either --commit-timestamp or --today-date parameter'); | 
					
						
							| 
									
										
										
										
											2021-02-09 14:28:04 -08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2021-11-29 18:05:43 +01:00
										 |  |  | console.log('Setting version to ' + newVersion); | 
					
						
							| 
									
										
										
										
											2022-02-08 11:35:00 -07:00
										 |  |  | workspace.setVersion(newVersion); |