37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var fs = require('fs');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = {
							 | 
						||
| 
								 | 
							
								    endsWith : endsWith,
							 | 
						||
| 
								 | 
							
								    parseVersion : parseVersion,
							 | 
						||
| 
								 | 
							
								    isLintFixed : isLintFixed
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function endsWith(str, suffix) {
							 | 
						||
| 
								 | 
							
								    return str.indexOf('/', str.length - suffix.length) !== -1;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var parseString = require('xml2js').parseString;
							 | 
						||
| 
								 | 
							
								// return the version number from `pom.xml` file
							 | 
						||
| 
								 | 
							
								function parseVersion() {
							 | 
						||
| 
								 | 
							
								    var version = null;
							 | 
						||
| 
								 | 
							
								    var pomXml = fs.readFileSync('pom.xml', 'utf8');
							 | 
						||
| 
								 | 
							
								    parseString(pomXml, function (err, result) {
							 | 
						||
| 
								 | 
							
								        if (result.project.version && result.project.version[0]) {
							 | 
						||
| 
								 | 
							
								            version = result.project.version[0];
							 | 
						||
| 
								 | 
							
								        } else if (result.project.parent && result.project.parent[0] && result.project.parent[0].version && result.project.parent[0].version[0]) {
							 | 
						||
| 
								 | 
							
								            version = result.project.parent[0].version[0];
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								    if (version === null) {
							 | 
						||
| 
								 | 
							
								        throw new Error('pom.xml is malformed. No version is defined');
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return version;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function isLintFixed(file) {
							 | 
						||
| 
								 | 
							
									// Has ESLint fixed the file contents?
							 | 
						||
| 
								 | 
							
									return file.eslint !== null && file.eslint.fixed;
							 | 
						||
| 
								 | 
							
								}
							 |