Table of contents:
Need help ? Please read the Getting support page.
You have to check this only once.
If you already know Mercurial, your ~/.hgrc
is probably already configured.
Here is an example of a ~/.hgrc
file. You must at least edit the section [ui]
section
to enter your real name and email address.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | [ui] # enter your real name and your email address username = FirstName Lastname <myaddress@domain.org> editor = gedit merge = meld [merge-tools] meld.args = $local $base $other [extensions] color = rebase = purge = mq = extdiff = graphlog = histedit = patchbomb = [aster] #translation = false #test.nbmaxnook = 5 [alias] lg = log -G --template="{rev}:{node|short} {branch}: {desc|firstline} <{author|email}> ({phase})\n" ll = lg -l 10 |
You can check that your username and email are correctly set:
1 2 | $ hg showconfig ui.username FirstName Lastname <myaddress@domain.org> |
devtools
will provide some tools to check our source coding conventions
(it is recommended if you plan to send pull-requests and contribute to the project).
Note: devtools
is mainly designed for internal purpose. It may contain specific
configurations and some commands may be unusable. It is not clear, feedback is welcome.
Note: In this tutorial, you will clone the code_aster repositories.
See the SourceForge documentation if you created your own forks.
Make your clones using:
1 2 3 | mkdir -p $HOME/dev/codeaster && cd $HOME/dev/codeaster hg clone http://hg.code.sf.net/p/codeaster/devtools devtools hg clone http://hg.code.sf.net/p/codeaster/src src |
Please be patient, the size of src
is about 350 MB...
If you don't want to use $HOME/dev/codeaster
, you must change it in the following examples.
You can skip this step if you will keep your changes private.
This step will fill the .hg/hgrc
file in the src
repository.
It will enable the aster
extension.
1 | $HOME/dev/codeaster/devtools/bin/install_env --internet
|
Update: the script has now a --internet
option for use without EDF servers.
You can force reinitialization adding the --reset
option.
You will probably have to source the environment of devtools
to be able to load the extension.
Add this line into your ~.bashrc
:
1 | . $HOME/dev/codeaster/devtools/etc/env.sh
|
For more details, see the Build code_aster page.
To build code_aster you need install its prerequisites (mumps
, hdf5
, med
,
blas
, compilers...).
In this tutorial we suppose that you have already install the last code_aster package
of the testing
version (for example, ASTER_VERSION=13.4
).
During the installation of this version, location of the prerequisites has been
automatically registered in $ASTER_ROOT/$ASTER_VERSION/share/aster/aster_full_config.py
as a configuration file for waf
.
For the following command lines you will use $ASTER_ROOT
variable (change it with
the value used during the installation of the aster-full-src
package):
1 | ASTER_ROOT=/opt/aster |
Here, we are using the prerequisites built by the aster-full
setup.
The command lines are:
1 2 3 4 | cd $HOME/dev/codeaster/src source $ASTER_ROOT/$ASTER_VERSION/share/aster/profile_mfront.sh ./waf configure --use-config-dir=$ASTER_ROOT/$ASTER_VERSION/share/aster --use-config=aster_full_config --prefix=../install/std ./waf install -p |
If later you want to build a parallel version, you will use --prefix=../install/mpi
.
Now we can check this installation by running a small testcase:
1 2 3 4 5 6 7 8 9 | $ cd $HOME/dev/codeaster/src $ ./waf test -n sslp114a Waf: Entering directory `/home/courtois/dev/codeaster/src/build/release' destination of output files: /tmp/runtest_jb04OK running zzzz100b in 'release' `- output in /tmp/runtest_jb04OK/zzzz100b.output `- exit 0 Waf: Leaving directory `/home/courtois/dev/codeaster/src/build/release' 'test' finished successfully (2.307s) |
In order to prepare commands files with the syntax of your development version,
all you need is to add it using the menu entry File/Preferences/AsterStudy/Catalogs.
Use dev
as label and enter the path up to lib/aster
,
for example: $HOME/dev/codeaster/install/std/lib/aster
This version should appeared with the label dev
.
To be available for execution on localhost, apply the following point for as_run
.
astk/as_run
Just add these lines in your ~/.astkrc/prefs
file
(example with a sequential and a parallel versions):
vers : DEV:$HOME/dev/codeaster/install/std/share/aster vers : DEV_MPI:$HOME/dev/codeaster/install/mpi/share/aster
Restart astk
or refresh the configuration of the local server.
The added versions should appear in the versions scroll-list.
In salome_meca, just click on the refresh icon near the server name
to reload the server configuration.
Note: It is highly recommended to start every new development from the head
of the default
branch, after pulling the newer changesets:
1 2 3 | cd $HOME/dev/codeaster/src hg pull hg up reference |
print
in bibfor/op/op0001.F90
1 2 3 4 5 6 7 8 9 10 11 | diff --git a/bibfor/op/op0001.F90 b/bibfor/op/op0001.F90 --- a/bibfor/op/op0001.F90 +++ b/bibfor/op/op0001.F90 @@ -89,6 +89,7 @@ call infniv(ifm, niv) ! call getres(nomu, concep, cmd) + print *, "this print has been added in the LIRE_MAILLAGE operator" ! call getvis(' ', 'UNITE', 0, iarg, 1,& ifl, iaux) |
1 | ./waf install |
Without the -p/--progress
option, the output is verbosy. If you scroll back,
you can see the only the changed file has been recompiled:
[5052/7165] fc: bibfor/op/op0001.F90 -> build/release/bibfor/op/op0001.F90.1.o
1 | ./waf test -n sslp114a
|
You can also run this testcase or a study of your choice in astk
with your personal version.
If you enabled the aster
extension the commit message must mention a bug id.
You can use a trivial id for your personal work
(for example [#0000] add a new feature
).