summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürgen Gehring <Juergen.Gehring@bmw.de>2014-03-06 15:13:43 +0100
committerGerrit Code Review <qqmthk1@lpmodthk02.bmwgroup.net>2014-03-06 15:13:43 +0100
commit2fae8eab1cae960a983733036edcca3ab149bcc0 (patch)
tree456cbca2f8821e7b2fa2cffbdbdd3d4eb08b2a22
parent896c8136e43b37b84c1bd1374de5fbc936d2d59c (diff)
parent8f82b5aeeeb78762edcecf07d6e94b50a9b053f7 (diff)
downloadgenivi-common-api-runtime-2fae8eab1cae960a983733036edcca3ab149bcc0.tar.gz
Merge "merge build automation into master and fix whitespaces"
-rw-r--r--README41
-rw-r--r--org.genivi.commonapi.cli.product/.gitignore1
-rw-r--r--org.genivi.commonapi.cli.product/.project11
-rw-r--r--org.genivi.commonapi.cli.product/commonapi_cli.product167
-rw-r--r--org.genivi.commonapi.cli.product/pom.xml78
-rw-r--r--org.genivi.commonapi.cli.product/zip.excludes5
-rw-r--r--org.genivi.commonapi.core.cli.feature/.gitignore1
-rw-r--r--org.genivi.commonapi.core.cli.feature/.project17
-rw-r--r--org.genivi.commonapi.core.cli.feature/build.properties1
-rw-r--r--org.genivi.commonapi.core.cli.feature/feature.xml932
-rw-r--r--org.genivi.commonapi.core.cli.feature/pom.xml13
-rw-r--r--org.genivi.commonapi.core.cli/.classpath25
-rw-r--r--org.genivi.commonapi.core.cli/.gitignore1
-rw-r--r--org.genivi.commonapi.core.cli/.project41
-rw-r--r--org.genivi.commonapi.core.cli/META-INF/MANIFEST.MF22
-rw-r--r--org.genivi.commonapi.core.cli/build.properties6
-rw-r--r--org.genivi.commonapi.core.cli/plugin.xml26
-rw-r--r--org.genivi.commonapi.core.cli/pom.xml13
-rw-r--r--org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/Activator.java63
-rw-r--r--org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/Application.java54
-rw-r--r--org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandExecutableExtensionFactory.java51
-rw-r--r--org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java537
-rw-r--r--org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/DBusCommandExecutableExtensionFactory.java28
-rw-r--r--org.genivi.commonapi.core.feature/.gitignore1
-rw-r--r--org.genivi.commonapi.core.feature/pom.xml13
-rw-r--r--org.genivi.commonapi.core.ui/.gitignore1
-rw-r--r--org.genivi.commonapi.core.ui/META-INF/MANIFEST.MF4
-rw-r--r--org.genivi.commonapi.core.ui/pom.xml13
-rw-r--r--org.genivi.commonapi.core.validator.feature/.gitignore1
-rw-r--r--org.genivi.commonapi.core.validator.feature/pom.xml13
-rw-r--r--org.genivi.commonapi.core.validator/.gitignore1
-rw-r--r--org.genivi.commonapi.core.validator/pom.xml13
-rw-r--r--org.genivi.commonapi.core/.gitignore1
-rw-r--r--org.genivi.commonapi.core/META-INF/MANIFEST.MF4
-rw-r--r--org.genivi.commonapi.core/pom.xml13
-rw-r--r--org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FrancaGeneratorExtensions.xtend25
-rw-r--r--org.genivi.commonapi.parent.releng/.project11
-rw-r--r--org.genivi.commonapi.parent.releng/pom.xml119
-rw-r--r--org.genivi.commonapi.releng/.project11
-rw-r--r--org.genivi.commonapi.releng/pom.xml26
-rw-r--r--org.genivi.commonapi.target/.project11
-rw-r--r--org.genivi.commonapi.target/org.genivi.commonapi.target.target24
-rw-r--r--org.genivi.commonapi.target/pom.xml13
-rw-r--r--org.genivi.commonapi.updatesite/.gitignore1
-rw-r--r--org.genivi.commonapi.updatesite/.project11
-rw-r--r--org.genivi.commonapi.updatesite/category.xml17
-rw-r--r--org.genivi.commonapi.updatesite/pom.xml13
47 files changed, 2186 insertions, 308 deletions
diff --git a/README b/README
index 52df694..b121be1 100644
--- a/README
+++ b/README
@@ -64,31 +64,42 @@ by selecting the "CommonAPI->Generate Common API Code" option.
These are Eclipse Plug-In projects which require Xtext2 and Franca as dependencies within Eclipse.
-To build first import the three projects
+An automated build process via Maven for the update-site and the command line interface are provided.
+As a first step to build the update-site, make sure that everything is configured correctly, i.e. the dependencies between CommonAPI-D-Bus and CommonAPI
+itself are set correctly.
+If you don't want to build the CommonAPI-D-Bus-Tools components, you have to adjust the update-site category.xml and the "modules" section in the pom.xml
+of the org.genivi.commonapi.parent.releng accordingly.
+
+To build change into the org.genivi.commonapi.parent.releng directory and run
+
----
-org.genivi.commonapi.core
-org.genivi.commonapi.core.ui
-org.genivi.commonapi.core.feature
+mvn tycho-versions:set-version -DnewVersion=<version-you-want-to-set>-SNAPSHOT
----
-in to Eclipse. Then simply build the workspace. Then right-click on the .feature project and select "Run as Eclipse Application" to launch
-the built projects.
+e.g. mvn tycho-versions:set-version -DnewVersion=2.1.4-SNAPSHOT. If the version is already set correctly you can skip this step.
+
+Next, to build the updatesite, adjust your category.xml in the org.genivi.commonapi.updatesite project to the new version and run
-The projects
----
-org.genivi.commonapi.core.ui.validator
-org.genivi.commonapi.core.ui.validator.feature
+mvn clean verify
----
-which can be built in the same way provide a validator which automatically checks franca files for issues which would cause problems in
-C++ generation or compilation.
-The project
+in the org.genivi.commonapi.parent.releng directory. Now every project will be built and the update site will be created in org.genivi.commonapi.updatesite/target/repository/
+If no configuration files are changed, the features
+
----
-org.genivi.commonapi.core.cli
+org.genivi.commonapi.core
+org.genivi.commonapi.validator
+org.genivi.commonapi.dbus
----
-which should be exported as a runnable JAR provides a command line version of the generators. This should be called as:
+
+will be included in the updatesite.
+
+The command line interface will be built for different platforms, with zip-files as generated output. These zip-files can be found in org.genivi.commonapi.cli.product/target/products/
+
+A osgi based application will be contained in the zip-files. This application should be called as:
----
-java -jar generator.jar [options] file [file...]
+commonapi_generator [options] file [file...]
Valid Options are:
-dbus -> to generate files with the FrancaDBUSGenerator
-dest path/to/output/folder -> the generated files will be saved at this Location
diff --git a/org.genivi.commonapi.cli.product/.gitignore b/org.genivi.commonapi.cli.product/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.genivi.commonapi.cli.product/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.genivi.commonapi.cli.product/.project b/org.genivi.commonapi.cli.product/.project
new file mode 100644
index 0000000..90e2a71
--- /dev/null
+++ b/org.genivi.commonapi.cli.product/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.genivi.commonapi.cli.product</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription> \ No newline at end of file
diff --git a/org.genivi.commonapi.cli.product/commonapi_cli.product b/org.genivi.commonapi.cli.product/commonapi_cli.product
new file mode 100644
index 0000000..ce94e00
--- /dev/null
+++ b/org.genivi.commonapi.cli.product/commonapi_cli.product
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="CommonAPI Code Generator" uid="org.genivi.commonapi.cli.product" id="org.genivi.commonapi.core.cli.product" application="org.genivi.commonapi.core.cli.application" version="2.1.5" useFeatures="true" includeLaunchers="true">
+
+ <configIni use="default">
+ </configIni>
+
+ <launcherArgs>
+ <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
+ </launcherArgs>
+
+ <launcher name="commonapi_generator">
+ <solaris/>
+ <win useIco="false">
+ <bmp/>
+ </win>
+ </launcher>
+
+ <vm>
+ </vm>
+
+ <plugins>
+ <plugin id="com.google.guava"/>
+ <plugin id="com.google.inject"/>
+ <plugin id="com.ibm.icu"/>
+ <plugin id="javax.annotation"/>
+ <plugin id="javax.inject"/>
+ <plugin id="javax.xml"/>
+ <plugin id="org.antlr.runtime"/>
+ <plugin id="org.apache.batik.css"/>
+ <plugin id="org.apache.batik.util"/>
+ <plugin id="org.apache.batik.util.gui"/>
+ <plugin id="org.apache.commons.cli"/>
+ <plugin id="org.apache.commons.lang"/>
+ <plugin id="org.apache.commons.logging"/>
+ <plugin id="org.apache.log4j"/>
+ <plugin id="org.eclipse.compare.core"/>
+ <plugin id="org.eclipse.core.commands"/>
+ <plugin id="org.eclipse.core.contenttype"/>
+ <plugin id="org.eclipse.core.databinding"/>
+ <plugin id="org.eclipse.core.databinding.observable"/>
+ <plugin id="org.eclipse.core.databinding.property"/>
+ <plugin id="org.eclipse.core.expressions"/>
+ <plugin id="org.eclipse.core.filebuffers"/>
+ <plugin id="org.eclipse.core.filesystem"/>
+ <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
+ <plugin id="org.eclipse.core.jobs"/>
+ <plugin id="org.eclipse.core.resources"/>
+ <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
+ <plugin id="org.eclipse.core.runtime"/>
+ <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
+ <plugin id="org.eclipse.e4.core.commands"/>
+ <plugin id="org.eclipse.e4.core.contexts"/>
+ <plugin id="org.eclipse.e4.core.di"/>
+ <plugin id="org.eclipse.e4.core.di.extensions"/>
+ <plugin id="org.eclipse.e4.core.services"/>
+ <plugin id="org.eclipse.e4.ui.bindings"/>
+ <plugin id="org.eclipse.e4.ui.css.core"/>
+ <plugin id="org.eclipse.e4.ui.css.swt"/>
+ <plugin id="org.eclipse.e4.ui.css.swt.theme"/>
+ <plugin id="org.eclipse.e4.ui.di"/>
+ <plugin id="org.eclipse.e4.ui.model.workbench"/>
+ <plugin id="org.eclipse.e4.ui.services"/>
+ <plugin id="org.eclipse.e4.ui.widgets"/>
+ <plugin id="org.eclipse.e4.ui.workbench"/>
+ <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
+ <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
+ <plugin id="org.eclipse.e4.ui.workbench.swt"/>
+ <plugin id="org.eclipse.e4.ui.workbench3"/>
+ <plugin id="org.eclipse.emf.common"/>
+ <plugin id="org.eclipse.emf.common.ui"/>
+ <plugin id="org.eclipse.emf.ecore"/>
+ <plugin id="org.eclipse.emf.ecore.change"/>
+ <plugin id="org.eclipse.emf.ecore.xmi"/>
+ <plugin id="org.eclipse.emf.edit"/>
+ <plugin id="org.eclipse.emf.edit.ui"/>
+ <plugin id="org.eclipse.emf.mwe.core"/>
+ <plugin id="org.eclipse.emf.mwe.utils"/>
+ <plugin id="org.eclipse.emf.mwe2.language"/>
+ <plugin id="org.eclipse.emf.mwe2.launch"/>
+ <plugin id="org.eclipse.emf.mwe2.lib"/>
+ <plugin id="org.eclipse.emf.mwe2.runtime"/>
+ <plugin id="org.eclipse.equinox.app"/>
+ <plugin id="org.eclipse.equinox.bidi"/>
+ <plugin id="org.eclipse.equinox.common"/>
+ <plugin id="org.eclipse.equinox.ds"/>
+ <plugin id="org.eclipse.equinox.event"/>
+ <plugin id="org.eclipse.equinox.p2.core"/>
+ <plugin id="org.eclipse.equinox.p2.engine"/>
+ <plugin id="org.eclipse.equinox.p2.metadata"/>
+ <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
+ <plugin id="org.eclipse.equinox.p2.repository"/>
+ <plugin id="org.eclipse.equinox.preferences"/>
+ <plugin id="org.eclipse.equinox.registry"/>
+ <plugin id="org.eclipse.equinox.security"/>
+ <plugin id="org.eclipse.equinox.security.win32.x86_64" fragment="true"/>
+ <plugin id="org.eclipse.equinox.util"/>
+ <plugin id="org.eclipse.help"/>
+ <plugin id="org.eclipse.jface"/>
+ <plugin id="org.eclipse.jface.databinding"/>
+ <plugin id="org.eclipse.jface.text"/>
+ <plugin id="org.eclipse.osgi"/>
+ <plugin id="org.eclipse.osgi.services"/>
+ <plugin id="org.eclipse.swt"/>
+ <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
+ <plugin id="org.eclipse.text"/>
+ <plugin id="org.eclipse.ui"/>
+ <plugin id="org.eclipse.ui.editors"/>
+ <plugin id="org.eclipse.ui.forms"/>
+ <plugin id="org.eclipse.ui.ide"/>
+ <plugin id="org.eclipse.ui.views"/>
+ <plugin id="org.eclipse.ui.win32" fragment="true"/>
+ <plugin id="org.eclipse.ui.workbench"/>
+ <plugin id="org.eclipse.ui.workbench.texteditor"/>
+ <plugin id="org.eclipse.xpand"/>
+ <plugin id="org.eclipse.xtend"/>
+ <plugin id="org.eclipse.xtend.lib"/>
+ <plugin id="org.eclipse.xtend.typesystem.emf"/>
+ <plugin id="org.eclipse.xtend2.lib"/>
+ <plugin id="org.eclipse.xtext"/>
+ <plugin id="org.eclipse.xtext.builder"/>
+ <plugin id="org.eclipse.xtext.common.types"/>
+ <plugin id="org.eclipse.xtext.ecore"/>
+ <plugin id="org.eclipse.xtext.generator"/>
+ <plugin id="org.eclipse.xtext.logging" fragment="true"/>
+ <plugin id="org.eclipse.xtext.smap"/>
+ <plugin id="org.eclipse.xtext.ui"/>
+ <plugin id="org.eclipse.xtext.util"/>
+ <plugin id="org.eclipse.xtext.xbase"/>
+ <plugin id="org.eclipse.xtext.xbase.lib"/>
+ <plugin id="org.franca.core"/>
+ <plugin id="org.franca.core.dsl"/>
+ <plugin id="org.franca.deploymodel.dsl"/>
+ <plugin id="org.genivi.commonapi.core"/>
+ <plugin id="org.genivi.commonapi.core.cli"/>
+ <plugin id="org.genivi.commonapi.dbus"/>
+ <plugin id="org.w3c.css.sac"/>
+ <plugin id="org.w3c.dom.smil"/>
+ <plugin id="org.w3c.dom.svg"/>
+ </plugins>
+
+ <features>
+ <feature id="org.genivi.commonapi.core.cli.feature"/>
+ <feature id="org.franca.feature"/>
+ <feature id="org.eclipse.equinox.p2.core.feature"/>
+ <feature id="org.genivi.commonapi.core.feature"/>
+ <feature id="org.eclipse.platform"/>
+ <feature id="org.eclipse.rcp"/>
+ <feature id="org.genivi.commonapi.dbus.feature"/>
+ <feature id="org.eclipse.help"/>
+ <feature id="org.eclipse.emf.ecore"/>
+ <feature id="org.eclipse.e4.rcp"/>
+ <feature id="org.eclipse.emf.common"/>
+ <feature id="org.eclipse.equinox.p2.rcp.feature"/>
+ <feature id="org.eclipse.equinox.p2.user.ui"/>
+ <feature id="org.eclipse.equinox.p2.extras.feature"/>
+ </features>
+
+ <configurations>
+ <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
+ <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="1" />
+ <property name="osgi.instance.area.default" value="@user.home/.commonapi_generator" />
+ </configurations>
+
+</product>
diff --git a/org.genivi.commonapi.cli.product/pom.xml b/org.genivi.commonapi.cli.product/pom.xml
new file mode 100644
index 0000000..3408fcb
--- /dev/null
+++ b/org.genivi.commonapi.cli.product/pom.xml
@@ -0,0 +1,78 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.cli.product</artifactId>
+ <packaging>eclipse-repository</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-director-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <!-- install the product using the p2 director -->
+ <id>materialize-products</id>
+ <goals>
+ <goal>materialize-products</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+ <executions>
+ <execution>
+ <id>run-ant-rename</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <delete
+ file="${project.build.directory}/products/org.genivi.commonapi.cli.product/win32/win32/x86_64/commonapi_generator.exe" />
+ <copy
+ file="${project.build.directory}/products/org.genivi.commonapi.cli.product/win32/win32/x86_64/eclipsec.exe"
+ tofile="${project.build.directory}/products/org.genivi.commonapi.cli.product/win32/win32/x86_64/commonapi_generator.exe" />
+ <delete
+ file="${project.build.directory}/products/org.genivi.commonapi.cli.product/win32/win32/x86_64/eclipsec.exe" />
+ </target>
+ </configuration>
+ </execution>
+ <execution>
+ <id>create-zip-files</id>
+ <phase>package</phase>
+ <configuration>
+ <target>
+ <zip excludesfile="zip.excludes"
+ destfile="${project.build.directory}/products/commonapi_generator-win32.win32.x86_64.zip"
+ basedir="${project.build.directory}/products/org.genivi.commonapi.cli.product/win32/win32/x86_64" />
+ <zip excludesfile="zip.excludes"
+ destfile="${project.build.directory}/products/commonapi_generator-win32.win32.x86.zip"
+ basedir="${project.build.directory}/products/org.genivi.commonapi.cli.product/win32/win32/x86" />
+ <zip excludesfile="zip.excludes"
+ destfile="${project.build.directory}/products/commonapi_generator-linux.gtk.x86.zip"
+ basedir="${project.build.directory}/products/org.genivi.commonapi.cli.product/linux/gtk/x86" />
+ <zip excludesfile="zip.excludes"
+ destfile="${project.build.directory}/products/commonapi_generator-linux.gtk.x86_64.zip"
+ basedir="${project.build.directory}/products/org.genivi.commonapi.cli.product/linux/gtk/x86_64" />
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.cli.product/zip.excludes b/org.genivi.commonapi.cli.product/zip.excludes
new file mode 100644
index 0000000..6dd3f27
--- /dev/null
+++ b/org.genivi.commonapi.cli.product/zip.excludes
@@ -0,0 +1,5 @@
+p2/**
+readme/**
+.eclipseproduct
+epl-v10.html
+notice.html
diff --git a/org.genivi.commonapi.core.cli.feature/.gitignore b/org.genivi.commonapi.core.cli.feature/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.genivi.commonapi.core.cli.feature/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.genivi.commonapi.core.cli.feature/.project b/org.genivi.commonapi.core.cli.feature/.project
new file mode 100644
index 0000000..98a34ba
--- /dev/null
+++ b/org.genivi.commonapi.core.cli.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.genivi.commonapi.core.cli.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription> \ No newline at end of file
diff --git a/org.genivi.commonapi.core.cli.feature/build.properties b/org.genivi.commonapi.core.cli.feature/build.properties
new file mode 100644
index 0000000..64f93a9
--- /dev/null
+++ b/org.genivi.commonapi.core.cli.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/org.genivi.commonapi.core.cli.feature/feature.xml b/org.genivi.commonapi.core.cli.feature/feature.xml
new file mode 100644
index 0000000..5a01b0d
--- /dev/null
+++ b/org.genivi.commonapi.core.cli.feature/feature.xml
@@ -0,0 +1,932 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.genivi.commonapi.core.cli.feature"
+ label="CommonAPI Generator Feature"
+ version="2.1.5.qualifier"
+ provider-name="BMW AG">
+
+ <description url="http://www.example.com/description">
+ [Enter Feature Description here.]
+ </description>
+
+ <copyright url="http://www.example.com/copyright">
+ [Enter Copyright Description here.]
+ </copyright>
+
+ <license url="http://www.example.com/license">
+ [Enter License Description here.]
+ </license>
+
+ <requires>
+ <import feature="org.franca.feature" version="0.8.10.201309262002" match="compatible"/>
+ </requires>
+
+ <plugin
+ id="org.genivi.commonapi.core.cli"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.genivi.commonapi.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.genivi.commonapi.dbus"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="com.google.guava"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.osgi"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.commons.logging"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.log4j"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtend.lib"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.xbase.lib"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.runtime"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.contenttype"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.jobs"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.common"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.preferences"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.registry"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.app"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="javax.xml"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.ecore"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.common"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.mwe.utils"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.ecore.xmi"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.mwe.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.commons.cli"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.commons.lang"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.mwe2.runtime"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="com.google.inject"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="javax.inject"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.mwe2.launch"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.mwe2.lib"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.mwe2.language"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.antlr.runtime"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.common.types"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.util"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.hamcrest.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.junit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.core.resources"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.filesystem"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.expressions"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.codegen.ecore"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.codegen"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.debug.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.variables"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="com.ibm.icu"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.jdt.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.jdt.launching"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.text"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.jdt.debug"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.core.commands"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.junit4"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.ui.junit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ui.ide"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.bidi"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.p2.engine"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.p2.metadata"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.help"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.jface.text"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ui.workbench"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.jface"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.swt"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.p2.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.databinding.observable"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.databinding.property"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.core.contexts"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.core.di"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="javax.annotation"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtend2.lib"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.builder"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.generator"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.core.services"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.bindings"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.core.commands"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.css.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.css.swt"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.css.swt.theme"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.batik.css"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.w3c.css.sac"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.w3c.dom.svg"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.batik.util"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.batik.util.gui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.di"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.core.di.extensions"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.osgi.services"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.model.workbench"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.workbench.addons.swt"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.services"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.workbench"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.ecore.change"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.widgets"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.workbench.renderers.swt"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.workbench.swt"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.e4.ui.workbench3"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.databinding"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.ds"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.event"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.jface.databinding"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.util"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.p2.repository"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.p2.metadata.repository"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.security"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xpand"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtend"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtend.typesystem.emf"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.ecore"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.edit.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.common.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.edit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ui.views"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.junit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ui.editors"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.filebuffers"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ui.workbench.texteditor"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.compare.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ui.forms"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.compare"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ui.console"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.ui.shared"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.w3c.dom.smil"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.xbase"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.smap"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.ui.codetemplates.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.ui.codetemplates"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ui.navigator"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtext.ui.ecore"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.cdt.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.cdt.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.ecore.editor"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.ecore.edit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/org.genivi.commonapi.core.cli.feature/pom.xml b/org.genivi.commonapi.core.cli.feature/pom.xml
new file mode 100644
index 0000000..41d24e7
--- /dev/null
+++ b/org.genivi.commonapi.core.cli.feature/pom.xml
@@ -0,0 +1,13 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.core.cli.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.core.cli/.classpath b/org.genivi.commonapi.core.cli/.classpath
index e975b05..8572780 100644
--- a/org.genivi.commonapi.core.cli/.classpath
+++ b/org.genivi.commonapi.core.cli/.classpath
@@ -1,20 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="src" path="/org.genivi.commonapi.core"/>
- <classpathentry kind="src" path="/org.genivi.commonapi.dbus"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.emf.ecore_2.9.1.v20130827-0309.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.franca.core.dsl_0.8.10.201309262002.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/com.google.inject_3.0.0.v201203062045.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.emf.common_2.9.1.v20130827-0309.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/javax.inject_1.0.0.v20091030.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.franca.deploymodel.dsl_0.8.10.201309262002.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.emf.ecore.xmi_2.9.1.v20130827-0309.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.apache.log4j_1.2.15.v201012070815.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.antlr.runtime_3.2.0.v201101311130.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.emf.codegen.ecore_2.9.1.v20131212-0558.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.emf.mwe2.language_2.5.0.v201312110944.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.xtext_2.5.0.v201312110906.jar"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+ <classpathentry kind="con"
+ path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" />
+ <classpathentry kind="con"
+ path="org.eclipse.pde.core.requiredPlugins" />
+ <classpathentry kind="src" path="src" />
+ <classpathentry kind="output" path="bin" />
+</classpath> \ No newline at end of file
diff --git a/org.genivi.commonapi.core.cli/.gitignore b/org.genivi.commonapi.core.cli/.gitignore
index 41726e5..912c25a 100644
--- a/org.genivi.commonapi.core.cli/.gitignore
+++ b/org.genivi.commonapi.core.cli/.gitignore
@@ -7,3 +7,4 @@
/build.xml
/temp
/.classpath
+/target
diff --git a/org.genivi.commonapi.core.cli/.project b/org.genivi.commonapi.core.cli/.project
index e4092a5..f719ee6 100644
--- a/org.genivi.commonapi.core.cli/.project
+++ b/org.genivi.commonapi.core.cli/.project
@@ -1,17 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.genivi.commonapi.core.cli</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+ <name>org.genivi.commonapi.core.cli</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> \ No newline at end of file
diff --git a/org.genivi.commonapi.core.cli/META-INF/MANIFEST.MF b/org.genivi.commonapi.core.cli/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4ac69fb
--- /dev/null
+++ b/org.genivi.commonapi.core.cli/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: commonapi generator Console Interface
+Bundle-SymbolicName: org.genivi.commonapi.core.cli;singleton:=true
+Bundle-Version: 2.1.5.qualifier
+Bundle-Activator: org.genivi.commonapi.core.cli.Activator
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.common,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.codegen.ecore,
+ org.eclipse.xtext,
+ org.franca.core.dsl,
+ org.franca.deploymodel.dsl,
+ org.genivi.commonapi.core,
+ org.genivi.commonapi.dbus,
+ org.eclipse.xtext.ui.ecore,
+ org.genivi.commonapi.core.ui,
+ org.eclipse.xtext.ui;bundle-version="2.4.3",
+ org.eclipse.xtext.builder
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: BMW AG
diff --git a/org.genivi.commonapi.core.cli/build.properties b/org.genivi.commonapi.core.cli/build.properties
new file mode 100644
index 0000000..d96872b
--- /dev/null
+++ b/org.genivi.commonapi.core.cli/build.properties
@@ -0,0 +1,6 @@
+javacDefaultEncoding..=UTF-8
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/org.genivi.commonapi.core.cli/plugin.xml b/org.genivi.commonapi.core.cli/plugin.xml
new file mode 100644
index 0000000..71e23e9
--- /dev/null
+++ b/org.genivi.commonapi.core.cli/plugin.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+ <extension
+ id="application"
+ point="org.eclipse.core.runtime.applications">
+ <application>
+ <run
+ class="org.genivi.commonapi.core.cli.Application">
+ </run>
+ </application>
+ </extension>
+
+ <extension
+ id="product"
+ point="org.eclipse.core.runtime.products">
+ <product
+ application="org.genivi.commonapi.core.cli.application"
+ name="CommonAPI Code Generator">
+ <property
+ name="appName"
+ value="CommonAPI Code Generator">
+ </property>
+ </product>
+ </extension>
+</plugin>
diff --git a/org.genivi.commonapi.core.cli/pom.xml b/org.genivi.commonapi.core.cli/pom.xml
new file mode 100644
index 0000000..dca08f0
--- /dev/null
+++ b/org.genivi.commonapi.core.cli/pom.xml
@@ -0,0 +1,13 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.core.cli</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/Activator.java b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/Activator.java
new file mode 100644
index 0000000..98c7c82
--- /dev/null
+++ b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/Activator.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2013 BMW Group Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de) This Source Code Form is
+ * subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the
+ * MPL was not distributed with this file, You can obtain one at
+ * http://mozilla.org/MPL/2.0/.
+ */
+package org.genivi.commonapi.core.cli;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends Plugin
+{
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.genivi.commonapi.core.cli"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator()
+ {
+
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault()
+ {
+ return plugin;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext bundleContext) throws Exception
+ {
+ super.start(bundleContext);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext bundleContext) throws Exception
+ {
+ plugin = null;
+ super.stop(bundleContext);
+ }
+}
diff --git a/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/Application.java b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/Application.java
new file mode 100644
index 0000000..2a45fd4
--- /dev/null
+++ b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/Application.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2013 BMW Group Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de) This Source Code Form is
+ * subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the
+ * MPL was not distributed with this file, You can obtain one at
+ * http://mozilla.org/MPL/2.0/.
+ */
+package org.genivi.commonapi.core.cli;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.equinox.app.IApplication;
+import org.eclipse.equinox.app.IApplicationContext;
+
+public class Application implements IApplication
+{
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.
+ * IApplicationContext)
+ */
+ @Override
+ public Object start(IApplicationContext context) throws Exception
+ {
+ /*
+ * sleep 100 ms to guarantee that the gogo.shell.Activator is not
+ * interrupted in start-up, sometimes causing a InterruptException
+ */
+ Thread.sleep(100);
+ String[] args = Platform.getApplicationArgs();
+
+ try
+ {
+ CommandlineToolMain.generate(args);
+ }
+ catch (IllegalArgumentException e)
+ {
+ System.err.println(e.getMessage());
+ }
+
+ return IApplication.EXIT_OK;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.equinox.app.IApplication#stop()
+ */
+ @Override
+ public void stop()
+ {
+
+ }
+}
diff --git a/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandExecutableExtensionFactory.java b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandExecutableExtensionFactory.java
new file mode 100644
index 0000000..768c1ab
--- /dev/null
+++ b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandExecutableExtensionFactory.java
@@ -0,0 +1,51 @@
+/* Copyright (C) 2013 BMW Group
+ * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de)
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+package org.genivi.commonapi.core.cli;
+
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.xtext.generator.IGenerator;
+import org.eclipse.xtext.ui.ecore.ExecutableExtensionFactory;
+import org.genivi.commonapi.core.generator.FrancaGenerator;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Binder;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+public class CommandExecutableExtensionFactory extends ExecutableExtensionFactory
+{
+ private Injector injector;
+
+ @Override
+ protected Bundle getBundle()
+ {
+ return Activator.getDefault().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector()
+ {
+ if (injector == null)
+ injector = super.getInjector().createChildInjector(new Module()
+ {
+ @Override
+ public void configure(final Binder binder)
+ {
+ binder.bind(ResourceSet.class).to(ResourceSetImpl.class);
+ bindGeneratorClass(binder);
+ }
+ });
+
+ return injector;
+ }
+
+ protected void bindGeneratorClass(final Binder binder)
+ {
+ binder.bind(IGenerator.class).to(FrancaGenerator.class);
+ }
+}
diff --git a/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java
index ac0bccf..5cdeef9 100644
--- a/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java
+++ b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java
@@ -22,8 +22,12 @@ import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+
+import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.generator.IFileSystemAccess;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.genivi.commonapi.core.generator.FrancaGenerator;
@@ -33,6 +37,7 @@ import org.genivi.commonapi.core.preferences.PreferenceConstants;
import org.genivi.commonapi.dbus.generator.FrancaDBusGenerator;
import com.google.inject.Injector;
+import com.google.inject.Provider;
/**
* This is a little Tool to generate C++ files from Franca files over the
@@ -42,53 +47,54 @@ import com.google.inject.Injector;
* output-destination to the given path and finally with -pref and a path to a
* Textile will set the comment in the head of each file to the text from the
* file given after -pref
- *
+ *
* @author Patrick Sattler
*/
-public class CommandlineToolMain {
-
- public static final String FILESEPARATOR = System
- .getProperty("file.separator");
-
- public static final String FILESEPARATORIMP = "/";
- public static final String TEMP_PFAD = System.getProperty("user.dir")
- + FILESEPARATOR + "temp/";
- public static final String CORE_DEPL = TEMP_PFAD + FILESEPARATOR
- + "org.genivi.commonapi.core" + FILESEPARATOR + "deployment"
- + FILESEPARATOR + "CommonAPI_deployment.fdepl";
- public static final String CORE_PFAD = TEMP_PFAD + FILESEPARATOR
- + "org.genivi.commonapi.core" + FILESEPARATOR + "deployment";
- public static final String DBUS_DEPL = TEMP_PFAD + FILESEPARATOR
- + "org.genivi.commonapi.dbus" + FILESEPARATOR + "deployment"
- + FILESEPARATOR + "CommonAPI-DBus_deployment.fdepl";
- public static final String DBUS_PFAD = TEMP_PFAD + FILESEPARATOR
- + "org.genivi.commonapi.dbus" + FILESEPARATOR + "deployment";
- public static final String TEMP_FDEPL_PFAD = TEMP_PFAD + FILESEPARATOR
- + "fdepl";
- public static List<String> files = new ArrayList<String>();
+public class CommandlineToolMain
+{
+
+ public static final String FILESEPARATOR = System.getProperty("file.separator");
+
+ public static final String FILESEPARATORIMP = "/";
+ public static final String TEMP_PFAD = System.getProperty("user.dir") + FILESEPARATOR + "temp/";
+ public static final String CORE_DEPL = TEMP_PFAD + FILESEPARATOR + "org.genivi.commonapi.core"
+ + FILESEPARATOR + "deployment" + FILESEPARATOR
+ + "CommonAPI_deployment.fdepl";
+ public static final String CORE_PFAD = TEMP_PFAD + FILESEPARATOR + "org.genivi.commonapi.core"
+ + FILESEPARATOR + "deployment";
+ public static final String DBUS_DEPL = TEMP_PFAD + FILESEPARATOR + "org.genivi.commonapi.dbus"
+ + FILESEPARATOR + "deployment" + FILESEPARATOR
+ + "CommonAPI-DBus_deployment.fdepl";
+ public static final String DBUS_PFAD = TEMP_PFAD + FILESEPARATOR + "org.genivi.commonapi.dbus"
+ + FILESEPARATOR + "deployment";
+ public static final String TEMP_FDEPL_PFAD = TEMP_PFAD + FILESEPARATOR + "fdepl";
+ public static List<String> files = new ArrayList<String>();
// All given files were saved in this list with an absolute path
- private static List<String> filelist = new ArrayList<String>();
+ private static List<String> filelist = new ArrayList<String>();
// true if for all interfaces have to be generated the stubs
- private static boolean allstubs = false;
+ private static boolean allstubs = false;
+
+ @Inject
+ private static Provider<JavaIoFileSystemAccess> fileAccessProvider;
- public static void main(String[] args) {
+ public static void generate(String[] args)
+ {
// Initialization with all options
File tempfolder = null;
boolean dbus = false;
- String dest = createAbsolutPath("." + FILESEPARATOR + "src-gen"
- + FILESEPARATOR);
- if (args.length < 1) {
- System.err
- .println("Usage: [java -jar] generator.jar [options] file...\n"
- + "\n"
- + "Options:\n"
- + " -dbus Additionally generate gluecode for the CommonAPI-D-Bus middleware binding\n"
- + " -dest <path/to/folder> Relative to current location, the generated files will be saved there\n"
- + " -pref <path/to/file> The text in this file which will be inserted as a comment in each generated file (for example your license)\n"
- + " -version Used versions from the CommonAPI-Generator and Franca plugin\n"
- + " -genallincl Generates all included fidls too (all Proxys and Stubs will be generated)");
- System.exit(-1);
+ String dest = createAbsolutPath("." + FILESEPARATOR + "src-gen" + FILESEPARATOR);
+ if (args.length < 1)
+ {
+ String errorMessage = "Usage: commonapi_generator [options] file...\n"
+ + "\n"
+ + "Options:\n"
+ + " -dbus Additionally generate gluecode for the CommonAPI-D-Bus middleware binding\n"
+ + " -dest <path/to/folder> Relative to current location, the generated files will be saved there\n"
+ + " -pref <path/to/file> The text in this file which will be inserted as a comment in each generated file (for example your license)\n"
+ + " -version Used versions from the CommonAPI-Generator and Franca plugin\n"
+ + " -genallincl Generates all included fidls too (all Proxys and Stubs will be generated)\n";
+ throw new IllegalArgumentException(errorMessage);
}
List<String> tempfilelist = new ArrayList<String>();
@@ -101,74 +107,87 @@ public class CommandlineToolMain {
String francaversion = getFrancaVersion();
String coreversion = FrancaGeneratorExtensions.getCoreVersion();
pref.setPreference(PreferenceConstants.FRANCA_VERSION, francaversion);
- pref.setPreference(PreferenceConstants.USEPROJECTSETTINGS,
- Boolean.TRUE.toString());
- for (int i = 0; i < args.length; i++) {
+ pref.setPreference(PreferenceConstants.USEPROJECTSETTINGS, Boolean.TRUE.toString());
+ for (int i = 0; i < args.length; i++)
+ {
String arg = args[i];
if (arg.equals("-dbus"))
dbus = true;
- else if (arg.equals("-dest")) {
- if (i + 1 == args.length) {
- System.err
- .println("Please write a destination folder after -dest");
+ else if (arg.equals("-dest"))
+ {
+ if (i + 1 == args.length)
+ {
+ System.err.println("Please write a destination folder after -dest");
System.exit(0);
}
File file = new File(args[i + 1]);
- if (!file.exists() || !file.isDirectory()) {
- if (!file.mkdirs()) {
+ if (!file.exists() || !file.isDirectory())
+ {
+ if (!file.mkdirs())
+ {
System.err.println("Could not create dest path");
System.exit(0);
}
}
dest = createAbsolutPath(args[i + 1]);
i++;
- } else if (arg.equals("-pref")) {
- if (i + 1 == args.length) {
- System.err
- .println("Please write a path to an existing file after -pref");
+ }
+ else if (arg.equals("-pref"))
+ {
+ if (i + 1 == args.length)
+ {
+ System.err.println("Please write a path to an existing file after -pref");
System.exit(0);
}
File file = new File(createAbsolutPath(args[i + 1]));
i++;
- if (!file.exists() || file.isDirectory()) {
- System.err
- .println("Please write a path to an existing file after -pref");
+ if (!file.exists() || file.isDirectory())
+ {
+ System.err.println("Please write a path to an existing file after -pref");
System.exit(0);
}
- System.out.println("The following file was set as header:\n"
- + file.getAbsolutePath());
- try {
- pref.setPreference(PreferenceConstants.USEPROJECTSETTINGS,
- Boolean.toString(true));
+ System.out.println("The following file was set as header:\n" + file.getAbsolutePath());
+ try
+ {
+ pref.setPreference(PreferenceConstants.USEPROJECTSETTINGS, Boolean.toString(true));
pref.setPreferences(PreferenceConstants.P_LICENSE, file);
- } catch (IOException e) {
+ }
+ catch (IOException e)
+ {
e.printStackTrace();
}
- } else if (arg.equals("-version")) {
+ }
+ else if (arg.equals("-version"))
+ {
System.out.println("Franca Version: " + francaversion);
System.out.println("CommonAPI Version: " + coreversion);
System.exit(0);
- } else if (arg.equals("-genallincl")) {
+ }
+ else if (arg.equals("-genallincl"))
+ {
allstubs = true;
- } else {
+ }
+ else
+ {
File file = new File(createAbsolutPath(args[i]));
- if (!file.exists() || file.isDirectory()) {
- System.err
- .println("The following path won't be generated because it doesn't exists:\n"
- + args[i] + "\n");
- } else
+ if (!file.exists() || file.isDirectory())
+ {
+ System.err.println("The following path won't be generated because it doesn't exists:\n" + args[i] + "\n");
+ }
+ else
tempfilelist.add(createAbsolutPath(arg));
}
}
- if (tempfilelist.size() == 0) {
+ if (tempfilelist.size() == 0)
+ {
System.err.println("There are no valid files to generate!");
System.exit(0);
}
- System.out.println("The following path was set as the Outputfolder: \n"
- + dest);
+ System.out.println("The following path was set as the Outputfolder: \n" + dest);
System.out.println("Using Franca Version " + francaversion);
System.out.println("and CommonAPI Version " + coreversion);
- try {
+ try
+ {
/*
* The FDeploy.xmi will be loaded from the jar in a temporary folder
* because the Generator expects a hierarchical URI an with a
@@ -177,9 +196,9 @@ public class CommandlineToolMain {
File xmifile = null;
InputStream in = null;
OutputStream out = null;
- try {
- in = CommandlineToolMain.class
- .getResourceAsStream("/org/franca/deploymodel/dsl/FDeploy.xmi");
+ try
+ {
+ in = CommandlineToolMain.class.getResourceAsStream("/org/franca/deploymodel/dsl/FDeploy.xmi");
xmifile = new File(TEMP_PFAD + FILESEPARATOR + "FDeploy.xmi");
tempfolder = new File(TEMP_PFAD);
tempfolder.mkdir();
@@ -188,16 +207,26 @@ public class CommandlineToolMain {
int l = 0;
while ((l = in.read()) != -1)
out.write(l);
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
e.printStackTrace();
- } finally {
- try {
+ }
+ finally
+ {
+ try
+ {
out.close();
- } catch (Exception e) {
}
- try {
+ catch (Exception e)
+ {
+ }
+ try
+ {
in.close();
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
}
}
/*
@@ -208,36 +237,29 @@ public class CommandlineToolMain {
* instead of the original one
*/
- for (int i = 0; i < tempfilelist.size(); i++) {
+ for (int i = 0; i < tempfilelist.size(); i++)
+ {
filelist.add(rewriteImports(tempfilelist.get(i)));
}
- Injector injectorcore = new StandaloneSetup()
- .createInjectorAndDoEMFRegistration();
- Injector injectordepl = new DeployStandaloneSetup()
- .createInjectorAndDoEMFRegistration();
+ DBusCommandExecutableExtensionFactory dbusCommandFactory = new DBusCommandExecutableExtensionFactory();
+ Injector injectorDBus = dbusCommandFactory.getInjector();
+ CommandExecutableExtensionFactory commandFactory = new CommandExecutableExtensionFactory();
+ Injector injectorCore = commandFactory.getInjector();
URI uri = null;
// we initialize both generators with the Injectors
- FrancaDBusGenerator dbusgenerator = injectorcore
- .getInstance(FrancaDBusGenerator.class);
- FrancaGenerator generator = injectorcore
- .getInstance(FrancaGenerator.class);
- // The resourceset comes from a Provider because we needed a special
- // way to build it
- XtextResourceSet rsset = injectorcore.getProvider(
- XtextResourceSet.class).get();
- // Here the resourceset gets the bindings for the fileendings and
- // the resourcefactory which has to create resources with this
- // ending
- rsset.getResourceFactoryRegistry()
- .getExtensionToFactoryMap()
- .put("fdepl",
- injectordepl
- .getInstance(FrancaResourceFactory.class));
- final JavaIoFileSystemAccess fsa = injectorcore
- .getInstance(JavaIoFileSystemAccess.class);
+ FrancaDBusGenerator dbusgenerator = injectorDBus.getInstance(FrancaDBusGenerator.class);
+ FrancaGenerator generator = injectorCore.getInstance(FrancaGenerator.class);
+
+ XtextResourceSet rsset = injectorCore.getProvider(XtextResourceSet.class).get();
+ fileAccessProvider = injectorCore.getProvider(JavaIoFileSystemAccess.class);
+
+ final JavaIoFileSystemAccess fsa = fileAccessProvider.get();
+
fsa.setOutputPath(createAbsolutPath(dest));
- for (String file : filelist) {
+ fsa.getOutputConfigurations().get(IFileSystemAccess.DEFAULT_OUTPUT).setCreateOutputDirectory(true);
+ for (String file : filelist)
+ {
uri = URI.createFileURI(file);
Resource rs = rsset.createResource(uri);
if (dbus)
@@ -249,7 +271,9 @@ public class CommandlineToolMain {
generator.doGenerate(rs, fsa);
}
- } finally {
+ }
+ finally
+ {
deleteTempFiles(tempfolder);
}
}
@@ -257,12 +281,13 @@ public class CommandlineToolMain {
/**
* gets the last segment from a path which fileseperators are
* System.getProperty("file.separator")
- *
+ *
* @param pfad
* the path from were the filename is going to be extracted
* @return the last segment of the path
*/
- private static String getFileName(String pfad) {
+ private static String getFileName(String pfad)
+ {
if (pfad.lastIndexOf(FILESEPARATOR) >= 0)
return pfad.substring(pfad.lastIndexOf(FILESEPARATOR) + 1).trim();
return pfad.trim();
@@ -272,15 +297,17 @@ public class CommandlineToolMain {
* the file on the path will be loaded, if the file has imports then the
* imports will be overwritten with the right path. if the imported files
* are also *.fdepl then thex will be also loaded
- *
+ *
* @param path
* the path to the file which has to be loaded and analyzed
* @return the new path to the file
*/
- private static String rewriteImports(String path) {
+ private static String rewriteImports(String path)
+ {
files.add(path);
String ret = path;
- if (path.endsWith(".fdepl")) {
+ if (path.endsWith(".fdepl"))
+ {
File filein = new File(createAbsolutPath(path));
String uristr = "";
File fileout = null;
@@ -291,12 +318,14 @@ public class CommandlineToolMain {
folder.mkdirs();
BufferedReader instr = null;
BufferedWriter outstr = null;
- try {
+ try
+ {
fileout.createNewFile();
instr = new BufferedReader(new FileReader(filein));
outstr = new BufferedWriter(new FileWriter(fileout));
String line = "";
- while ((line = instr.readLine()) != null) {
+ while ((line = instr.readLine()) != null)
+ {
// if a line contains the string "import" it will be
// analyzed if there is something imported that i dont know
// how to handle it will be passed through
@@ -306,80 +335,99 @@ public class CommandlineToolMain {
// the imported files will only be handled if they weren't
// handled before
- if (line.trim().startsWith("import")) {
- if (line.contains("dbus/deployment/CommonAPI-DBus_deployment.fdepl")) {
- line = "import \"file:" + FILESEPARATORIMP
- + replaceAll(DBUS_DEPL, "\\", "/") + "\"";
- if (!files.contains(DBUS_DEPL)) {
+ if (line.trim().startsWith("import"))
+ {
+ if (line.contains("dbus/deployment/CommonAPI-DBus_deployment.fdepl"))
+ {
+ line = "import \"file:" + FILESEPARATORIMP + replaceAll(DBUS_DEPL, "\\", "/") + "\"";
+ if (!files.contains(DBUS_DEPL))
+ {
handleDeployment(false);
}
- } else if (line
- .contains("core/deployment/CommonAPI_deployment.fdepl")) {
- line = "import \"file:" + FILESEPARATORIMP
- + replaceAll(CORE_DEPL, "\\", "/") + "\"";
- if (!files.contains(CORE_DEPL)) {
+ }
+ else if (line.contains("core/deployment/CommonAPI_deployment.fdepl"))
+ {
+ line = "import \"file:" + FILESEPARATORIMP + replaceAll(CORE_DEPL, "\\", "/") + "\"";
+ if (!files.contains(CORE_DEPL))
+ {
handleDeployment(true);
}
- } else if (line.contains(".fdepl")) {
+ }
+ else if (line.contains(".fdepl"))
+ {
String cp = line;
- line = "import \"file:" + FILESEPARATORIMP
- + replaceAll(TEMP_FDEPL_PFAD, "\\", "/")
- + FILESEPARATORIMP + getImportsName(line)
- + "\"";
- if (!files.contains(createAbsolutPath(
- getImportPath(cp), path)))
- rewriteImports(createAbsolutPath(
- getImportPath(cp), path));
- } else if (line.contains(".fidl")) {
- String fidlpath = createAbsolutPath(
- getImportPath(line),
- path.substring(0,
- path.lastIndexOf(FILESEPARATOR)));
+ line = "import \"file:" + FILESEPARATORIMP + replaceAll(TEMP_FDEPL_PFAD, "\\", "/") + FILESEPARATORIMP
+ + getImportsName(line) + "\"";
+ if (!files.contains(createAbsolutPath(getImportPath(cp), path)))
+ rewriteImports(createAbsolutPath(getImportPath(cp), path));
+ }
+ else if (line.contains(".fidl"))
+ {
+ String fidlpath = createAbsolutPath(getImportPath(line), path.substring(0, path.lastIndexOf(FILESEPARATOR)));
if (allstubs)
filelist.add(fidlpath);
- line = "import \"file:"
- + replaceAll(fidlpath, "\\", "/") + "\"";
+ line = "import \"file:" + replaceAll(fidlpath, "\\", "/") + "\"";
}
}
outstr.write(line + "\n");
}
- } catch (IOException e) {
+ }
+ catch (IOException e)
+ {
e.printStackTrace();
- } finally {
- try {
+ }
+ finally
+ {
+ try
+ {
instr.close();
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
;
}
- try {
+ try
+ {
outstr.close();
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
;
}
}
- } else if (allstubs) {
+ }
+ else if (allstubs)
+ {
File file = new File(createAbsolutPath(path));
BufferedReader str = null;
- try {
+ try
+ {
str = new BufferedReader(new FileReader(file));
String line = "";
- while ((line = str.readLine()) != null) {
- if (line.contains("import")) {
- String importfile = line
- .substring(line.indexOf('"') + 1);
- importfile = importfile.substring(0,
- importfile.indexOf('"'));
+ while ((line = str.readLine()) != null)
+ {
+ if (line.contains("import"))
+ {
+ String importfile = line.substring(line.indexOf('"') + 1);
+ importfile = importfile.substring(0, importfile.indexOf('"'));
filelist.add(importfile);
}
}
- } catch (IOException e) {
+ }
+ catch (IOException e)
+ {
e.printStackTrace();
- } finally {
- try {
+ }
+ finally
+ {
+ try
+ {
str.close();
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
}
}
}
@@ -389,35 +437,38 @@ public class CommandlineToolMain {
/**
* Here we create an absolute path from a relativ path and a rootpath from
* which the relative path begins
- *
+ *
* @param path
* the relative path which begins on rootpath
* @param rootpath
* an absolute path to a folder
* @return the merded absolute path without points
*/
- private static String createAbsolutPath(String path, String rootpath) {
- if (System.getProperty("os.name").contains("Windows")) {
+ private static String createAbsolutPath(String path, String rootpath)
+ {
+ if (System.getProperty("os.name").contains("Windows"))
+ {
if (path.startsWith(":", 1))
return path;
- } else {
+ }
+ else
+ {
if (path.startsWith(FILESEPARATOR))
return path;
}
- String ret = (rootpath.endsWith(FILESEPARATOR) ? rootpath
- : (rootpath + FILESEPARATOR)) + path;
- while (ret.contains(FILESEPARATOR + "." + FILESEPARATOR)
- || ret.contains(FILESEPARATOR + ".." + FILESEPARATOR)) {
- if (ret.contains(FILESEPARATOR + ".." + FILESEPARATOR)) {
- String temp = ret.substring(0,
- ret.indexOf(FILESEPARATOR + ".."));
+ String ret = (rootpath.endsWith(FILESEPARATOR) ? rootpath : (rootpath + FILESEPARATOR)) + path;
+ while (ret.contains(FILESEPARATOR + "." + FILESEPARATOR) || ret.contains(FILESEPARATOR + ".." + FILESEPARATOR))
+ {
+ if (ret.contains(FILESEPARATOR + ".." + FILESEPARATOR))
+ {
+ String temp = ret.substring(0, ret.indexOf(FILESEPARATOR + ".."));
temp = temp.substring(0, temp.lastIndexOf(FILESEPARATOR));
- ret = temp
- + ret.substring(ret.indexOf(FILESEPARATOR + "..") + 3);
- } else {
- ret = replaceAll(ret, FILESEPARATOR + "." + FILESEPARATOR,
- FILESEPARATOR);
+ ret = temp + ret.substring(ret.indexOf(FILESEPARATOR + "..") + 3);
+ }
+ else
+ {
+ ret = replaceAll(ret, FILESEPARATOR + "." + FILESEPARATOR, FILESEPARATOR);
}
}
return ret;
@@ -425,12 +476,13 @@ public class CommandlineToolMain {
/**
* reads from a line with import "path/to/file" the path to file
- *
+ *
* @param line
* the line with the import instruction
* @return the path alone without import and ""
*/
- private static String getImportPath(String line) {
+ private static String getImportPath(String line)
+ {
line = line.substring(line.indexOf("import") + 8).trim();
line = line.substring(0, line.length() - 1);
return line;
@@ -439,24 +491,25 @@ public class CommandlineToolMain {
/**
* creates a absolute path from a relative path which starts on the current
* user directory
- *
+ *
* @param path
* the relative path which start on the current user-directory
* @return the created absolute path
*/
- public static String createAbsolutPath(String path) {
- return createAbsolutPath(path, System.getProperty("user.dir")
- + FILESEPARATOR);
+ public static String createAbsolutPath(String path)
+ {
+ return createAbsolutPath(path, System.getProperty("user.dir") + FILESEPARATOR);
}
/**
* reads from a line with import "path/to/import/file" the filename
- *
+ *
* @param line
* the line with the import instruction
* @return The name of the imported file
*/
- private static String getImportsName(String line) {
+ private static String getImportsName(String line)
+ {
return getFileName(getImportPath(line));
}
@@ -466,46 +519,58 @@ public class CommandlineToolMain {
* of this they have to be loaded on a different way you can choose if you
* would like only to load the core or also the dbus depl (because the dbus
* deployment.fdepl imports the core deployment.fdepl)
- *
+ *
* @param core
* if true only the core file will be loaded otherwise also the
* dbus deployment.fdepl will be loaded
*/
- private static void handleDeployment(boolean core) {
+ private static void handleDeployment(boolean core)
+ {
BufferedReader reader = null;
BufferedWriter writer = null;
- if (!core) {
+ if (!core)
+ {
File file = new File(DBUS_DEPL);
File folder = new File(DBUS_PFAD);
folder.mkdirs();
- try {
+ try
+ {
file.createNewFile();
- reader = new BufferedReader(
- new InputStreamReader(
- CommandlineToolMain.class
- .getResourceAsStream("/CommonAPI-DBus_deployment.fdepl")));
+ reader = new BufferedReader(new InputStreamReader(
+ CommandlineToolMain.class.getResourceAsStream("/CommonAPI-DBus_deployment.fdepl")));
writer = new BufferedWriter(new FileWriter(file));
String line = "";
- while ((line = reader.readLine()) != null) {
- if (line.contains("import")) {
- line = "import \"file:" + FILESEPARATORIMP
- + replaceAll(CORE_DEPL, "\\", "/") + "\"";
+ while ((line = reader.readLine()) != null)
+ {
+ if (line.contains("import"))
+ {
+ line = "import \"file:" + FILESEPARATORIMP + replaceAll(CORE_DEPL, "\\", "/") + "\"";
}
writer.write(line + "\n");
}
files.add(DBUS_DEPL);
- } catch (IOException e) {
+ }
+ catch (IOException e)
+ {
e.printStackTrace();
- } finally {
- try {
+ }
+ finally
+ {
+ try
+ {
reader.close();
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
;
}
- try {
+ try
+ {
writer.close();
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
;
}
}
@@ -514,27 +579,36 @@ public class CommandlineToolMain {
File file = new File(CORE_DEPL);
File folder = new File(CORE_PFAD);
folder.mkdirs();
- try {
+ try
+ {
file.createNewFile();
- reader = new BufferedReader(
- new InputStreamReader(CommandlineToolMain.class
- .getResourceAsStream("/CommonAPI_deployment.fdepl")));
+ reader = new BufferedReader(new InputStreamReader(CommandlineToolMain.class.getResourceAsStream("/CommonAPI_deployment.fdepl")));
writer = new BufferedWriter(new FileWriter(file));
int i = 0;
while ((i = reader.read()) != -1)
writer.write(i);
files.add(CORE_DEPL);
- } catch (IOException e) {
+ }
+ catch (IOException e)
+ {
e.printStackTrace();
- } finally {
- try {
+ }
+ finally
+ {
+ try
+ {
reader.close();
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
;
}
- try {
+ try
+ {
writer.close();
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
;
}
}
@@ -543,7 +617,7 @@ public class CommandlineToolMain {
/**
* a relaceAll Method which doesn't interprets the toreplace String as a
* regex and so you can also replace \ and such special things
- *
+ *
* @param text
* the text who has to be modified
* @param toreplace
@@ -553,10 +627,11 @@ public class CommandlineToolMain {
* @return the modified text with all toreplace parts replaced with
* replacement
*/
- public static String replaceAll(String text, String toreplace,
- String replacement) {
+ public static String replaceAll(String text, String toreplace, String replacement)
+ {
String ret = "";
- while (text.contains(toreplace)) {
+ while (text.contains(toreplace))
+ {
ret += text.substring(0, text.indexOf(toreplace)) + replacement;
text = text.substring(text.indexOf(toreplace) + toreplace.length());
}
@@ -567,13 +642,16 @@ public class CommandlineToolMain {
/**
* removes recursively all files on the path and his folders and at the end
* himself
- *
+ *
* @param path
* the path to the folder which has to be deleted
*/
- public static void deleteTempFiles(File path) {
- if (path != null && path.isDirectory()) {
- for (File file : path.listFiles()) {
+ public static void deleteTempFiles(File path)
+ {
+ if (path != null && path.isDirectory())
+ {
+ for (File file : path.listFiles())
+ {
if (file.isDirectory())
deleteTempFiles(file);
file.delete();
@@ -583,28 +661,9 @@ public class CommandlineToolMain {
path.delete();
}
- public static String getFrancaVersion() {
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(
- new InputStreamReader(
- CommandlineToolMain.class
- .getResourceAsStream("/META-INF/maven/org.franca/org.franca.core/pom.properties")));
- String line = "";
- while ((line = reader.readLine()) != null) {
- if (line.contains("version"))
- return line.substring(line.indexOf("version") + 8);
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- reader.close();
- } catch (Exception e) {
- }
- }
-
- return null;
+ public static String getFrancaVersion()
+ {
+ return Platform.getBundle("org.franca.core").getVersion().toString();
}
}
diff --git a/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/DBusCommandExecutableExtensionFactory.java b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/DBusCommandExecutableExtensionFactory.java
new file mode 100644
index 0000000..8a20c7d
--- /dev/null
+++ b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/DBusCommandExecutableExtensionFactory.java
@@ -0,0 +1,28 @@
+/* Copyright (C) 2013 BMW Group
+ * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de)
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+package org.genivi.commonapi.core.cli;
+
+import org.eclipse.xtext.generator.IGenerator;
+import org.genivi.commonapi.dbus.generator.FrancaDBusGenerator;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Binder;
+
+public class DBusCommandExecutableExtensionFactory extends CommandExecutableExtensionFactory
+{
+ @Override
+ protected Bundle getBundle()
+ {
+ return Activator.getDefault().getBundle();
+ }
+
+ @Override
+ protected void bindGeneratorClass(Binder binder)
+ {
+ binder.bind(IGenerator.class).to(FrancaDBusGenerator.class);
+ }
+}
diff --git a/org.genivi.commonapi.core.feature/.gitignore b/org.genivi.commonapi.core.feature/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.genivi.commonapi.core.feature/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.genivi.commonapi.core.feature/pom.xml b/org.genivi.commonapi.core.feature/pom.xml
new file mode 100644
index 0000000..40a3b86
--- /dev/null
+++ b/org.genivi.commonapi.core.feature/pom.xml
@@ -0,0 +1,13 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.core.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.core.ui/.gitignore b/org.genivi.commonapi.core.ui/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.genivi.commonapi.core.ui/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.genivi.commonapi.core.ui/META-INF/MANIFEST.MF b/org.genivi.commonapi.core.ui/META-INF/MANIFEST.MF
index 43b241c..64dff65 100644
--- a/org.genivi.commonapi.core.ui/META-INF/MANIFEST.MF
+++ b/org.genivi.commonapi.core.ui/META-INF/MANIFEST.MF
@@ -22,5 +22,5 @@ Import-Package: javax.inject,
org.franca.core.dsl.validation,
org.franca.core.franca,
org.franca.core.utils
-Export-Package: org.genivi.commonapi.core.ui,
- org.genivi.commonapi.core.ui.handler
+Export-Package: org.genivi.commonapi.core.ui,org.genivi.commonapi.core
+ .ui.handler
diff --git a/org.genivi.commonapi.core.ui/pom.xml b/org.genivi.commonapi.core.ui/pom.xml
new file mode 100644
index 0000000..0ecbe93
--- /dev/null
+++ b/org.genivi.commonapi.core.ui/pom.xml
@@ -0,0 +1,13 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.core.ui</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.core.validator.feature/.gitignore b/org.genivi.commonapi.core.validator.feature/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.genivi.commonapi.core.validator.feature/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.genivi.commonapi.core.validator.feature/pom.xml b/org.genivi.commonapi.core.validator.feature/pom.xml
new file mode 100644
index 0000000..8e8de99
--- /dev/null
+++ b/org.genivi.commonapi.core.validator.feature/pom.xml
@@ -0,0 +1,13 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.core.validator.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.core.validator/.gitignore b/org.genivi.commonapi.core.validator/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.genivi.commonapi.core.validator/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.genivi.commonapi.core.validator/pom.xml b/org.genivi.commonapi.core.validator/pom.xml
new file mode 100644
index 0000000..bc8c197
--- /dev/null
+++ b/org.genivi.commonapi.core.validator/pom.xml
@@ -0,0 +1,13 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.core.validator</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.core/.gitignore b/org.genivi.commonapi.core/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.genivi.commonapi.core/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.genivi.commonapi.core/META-INF/MANIFEST.MF b/org.genivi.commonapi.core/META-INF/MANIFEST.MF
index 436fa39..da5e59f 100644
--- a/org.genivi.commonapi.core/META-INF/MANIFEST.MF
+++ b/org.genivi.commonapi.core/META-INF/MANIFEST.MF
@@ -16,6 +16,6 @@ Require-Bundle: org.eclipse.core.resources;bundle-version="3.8.0",
org.eclipse.jface
Import-Package: javax.inject;version="1.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.genivi.commonapi.core.deployment,
- org.genivi.commonapi.core.generator, org.genivi.commonapi.core.preferences
+Export-Package: org.genivi.commonapi.core.deployment,org.genivi.common
+ api.core.generator, org.genivi.commonapi.core.preferences
Bundle-ClassPath: .,lib/guava-14.0.1.jar
diff --git a/org.genivi.commonapi.core/pom.xml b/org.genivi.commonapi.core/pom.xml
new file mode 100644
index 0000000..40f8714
--- /dev/null
+++ b/org.genivi.commonapi.core/pom.xml
@@ -0,0 +1,13 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.core</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FrancaGeneratorExtensions.xtend b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FrancaGeneratorExtensions.xtend
index ebee483..9dbf72d 100644
--- a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FrancaGeneratorExtensions.xtend
+++ b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FrancaGeneratorExtensions.xtend
@@ -999,31 +999,22 @@ class FrancaGeneratorExtensions {
def getFrancaVersion() {
val bundle = FrameworkUtil::getBundle(FrancaGeneratorExtensions)
- if (bundle != null) {
- val bundleContext = bundle.getBundleContext();
- for (b : bundleContext.bundles) {
- if (b.symbolicName.equals("org.franca.core")) {
- return b.version.toString
- }
+ val bundleContext = bundle.getBundleContext();
+ for (b : bundleContext.bundles) {
+ if (b.symbolicName.equals("org.franca.core")) {
+ return b.version.toString
}
}
- var version = FPreferences::instance.getPreference(null, PreferenceConstants::FRANCA_VERSION, "Error");
- if (version==null)
- return "0.8.10"
- return version
}
def static getCoreVersion() {
val bundle = FrameworkUtil::getBundle(FrancaGeneratorExtensions)
- if (bundle != null) {
- val bundleContext = bundle.getBundleContext();
- for (b : bundleContext.bundles) {
- if (b.symbolicName.equals("org.genivi.commonapi.core")) {
- return b.version.toString
- }
+ val bundleContext = bundle.getBundleContext();
+ for (b : bundleContext.bundles) {
+ if (b.symbolicName.equals("org.genivi.commonapi.core")) {
+ return b.version.toString
}
}
- return "2.1.5"
}
def generateCommonApiLicenseHeader(FModelElement model, IResource modelid) '''
diff --git a/org.genivi.commonapi.parent.releng/.project b/org.genivi.commonapi.parent.releng/.project
new file mode 100644
index 0000000..529d3bb
--- /dev/null
+++ b/org.genivi.commonapi.parent.releng/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.genivi.commonapi.parent.releng</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription> \ No newline at end of file
diff --git a/org.genivi.commonapi.parent.releng/pom.xml b/org.genivi.commonapi.parent.releng/pom.xml
new file mode 100644
index 0000000..672160b
--- /dev/null
+++ b/org.genivi.commonapi.parent.releng/pom.xml
@@ -0,0 +1,119 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.parent.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <properties>
+ <tycho-version>0.19.0</tycho-version>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <forceContextQualifier>v${maven.build.timestamp}</forceContextQualifier>
+ <maven.build.timestamp.format>yyyyMMdd</maven.build.timestamp.format>
+ </properties>
+ <repositories>
+ <repository>
+ <id>dbus-emf</id>
+ <layout>p2</layout>
+ <url>http://dbus-emf-model.eclipselabs.org.codespot.com/git/update_site/releases/</url>
+ </repository>
+ <repository>
+ <id>eclipse-updates</id>
+ <layout>p2</layout>
+ <url>http://download.eclipse.org/eclipse/updates/4.3/</url>
+ </repository>
+ <repository>
+ <id>Kepler</id>
+ <layout>p2</layout>
+ <url>http://download.eclipse.org/releases/kepler</url>
+ </repository>
+ <repository>
+ <id>Franca</id>
+ <layout>p2</layout>
+ <url>http://franca.eclipselabs.org.codespot.com/git/update_site/releases/</url>
+ </repository>
+ </repositories>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <extensions>true</extensions>
+ <configuration>
+ <environments>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86_64</arch>
+ </environment>
+ </environments>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <target>
+ <artifact>
+ <groupId>yamaica</groupId>
+ <artifactId>org.genivi.commonapi.target</artifactId>
+ </artifact>
+ </target>
+ <environments>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86_64</arch>
+ </environment>
+ </environments>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.9.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-versions-plugin</artifactId>
+ <version>${tycho-version}</version>
+ </plugin>
+ </plugins>
+ </build>
+ <modules>
+ <module>../org.genivi.commonapi.releng</module>
+ <module>../../ascgit017.CommonAPI-D-Bus-Tools/org.genivi.commonapi.dbus.releng</module>
+ </modules>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.releng/.project b/org.genivi.commonapi.releng/.project
new file mode 100644
index 0000000..16a87f0
--- /dev/null
+++ b/org.genivi.commonapi.releng/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.genivi.commonapi.releng</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription> \ No newline at end of file
diff --git a/org.genivi.commonapi.releng/pom.xml b/org.genivi.commonapi.releng/pom.xml
new file mode 100644
index 0000000..0fa2cd2
--- /dev/null
+++ b/org.genivi.commonapi.releng/pom.xml
@@ -0,0 +1,26 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <packaging>pom</packaging>
+ <modules>
+ <module>../org.genivi.commonapi.core</module>
+ <module>../org.genivi.commonapi.core.feature</module>
+ <module>../org.genivi.commonapi.core.ui</module>
+ <module>../org.genivi.commonapi.core.validator</module>
+ <module>../org.genivi.commonapi.core.validator.feature</module>
+ <module>../org.genivi.commonapi.updatesite</module>
+ <module>../org.genivi.commonapi.target</module>
+ <module>../org.genivi.commonapi.cli.product</module>
+ <module>../org.genivi.commonapi.core.cli</module>
+ <module>../org.genivi.commonapi.core.cli.feature</module>
+ <!--<module>../org.genivi.commonapi.core.verification</module> -->
+ </modules>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.parent.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.parent.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.target/.project b/org.genivi.commonapi.target/.project
new file mode 100644
index 0000000..1ab48aa
--- /dev/null
+++ b/org.genivi.commonapi.target/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.genivi.commonapi.target</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription> \ No newline at end of file
diff --git a/org.genivi.commonapi.target/org.genivi.commonapi.target.target b/org.genivi.commonapi.target/org.genivi.commonapi.target.target
new file mode 100644
index 0000000..407682d
--- /dev/null
+++ b/org.genivi.commonapi.target/org.genivi.commonapi.target.target
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?><target name="Common API" sequenceNumber="17">
+<locations>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.platform.sdk" version="4.3.1.M20130911-1000"/>
+<repository location="http://download.eclipse.org/eclipse/updates/4.3/"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.xtext.sdk.feature.group" version="2.4.3.v201309030823"/>
+<unit id="org.eclipse.cdt.sdk.feature.group" version="8.2.1.201309180223"/>
+<repository location="http://download.eclipse.org/releases/kepler"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="model.emf.dbusxml.feature.feature.group" version="0.7.8.201401151351"/>
+<repository location="http://dbus-emf-model.eclipselabs.org.codespot.com/git/update_site/releases/"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.franca.dbus.feature.sdk.feature.group" version="0.8.10.201309262002"/>
+<unit id="org.franca.feature.sdk.feature.group" version="0.8.10.201309262002"/>
+<unit id="org.franca.feature.feature.group" version="0.8.10.201309262002"/>
+<repository location="http://franca.eclipselabs.org.codespot.com/git/update_site/releases/"/>
+</location>
+</locations>
+</target>
diff --git a/org.genivi.commonapi.target/pom.xml b/org.genivi.commonapi.target/pom.xml
new file mode 100644
index 0000000..27dc8b0
--- /dev/null
+++ b/org.genivi.commonapi.target/pom.xml
@@ -0,0 +1,13 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.target</artifactId>
+ <packaging>eclipse-target-definition</packaging>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file
diff --git a/org.genivi.commonapi.updatesite/.gitignore b/org.genivi.commonapi.updatesite/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.genivi.commonapi.updatesite/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.genivi.commonapi.updatesite/.project b/org.genivi.commonapi.updatesite/.project
new file mode 100644
index 0000000..10fecc3
--- /dev/null
+++ b/org.genivi.commonapi.updatesite/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.genivi.commonapi.updatesite</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription> \ No newline at end of file
diff --git a/org.genivi.commonapi.updatesite/category.xml b/org.genivi.commonapi.updatesite/category.xml
new file mode 100644
index 0000000..1649ea4
--- /dev/null
+++ b/org.genivi.commonapi.updatesite/category.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+ <feature url="features/org.genivi.commonapi.core.feature_2.1.5.qualifier.jar" id="org.genivi.commonapi.core.feature" version="2.1.5.qualifier">
+ <category name="GENIVI CommonAPI"/>
+ </feature>
+ <feature url="features/org.genivi.commonapi.core.validator.feature_2.1.5.qualifier.jar" id="org.genivi.commonapi.core.validator.feature" version="2.1.5.qualifier">
+ <category name="GENIVI CommonAPI"/>
+ </feature>
+ <feature url="features/org.genivi.commonapi.dbus.feature_2.1.5.qualifier.jar" id="org.genivi.commonapi.dbus.feature" version="2.1.5.qualifier">
+ <category name="GENIVI CommonAPI"/>
+ </feature>
+ <category-def name="GENIVI CommonAPI" label="GENIVI CommonAPI Generators">
+ <description>
+ The basic generator for all CommonAPI compliant middleware libraries. Creates all source code that needs to adhere the specification. Any specific middleware code is generated by seperate generators, in seperate files.
+ </description>
+ </category-def>
+</site>
diff --git a/org.genivi.commonapi.updatesite/pom.xml b/org.genivi.commonapi.updatesite/pom.xml
new file mode 100644
index 0000000..29c91ad
--- /dev/null
+++ b/org.genivi.commonapi.updatesite/pom.xml
@@ -0,0 +1,13 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.updatesite</artifactId>
+ <packaging>eclipse-repository</packaging>
+ <parent>
+ <groupId>commonapi</groupId>
+ <artifactId>org.genivi.commonapi.releng</artifactId>
+ <version>2.1.5-SNAPSHOT</version>
+ <relativePath>../org.genivi.commonapi.releng</relativePath>
+ </parent>
+</project> \ No newline at end of file