Skip to content
This repository has been archived by the owner on Jan 5, 2021. It is now read-only.

Commit

Permalink
#899 Introduced builder plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
andreasmuelder committed Aug 12, 2016
1 parent 02b2c11 commit 590f1ac
Show file tree
Hide file tree
Showing 22 changed files with 232 additions and 108 deletions.
7 changes: 7 additions & 0 deletions plugins/org.yakindu.sct.generator.builder/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
1 change: 1 addition & 0 deletions plugins/org.yakindu.sct.generator.builder/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/bin/
28 changes: 28 additions & 0 deletions plugins/org.yakindu.sct.generator.builder/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.yakindu.sct.generator.builder</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7
19 changes: 19 additions & 0 deletions plugins/org.yakindu.sct.generator.builder/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: YAKINDU Builder
Bundle-SymbolicName: org.yakindu.sct.generator.builder;singleton:=true
Bundle-Version: 2.7.1.qualifier
Bundle-Activator: org.yakindu.sct.generator.builder.BuilderActivator
Bundle-Vendor: statecharts.org
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.core.resources,
org.eclipse.emf.ecore,
com.google.guava,
org.yakindu.sct.generator.genmodel,
org.yakindu.sct.domain
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-ActivationPolicy: lazy
Export-Package: org.yakindu.sct.generator.builder,
org.yakindu.sct.generator.builder.action,
org.yakindu.sct.generator.builder.nature
5 changes: 5 additions & 0 deletions plugins/org.yakindu.sct.generator.builder/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml
87 changes: 87 additions & 0 deletions plugins/org.yakindu.sct.generator.builder/plugin.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
id="org.yakindu.sct.builder.SCTBuilder"
name="YAKINDU SCT Builder"
point="org.eclipse.core.resources.builders">
<builder hasNature="true">
<run class="org.yakindu.sct.generator.builder.SCTBuilder">
</run>
</builder>
</extension>
<extension
point="org.eclipse.core.resources.natures"
id="org.yakindu.sct.builder.SCTNature"
name="YAKINDU SCT Project Nature">
<runtime>
<run class="org.yakindu.sct.generator.builder.nature.SCTNature">
</run>
</runtime>
<builder
id="org.yakindu.sct.builder.SCTBuilder">
</builder>
</extension>
<extension
point="org.eclipse.ui.popupMenus">
<objectContribution
adaptable="true"
objectClass="org.eclipse.core.resources.IProject"
nameFilter="*"
id="org.yakindu.sct.builder.addNature">
<action
label="Add YAKINDU SCT Nature"
class="org.yakindu.sct.generator.builder.action.ToggleSCTNatureAction"
menubarPath="org.eclipse.ui.projectConfigure/additions"
enablesFor="+"
id="org.yakindu.sct.builder.addRemoveNatureAction">
</action>
<visibility>
<not>
<objectState
name="nature"
value="org.yakindu.sct.builder.SCTNature">
</objectState>
</not>
</visibility>
</objectContribution>
<objectContribution
adaptable="true"
objectClass="org.eclipse.core.resources.IProject"
nameFilter="*"
id="org.yakindu.sct.builder.removeNature">
<action
label="Remove YAKINDU SCT Nature"
class="org.yakindu.sct.generator.builder.action.ToggleSCTNatureAction"
menubarPath="org.eclipse.ui.projectConfigure/additions"
enablesFor="+"
id="org.yakindu.sct.builder.addRemoveNatureAction">
</action>
<visibility>
<objectState
name="nature"
value="org.yakindu.sct.builder.SCTNature">
</objectState>
</visibility>
</objectContribution>
</extension>
<extension
point="org.eclipse.core.runtime.preferences">
<initializer class="org.yakindu.sct.generator.core.preferences.GenModelPreferenceInitializer">
</initializer>
</extension>
<extension point = "org.eclipse.ui.popupMenus">
<objectContribution
id="org.yakindu.sct.builder.generate"
objectClass="org.eclipse.core.resources.IFile"
nameFilter="*.sgen">
<action
class="org.yakindu.sct.generator.builder.action.GenerateModelAction"
enablesFor="1"
id="org.yakindu.sct.generator.ui.generateaction"
label="Generate Code Artifacts"
menubarPath="additions">
</action>
</objectContribution>
</extension>
</plugin>
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package org.yakindu.sct.generator.builder;

import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;

/**
* The activator class controls the plug-in life cycle
*/
public class BuilderActivator extends AbstractUIPlugin {

// The plug-in ID
public static final String PLUGIN_ID = "org.yakindu.sct.builder"; //$NON-NLS-1$

// The shared instance
private static BuilderActivator plugin;

/**
* The constructor
*/
public BuilderActivator() {
}

/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}

/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}

