Update wikipage IRON: Eiffel package repository. (Signed-off-by:jocelyn).

git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1487 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
eiffel-org
2016-01-26 22:36:41 +00:00
parent caeb6b5d00
commit 42d2d61c92

View File

@@ -16,7 +16,7 @@ Most often a package is a library or a set of libraries, but it could also other
Certainly the IRON repository is a repository of Eiffel libraries. However, sometimes libraries are used together, or cross reference one another, and thus are appropriate to be delivered together as a unit.
Such unit can also include other types of files, such as external .c files that may need to be compiled on the local platform to make .LIB or .OBJ files available to the linker (.a or .o on Unix and Linux systems), scripts or executable that need to be run as part of the installation process (e.g. to generate other files required by the library, install environment variables, generate source code from LEX files), or tool kits that are part of, or needed by, the library.
Since the IRON repository permits programmers to install software components in "units", and since sometimes those units can contain more than one library, as well as other types of files, a new term was required to convey this concept: package.
Since the IRON repository permits programmers to install software components in "units", and since sometimes those units can contain more than one library, as well as other types of files, a new term was required to convey this concept: package.
{{Definition|package|a downloadable unit of software from an IRON repository that contains one or more Eiffel libraries and their related files.}}
@@ -29,11 +29,11 @@ To configure Eiffel projects, programmers uses "ECFs" (Eiffel Configuration File
One application of ECFs is to reference libraries installed in different locations. Without IRON, the usual solution is to use relative or absolute path, and generally using environment variables such as ISE_LIBRARY or EIFFEL_LIBRARY, and a few package specific variables such as GOBO, ...
Typical library references without IRON in ECF:
<nowiki><library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/></nowiki>
<nowiki><library name="xml_parser" location="$EIFFEL_LIBRARY\library\text\parser\xml\parser\xml_parser.ecf"/></nowiki>
<nowiki><library name="dummy_foobar" location="$LIB_DUMMY\src\foo\bar.ecf"/></nowiki>
<code>
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
<library name="xml_parser" location="$EIFFEL_LIBRARY\library\text\parser\xml\parser\xml_parser.ecf"/>
<library name="dummy_foobar" location="$LIB_DUMMY\src\foo\bar.ecf"/>
</code>
As projects grow and multiply, the number of these variables adds up quickly. A dozen or more such environment variables per system is (prior to IRON) not uncommon. Coordinating their use and evolution among a team of programmers can become a challenge.
@@ -269,7 +269,7 @@ The "iron" executable is used to perform various operations such as search, inst
</code>
(or <nowiki>iron install https://iron.eiffel.com/14.05/com.eiffel/library/base</nowiki>)
:(This latter form is useful in resolving name conflicts when, for instance, you have multiple IRON repositories registered on your system, and two or more contain a packaged called "base".)
:(This latter form is useful in resolving name conflicts when, for instance, you have multiple IRON repositories registered on your system, and two or more contain a packaged called "base".)
===Uninstall a package===
<code> iron remove base
@@ -298,7 +298,7 @@ iron repository --remove https://custom.example.com/14.05
===Multiple-Repository Name Conflict Resolution===
If you have more than one IRON repository registered on your system, it is possible that the same package name may exist on more than one repository. If this is the case, and you attempt to perform operations using that name only, the repository that will be used will be the first repository in the list that contains a package with that name. If you need the package with that name from a different repository, then use the "id" or "uri" form of the identifying the package you want.
If you have more than one IRON repository registered on your system, it is possible that the same package name may exist on more than one repository. If this is the case, and you attempt to perform operations using that name only, the repository that will be used will be the first repository in the list that contains a package with that name. If you need the package with that name from a different repository, then use the "id" or "uri" form of the identifying the package you want.
If the sequence of repositories is not to your liking, you can change it in three ways:
@@ -339,7 +339,7 @@ Current status:
* only the '''name of the package is required'''
* the section "project" list the various available .ecf projects
* the section "note" contains title, description, tags, ... informations. The formation is similar to Eiffel indexing note, and in addition it supports bracket in the name of note, such as in ''<nowiki>link[doc]</nowiki>''.
** The "link" declaration: <code>link<nowiki>[category</nowiki>]: "Optional Title" associated-url</code>
** The "link" declaration: <code>link[category]: "Optional Title" associated-url</code>
* The following notes have semantic that are processed by Iron: '''title, description, tags, link<nowiki>[..]</nowiki>, and maps''', for now mostly on the Iron server.
* It is possible to use any note name. Currently they are simply stored and never displayed. In the future, Iron may support additional semantic for those notes.
@@ -373,7 +373,7 @@ Example on Windows:
It should find and list all the official ISE IRON packages.
Now if you want to install the '''time''' package from it, just do
<code>
<code lang="text">
> iron install time
Searching [time]
-> several packages for name [time]!