blob: 9b17ffc5723a7bff35972ea07d00c9368d88e62a [file] [log] [blame]
<!DOCTYPE html>
<!--
Generated by Apache Maven Doxia at 2017-05-30
Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<title>
sop-projectcreation | Papyrus Components Archetype</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="" />
<meta http-equiv="content-language" content="en" />
<link href="https://www.eclipse.org/papyrus/components/components/components-0.0.23/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://www.eclipse.org/papyrus/components/components/components-0.0.23/css/bootstrap-responsive.min.css" rel="stylesheet" />
<link href="https://www.eclipse.org/papyrus/components/components/components-0.0.23/css/docs.css" rel="stylesheet" />
<link href="https://www.eclipse.org/papyrus/components/components/components-0.0.23/css/reflow-skin.css" rel="stylesheet" />
<link href="https://www.eclipse.org/papyrus/components/components/components-0.0.23/css/lightbox.css" rel="stylesheet" />
<link href="https://www.eclipse.org/papyrus/components/components/components-0.0.23/css/site.css" rel="stylesheet" />
<link href="https://www.eclipse.org/papyrus/components/components/components-0.0.23/css/print.css" rel="stylesheet" media="print" />
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="https://www.eclipse.org/papyrus/components/components/components-0.0.23/js/html5.js"></script>
<![endif]-->
<link rel="stylesheet" href="https://www.eclipse.org/papyrus/components/components/components-0.0.23/css/highlightjs/default.min.css"></link>
<script src="https://www.eclipse.org/papyrus/components/components/components-0.0.23/js/highlight.min.js"></script>
</head>
<body class="page-user-sop-projectcreation project-orgeclipsepapyruscomponentsarchetype" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="https://www.eclipse.org/papyrus/components/components/components-0.0.23/index.html">Papyrys <span class="color-highlight">Components</span> Project</a>
<div class="nav-collapse collapse" id="top-nav-collapse">
<ul class="nav pull-right">
<li ><a href="http://www.eclipse.org/papyrus" title="Papyrus" target="_blank" class="externalLink">Papyrus</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Modules <b class="caret"></b></a>
<ul class="dropdown-menu">
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Parent <b class="caret"></b></a>
<ul class="dropdown-menu">
<li ><a href="../../index.html" title="Papyrus Shared Components Descriptor">Papyrus Shared Components Descriptor</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Components <b class="caret"></b></a>
<ul class="dropdown-menu">
<li ><a href="https://www.eclipse.org/papyrus/components/sysml" title="SysML 1.4" target="_blank" class="externalLink">SysML 1.4</a></li>
<li ><a href="https://www.eclipse.org/papyrus/components/robotml" title="RobotML" target="_blank" class="externalLink">RobotML</a></li>
<li ><a href="https://www.eclipse.org/papyrus/components/designer" title="Designer" target="_blank" class="externalLink">Designer</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Doc <b class="caret"></b></a>
<ul class="dropdown-menu">
<li ><a href="../../developer/index.html" title="Developer">Developer</a></li>
<li ><a href="../../user/index.html" title="User">User</a></li>
<li ><a href="../../relenger/index.html" title="Relenger">Relenger</a></li>
</ul>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container">
<!-- Masthead
================================================== -->
<header>
<div class="jumbotron subhead">
<div class="row" id="banner">
<div class="span12">
<div class="pull-left">
<a href="https://www.eclipse.org/papyrus/components/components/components-0.0.23/index.html" id="bannerLeft"><h1>Eclipse <span class="color-highlight">Papyrus Components</span> project</h1></a>
<p class="lead">Papyrus Components Standardisation.</p>
</div>
<div class="pull-right">
</div>
</div>
</div>
</div>
<div>
<ul class="breadcrumb">
<li><a href="../../" title="Components">Components</a></li>
<li class="divider">/</li>
<li><a href="../" title="Papyrus Components Archetype">Papyrus Components Archetype</a></li>
<li class="divider">/</li>
<li>
sop-projectcreation</li>
</ul>
</div>
<hr class="toc-separator" />
<div id="toc-bar" class="navbar" data-spy="affix" data-offset-top="250">
<div class="navbar-inner">
<div id="toc-scroll-target" class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target="#toc-nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<div class="nav-collapse collapse" id="toc-nav-collapse">
<ul id="toc" class="nav">
<li class="toplevel"><a href="#Context" title="Context">Context</a></li>
<li class="divider-vertical"></li>
<li class="toplevel"><a href="#How_to" title="How to?">How to?</a></li>
<li class="toplevel"><a href="#Prerequisite" title="Prerequisite">Prerequisite</a></li>
<li class="toplevel"><a href="#Configuration" title="Configuration">Configuration</a></li>
<li class="toplevel"><a href="#Generation" title="Generation">Generation</a></li>
<li class="toplevel"><a href="#Hudson" title="Hudson">Hudson</a></li>
</ul>
</div>
</div>
</div>
</div>
</header>
<div class="main-body">
<div class="row">
<div class="span12">
<div class="body-content">
<div class="section">
<div class="page-header">
<h2 id="Context">Context</h2>
</div>
<p>Papyrus components offers a maven archetype to generate the basic scafold of a fully compatible Papyrus Component.</p>
</div>
<div class="section">
<h2 id="How_to">How to?</h2>
<div class="section">
<h3 id="Prerequisite">Prerequisite</h3>
<p>You need to ask for the creation of a dedicated git repository for your own component.</p>
<p>Create a community ticket based upon this one <a class="externalLink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=496447">https://bugs.eclipse.org/bugs/show_bug.cgi?id=496447</a></p>
<div class="source">
<pre>Could you please create a new Git repository for the Papyrus project. Name : org.eclipse.papyrus-COMPONENT.git
Description: Papyrus COMPONENT
Is it also possible to have the rebase if necessary strategy for the gerrit configuration ?
Could you wait the +1 of my group leader Remi and the one of the two designer project committers.
Thanks,
</pre>
</div>
</div>
<div class="section">
<h3 id="Configuration">Configuration</h3>
<p>You need to have the following repository declare in your .m2 settings.xml file, see <a class="externalLink" href="https://maven.apache.org/guides/mini/guide-multiple-repositories.html">https://maven.apache.org/guides/mini/guide-multiple-repositories.html</a></p>
<div class="source">
<pre>
&lt;repository&gt;
&lt;id&gt;pap.repo.eclipse.org&lt;/id&gt;
&lt;name&gt;Papyrus Repository - Releases&lt;/name&gt;
&lt;url&gt;https://repo.eclipse.org/content/repositories/papyrus-releases/&lt;/url&gt;
&lt;releases&gt;
&lt;enabled&gt;true&lt;/enabled&gt;
&lt;updatePolicy&gt;daily&lt;/updatePolicy&gt;
&lt;/releases&gt;
&lt;snapshots&gt;
&lt;enabled&gt;false&lt;/enabled&gt;
&lt;/snapshots&gt;
&lt;/repository&gt;
&lt;repository&gt;
&lt;id&gt;paps.repo.eclipse.org&lt;/id&gt;
&lt;name&gt;Papyrus Repository - Snapshots&lt;/name&gt;
&lt;url&gt;https://repo.eclipse.org/content/repositories/papyrus-snapshots/&lt;/url&gt;
&lt;releases&gt;
&lt;enabled&gt;false&lt;/enabled&gt;
&lt;/releases&gt;
&lt;snapshots&gt;
&lt;enabled&gt;true&lt;/enabled&gt;
&lt;updatePolicy&gt;daily&lt;/updatePolicy&gt;
&lt;/snapshots&gt;
&lt;/repository&gt;
</pre>
</div>
</div>
<div class="section">
<h3 id="Generation">Generation</h3>
<p>Execute the following command to generate the scafold.</p>
<div class="source">
<pre>
mvn archetype:generate -DarchetypeGroupId=org.eclipse.papyrus.components -DarchetypeArtifactId=org.eclipse.papyrus.components.archetype -DarchetypeRepository=https://repo.eclipse.org/content/repositories/papyrus-releases/ -DarchetypeVersion=0.0.18-SNAPSHOT -DgroupId=com.cea.PROJECTCATEGORY -DartifactId=com.cea.PROJECTCATEGORY.PROJECT -Dversion=0.0.1 -DfullartifactId=com.cea.PROJECTCATEGORY.PROJECT -DcomponentName=com.cea.PROJECTCATEGORY-PROJECT -DhudsonViewName=HUDSON_TAB -DbugzillaName=BUGZILLA_COMPONENT
</pre>
</div>
<p>Where the following args are defined:</p>
<ul>
<li>Initialize the first group of properties for the components artifact generation:
<div class="source">
<pre>mvn archetype:generate -DarchetypeGroupId=org.eclipse.papyrus.components -DarchetypeArtifactId=org.eclipse.papyrus.components.archetype</pre>
</div></li>
<li>Register the repository from where to download the version of the archetype:
<div class="source">
<pre>-DarchetypeRepository=https://repo.eclipse.org/content/repositories/papyrus-releases/</pre>
</div></li>
<li>Describe the version of the archetype you are using (from the nexus repository):
<div class="source">
<pre>-DarchetypeVersion=X.Y.Z</pre>
</div></li>
<li>The basic triplet for your component. These will identify the group it will contribute to, the name it will be referenced by and the version of the generated component:
<div class="source">
<pre>-DgroupId=org.eclipse.XYZ -DartifactId=org.eclipse.XYZ.componentName -Dversion=X.Y.Z</pre>
</div></li>
<li>The name of your component and the one that will serve as a basis to build the root package name:
<div class="source">
<pre>-DfullartifactId=org.eclipse.XYZ -DcomponentName=org.eclipse.XYZ.componentName</pre>
</div></li>
<li>The Hudson tab name:
<div class="source">
<pre>-DhudsonViewName=HUDSON.XYZ</pre>
</div></li>
<li>The component name in bugzilla:
<div class="source">
<pre>-DbugzillaName=BUGZILLA.XYZ</pre>
</div></li>
</ul>
<p>It will create the following folder tree:</p>
<ul>
<li>./com.cea.PROJECTCATEGORY.PROJECT: root</li>
<li>./com.cea.PROJECTCATEGORY.PROJECT/src: documentation</li>
<li>./com.cea.PROJECTCATEGORY.PROJECT/com: bug should be deleted</li>
<li>./com.cea.PROJECTCATEGORY.PROJECT/core: a folder to contain all core plugins of your project</li>
<li>./com.cea.PROJECTCATEGORY.PROJECT/releng: the plugins to release your feature, product and rcp</li>
<li>./com.cea.PROJECTCATEGORY.PROJECT/targetplatform: the polugins where you define the target platform against which you want to build your project</li>
</ul>
<p>You need to check the validty of the generated project by executing a basic mvn clean install</p>
<div class="source">
<pre>mvn clean install -Dtycho.localArtifacts=ignore</pre>
</div>
<p>Then push it to your git repository</p>
<p>You will be able then to execute a basic roduct generation</p>
<div class="source">
<pre>mvn clean install -Pproduct</pre>
</div>
</div>
<div class="section">
<h3 id="Hudson">Hudson</h3>
<p>Create the following set of Hudson jobs to ensure the release of your project.</p>
<p> gerrit: to build all changes that comes from a gerrit contribution </p>
<p> gerrit-product: to build all changes coming from gerrit that modified any of the pom.xml or targetplatform files (and could therefore modify the final product </p>
<p> gerrit-website: to build all changes coming from gerrit that modified the site or pom.xml files </p>
<p> XYZ: to build your component based on a specific branch </p>
<p> XYZ-website: to build the component website </p>
<p> XYZ-component-deploy-eclipse: to release your component</p>
<p> XYZ-component-deploy-nexus: to release the nexus artifacts </p>
<p> XYZ-component-deploy-website: to release the website </p>
<p>Have a look to designer component</p>
<p>Create a tab view to group those jobs.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div><!-- /container -->
<!-- Footer
================================================== -->
<footer class="well">
<div class="container">
<div class="row">
<div class="span3 bottom-nav">
<ul class="nav nav-list">
<li class="nav-header">DevLinks</li>
<li >
<a href="https://git.eclipse.org/c/papyrus/org.eclipse.papyrus.tools.git" title="SourceCode by Git" target="_blank" class="externalLink">SourceCode by Git</a>
</li>
<li >
<a href="https://repo.eclipse.org/index.html#welcome" title="Repository by Nexus" target="_blank" class="externalLink">Repository by Nexus</a>
</li>
<li >
<a href="https://hudson.eclipse.org/papyrus/view/Components/" title="Integration by Hudson" target="_blank" class="externalLink">Integration by Hudson</a>
</li>
</ul>
</div>
<div class="span3 bottom-nav">
<ul class="nav nav-list">
<li class="nav-header">Modules</li>
<li class="nav-header">Parent</li>
<li >
<a href="../../index.html" title="Papyrus Shared Components Descriptor">Papyrus Shared Components Descriptor</a>
</li>
</ul>
</div>
<div class="span3 bottom-nav">
<ul class="nav nav-list">
<li class="nav-header">Maven documentation</li>
<li >
<a href="../project-info.html" title="Project Information">Project Information <i class="icon-chevron-right"></i></a>
</li>
<li >
<a href="../project-reports.html" title="Project Reports">Project Reports <i class="icon-chevron-right"></i></a>
</li>
</ul>
</div>
<div class="span3 bottom-description">
<blockquote>Eclipse <span class="color-highlight">Papyrus Components</span> project is aiming at providing an integrated and developer environment for adding components to Papyrus core.</blockquote>
</div>
</div>
</div>
</footer>
<div class="container subfooter">
<div class="row">
<div class="span12">
<p class="pull-right"><a href="#">Back to top</a></p>
<p class="copyright">Copyright &copy;2017 <a href="https://www.eclipse.org/">Eclipse foundation</a>. All Rights Reserved.</p>
<p class="version-date"><span class="projectVersion">Version: 0.0.23. </span><span class="publishDate">Last Published: 2017-05-30. </span></p>
<p><a href="http://github.com/andriusvelykis/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="http://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p>
</div>
</div>
</div>
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://www.eclipse.org/papyrus/components/components/components-0.0.23/js/jquery.min.js"></script>
<script src="https://www.eclipse.org/papyrus/components/components/components-0.0.23/js/bootstrap.min.js"></script>
<script src="https://www.eclipse.org/papyrus/components/components/components-0.0.23/js/lightbox.min.js"></script>
<script src="https://www.eclipse.org/papyrus/components/components/components-0.0.23/js/reflow-scroll.js"></script>
<script src="https://www.eclipse.org/papyrus/components/components/components-0.0.23/js/highlight.min.js"></script>
<script src="https://www.eclipse.org/papyrus/components/components/components-0.0.23/js/jquery.min.js"></script>
<script src="https://www.eclipse.org/papyrus/components/components/components-0.0.23/js/reflow-skin.js"></script>
</body>
</html>