}
JAXBContext context = JAXBContext
.newInstance("am.ik.tools.pom_cleaner.jaxb");
File pom = new File(args[0]);
JAXBElement<Model> elm = createJaxbElement(context, pom);
Model model = elm.getValue();
Map<String, String> properties = new HashMap<String, String>();
try {
replaceVersion(model.getDependencies().getDependency(), properties);
sortVersionable(model.getDependencies().getDependency());
} catch (NullPointerException e) {
}
try {
replaceVersion(model.getDependencyManagement().getDependencies()
.getDependency(), properties);
sortVersionable(model.getDependencyManagement().getDependencies()
.getDependency());
} catch (NullPointerException e) {
}
try {
replaceVersion(model.getBuild().getPlugins().getPlugin(),
properties);
sortVersionable(model.getBuild().getPlugins().getPlugin());
} catch (NullPointerException e) {
}
try {
replaceVersion(model.getBuild().getPluginManagement().getPlugins()
.getPlugin(), properties);
sortVersionable(model.getBuild().getPluginManagement().getPlugins()
.getPlugin());
} catch (NullPointerException e) {
}
try {
replaceVersion(model.getBuild().getExtensions().getExtension(),
properties);
sortVersionable(model.getBuild().getExtensions().getExtension());
} catch (NullPointerException e) {
}
try {
replaceVersion(model.getReporting().getPlugins().getPlugin(),
properties);
sortVersionable(model.getReporting().getPlugins().getPlugin());
} catch (NullPointerException e) {
}
Properties p = model.getProperties();
if (p == null) {
p = new Properties();
model.setProperties(p);
}
addProperties(p, properties);
Collections.sort(p.getAny(), new Comparator<Element>() {
@Override
public int compare(Element o1, Element o2) {