https://dev.eiffel.com/index.php?title=Repository_Package&feed=atom&action=history
Repository Package - Revision history
2024-03-28T19:11:18Z
Revision history for this page on the wiki
MediaWiki 1.24.1
https://dev.eiffel.com/index.php?title=Repository_Package&diff=12621&oldid=prev
Jfiat at 06:32, 16 June 2009
2009-06-16T06:32:27Z
<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 06:32, 16 June 2009</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 28:</td>
<td colspan="2" class="diff-lineno">Line 28:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Build Scripts ===</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=== Build Scripts ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>== OTHER STUFF - IGNORE ==</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>== OTHER STUFF - <ins class="diffchange diffchange-inline">PLEASE </ins>IGNORE ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Reverse domain name for human readable ID</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Reverse domain name for human readable ID</div></td></tr>
</table>
Jfiat
https://dev.eiffel.com/index.php?title=Repository_Package&diff=12618&oldid=prev
Paulb: Added initial page
2009-06-16T00:08:45Z
<p>Added initial page</p>
<p><b>New page</b></p><div>{{UnderConstruction}}<br />
[[Category:Eiffel Library Repository]]<br />
<br />
A Repository Package, or just a Package is an encapsulated Eiffel library containing the Eiffel library source code, an Eiffel Configuration File (ECF), a package configuration file, a build script and any number of other ancillary files/resources.<br />
<br />
Packages are uploaded to the Eiffel Library [[Repository Server]], where they are checked for [[Integrity Checks|integrity]] and the committed to the [[Repository Server#Stable Repository|stable repository]] for end-users to download upon request.<br />
<br />
== Identification ==<br />
To date, Eiffel Configuration Files (ECF) are identified internally using a UUID. The UUID is purely to uniquely identify the configuration and apply setting and other configuration data to contained classes within that library. An Eiffel developer need not concern themselves with the UUID, just the on disk file name of the ECF.<br />
<br />
A file name is typically unique, and combined with an internal UUID it is possible to uniquely identify an Eiffel library through an ECF. However packages do not work in the same way. Packages are location agnostic because they are stored by the [[:Eiffel Library Repository|Eiffel Library Repository]]'s set to [[Repository Client Tools|tools]], and the [[#Versioning|versioning]] rules that apply to packages means multiple versions of an Library Package may exist in the locally downloaded repository.<br />
<br />
Because packages are location agnostic they need to be uniquely identified, in a human readable form. UUIDs are unique but give no indication about the package's function or origin. As a solution packages will use a human readable, reverse domain name. In conjunction with a version number (when multiple versions of the library exists) the package can be referenced with location independence.<br />
<br />
Examples of the reverse domain names:<br />
* com.eiffel.eiffel_base: EiffelBase<br />
* com.eiffel.eiffel_vision2: EiffelVision2<br />
* com.eiffel.eiffel_net: EiffelNet<br />
<br />
=== Versioning ===<br />
<br />
== Structure ==<br />
<br />
=== Configuration ===<br />
<br />
=== Eiffel Sources ===<br />
<br />
=== Build Scripts ===<br />
<br />
== OTHER STUFF - IGNORE ==<br />
<br />
Reverse domain name for human readable ID<br />
Version number<br />
Dependencies identified by name, version<br />
Platform information (x86, x86-64, Windows, Linux, ..., all)<br />
Build script<br />
Recommend hierarchy<br />
com.domain.name<br />
spec/ (generated)<br />
x86/<br />
x86-64/<br />
ARM/<br />
build/ (generated)<br />
<br />
Clib or clib/<br />
include/<br />
windows, unix or osx/<br />
$ISE_PLATFORM/<br />
src/<br />
doc/<br />
wiki/<br />
xml/<br />
resources/<br />
config.ecf<br />
config.lic<br />
config-unsafe.ecf<br />
config-unsafe.lic<br />
build.geant<br />
README<br />
INSTALL<br />
package.ini<br />
Configuration package.ini<br />
[package]<br />
version=M.m.r<br />
maintainer=some@one.com<br />
homepage=http://www.some.com<br />
<br />
[import]<br />
defaults=$ELR/config/defaults.ini (use name resolution - home, config, package dirs)<br />
<br />
[config]<br />
compiler_version=6.1.*,*<br />
build=true|false|1|0|yes|no<br />
<br />
[dependencies]<br />
com.eiffel.base=0.0.0, *<br />
com.eiffel.a=6.1, 6.2.*<br />
com.eiffel.b=*, 6<br />
com.eiffel.c=<6.9*.9*<br />
com.eiffel.d=>6.1.*<br />
<br />
[build:<platform>]<br />
build_tool=geant $build_script $build_args<br />
build_script=build.geant<br />
build_args=<br />
<br />
[clean:<platform>]<br />
clean_tool=geant $clean_script $clean_args<br />
clean_script=$build_script<br />
clean_args=clean<br />
Implicit variables (usable in CONFIG files)<br />
_PKG_NAME_: Human readable package name.<br />
_PKG_DIR_: Root directory of package on the end users system.<br />
_PKG_SRC_: Root directory of package source code.<br />
_PKG_VERSION_: Package version number.<br />
_PKG_INCLUDE_: Package external include files directory.<br />
_PKG_LIB_: Package external lib files directory.</div>
Paulb