dpfmanager.shell.core.util.VersionUtil Maven / Gradle / Ivy
/**
* VersionUtil.java
This program is free software: you can redistribute it
* and/or modify it under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option) any later version; or,
* at your choice, under the terms of the Mozilla Public License, v. 2.0. SPDX GPL-3.0+ or MPL-2.0+.
*
This program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License and the Mozilla Public License for more details.
* You should have received a copy of the GNU General Public License and the Mozilla Public
* License along with this program. If not, see http://www.gnu.org/licenses/
* and at http://mozilla.org/MPL/2.0 .
NB: for the
* © statement, include Easy Innova SL or other company/Person contributing the code.
©
* 2015 Easy Innova, SL
*
* @author Adrià Llorens
* @version 1.0
* @since 23/7/2015
*/
package dpfmanager.shell.core.util;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Properties;
/**
* Created by Adrià Llorens on 05/04/2016.
*/
public class VersionUtil {
// Write version into build files
public static void main(String[] args) {
String version = args[0];
String baseDir = args[1];
String issPath = baseDir + "/build-windows.iss";
String rpmPath = baseDir + "/package/linux/DPFManager.old.spec";
String propOutput = baseDir + "/target/classes/version.properties";
// Windows iss
try {
// Windows iss
File issFile = new File(issPath);
String issContent = FileUtils.readFileToString(issFile);
String newIssContent = replaceLine( StringUtils.split(issContent, '\n'),"AppVersion=",version);
if (!newIssContent.isEmpty()){
FileUtils.writeStringToFile(issFile, newIssContent);
System.out.println("New version information updated! (iss)");
}
// RPM spec
File rpmFile = new File(rpmPath);
String rpmContent = FileUtils.readFileToString(rpmFile);
String newRpmContent = replaceLine(StringUtils.split(rpmContent, '\n'),"Version: ",version);
if (!newRpmContent.isEmpty()){
FileUtils.writeStringToFile(rpmFile, newRpmContent);
System.out.println("New version information updated! (spec)");
}
// Java properties file
OutputStream output = new FileOutputStream(propOutput);
Properties prop = new Properties();
prop.setProperty("version", version);
prop.store(output,"Version autoupdated");
output.close();
System.out.println("New version information updated! (properties)");
}
catch(Exception e){
System.out.println("Exception ocurred, no version changed.");
e.printStackTrace();
}
}
private static String replaceLine(String[] lines, String search, String version){
int i=0;
while (i