blob: f18a6edccd82527323731514795c1597826052cd [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties>
<title>SysML - Developer</title>
</properties>
<body>
<section name="Download">
<p>The developer guide could be downloaded as a pdf <a href="../pdf/developer-guide.pdf">here</a></p>
</section>
<section name="Requirements">
<subsection name="Eclipse">
<p>Use Eclipse, at least Neon version</p>
</subsection>
<subsection name="Maven">
<p>Use Maven 3.3.1 at least</p>
</subsection>
<subsection name="Eclipse plugins">
<p>Install M2e plugin in your Eclipse</p>
<p>Install Tycho Configurator as an additional maven connector</p>
<p>No specific extra from papyrus</p>
</subsection>
<subsection name="SysML">
<p>
Have a look to the normative document of OMG:
<a
href="https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/target/site/norm/formal-15-06-03.pdf#3">Embedded norm</a>
</p>
</subsection>
<subsection
name="Check your installation by a basic checkout, compilation">
<ul>
<li>
Clone the sysml 16 git repository git clone
https://git.eclipse.org/r/papyrus/org.eclipse.papyrus-sysml.
</li>
<li>
Run maven at the root of the repo: mvn clean install; it should
pass
</li>
<li>
Get sysml16 plugins in your eclipse workspace
</li>
<li>Et “Voila” you are good to go.</li>
</ul>
</subsection>
<subsection name="Target Environment">
<p>We have developed a target-platform-configuration artifact located at /org.eclipse.papyrus-sysml/org.eclipse.papyrus.sysml16.targetdef/org.eclipse.papyrus.sysml16.targetdef.target</p>
<p>Open it and click at the upper right corner to set it has the target platform.</p>
</subsection>
</section>
<section name="Product Life Management">
<p>The PLM is Maven with Tycho plugins for OSGI.</p>
<subsection name="Run a default installation">
<source>mvn clean install</source>
</subsection>
<subsection
name="To build also the modules relatives to RCP and Product, please activate the following profile:">
<source>mvn clean install -Pproduct </source>
<p>It could be necessary to use the following workaround to ensure the version of Neon plugins, you used to build against:</p>
<source>mvn clean install -Pproduct -Dtycho.localArtifacts=ignore</source>
<p>Sometimes when Ecvlipse realse train is on the move, you will need to add the following option, to force to download directly from Eclipse main download site:</p>
<source>-Dtycho.disableP2Mirrors=true</source>
</subsection>
<subsection name="Generate and deploy the web site">
<source>mvn clean site site:stage-deploy scm-publish:publish-scm -Pdocumentation</source>
</subsection>
<subsection
name="A minimal iteration">
<p>This section describes the different steps relative to the integration of a new feature or to the correction of a bug:
from bug definition, to requirement, to code integration through gerrit review with the continuous integration system.</p>
<ul>
<li>
Describe in Bugzilla the bug, feature you are working on.
Please
use the component SysML. And begins with [SysML 1.6] for
Summary.
</li>
<li>
Get the code from the master with git,git clone
https://git.eclipse.org/r/papyrus/org.eclipse.papyrus-sysml, and
work on a local
branch,
</li>
<li>
Add the new requirement in the different sysml 1.1 models located
in the doc folder of the relevant plugin. have a look to
<a href="sop4-requirement.html">SOP4: Requirement</a>
</li>
<li>Modify the code</li>
<li>Push on Gerrit
ssh://{ECLISPEUSERLOGIN}@git.eclipse.org:29418/papyrus/org.eclipse.papyrus-sysml
</li>
<li>Ask for a review https://git.eclipse.org/r/#/dashboard/self</li>
<li>After a few iteration, you code should be merged and accessible
in the master.
</li>
</ul>
<p>Have a look to default rules <a href="miscellaneous.html">miscellaneous.html</a></p>
</subsection>
<subsection name="Tips">
<p>If you are working with multiple version of Papyrus, it is possible that Tycho do not pull the right one. You can force it by using the following parameter in the build command.
More details <a href="https://wiki.eclipse.org/Tycho/Target_Platform#Locally_built_artifacts">here</a></p>
<source>mvn clean install -Dtycho.localArtifacts=ignore </source>
<p>Please find additional information here: <a href="miscellaneous.html">Miscellaneous</a></p>
</subsection>
</section>
<section name="Standard Operating Procedures and FAQ">
<subsection name="SOPS">
<ul>
<li>
<a href="sop1-normRequirementExtraction.html">SOP1: OMG Norm requirements automanual extraction</a>
</li>
<li>
<a href="sop2-toolGeneration.html">SOP2: From a OMG profile to a dedicated Papyrus
application (elementype, palette etc...)
</a>
</li>
<li>
<a href="sop3-upgradingNorm.html">SOP3: Extended the norm by adding a new operation.</a>
</li>
<li>
<a href="sop4-requirement.html">SOP4: Add a new requirement.</a>
</li>
<li>
<a href="sop5-release.html">SOP5: Make the release.</a>
</li>
</ul>
</subsection>
<subsection name="Dev FAQ">
<ul>
<li><a href="faq-dev.html" >FAQ.</a></li>
</ul>
</subsection>
</section>
<section name="Miscellaneous">
<subsection name="Libraries">
<p><a href="libraries.html">QUDV and others</a></p>
</subsection>
</section>
</body>
</document>