| |
| <!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> |
| <repository> |
| <id>pap.repo.eclipse.org</id> |
| <name>Papyrus Repository - Releases</name> |
| <url>https://repo.eclipse.org/content/repositories/papyrus-releases/</url> |
| <releases> |
| <enabled>true</enabled> |
| <updatePolicy>daily</updatePolicy> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>paps.repo.eclipse.org</id> |
| <name>Papyrus Repository - Snapshots</name> |
| <url>https://repo.eclipse.org/content/repositories/papyrus-snapshots/</url> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| <updatePolicy>daily</updatePolicy> |
| </snapshots> |
| </repository> |
| |
| </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 ©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> |