Difference between revisions of "Orbit/IP Log"

From Eclipsepedia

Jump to: navigation, search
(New page: Here is an initial stab at a file format for the IP Log info for the Orbit projects. <pre> <!DOCTYPE project[ <!-- A "project" element represents a specific version of an Orbit project ...)
 
Line 1: Line 1:
 +
Orbit projects need to have a common way to keep track of the IP information for all versions of the project. In an effort to make this easier, we will put an XML file in each project root in HEAD and it will contain all of the information for that project and all of its versions.
 +
 +
==Format==
 +
 
Here is an initial stab at a file format for the IP Log info for the Orbit projects.  
 
Here is an initial stab at a file format for the IP Log info for the Orbit projects.  
  
Line 4: Line 8:
 
<!DOCTYPE project[
 
<!DOCTYPE project[
  
<!-- A "project" element represents a specific version of an Orbit project -->
+
<!-- A "project" element represents a specific version of an Orbit project. The
 +
    "id" is the bundle symbolic name and the "version" is the project version.
 +
  -->
 
<!ELEMENT project info contact notes legal+>
 
<!ELEMENT project info contact notes legal+>
 
<!ATTLIST project id CDATA #REQUIRED>
 
<!ATTLIST project id CDATA #REQUIRED>
 
<!ATTLIST project version CDATA #REQUIRED>
 
<!ATTLIST project version CDATA #REQUIRED>
  
<!-- An "info" element contains more information on the project including where we got it and optional references on the web, etc. -->
+
<!-- An "info" element contains more information on the project including where we got  
 +
    it and optional references on the web, etc. -->
 
<!ELEMENT info (name? origin? reference? repository location tag?)>
 
<!ELEMENT info (name? origin? reference? repository location tag?)>
 +
 +
<!-- The "name" is a human-readable name for the project. -->
 
<!ELEMENT name (#PCDATA)>
 
<!ELEMENT name (#PCDATA)>
 +
 +
<!-- The "origin" is the originating company for the project. -->
 
<!ELEMENT origin (#PCDATA)>
 
<!ELEMENT origin (#PCDATA)>
 +
 +
<!-- The "reference" a URL or reference to the original project. (e.g. web site) -->
 
<!ELEMENT reference (#PCDATA)>
 
<!ELEMENT reference (#PCDATA)>
 +
 
<!-- The "repository" is the path to the CVS repository. -->
 
<!-- The "repository" is the path to the CVS repository. -->
 
<!ELEMENT repository (#PCDATA)>
 
<!ELEMENT repository (#PCDATA)>
 +
 
<!-- The "location" is the path in the CVS repository. -->
 
<!-- The "location" is the path in the CVS repository. -->
 
<!ELEMENT location (#PCDATA)>
 
<!ELEMENT location (#PCDATA)>
 +
 +
<!-- The "tag" is the CVS tag or branch for the project. -->
 
<!ELEMENT tag (#PCDATA)>
 
<!ELEMENT tag (#PCDATA)>
  
 
<!-- The "contact" element describes the person on Orbit who is the contact for that project. -->
 
<!-- The "contact" element describes the person on Orbit who is the contact for that project. -->
<!ELEMENT contact (name email company?)>
+
<!ELEMENT contact (name? email company?)>
 
<!ELEMENT email (#PCDATA)>
 
<!ELEMENT email (#PCDATA)>
 
<!ELEMENT company (#PCDATA)>
 
<!ELEMENT company (#PCDATA)>
Line 29: Line 46:
 
<!ELEMENT note (#PCDATA)>
 
<!ELEMENT note (#PCDATA)>
  
<!-- The "legal" element describes the legal items related to the project. There can be more than one if  
+
<!-- The "legal" element describes the legal items related to the project. There can be more  
we have more than one package (JAR, package, or some other unit that has a different license than the  
+
    than one if we have more than one package (JAR, package, or some other unit that has a  
enclosing project) The "package" element is not required (and there should only be one "legal"  
+
    different license than the enclosing project) The "package" element is not required (and  
element) if the "legal" element applies to the whole project. -->
+
    there should only be one "legal" element) if the "legal" element applies to the whole project.  
 +
  -->
 
<!ELEMENT legal (ipzilla license package?)>
 
<!ELEMENT legal (ipzilla license package?)>
 
<!ELEMENT ipzilla>
 
<!ELEMENT ipzilla>
Line 41: Line 59:
 
</pre>
 
</pre>
  
 +
 +
==Example==
  
 
Example for Xerces:
 
Example for Xerces:

Revision as of 14:48, 15 March 2007

Orbit projects need to have a common way to keep track of the IP information for all versions of the project. In an effort to make this easier, we will put an XML file in each project root in HEAD and it will contain all of the information for that project and all of its versions.

Format

Here is an initial stab at a file format for the IP Log info for the Orbit projects.

<!DOCTYPE project[

<!-- A "project" element represents a specific version of an Orbit project. The
     "id" is the bundle symbolic name and the "version" is the project version. 
  -->
<!ELEMENT project info contact notes legal+>
<!ATTLIST project id CDATA #REQUIRED>
<!ATTLIST project version CDATA #REQUIRED>

<!-- An "info" element contains more information on the project including where we got 
     it and optional references on the web, etc. -->
<!ELEMENT info (name? origin? reference? repository location tag?)>

<!-- The "name" is a human-readable name for the project. -->
<!ELEMENT name (#PCDATA)>

<!-- The "origin" is the originating company for the project. -->
<!ELEMENT origin (#PCDATA)>

<!-- The "reference" a URL or reference to the original project. (e.g. web site) -->
<!ELEMENT reference (#PCDATA)>

<!-- The "repository" is the path to the CVS repository. -->
<!ELEMENT repository (#PCDATA)>

<!-- The "location" is the path in the CVS repository. -->
<!ELEMENT location (#PCDATA)>

<!-- The "tag" is the CVS tag or branch for the project. -->
<!ELEMENT tag (#PCDATA)>

<!-- The "contact" element describes the person on Orbit who is the contact for that project. -->
<!ELEMENT contact (name? email company?)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT company (#PCDATA)>

<!-- The "notes" element is an area for free-form notes about the project. -->
<!ELEMENT notes (note+)>
<!ELEMENT note (#PCDATA)>

<!-- The "legal" element describes the legal items related to the project. There can be more 
     than one if we have more than one package (JAR, package, or some other unit that has a 
     different license than the enclosing project) The "package" element is not required (and 
     there should only be one "legal" element) if the "legal" element applies to the whole project. 
  -->
<!ELEMENT legal (ipzilla license package?)>
<!ELEMENT ipzilla>
<!ATTLIST ipzilla bug_id CDATA #REQUIRED>
<!ELEMENT license (name? reference)>
<!ELEMENT package (#PCDATA)>
]>


Example

Example for Xerces:

<project id="org.apache.xerces" version="2.8.0">
 <info>
  <name>Apache Xerces</name>
  <origin>Apache</origin>
  <reference>http://xerces.apache.org</reference>
  <repository>/cvsroot/tools</repository>
  <location>org.eclipse.orbit/org.apache.xerces</location>
  <tag>v2_8_0</tag>
 </info>
 <contact>
  <name>Joe Smith</name>
  <email>joe@exmample.com</email>
  <company>Example Company</company>
 </contact>
 <notes>
  <note>We use this bundle for parsing XML.</note>
 </notes>
 <legal>
  <ipzilla bug_id="103"/>
  <license>
   <name>Apache License Version 2.0</name>
   <reference>http://apache.org/licenses/LICENSE-2.0</reference>
  </license>
  <package>xerces-apis.jar</package>
 </legal>
 <legal>
  <ipzilla bug_id="1234"/>
  <license>
   <name>Apache License Version 2.1</name>
   <reference>http://apache.org/licenses/LICENSE-2.1</reference>
  </license>
  <package>xerces-impl.jar</package>
 </legal>
</project>