mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-06 14:52:03 +01:00
merged 22.05
git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2362 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
[[Property:modification_date|Mon, 20 Dec 2021 10:15:58 GMT]]
|
||||
[[Property:modification_date|Mon, 20 Dec 2021 10:16:27 GMT]]
|
||||
[[Property:publication_date|Mon, 20 Dec 2021 10:13:53 GMT]]
|
||||
[[Property:link_title|Background and tools]]
|
||||
[[Property:title|Void-safety: Background, definition, and tools]]
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
[[Property:modification_date|Thu, 02 Jun 2022 12:53:45 GMT]]
|
||||
[[Property:publication_date|Thu, 02 Jun 2022 12:53:45 GMT]]
|
||||
[[Property:title|Copying the Example Files]]
|
||||
[[Property:weight|-14]]
|
||||
[[Property:uuid|bb8ff7d7-2e93-d150-339c-d9afb967bc98]]
|
||||
@@ -6,7 +8,8 @@
|
||||
If you are going to work on a copy, choose or create a directory of your own; let's call it <code>YOURDIR</code> for the rest of the discussion.
|
||||
|
||||
To copy all the files of the example to <code>YOURDIR</code>:
|
||||
* On Windows, open a Windows Explorer, go to <code>$ISE_EIFFEL\examples\studio\tour</code> , select all the files in that directory, and drag-and-drop them to <code>YOURDIR</code> .
|
||||
* On Windows, open a Windows Explorer, go to <code>%ISE_EIFFEL%\examples\studio\tour</code> (replace <code>%ISE_EIFFEL%</code> by the expected location), then select all the files in that directory, and drag-and-drop them to <code>YOURDIR</code> .
|
||||
|
||||
* On Unix execute the shell command
|
||||
<code lang="text">
|
||||
cp $ISE_EIFFEL/examples/studio/tour/* YOURDIR</code>
|
||||
|
||||
@@ -1,16 +1,43 @@
|
||||
[[Property:modification_date|Tue, 09 Nov 2021 08:30:45 GMT]]
|
||||
[[Property:modification_date|Mon, 20 Dec 2021 14:57:10 GMT]]
|
||||
[[Property:publication_date|Tue, 09 Nov 2021 08:30:45 GMT]]
|
||||
[[Property:uuid|832C4922-780A-4A17-BA9C-61A9211EF6FF]]
|
||||
[[Property:title|Release notes for EiffelStudio 21.11]]
|
||||
[[Property:link_title|21.11]]
|
||||
[[Property:weight|-6]]
|
||||
|
||||
==Graphical environment==
|
||||
* On non Windows platforms (linux, macosx, ...), EiffelStudio is now using '''GTK3''' (instead of the older GTK2).
|
||||
* The new '''Source Control''' tool provides basic '''GIT''' and '''subversion''' operations (status, diff, commit, ...). The related tools have to be installed on your machine, as the Source Control tool relies on the executable `git` and `svn` commands.
|
||||
|
||||
==Compiler==
|
||||
* Supported a unified syntax to access loop cursor features inside an iteration form of a loop for both keyword-based and Unicode-based loop variants. The current item is accessed by the cursor name. The cursor feature is accessed by preceding the cursor name with the symbol `@`:
|
||||
```
|
||||
∀ x: array ¦ (@ x.target_index \\ 2 = 0 ⇒ x > 0) -- All elements at even positions are positive.
|
||||
|
||||
-- Print all elements of a table prefixed with their keys.
|
||||
across table as y loop
|
||||
print (@ y.key)
|
||||
print (": ")
|
||||
print (y)
|
||||
io.put_new_line
|
||||
end
|
||||
```
|
||||
The existing code can be updated with `syntax_updater` invoked with option `-i`.
|
||||
* Fixed multiple bugs related to non-conforming inheritance, making the latter usable in production code. (Note: the semantics of non-conforming inheritance is changed by removing automatic replication of inherited features.)
|
||||
|
||||
==Libraries==
|
||||
* The vision2 library is now using GTK3 by default on non Windows platforms (linux, macosx, ...). To compile using GTK2, set the variable `vision_implementation=gtk2`.
|
||||
* The JSON library was improved with a new date time serializer, and the possibility to use the reflector serializer with JSON_BASIC_SERIALIZATION.
|
||||
* Various bug fixes and improvements on the EiffelWeb library, and the Eiffel CMS solution.
|
||||
* Marked `make_from_iterable` and added `{HASH_TABLE}.make_from_iterable_tuples` as conversion procedures from `ARRAY` for some container classes to enable initialization from manifest arrays:
|
||||
```
|
||||
x: LINKED_LIST [INTEGER]
|
||||
y: HASH_TABLE [INTEGER, STRING]
|
||||
...
|
||||
x := <<1, 1, 2, 3, 5, 8>> -- Create a list with elements 1, 1, 2, 3, 5, 8.
|
||||
y := <<[23, "Peter"], [19, "Mary"], [36, "Tom"], [32, "Alice"]>> -- Indexed by name.
|
||||
|
||||
==Known issues==
|
||||
=== EiffelStudio IDE===
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[[Property:modification_date|Fri, 27 May 2022 13:50:40 GMT]]
|
||||
[[Property:publication_date|Tue, 24 May 2022 13:07:27 GMT]]
|
||||
[[Property:uuid|32B3433A-9F76-4070-862D-288177C083E0]]
|
||||
[[Property:weight|-7]]
|
||||
[[Property:title|Release notes for EiffelStudio 22.05]]
|
||||
[[Property:link_title|22.05]]
|
||||
|
||||
==Graphical environment==
|
||||
* Fixed some issues and enhanced UI of the '''Source Control''' tool.
|
||||
* Made some variants of feature indexing notes clickable.
|
||||
* Extended font zoom factor to grid and text-based tools.
|
||||
* Bug fixes.
|
||||
|
||||
==Compiler==
|
||||
* Improved support for recent Visual Studio version (2022) and future version.
|
||||
* Bug fixes.
|
||||
|
||||
==Tools==
|
||||
* Added support for remote target on `eiffel` and `compile_all` tools.
|
||||
* Improved the WrapC tool with updated type mapping, and internal optimization.
|
||||
|
||||
==Libraries==
|
||||
* Integrated routines to convert values of `INTEGER_*` and `NATURAL_*` types to binary and octal string representations.
|
||||
* Extended '''json''', '''jwt''', '''cms''' and '''web''' libraries.
|
||||
|
||||
----
|
||||
|
||||
See [https://dev.eiffel.com/EiffelStudio_22.05_Releases change log] for more details.
|
||||
@@ -1,3 +1,5 @@
|
||||
[[Property:modification_date|Sat, 11 Dec 2021 19:23:25 GMT]]
|
||||
[[Property:publication_date|Sat, 11 Dec 2021 19:23:25 GMT]]
|
||||
[[Property:title|Linux]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|db132d4c-7c65-59c0-6f9f-731b81c37373]]
|
||||
@@ -6,10 +8,10 @@
|
||||
{| class="doctable"
|
||||
|-
|
||||
| '''Computer/Processor'''
|
||||
| x86 or x86-64, armv6
|
||||
| x86-64, armv6, armv7
|
||||
|-
|
||||
| '''Operating System'''
|
||||
| Ubuntu 8.04 or any Linux system with glibc 2.7 and GTK+ 2.4.
|
||||
| Ubuntu 18.04 or any Linux system with glibc 2.7 and GTK+ 3.22.
|
||||
|-
|
||||
| '''C compiler'''
|
||||
| gcc or SunStudio 12 Linux compiler
|
||||
@@ -21,21 +23,21 @@
|
||||
| 1GB of free space
|
||||
|-
|
||||
| '''ISE_PLATFORM'''
|
||||
| '''linux-x86''' for x86 based CPU, '''linux-x86-64''' for x64 based CPU.
|
||||
| '''linux-x86-64''' for x64 based CPU.
|
||||
|}
|
||||
|
||||
|
||||
==Checking your environment==
|
||||
|
||||
EiffelStudio requires GTK+ 2.4.0 or above to function properly. You can check that you have this installed correctly by typing the following command:
|
||||
<code>pkg-config --modversion gtk+-2.0</code>
|
||||
The command should succeed and the version number of GTK+ should appear. If it is not 2.4.0 or above then you cannot continue the installation of EiffelStudio. You first need to install GTK+ 2.4.0.
|
||||
EiffelStudio requires GTK+ 3.22 or above to function properly. You can check that you have this installed correctly by typing the following command:
|
||||
<code>pkg-config --modversion gtk+-3.0</code>
|
||||
The command should succeed and the version number of GTK+ should appear. If it is not 3.22.0 or above then you cannot continue the installation of EiffelStudio. You first need to install GTK+ 3.22
|
||||
|
||||
On some Linux distribution the Xtst library is required but not installed by default. You have to make sure it is installed by using the instruction of your Linux distribution.
|
||||
|
||||
For example, on Debian based distribution you need to do:
|
||||
<code>
|
||||
sudo apt-get install libgtk2.0-dev
|
||||
sudo apt-get install libgtk-3.0-dev
|
||||
sudo apt-get install libxtst-dev
|
||||
</code>
|
||||
|
||||
@@ -61,7 +63,7 @@ This will install the EiffelStudio files into /usr/local/EiffelXX. To complete t
|
||||
|
||||
Once the files have been installed, you should define the following environment variables in order to run EiffelStudio:
|
||||
* '''ISE_EIFFEL''' to /usr/local/EiffelXX
|
||||
* '''ISE_PLATFORM''' to linux-x86 for the 32 bits version or linux-x86-64 for the 64 bits version. We will be using '''linux-x86-64''' in the examples below.
|
||||
* '''ISE_PLATFORM''' to linux-x86-64 for the 64 bits version. We will be using '''linux-x86-64''' in the examples below.
|
||||
and add $'''ISE_EIFFEL'''/studio/spec/$'''ISE_PLATFORM'''/bin to your '''PATH''' environment variable.
|
||||
|
||||
Using sh or bash as a shell, it suffices to type the following commands:
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
[[Property:modification_date|Wed, 06 Apr 2022 14:21:15 GMT]]
|
||||
[[Property:publication_date|Sat, 11 Dec 2021 21:57:25 GMT]]
|
||||
[[Property:title|Mac OS X]]
|
||||
[[Property:weight|5]]
|
||||
[[Property:uuid|7cf4e0e5-0858-58bb-351e-52becea59ede]]
|
||||
@@ -29,26 +31,28 @@
|
||||
|
||||
*You will need to install '''Xcode''' from the App Store.After installing Xcode, make sure to install the command line tools by going to the Xcode preferences and under '''Downloads''' install the '''Command Line Tools''' components.
|
||||
|
||||
*You also need to install X11 from http://xquartz.macosforge.org.
|
||||
*You also need to install X11 from [http://xquartz.macosforge.org http://xquartz.macosforge.org].
|
||||
|
||||
==Installing the GPL Edition==
|
||||
==Installing required dependencies of EiffeStudio==
|
||||
|
||||
MacPorts is a tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install [http://guide.macports.org/#installing MacPorts].
|
||||
MacPorts is a tool that allows you to use many Unix applications on the Mac. Before we can proceed with the installation of EiffelStudio, we need to install the required dependencies of EiffeStudio. First, install [http://guide.macports.org/#installing MacPorts].
|
||||
|
||||
Now simply type (from a bash [http://guides.macrumors.com/Terminal terminal]):
|
||||
<pre>
|
||||
sudo port install eiffelstudio
|
||||
sudo port install pkgconfig
|
||||
sudo port install bzip2
|
||||
sudo port install xorg-libXtst
|
||||
sudo port install gtk3
|
||||
|
||||
</pre>
|
||||
|
||||
|
||||
When a new release of the same version EiffelStudio becomes available, you can upgrade like so:
|
||||
New required dependency for GTK3
|
||||
<pre>
|
||||
sudo port selfupdate
|
||||
sudo port upgrade outdated
|
||||
sudo port install adwaita-icon-theme
|
||||
</pre>
|
||||
|
||||
==Installing EiffelStudio from a compressed package==
|
||||
This section only applies if you have installed all the required prerequisites. If you are not sure, use the installation from MacPorts as described in the previous section.
|
||||
This section only applies if you have installed all the required prerequisites.
|
||||
|
||||
After downloading the compressed package, you should manually extract its contents to your hard drive. For example, you can extract it into /usr/local using the following commands (assuming that you have permission to /usr/local and that the installation package was saved in /tmp/Eiffel_X.Y.tar.bz2, where X.Y stands for the EiffelStudio version):
|
||||
<code>
|
||||
@@ -69,11 +73,21 @@ export ISE_EIFFEL=/usr/local/Eiffel_X.Y
|
||||
export ISE_PLATFORM=macosx-x86-64
|
||||
export PATH=$PATH:$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin
|
||||
```
|
||||
(Note: you can write this into your .profile file).
|
||||
|
||||
=== Persisting Environment Variables ===
|
||||
Se them up in the .bash_profile file once for good, so you don't need to set them up each time.
|
||||
```
|
||||
1. Open the profile file into a text editor
|
||||
2. Add the export command for every environment variable
|
||||
3. Save your changes.
|
||||
```
|
||||
To immediately apply all changes to .bash_profile, use the source command.
|
||||
```
|
||||
source ~/.bash_profile
|
||||
```
|
||||
== Starting EiffelStudio ==
|
||||
|
||||
Now everything should be properly installed and you should be able to run the compiler. Simply navigate to /Applications/MacPorts/Eiffel''XX'' and double click the EiffelStudio icon.
|
||||
Now everything should be properly installed and you should be able to run the compiler. Simply navigate to `/usr/local/Eiffel_X.Y` and double click the EiffelStudio icon.
|
||||
|
||||
Alternatively, you can also start EiffelStudio from the command line by entering the command '''estudio''' or use the command-line eiffel compiler '''ec'''.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user