|
|
(7 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | Eclipse projects must carefully manage their namespaces in order to help identify the producer of components and avoid namespace collisions.
| + | The EMO has moved this content to the [http://localhost/projects/handbook/#trademarks-code Eclipse Project Handbook]. |
− | | + | |
− | Some of the content here is presented in the form of guidelines ("should"), and some in the form of rules ("must"). In general, it's about being a good citizen and playing well with others. We believe/hope that exceptions to the rules are rare; exceptions to rules must be approved by the Project Management Committee and the EMO.
| + | |
− | | + | |
− | =Languages=
| + | |
− | ==Java Package Names==
| + | |
− | | + | |
− | Java package naming conventions are well-established and so Java package names '''must''' take the standard [http://en.wikipedia.org/wiki/Reverse-DNS reverse DNS] form:
| + | |
− | org.<forge>.<shortname>.<component>.*
| + | |
− | Where:
| + | |
− | * ''forge'' is the short name of the hosting [[Forges|forge]], e.g. "eclipse", "locationtech", or "polarsys";
| + | |
− | * ''shortname'' is the short name of the project (i.e. the last segment of the project id), e.g. "dali", "egit", "udig"; and
| + | |
− | * ''component'' is project-specific
| + | |
− | | + | |
− | Multiple component segments are permitted.
| + | |
− | | + | |
− | Examples:
| + | |
− | * <code>org.eclipse.emf.core</code>, <code>org.eclipse.emf.edit</code>, <code>org.eclipse.emf.edit.ui</code>; and
| + | |
− | * <code>org.locationtech.udig.resources</code>
| + | |
− | | + | |
− | Java package names use the "flat" or "short" project name in the third segment; they should not include, for example, the name of the top-level project or any parent/container project.
| + | |
− | * e.g. <code>org.eclipse.graphiti.core</code>, not <strike><code>org.eclipse.modeling.mdt.graphiti.core</code></strike> or <strike><code>org.eclipse.mdt.graphiti.core</code></strike>.
| + | |
− | | + | |
− | ==Scala Package Names==
| + | |
− | | + | |
− | TBD
| + | |
− | | + | |
− | =Packaging/Distribution=
| + | |
− | ==OSGi Bundle Names==
| + | |
− | | + | |
− | OSGi Bundle names '''must''' follow the same rules as [[#Java Package Names|Java Package Names]].
| + | |
− | | + | |
− | ==Maven Repositories==
| + | |
− | | + | |
− | ===Maven Group Ids===
| + | |
− | {{Warning|This is a work in progress.}}
| + | |
− | The Maven group id '''must''' follow the standard reverse DNS naming convention:
| + | |
− | org.<forge>
| + | |
− | Where:
| + | |
− | * ''forge'' is the short name of the hosting [[Forges|forge]], e.g. "eclipse", "locationtech", or "polarsys";
| + | |
− | | + | |
− | Examples:
| + | |
− | * <code>org.eclipse</code>
| + | |
− | * <code>org.locationtech</code>
| + | |
− | * <code>org.polarsys</code>
| + | |
− | | + | |
− | For discussion, please see [https://locationtech.org/bugs/show_bug.cgi?id=28].
| + | |
− | | + | |
− | ===Maven Artifacts===
| + | |
− | | + | |
− | ===Maven Versions===
| + | |
− | ==Java Archive (JAR/WAR/EAR) Names==
| + | |
− | | + | |
− | TBD
| + | |
− | | + | |
− | <hr/>
| + | |
− | ''This page is moderated by the EMO.''
| + | |