Skip to content

Commit

Permalink
Merge branch 'main' into pr/generator-pack-from-pack
Browse files Browse the repository at this point in the history
  • Loading branch information
jkrech authored Aug 21, 2023
2 parents fe64007 + e064a01 commit a8e3363
Show file tree
Hide file tree
Showing 8 changed files with 94 additions and 27 deletions.
2 changes: 1 addition & 1 deletion doxygen/pack.dxy
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "Open-CMSIS-Pack"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = "Version 1.7.25"
PROJECT_NUMBER = "Version 1.7.27"

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
12 changes: 12 additions & 0 deletions doxygen/src/General.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,18 @@ Pack\\Tutorials | Tutorials for \ref cp_Packs "Creating Packs" |
<th>Version</th>
<th>Description</th>
</tr>
<tr>
<td>1.7.27</td>
<td>
- added 'MinebeaMitsumi:181' to \ref DeviceVendorEnum "DeviceVendorEnum"
</td>
</tr>
<tr>
<td>1.7.26</td>
<td>
- added 'YTMicro:180' to \ref DeviceVendorEnum "DeviceVendorEnum"
</td>
</tr>
<tr>
<td>1.7.25</td>
<td>
Expand Down
6 changes: 3 additions & 3 deletions doxygen/src/conditions_schema.txt
Original file line number Diff line number Diff line change
Expand Up @@ -447,9 +447,9 @@ The tokens can be used in the elements:
<td>Microchip MPLAB XC32 Compiler.</td>
</tr>
<tr>
<td class="XML-Toke">Clang</td>
<td>Clang: a C language family frontend for LLVM. Refer to <a href="https://clang.llvm.org" target="_blank">
Clang</a>
<td class="XML-Token">CLANG</td>
<td>CLANG: a C language family frontend for LLVM for 32-bit Arm embedded targets. Refer to <a href="https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm" target="_blank">
CLANG</a>
</td>
</tr>
</table>
Expand Down
10 changes: 10 additions & 0 deletions doxygen/src/devices_schema.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2251,6 +2251,11 @@ Contact cmsis@arm.com to ask for an extension. These values can be used in the e
<td>MindMotion</td>
<td>http://www.mindmotion.com.cn</td>
</tr>
<tr>
<td class="XML-Token">MinebeaMitsumi:181</td>
<td>MinebeaMitsumi</td>
<td>http://www.minebeamitsumi.com</td>
</tr>
<tr>
<td class="XML-Token">Nordic Semiconductor:54</td>
<td>Nordic Semiconductor</td>
Expand Down Expand Up @@ -2416,6 +2421,11 @@ Contact cmsis@arm.com to ask for an extension. These values can be used in the e
<td>Wuhan Xinxin Semiconductor Manufacturing Co., Ltd.</td>
<td>http://www.xmcwh.com/</td>
</tr>
<tr>
<td class="XML-Token">YTMicro:180</td>
<td>YTMicro</td>
<td>http://www.ytmicro.com/</td>
</tr>
<tr>
<td class="XML-Token">Zilog:89</td>
<td>Zilog</td>
Expand Down
11 changes: 10 additions & 1 deletion doxygen/src/licenses_schema.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,16 @@ An element containing a list of one or more license files.
<td>If set to 'true' this licenseSet is associated with the pack's content and for all
apis and components, which are not explicitly referencing another licenseSet.
There can only be a single default licenseSet. This optional attribute is treated as 'false' if not specified.</td>
<td>xs:string</td>
<td>xs:boolean</td>
<td>optional</td>
</tr>
<tr>
<td>gating</td>
<td>If set to 'true' this licenseSet is required to be accepted/acknowledged by the user before the installation
process starts extracting any other files than license files from the pack. If declined the pack installation
process will terminate. This optional attribute is treated as 'false' if not specified.
</td>
<td>xs:boolean</td>
<td>optional</td>
</tr>
<tr>
Expand Down
48 changes: 37 additions & 11 deletions doxygen/src/pack_publish.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,20 +71,46 @@ information is added to the index server.

\section cp_PackRehosting Rehost pack to different URL