/**
* Returns the shared instance
*
* @return the shared instance
*/
public static BuilderActivator getDefault() {
return plugin;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* committers of YAKINDU - initial API and implementation
*
*/
package org.yakindu.sct.generator.core;
package org.yakindu.sct.generator.builder;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.IProgressMonitor;
Expand All @@ -25,6 +25,7 @@
import org.yakindu.base.types.typesystem.ITypeSystem;
import org.yakindu.sct.domain.extension.DomainRegistry;
import org.yakindu.sct.domain.extension.IDomainDescriptor;
import org.yakindu.sct.generator.core.ISCTGenerator;
import org.yakindu.sct.generator.core.extensions.GeneratorExtensions;
import org.yakindu.sct.generator.core.extensions.IGeneratorDescriptor;
import org.yakindu.sct.generator.core.impl.AbstractSGraphModelGenerator;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* committers of YAKINDU - initial API and implementation
*/
package org.yakindu.sct.builder;
package org.yakindu.sct.generator.builder;

import java.util.Map;
import java.util.Set;
Expand All @@ -34,7 +34,6 @@
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jface.preference.IPreferenceStore;
import org.yakindu.sct.generator.core.GeneratorActivator;
import org.yakindu.sct.generator.core.GeneratorExecutor;
import org.yakindu.sct.model.sgen.GeneratorEntry;
import org.yakindu.sct.model.sgen.GeneratorModel;
import org.yakindu.sct.model.sgraph.Statechart;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* committers of YAKINDU - initial API and implementation
*/
package org.yakindu.sct.generator.genmodel.ui.action;
package org.yakindu.sct.generator.builder.action;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
Expand All @@ -30,11 +30,9 @@
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PlatformUI;
import org.yakindu.sct.generator.builder.BuilderActivator;
import org.yakindu.sct.generator.builder.GeneratorExecutor;
import org.yakindu.sct.generator.core.GeneratorActivator;
import org.yakindu.sct.generator.core.GeneratorExecutor;
import org.yakindu.sct.generator.genmodel.ui.internal.SGenActivator;

import com.google.inject.Inject;

/**
*
Expand All @@ -45,8 +43,11 @@ public class GenerateModelAction implements IObjectActionDelegate {

private ISelection selection;

@Inject
private GeneratorExecutor generatorExecutor;

public GenerateModelAction() {
generatorExecutor = new GeneratorExecutor();
}

public void run(IAction action) {
IFile file = unwrap();
Expand All @@ -71,9 +72,8 @@ private boolean hasError(IFile file) {
}
}
} catch (CoreException e) {
SGenActivator.getInstance().getLog()
.log(new Status(IStatus.WARNING, SGenActivator.ORG_YAKINDU_SCT_GENERATOR_GENMODEL_SGEN,
"Error in determine, if file contains errors", e));
BuilderActivator.getDefault().getLog().log(new Status(IStatus.WARNING, BuilderActivator.PLUGIN_ID,
"Error in determine, if file contains errors", e));
}

ResourceSet rs = new ResourceSetImpl();
Expand All @@ -93,8 +93,8 @@ private boolean hasError(IFile file) {
}
}
} catch (RuntimeException e) {
SGenActivator.getInstance().getLog().log(new Status(IStatus.INFO,
SGenActivator.ORG_YAKINDU_SCT_GENERATOR_GENMODEL_SGEN, "Error in opening Resource", e));
BuilderActivator.getDefault().getLog()
.log(new Status(IStatus.WARNING, BuilderActivator.PLUGIN_ID, "Error in opening resource", e));
}
return false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* Contributors:
* committers of YAKINDU - initial API and implementation
*/
package org.yakindu.sct.builder.nature;
package org.yakindu.sct.generator.builder.action;

import java.util.Iterator;
import java.util.Map;
Expand All @@ -24,6 +24,7 @@
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.commands.IElementUpdater;
import org.eclipse.ui.menus.UIElement;
import org.yakindu.sct.generator.builder.nature.SCTNature;
/**
*
* @author andreas muelder - Initial contribution and API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
* Contributors:
* committers of YAKINDU - initial API and implementation
*/
package org.yakindu.sct.builder.nature;
package org.yakindu.sct.generator.builder.nature;

import org.eclipse.core.resources.ICommand;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IProjectNature;
import org.eclipse.core.runtime.CoreException;
import org.yakindu.sct.builder.SCTBuilder;
import org.yakindu.sct.generator.builder.SCTBuilder;
/**
*
* @author andreas muelder - Initial contribution and API
Expand Down
3 changes: 1 addition & 2 deletions plugins/org.yakindu.sct.generator.core/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.xtext.generator
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-ActivationPolicy: lazy
Export-Package: org.yakindu.sct.builder.nature,
org.yakindu.sct.generator.core,
Export-Package: org.yakindu.sct.generator.core,
org.yakindu.sct.generator.core.extensions,
org.yakindu.sct.generator.core.features,
org.yakindu.sct.generator.core.features.impl,
Expand Down
Loading

0 comments on commit 590f1ac

Please sign in to comment.