mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-06 14:52:03 +01:00
Update wikipage IRON: Eiffel package repository. (Signed-off-by:jocelyn).
git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1455 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
[[Property:title|IRON: Eiffel package repository]]
|
||||
[[Property:link_title|IRON packages]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|8CD35EE7-682A-4A8D-A4E7-E5B66AB15FC5]]
|
||||
[[Property:uuid|A791D30C-F2B9-44A0-9AED-8B78C816C563]]
|
||||
{{ReviewRequested}}
|
||||
|
||||
=Purpose=
|
||||
@@ -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 executables 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,10 @@ 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:
|
||||
<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>
|
||||
<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>
|
||||
|
||||
|
||||
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.
|
||||
|
||||
@@ -44,11 +43,9 @@ IRON has made it possible to simplify this scenario dramatically. For any commo
|
||||
** as you can see, no more environment variable, and only a relative path from the root of the package. This simplifies a lot the referencing, and package/library management. No need to know where are located the installed files on the local machine.
|
||||
|
||||
That's all! In the above example, the location of the libraries, in the project, then become something like:
|
||||
<code>
|
||||
<library name="base" location="iron:base:base.ecf" />
|
||||
<library name="xml_parser" location="iron:xml:parser/xml_parser.ecf" />
|
||||
<library name="foobar" location="iron:dummy:src/foo/bar.ecf" />
|
||||
</code>
|
||||
<nowiki><library name="base" location="iron:base:base.ecf" /></nowiki>
|
||||
<nowiki><library name="xml_parser" location="iron:xml:parser/xml_parser.ecf" /></nowiki>
|
||||
<nowiki><library name="foobar" location="iron:dummy:src/foo/bar.ecf" /></nowiki>
|
||||
|
||||
There is no more need for a set of environment variables.
|
||||
|
||||
@@ -143,7 +140,7 @@ At the website provided by a particular IRON server, you can get information abo
|
||||
* Select the version that matches the version of EiffelStudio you have installed.
|
||||
Example: clicking on version 14.05 takes you to https://iron.eiffel.com/repository/14.05/ where you can list existing packages, or add a new package if you have an account on the server.
|
||||
|
||||
If you click the "Package list" or "All packages" link, it takes you to a list of packages available under that version.
|
||||
If you click the "Package list" or "All packages"Â link, it takes you to a list of packages available under that version.
|
||||
|
||||
== Search/filter==
|
||||
To filter this list, you can use the search window. You can specify search criteria in this format <code>:criterion:search_string</code>
|
||||
@@ -268,7 +265,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
|
||||
@@ -297,7 +294,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:
|
||||
|
||||
@@ -456,4 +453,3 @@ More features are planned or are already under development:
|
||||
:* ability to upgrade of packages already installed
|
||||
:* extended post-installation operations
|
||||
:* more features that users may request or suggest.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user