Sometimes, it is necessary to rehost a pack (moving a pack from one URL to another). This implies that you need to change the \<url\> element in the PDSC file. To
ensure that the pack is found by a \ref cp_KeilComPack "Pack Index Service", follow this procedure:
- Create a new version of the pack: update the \elem{vendor}.\elem{name}.pdsc file with the new URL ("url_B") and make sure to increment the version.
- Place a copy of this latest \elem{vendor}.\elem{name}.pdsc at url_B and url_A (the original URL) and add the "deprecated" and "replacement" tag to the last \ref element_release "release" entry.
- Place a copy of the new \elem{vendor}.\elem{name}.\elem{version}.pack in url_B (only).
- Copy all packs from url_A to url_B.
Sometimes, it is necessary to rehost a pack (moving a pack from one URL to another). Rehosting implies changing the \elem{url}
element in the PDSC file. To ensure that the pack is found by a \ref cp_KeilComPack "Pack Index Service", follow this procedure:
- Create a new version of the pack: update the \elem{vendor}.\elem{name}.pdsc file with the new \elem{url} ("url_B") and a new
\ref element_release "\<release\>" tag with an incremented version.
- Place a copy of this latest \elem{vendor}.\elem{name}.pdsc file at url_B and url_A (the original URL).
- Add this new PDSC file to an updated \elem{vendor}.\elem{name}.\elem{version}.pack (needs to match the version number in
the PDSC file).
- Copy the new \elem{vendor}.\elem{name}.\elem{version}.pack \b only to url_B.
- Copy all previous packs from url_A to url_B (so that they are available at the new location).
- Inform Arm about the new URL by either:
- update the \elem{vendor}.pidx with url_B for this pack \em or
- email a link to the PDSC file if your company does not maintain a \elem{vendor}.pidx
- updating the \elem{vendor}.pidx with url_B for this pack \em or
- emailing a link to the new PDSC file if your company does not maintain a \elem{vendor}.pidx

\note
- PDSC and pack versions need to be accessible from the same new URL
- You must keep url_A alive as is. But there is no need to maintain/update url_A going forward otherwise users with an old
PDSC file will no longer find the pack versions.
- The PDSC file and all pack versions need to be accessible from the same new URL ("url_B").
- Arm recommends to keep the url_A alive for at least six months so that users have time to pick up the change. Be aware
that users who have not noticed the change might be unable to find pack updates once url_A have become unavailable.


\section cp_PackRenaming Rename a pack

Sometimes, it is necessary to rename a pack (because the pack vendor and/or its name have changed for example). To ensure
that the pack is found by a \ref cp_KeilComPack "Pack Index Service" and the tools, follow this procedure:
- Create:
- a new PDSC file with the updated \elem{name} and/or \elem{vendor}, for example NewVendor.NewName.pdsc. The
\elem{version} should start at 1.0.0.
- a new pack containing the new PDSC file with the corresponding \elem{name} and/or \elem{vendor}, for example
NewVendor.NewName.1.0.0.pack.
- Create:
- a new version of the old PDSC file (Vendor.Name.pdsc) with a new \elem{release} tag (with an updated version),
containing the \elem{deprecated} and \elem{replacement} element. The latter pointing to the "NewVendor.NewName".
- a new version of the old \elem{vendor}.\elem{name}.\elem{version}.pack file with the PDSC you have created above.
- Copy:
- All four files (new PDSC and pack, updated old PDSC and pack) to the URL location.

\note
- Using this approach, you can only do a one-to-one pack replacement.
- If you want to create more than one replacement pack for a given source pack, you need to work with
\ref element_requirements_pg "requirements".


\section cp_HowWebDownloadWorks Web Infra-structure

