Skip to content
Snippets Groups Projects
Commit 6c0f4b7d authored by Erlend Stav's avatar Erlend Stav
Browse files

Added generation of POM file with more content

parent 2aa6bdc6
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: OntologyWizard
Bundle-SymbolicName: org.universaal.tools.modelling.ontology.wizard; singleton:=true
Bundle-Version: 0.3.1
Bundle-Version: 0.3.2
Bundle-Activator: org.universaal.tools.modelling.ontology.wizard.Activator
Bundle-Vendor: universAAL
Require-Bundle: org.eclipse.ui,
......@@ -20,7 +20,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.core.resourceloading;bundle-version="0.8.0",
org.eclipse.papyrus.wizards;bundle-version="0.8.0",
org.eclipse.uml2.uml;bundle-version="3.2.100",
org.eclipse.emf.databinding
org.eclipse.emf.databinding,
org.eclipse.m2e.maven.runtime
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Import-Package: org.apache.maven.model
package org.universaal.tools.modelling.ontology.wizard.wizards;
import org.apache.maven.model.Build;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.Repository;
import org.apache.maven.model.RepositoryPolicy;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
......@@ -32,6 +37,7 @@ import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.progress.IProgressConstants;
import org.universaal.tools.modelling.ontology.wizard.Activator;
import org.codehaus.plexus.util.xml.Xpp3Dom;
public class OntologyProjectWizard extends Wizard implements INewWizard {
......@@ -112,6 +118,85 @@ public class OntologyProjectWizard extends Wizard implements INewWizard {
}
protected static Dependency dep(String groupId, String artifactId, String version) {
Dependency d = new Dependency();
d.setGroupId(groupId);
d.setArtifactId(artifactId);
d.setVersion(version);
return d;
}
Dependency[] dependencies = new Dependency[] {
dep("org.apache.felix", "org.osgi.core", "1.0.1"),
dep("org.universAAL.middleware","mw.data.representation", "1.1.0"),
dep("org.universAAL.middleware", "mw.bus.model", "1.1.0"),
dep("org.universAAL.middleware", "mw.container.xfaces", "1.1.0"),
dep("org.universAAL.middleware", "mw.container.osgi","1.1.0" ),
dep("org.universAAL.middleware", "mw.bus.service","1.1.0" ),
dep("org.universAAL.middleware", "mw.bus.context", "1.1.0"),
dep("org.universAAL.middleware", "mw.bus.ui", "1.1.0"),
dep("org.universAAL.ontology", "ont.phWorld", "1.1.0"),
dep("org.universAAL.ontology", "ont.profile", "1.1.0")
};
Repository[] repositories = new Repository[] {
rep("central","Central Maven Repository", "http://repo1.maven.org/maven2", true, false, null ),
rep("apache-snapshots", "Apache Snapshots","http://people.apache.org/repo/m2-snapshot-repository", false, true, "daily" ),
rep("uaal", "universAAL Repositories", "http://depot.universaal.org/maven-repo/releases/", true, false, null ),
rep("uaal-snapshots", "universAAL Snapshot Repositories", "http://depot.universaal.org/maven-repo/snapshots/", false, true, null)
};
protected static Repository rep(String id, String name, String url, boolean releases, boolean snapshots, String snapshotPolicy ) {
Repository rep = new Repository();
rep.setId(id);
rep.setName(name);
rep.setUrl(url);
if (!releases) {
RepositoryPolicy pol = new RepositoryPolicy();
pol.setEnabled(false);
rep.setReleases(pol);
}
if ((!snapshots) || (snapshotPolicy != null)) {
RepositoryPolicy pol = new RepositoryPolicy();
pol.setEnabled(snapshots);
if (snapshotPolicy != null)
pol.setUpdatePolicy(snapshotPolicy);
rep.setSnapshots(pol);
}
return rep;
}
protected static Xpp3Dom dom(String name, String value) {
Xpp3Dom dom = new Xpp3Dom(name);
dom.setValue(value);
return dom;
}
protected Build createBuild() {
Build build = new Build();
Plugin plugin = new Plugin();
plugin.setGroupId("org.apache.felix");
plugin.setArtifactId("maven-bundle-plugin");
plugin.setExtensions(true);
Xpp3Dom conf = new Xpp3Dom("configuration");
Xpp3Dom instr = new Xpp3Dom("instructions");
instr.addChild(dom("Bundle-Name", "${project.name}"));
instr.addChild(dom("Bundle-Activator", ontologyProjectModel.getParentPackageName() + ".osgi.Activator"));
instr.addChild(dom("Bundle-Description", "${project.description}"));
instr.addChild(dom("Bundle-SymbolicName", "${project.artifactId}"));
instr.addChild(dom("Export-Package", ontologyProjectModel.getPackageName() + ".*"));
instr.addChild(dom("Private-Package", ontologyProjectModel.getParentPackageName() + ".*"));
conf.addChild(instr);
plugin.setConfiguration(conf);
build.addPlugin(plugin);
return build;
}
static final String[] folders = new String[] {
"src/main/java", "src/test/java", "src/main/resources", "src/test/resources" };
......@@ -132,6 +217,13 @@ public class OntologyProjectWizard extends Wizard implements INewWizard {
try {
// Here we use the maven plugin to create and shape the
// project
for (Dependency dep : dependencies) {
model.addDependency(dep);
}
for (Repository rep : repositories) {
model.addRepository(rep);
}
model.setBuild(createBuild());
MavenPlugin.getProjectConfigurationManager()
.createSimpleProject(project, null,//was: location
model,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment