use of com.codename1.util.RichPropertiesReader in project CodenameOne by codenameone.
the class GenerateAppProjectMojo method injectDependencies.
private void injectDependencies() throws MojoExecutionException {
if (!generateAppProjectConfigFile().exists()) {
return;
}
try {
Properties props = new Properties();
new RichPropertiesReader().load(generateAppProjectConfigFile(), props);
String dependencies = props.getProperty("dependencies");
String parentDependencies = props.getProperty("parentDependencies");
if (targetCommonPomXml().exists()) {
Model model;
ModelETL modelETL;
/*
try (FileInputStream fis = new FileInputStream(targetCommonPomXml())){
MavenXpp3Reader reader = new MavenXpp3Reader();
model = reader.read(fis);
} catch (Exception ex) {
throw new MojoExecutionException("Failed to read pom.xml file from "+targetCommonPomXml(), ex);
}
*/
try {
ModelETLRequest modelETLRequest = new ModelETLRequest();
modelETL = new JDomModelETLFactory().newInstance(modelETLRequest);
modelETL.extract(targetCommonPomXml());
model = modelETL.getModel();
} catch (Exception ex) {
throw new MojoExecutionException("Failed to read pom.xml file from " + targetCommonPomXml(), ex);
}
if (dependencies != null) {
String dummyModelStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n" + " <modelVersion>4.0.0</modelVersion>\n" + " <groupId>link.sharpe</groupId>\n" + " <artifactId>mavenproject1</artifactId>\n" + " <version>1.0-SNAPSHOT</version>\n" + " <dependencies>\n" + dependencies + " </dependencies>\n" + "</project>";
Model dummyModel;
try {
MavenXpp3Reader reader = new MavenXpp3Reader();
dummyModel = reader.read(new CharArrayReader(dummyModelStr.toCharArray()));
} catch (Exception ex) {
throw new MojoExecutionException("Failed to read dummy pom.xml file while injecting dependencies into " + targetCommonPomXml(), ex);
}
for (Dependency dep : dummyModel.getDependencies()) {
model.addDependency(dep);
}
/*
MavenXpp3Writer writer = new MavenXpp3Writer();
try (FileOutputStream fos = new FileOutputStream(targetCommonPomXml())) {
writer.write(fos, model);
}
*/
modelETL.load(targetCommonPomXml());
}
}
if (targetRootPomXml().exists()) {
Model model;
ModelETL modelETL;
/*
try (FileInputStream fis = new FileInputStream(targetRootPomXml())){
MavenXpp3Reader reader = new MavenXpp3Reader();
model = reader.read(fis);
} catch (Exception ex) {
throw new MojoExecutionException("Failed to read pom.xml file from "+targetRootPomXml(), ex);
}
*/
try {
ModelETLRequest modelETLRequest = new ModelETLRequest();
modelETL = new JDomModelETLFactory().newInstance(modelETLRequest);
modelETL.extract(targetRootPomXml());
model = modelETL.getModel();
} catch (Exception ex) {
throw new MojoExecutionException("Failed to read pom.xml file from " + targetRootPomXml(), ex);
}
if (parentDependencies != null) {
// getLog().info("Parent dependencies: "+parentDependencies);
String dummyModelStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n" + " <modelVersion>4.0.0</modelVersion>\n" + " <groupId>link.sharpe</groupId>\n" + " <artifactId>mavenproject1</artifactId>\n" + " <version>1.0-SNAPSHOT</version>\n" + " <dependencies>\n" + parentDependencies + " </dependencies>\n" + "</project>";
Model dummyModel;
try {
MavenXpp3Reader reader = new MavenXpp3Reader();
dummyModel = reader.read(new CharArrayReader(dummyModelStr.toCharArray()));
} catch (Exception ex) {
throw new MojoExecutionException("Failed to read dummy pom.xml file while injecting dependencies into " + targetRootPomXml(), ex);
}
for (Dependency dep : dummyModel.getDependencies()) {
model.addDependency(dep);
}
/*
MavenXpp3Writer writer = new MavenXpp3Writer();
try (FileOutputStream fos = new FileOutputStream(targetRootPomXml())) {
writer.write(fos, model);
}
*/
modelETL.load(targetRootPomXml());
}
}
} catch (IOException ex) {
throw new MojoExecutionException("Failed to process configuration for generateAppProjectConfigFile " + generateAppProjectConfigFile(), ex);
} catch (RichPropertiesReader.ConfigSyntaxException ex) {
throw new MojoExecutionException("Failed to process configuration for generateAppProjectConfigFile " + generateAppProjectConfigFile(), ex);
}
}
Aggregations