Expand Down
6 changes: 3 additions & 3 deletions doxygen/src/pdsc_format.txt
Original file line number Diff line number Diff line change
Expand Up @@ -681,7 +681,7 @@ The latest release version is always listed on top.
\b Example for a deprecated pack with a replacement:
\code
<releases>
<release version="1.0.1" date="2020-04-18" deprecated="2020-04-18" replacement="Vendor.pack_name">Deprecated: use Vendor.pack_name instead.
<release version="1.0.1" date="2020-04-18" deprecated="2020-04-18" replacement="Vendor.pack_name">
</release>
<release version="1.0.0" date="2020-03-24">Initial version.
</release>
Expand Down Expand Up @@ -1132,7 +1132,7 @@ software components in projects. Reserved characters are:
<td>public</td>
<td>Set publishing permissions for the documentation. If \tagem{public} is \token{true}, then the vendor gives permission
to extract the documentation from the pack and publish it on a web-page. Links to web pages are assumed to be public.
The default value is \token{false}.</td>
The default value is \token{true} (this is also the basic assumption if the tag is missing).</td>
<td>xs:boolean</td>
<td>optional</td>
</tr>
Expand Down Expand Up @@ -1438,7 +1438,7 @@ It is recommended to use an already agreed part-taxonomy for interchangeable par
<td>public</td>
<td>Set publishing permissions for the documentation. If \tagem{public} is \token{true}, then the vendor gives permission
to extract the documentation from the pack and publish it on a web-page. Links to web pages are assumed to be public.
The default value is \token{false}.</td>
The default value is \token{true} (this is also the basic assumption if the tag is missing).</td>
<td>xs:boolean</td>
<td>optional</td>
</tr>
Expand Down
26 changes: 18 additions & 8 deletions schema/PACK.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,23 @@
See the License for the specific language governing permissions and
limitations under the License.
$Date: 15. May 2023
$Revision: 1.7.25
$Date: 03. Aug 2023
$Revision: 1.7.28
$Project: Schema File for Package Description File Format Specification
Package file name convention <vendor>.<name>.<version>.pack
SchemaVersion=1.7.25
SchemaVersion=1.7.27
03. Aug 2023: 1.7.28
- changed capitalization from 'changeLogs' to 'changelogs' to align with documentation
26. July 2023: v1.7.27
- changed capitalization from 'Clang' to 'CLANG' in 'CompilerEnumType' to align with CMSIS-Toolbox
- added 'MinebeaMitsumi:181' to 'DeviceVendorEnum'
23. June 2023: v1.7.26
- added 'YTMicro:180' to 'DeviceVendorEnum'
15. May 2023: v1.7.25
- added 'Sinemicro:179' to DeviceVendorEnum
- added 'Sinemicro:179' to 'DeviceVendorEnum'
04. May 2023: v1.7.24
- added environment element as child element of /package/boards/board and /package/components/.../component/environments
27. Apr 2023: v1.7.23
Expand Down Expand Up @@ -198,7 +206,7 @@
-->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.7.25">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.7.27">

<!-- NonNegativeInteger specifies the format in which numbers are represented in hexadecimal or decimal format -->
<xs:simpleType name="NonNegativeInteger">
Expand Down Expand Up @@ -274,6 +282,7 @@
<xs:enumeration value="Microsemi:112" />
<xs:enumeration value="Milandr:99" />
<xs:enumeration value="MindMotion:132" />
<xs:enumeration value="MinebeaMitsumi:181" />
<xs:enumeration value="NetSilicon:67" />
<xs:enumeration value="Nordic Semiconductor:54" />
<xs:enumeration value="Nuvoton:18" />
Expand Down Expand Up @@ -312,6 +321,7 @@
<xs:enumeration value="WIZnet:122" />
<xs:enumeration value="Xiamen PengPai Microelectronics Co. Ltd:166" />
<xs:enumeration value="XMC:158" />
<xs:enumeration value="YTMicro:180" />
<xs:enumeration value="Zilog:89" />
<!-- deprecated: do not use -->
<xs:enumeration value="Freescale:78" />
Expand Down Expand Up @@ -1237,7 +1247,7 @@
<xs:enumeration value="Cosmic" />
<xs:enumeration value="G++"/> <!-- Code Sourcery -->
<xs:enumeration value="XC"/> <!-- Microchip MPLAB XC32 -->
<xs:enumeration value="Clang"/>
<xs:enumeration value="CLANG"/>
<xs:enumeration value="Renesas"/>
<xs:enumeration value="*" />
</xs:restriction>
Expand Down Expand Up @@ -2087,7 +2097,7 @@
<!-- Version numbers and release history -->
<xs:element name="releases" type="ReleasesType" minOccurs="1" />
<!-- ID based references to changelog information stored in text files, associated with components -->
<xs:element name="changeLogs" type="ChangelogsType" minOccurs="0" />
<xs:element name="changelogs" type="ChangelogsType" minOccurs="0" />
<!-- keyword for Search Engine Indexing (e.g. Google) -->
<xs:element name="keywords" type="KeywordsType" minOccurs="0" />
<!-- generators are tools and utilities that are used to generate software components -->
Expand Down

0 comments on commit a8e3363

Please sign in to comment.