| <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| |
| <head> |
| <title>Scopes (Oomph Setup Documentation)</title> |
| |
| <link rel="stylesheet" href="../book.css"> |
| |
| <noscript></noscript> |
| <script type="text/javascript"> |
| function windowTitle() |
| { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="Scopes (Oomph Setup Documentation)"; |
| } |
| } |
| </script> |
| </head> |
| |
| <body bgcolor="white" onload="windowTitle();"> |
| <!-- <div class="help_breadcrumbs breadcrumbs_top"><a href="../Overview.html" title="Oomph Setup Documentation">Oomph Setup Documentation</a> > <a href="index.html" title="Category in Oomph Setup Documentation">Concepts</a></div> --> |
| |
| <table border="0"> |
| <tr> |
| <td width="100%"><h1>Scopes</h1></td> |
| <td align="right" valign="middle" nowrap><a href="DocConceptOverview.html" title="Backward to Context"><img src="../../images/backward.png" border="0"></a> <a href="DocInfrastructure.html" title="Forward to Infrastructure"><img src="../../images/forward.png" border="0"></a></td> |
| </tr> |
| </table> |
| <p> |
| A <a href="../../javadoc/org/eclipse/oomph/setup/Scope.html" title="Interface in org.eclipse.oomph.setup"><code>scope</code></a> is the course-grained unit for grouping related <a href="DocTask.html" title="Article in Oomph Setup Documentation">tasks</a>. |
| Scope are hierarchically structured and tasks are <a href="DocTaskComposition.html#ScopeList.scopeList" title="Section in Oomph Setup Documentation">gathered</a> from them based on this hierarchical structure. |
| They are stored in <a href="DocSetupResource.html" title="Article in Oomph Setup Documentation">resources</a>. |
| |
| <a name="DocScope.properties"> |
| Scopes |
| <p> |
| Each scope has the following properties: |
| <ul> |
| |
| <a name="DocScope.name"> |
| <li> |
| A required <a href="../../javadoc/org/eclipse/oomph/setup/Scope.html#getName()" title="Method in org.eclipse.oomph.setup.Scope"><code>attribute</code></a> |
| which should be a lower case name, |
| i.e., like a single component of a qualified Java package name. |
| The hierarchical <a href="../../javadoc/org/eclipse/oomph/setup/Scope.html#getParentScope()" title="Method in org.eclipse.oomph.setup.Scope"><code>containment</code></a> structure of scopes |
| induces a <a href="../../javadoc/org/eclipse/oomph/setup/Scope.html#getQualifiedName()" title="Method in org.eclipse.oomph.setup.Scope"><code>qualified</code></a> name attribute, |
| based on the '.' separated names of the scopes, |
| hence the recommendation to use a lower case scope name. |
| </li> |
| |
| <a name="DocScope.label"> |
| <li> |
| An optional <a href="../../javadoc/org/eclipse/oomph/setup/Scope.html#getLabel()" title="Method in org.eclipse.oomph.setup.Scope"><code>label</code></a> attribute, |
| which should be a title case name that may include spaces and punctuation. |
| </li> |
| |
| <a name="DocScope.description"> |
| <li> |
| An optional <a href="../../javadoc/org/eclipse/oomph/setup/Scope.html#getDescription()" title="Method in org.eclipse.oomph.setup.Scope"><code>description</code></a> attribute |
| which description can be arbitrary descriptive log. |
| </li> |
| |
| <a name="DocScope.footer"> |
| </ul> |
| </p> |
| |
| <h2><a name="DocProductCatalog"></a>1 Product Catalogs</h2> |
| <p> |
| A <a href="../../javadoc/org/eclipse/oomph/setup/ProductCatalog.html" title="Interface in org.eclipse.oomph.setup"><code>product catalog</code></a> is a <a href="../../javadoc/org/eclipse/oomph/setup/ProductCatalog.html#getProducts()" title="Method in org.eclipse.oomph.setup.ProductCatalog"><code>container</code></a> for <a href="DocScope.html#DocProduct" title="Chapter in Oomph Setup Documentation">products</a> |
| as well as a <a href="../../javadoc/org/eclipse/oomph/setup/SetupTaskContainer.html#getSetupTasks()" title="Method in org.eclipse.oomph.setup.SetupTaskContainer"><code>container</code></a> for all the <a href="DocTask.html" title="Article in Oomph Setup Documentation">tasks</a> to install any of those products. |
| |
| <a name="DocProductCatalog.example"> |
| For example, |
| there is an Eclipse product catalog |
| generated for all the packages available on <a href="https://www.eclipse.org/downloads/">Eclipse's download page</a>. |
| In other words, you can use Oomph to install any version of any package that you'd normally download and unzip from Eclipse.org. |
| |
| <a name="DocProductCatalog.self"> |
| In the case of a product that has Oomph installed, |
| but wasn't actually <a href="../user/wizard/DocInstallWizard.html" title="Article in Oomph Setup Documentation">installed</a> by Oomph, |
| there always exists a synthetic so called self product catalog |
| that contains the <a href="DocScope.html#DocProduct.self" title="Section in Oomph Setup Documentation">self product</a>. |
| |
| <a name="DocProductCatalog.footer"> |
| It is stored in a <a href="DocSetupResource.html#ProductCatalogResource" title="Chapter in Oomph Setup Documentation">project catalog resource</a>. |
| </p> |
| |
| <h3><a name="DocProduct"></a>1.1 Products</h3> |
| <p> |
| A <a href="../../javadoc/org/eclipse/oomph/setup/Product.html" title="Interface in org.eclipse.oomph.setup"><code>product</code></a> is a <a href="../../javadoc/org/eclipse/oomph/setup/Product.html#getVersions()" title="Method in org.eclipse.oomph.setup.Product"><code>container</code></a> for product <a href="DocScope.html#DocVersion" title="Chapter in Oomph Setup Documentation">versions</a> |
| as well as a <a href="../../javadoc/org/eclipse/oomph/setup/SetupTaskContainer.html#getSetupTasks()" title="Method in org.eclipse.oomph.setup.SetupTaskContainer"><code>container</code></a> for all the <a href="DocTask.html" title="Article in Oomph Setup Documentation">tasks</a> to install any of those product versions. |
| |
| <a name="DocProduct.example"> |
| For example, |
| there is a product in the <a href="DocScope.html#DocProductCatalog.example" title="Section in Oomph Setup Documentation">Eclipse</a> product catalog |
| for each Eclipse <a href="http://www.eclipse.org/downloads/packages/release/Luna/R">package</a>. |
| |
| <a name="DocProduct.self"> |
| In the case of a product that has Oomph installed, |
| but wasn't actually <a href="../user/wizard/DocInstallWizard.html" title="Article in Oomph Setup Documentation">installed</a> by Oomph, |
| there always exists a synthetic so called self product in the <a href="DocScope.html#DocProductCatalog.self" title="Section in Oomph Setup Documentation">self product catalog</a> |
| that contains a <a href="DocScope.html#DocVersion.self" title="Section in Oomph Setup Documentation">self product version</a>. |
| |
| <a name="DocProduct.footer"> |
| </p> |
| |
| <h4><a name="DocVersion"></a>1.1.1 Product Versions</h4> |
| <p> |
| A product <a href="../../javadoc/org/eclipse/oomph/setup/ProductVersion.html" title="Interface in org.eclipse.oomph.setup"><code>version</code></a> is a <a href="../../javadoc/org/eclipse/oomph/setup/SetupTaskContainer.html#getSetupTasks()" title="Method in org.eclipse.oomph.setup.SetupTaskContainer"><code>container</code></a> for all the <a href="DocTask.html" title="Article in Oomph Setup Documentation">tasks</a> to install a specific version of a product. |
| |
| <a name="DocVersion.example"> |
| For example, |
| there is a product version in the <a href="DocScope.html#DocProduct.example" title="Section in Oomph Setup Documentation">Eclipse Standard product</a> in the <a href="DocScope.html#DocProductCatalog.example" title="Section in Oomph Setup Documentation">Eclipse product catalog</a> |
| for installing the Eclipse Standard <a href="https://www.eclipse.org/downloads/packages/eclipse-standard-44/lunar">Luna</a> package. |
| </p> |
| |
| <a name="DocVersion.self"> |
| In the case of a product that has Oomph installed |
| but wasn't actually <a href="../user/wizard/DocInstallWizard.html" title="Article in Oomph Setup Documentation">installed</a> by Oomph, |
| there always exists a synthetic so called product version in the <a href="DocScope.html#DocProduct.self" title="Section in Oomph Setup Documentation">self product</a> int the <a href="DocScope.html#DocProductCatalog.self" title="Section in Oomph Setup Documentation">self product catalog</a>. |
| It captures, |
| via a <a href="DocTask.html#DocP2Task" title="Chapter in Oomph Setup Documentation">p2 task</a>, |
| all the information about the installable units that of that product installation |
| as well as all the update p2 sites that are available for updating those units within that product installation. |
| </p> |
| |
| <h2><a name="DocProjectCatalog"></a>2 Project Catalogs</h2> |
| <p> |
| A <a href="../../javadoc/org/eclipse/oomph/setup/Project.html" title="Interface in org.eclipse.oomph.setup"><code>project catalog</code></a> is a <a href="../../javadoc/org/eclipse/oomph/setup/ProjectContainer.html#getProjects()" title="Method in org.eclipse.oomph.setup.ProjectContainer"><code>container</code></a> for <a href="DocScope.html#DocProject" title="Chapter in Oomph Setup Documentation">projects</a> |
| as well as a <a href="../../javadoc/org/eclipse/oomph/setup/SetupTaskContainer.html#getSetupTasks()" title="Method in org.eclipse.oomph.setup.SetupTaskContainer"><code>container</code></a> for both |
| the tasks to provision a workspace with any of those projects |
| and the tasks to install the tools needed to work with any of those projects. |
| For example, |
| there is an Eclipse project catalog for provisioning various projects hosted at Eclipse.org. |
| It is stored in a <a href="DocSetupResource.html#ProjectCatalogResource" title="Chapter in Oomph Setup Documentation">project catalog resource</a>. |
| </p> |
| |
| <h3><a name="DocProject"></a>2.1 Projects</h3> |
| <p> |
| A <a href="../../javadoc/org/eclipse/oomph/setup/Project.html" title="Interface in org.eclipse.oomph.setup"><code>project</code></a> is a <a href="../../javadoc/org/eclipse/oomph/setup/SetupTaskContainer.html#getSetupTasks()" title="Method in org.eclipse.oomph.setup.SetupTaskContainer"><code>container</code></a> for <a href="DocScope.html#DocStream" title="Chapter in Oomph Setup Documentation">streams</a> |
| as well as a <a href="../../javadoc/org/eclipse/oomph/setup/SetupTaskContainer.html#getSetupTasks()" title="Method in org.eclipse.oomph.setup.SetupTaskContainer"><code>container</code></a> for both |
| the tasks to provision a workspace with any of those streams |
| and the tasks to install the tools needed to work with any of those streams. |
| For example, |
| there is a project in the Eclipse project catalog for provisioning the Oomph project itself. |
| Projects can optionally {contain nested projects. |
| It is stored in a <a href="DocSetupResource.html#ProjectResource" title="Chapter in Oomph Setup Documentation">project resource</a>. |
| </p> |
| |
| <a name="DocProject.nested"> |
| Projects can optionally contain <a href="../../javadoc/org/eclipse/oomph/setup/ProjectContainer.html#getProjects()" title="Method in org.eclipse.oomph.setup.ProjectContainer"><code>nested</code></a> projects |
| which may be stored in a separate <a href="DocSetupResource.html#ProjectResource" title="Chapter in Oomph Setup Documentation">project resource</a> or in the same resource as the <a href="../../javadoc/org/eclipse/oomph/setup/Project.html#getParentProject()" title="Method in org.eclipse.oomph.setup.Project"><code>containing</code></a> project. |
| </p> |
| |
| <h4><a name="DocStream"></a>2.1.1 Streams</h4> |
| <p> |
| A <a href="../../javadoc/org/eclipse/oomph/setup/Stream.html" title="Interface in org.eclipse.oomph.setup"><code>stream</code></a> is a <a href="../../javadoc/org/eclipse/oomph/setup/SetupTaskContainer.html#getSetupTasks()" title="Method in org.eclipse.oomph.setup.SetupTaskContainer"><code>container</code></a> for both |
| the tasks to provision a workspace with for that particular stream |
| and the tasks to install the tools needed to work with that particular stream. |
| For example, |
| there is a stream in the Oomph project in the Eclipse project catalog |
| for provisioning the source code of the Git <a href="http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/">master</a> branch of the Oomph project. |
| |
| <h2><a name="DocInstallation"></a>3 Installations</h2> |
| <p> |
| An <a href="../../javadoc/org/eclipse/oomph/setup/Installation.html" title="Interface in org.eclipse.oomph.setup"><code>installation</code></a> is a <a href="../../javadoc/org/eclipse/oomph/setup/SetupTaskContainer.html#getSetupTasks()" title="Method in org.eclipse.oomph.setup.SetupTaskContainer"><code>container</code></a> for the tasks to provision a specific installed Eclipse product. |
| Its primary function, |
| however, |
| is that it specifies a reference to a product <a href="DocScope.html#DocVersion" title="Chapter in Oomph Setup Documentation">version</a>. |
| The tasks <a href="DocTaskComposition.html" title="Article in Oomph Setup Documentation">gathered</a> for that product version are <a href="DocTaskExecution.html" title="Article in Oomph Setup Documentation">performed</a> to that installed product. |
| The <a href="../user/wizard/DocInstallWizard.html" title="Article in Oomph Setup Documentation">installer wizard</a> creates an instance based on the selected product version on the <a href="../user/wizard/DocProductPage.html" title="Article in Oomph Setup Documentation">product page</a>. |
| Even if the product installation hasn't been installed by Oomph, |
| when Oomph is present, |
| an installation instance is automatically created |
| to refer to the synthetic <a href="DocScope.html#DocVersion.self" title="Section in Oomph Setup Documentation">self</a> product version. |
| </p> |
| |
| <h2><a name="DocWorkspace"></a>4 Workspaces</h2> |
| <p> |
| A <a href="../../javadoc/org/eclipse/oomph/setup/Workspace.html" title="Interface in org.eclipse.oomph.setup"><code>workspace</code></a> is a <a href="../../javadoc/org/eclipse/oomph/setup/SetupTaskContainer.html#getSetupTasks()" title="Method in org.eclipse.oomph.setup.SetupTaskContainer"><code>container</code></a> for the tasks to provision a specific Eclipse workspace. |
| Its primary function is that it specifies zero or more references to project <a href="DocScope.html#DocStream" title="Chapter in Oomph Setup Documentation">streams</a>. |
| The tasks <a href="DocTaskComposition.html" title="Article in Oomph Setup Documentation">gathered</a> for each of those project streams are <a href="DocTaskExecution.html" title="Article in Oomph Setup Documentation">performed</a> for that workspace |
| as well as for the installed product used to open that workspace. |
| The <a href="../user/wizard/DocInstallWizard.html" title="Article in Oomph Setup Documentation">installer wizard</a> creates an instance based on the selected project streams on the <a href="../user/wizard/DocProjectPage.html" title="Article in Oomph Setup Documentation">project page</a>. |
| The <a href="../user/wizard/DocInstallWizard.html" title="Article in Oomph Setup Documentation">installer</a> and <a href="../user/wizard/DocImportWizard.html" title="Article in Oomph Setup Documentation">project</a> wizards |
| </p> |
| |
| <h2><a name="DocUser"></a>5 Users</h2> |
| <p> |
| A <a href="../../javadoc/org/eclipse/oomph/setup/User.html" title="Interface in org.eclipse.oomph.setup"><code>user</code></a> is a <a href="../../javadoc/org/eclipse/oomph/setup/SetupTaskContainer.html#getSetupTasks()" title="Method in org.eclipse.oomph.setup.SetupTaskContainer"><code>container</code></a> for the tasks to provision |
| every installed Eclipse product and every opened workspace ever used by the end-user. |
| It provides an opportunity to customize all aspects of a user's experience with all their Eclipse products and workspaces. |
| It also provides support for the following: |
| <ul> |
| <li> |
| Recording the <a href="../../javadoc/org/eclipse/oomph/setup/User.html#getAcceptedLicenses()" title="Method in org.eclipse.oomph.setup.User"><code>accepted license</code></a> of each of the tools automatically installed tools, |
| i.e., once a license is accepted, |
| it can be recorded to avoid any future prompts involving that particular license. |
| </li> |
| Recording the <a href="../../javadoc/org/eclipse/oomph/setup/User.html#getUnsignedPolicy()" title="Method in org.eclipse.oomph.setup.User"><code>policy</code></a> with regard to handling of unsigned content, |
| i.e., once unsigned content is accepted, |
| that acceptance can be recorded to avoid any future prompts involving unsigned content. |
| </li> |
| <li> |
| Recording configuration options, so called <a href="../../javadoc/org/eclipse/oomph/setup/User.html#getAttributeRules()" title="Method in org.eclipse.oomph.setup.User"><code>attribute rules</code></a>, |
| that tailor where and how repositories, workspaces, and installations are physically stored. |
| </li> |
| </ul> |
| |
| <p align="right"> |
| <a href="DocConceptOverview.html" title="Backward to Context"><img src="../../images/backward.png" border="0"></a> <a href="DocInfrastructure.html" title="Forward to Infrastructure"><img src="../../images/forward.png" border="0"></a></p> |
| <!-- <div class="help_breadcrumbs breadcrumbs_bottom"><a href="../Overview.html" title="Oomph Setup Documentation">Oomph Setup Documentation</a> > <a href="index.html" title="Category in Oomph Setup Documentation">Concepts</a></div> --> |
| |
| <div class="copyright">Copyright (c) 2014 Eike Stepper (Loehne, Germany) and others.<br>All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v2.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v20.html</div> |
| </body> |
| </html> |