ChangeLog for taskmain
======================
Version 2.2 - 2020-11-15 (EO)
-----------
+ test/tasks: Removed pythontask.py and runpythontask.
+ src: Removed main.py.
+ src/main.pl: Perl she-bang set to '/usr/bin/env perl'.
Added use warnings.
Version 2.1 - 2020-07-06 (EO)
-----------
+ main.pl: Added -p/--param option. Close SPR 7394
+ test/tasks/runpythontask: Fixed test of python task.
Required saspython 2.1.
+ test/tasks/pythontask.py: Fixed class python_test.
Version 2.0 - 2019-12-03 (JVP)
------------
+ DEPEND: Update dependency with saspython package version
Version 1.99 - 2019-12-03 (JVP)
------------
+ src/main.py: All input parameters interface migrated to
saspython/src/param.py module
+ test/tasks/pythontask.py: Input parameters test
Version 1.98 - 2019-10-16 (JVP)
------------
+ src/main.py: Support to SAS task parameters from *.par configuration
file. Python class: OptionValues().
+ test/tasks/pythontask.py: No actions. Only input parameters test.
+ error.py and param.py Python modules created in a new
SAS package: saspython. Error messages and parameter handling functions
similar to already existing C++ tasks.
Version 1.97 - 2018-03-13 (EO)
------------
+ src/main.py: Created new main.py for SAS Python based tasks.
Support to common SAS task options (-h, -d, -m, -v, -V, etc) is
included through python 'getopt'.
Support to standard SAS tasks parameters 'param=value' is also
included via the same mechanism.
+ test/tasks: Added pythontask and runpythontask
+ test/tasks/config: Added pythontask.info, pythontask.lyt and
pythontask.par, with proper data to test different options.
+ To be implemented: saserror and sasparam python modules to support
similar error messages and parameter handling functions similar to
already existing support for Perl, C++ and Fortran tasks.
Version 1.96 - 2018-02-13 (EO)
------------------------------
+ This is a new major version of this package including a new GNU
Public License Text disclaimer required to distribute the SAS source
code to the Astronomical Community under the terms of the GNU Public
License. The text as it is shown below is the same that has been
included in all SAS source code files.
ESA (C) 2000-2018
This file is part of ESA's XMM-Newton Scientific Analysis System
(SAS).
SAS is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SAS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SAS. If not, see .
---------------------------------------------------------------------
Version 1.95 - 2016-04-30 (AI)
------------
+ (src/main.cc task_c.cc) gfortan compatibility changes
Version 1.94 - 2016-03-18 (EO)
------------
+ DEPEND: Added dependency on sasperl to fix a failure to find
SAS::Error perl module while running the test runperltask.
This dependency appeared when building a reduced set of packages
where sasperl package is not included.
Version 1.93 - 2015-12-04 (EO)
------------
+ src/main.pl: The sha-bang for perl (/usr/local/bin/perl) is now the variable
-sasperl-, which, like other variables in this file which are
eclosed by "-", it is replaced at build time by the proper value.
-sasperl- is replaced by the PERL determined by the SAS configure.
PERL can be either equal to a SAS_PERL value defined by the user or
determined among several possible perl installations:
/usr/bin/perl, /usr/local/bin/perl, /sw/bin/perl and /opt/local/bin/perl,
the last two only valid for Darwin.
Version 1.92 - 2014-09-30 (EO)
------------
+ src/main.pl: Added support for short common options (-h, -m, -d, etc).
Special treatment required for -v.
Version 1.91 - 2010-03-14 (AI)
------------
+ lib/metatask.cc: Replacement of the "sprintf" call by a better treatment of
character string memory allocation.
Version 1.90 - 2003-07-29 (JBa)
------------
+ Fixed test harness, such that they work on Mac OS X too:
* -test/tasks/testTaskPrivate.h
* +test/tasks/testtasklib.h
* +test/tasks/testtasklib.cc
Version 1.89 - 2003-07-03 (GV)
------------
+ QtRegister.cc: Fix double definition of isEnabled, which does
compile on Mac!
Version 1.88 - 2003-07-01 (JBa)
------------
+ (lib/DialogDll.cc) uses dylib extension for MacOsX
+ (lib/QtRegister.*) GUI enabling for MacOsX incorporated
Version 1.87 - 2003-06-26 (EO)
-----------
+ (test/tasks/runperltask) Added grep for correct output catching.
Version 1.86 - 2003-06-13 (GV)
------------
+ (Dll.cc) On Mac OS X dlsym and company are available through a
wrapper around the native interface. This wrapper is provided by
the finch project. The problem is that it is not always guaranteed
that the dlsym puts an underscore in front of the symbol
names. This can be configure at build time (of the wrapper in
question). To make life easier, and avoid surprises in case the
SAS is built on a system with the _ and run on a system without it
(or vice versa), here we try to load a symbol twice, once without
the underscore, and once with it. Only if both attempts fail is an
error issued.
Version 1.85 - 2003-03-17 (GV)
------------
+ (lib/HelpViewer.cc) uses env{SAS_BROWSER} if available.
Version 1.84 - 2003-02-11 (GV)
------------
+ (main.pl) the --verbosity setting was not being propagated
correctly.
+ (test/task/runperltask) modify to be sensitive to the verbosity
setting.
Version 1.83 - 2003-02-07 (GV)
------------
+ (main.pl) load SAS::param, remove debug print.
Version 1.82 - 2003-02-03 (GV)
------------
+ (Makefile) remove src from SUBDIRS, or make depend will
fail. src in task main is not a src dir like all the others, but
it is used to store templates.
Version 1.81 - 2003-01-31 (GV)
------------
+ Add main.pl to implement perl tasks. These are no longer
implemented via taskmain+perl interpreter, but as a plain perl
script.
Version 1.80 - 2003-01-29 (UL)
------------
+ main.cc change enforced by moving CCF access methods from CAL to
caloalutils: restart atom server if CCF constituents are inserted
from command line; now DEPENDs on caloalutils
Version 1.79 - 2003-01-28 (JBa)
------------
+ help is now dumped on stdout
Version 1.78 - 2003-01-21 (JBa)
------------
(lib/QtRegister.cc)
+ fixed SOC-SPR-2398
Version 1.77 - 2002-12-09 (JBa)
------------
(lib/QtRegister.h, lib/QtRegister.cc)
+ fixed SOC-SPR-2383
+ moved implementation of QtRegister in own translation unit
Version 1.76 - 2002-11-21 (JBa)
------------
+ fixed SOC-SPR-2371
Version 1.75 - 2002-11-19 (JBa)
------------
+ gParameters was not converted back properly in meta-tasks.
Version 1.74 - 2002-11-04 (UL)
------------
+ added description of new environment variable SAS_RAND_SEED (as of
utils-1.98) to documentation
Version 1.73 - 2002-07-08 (GV)
------------
+ (test/*/Makefile) remove qt requirement, as it does not belong
there. Also, it makes the test harnesses require an active X
server.
Version 1.72 - 2002-07-02 (JBa)
------------
+ fixed (src/perltask.cc) to eat "const char*" via string.c_str()
+ moved dummy tasks to area for development binaries
Version 1.71 - 2002-06-27 (JBa)
------------
+ uses sstream
Version 1.70 - 2002-06-17 (JBa)
------------
STATIC build:
+ test will statically link
+ note: test will not succeed, as shared libraries are needed (at
least for perl tasks).
Version 1.69 - 2002-05-21 (JBa)
------------
+ depends on layout to ensure proper build order
Version 1.68 - 2002-05-07 (GV)
------------
+ Update par files for param-2.0.
Version 1.67.2 - 2002-02-01 (JBa)
------------
+ (test/tasks/config/perltask.par) fixed bug in syntax
Version 1.67.1 - 2002-01-28 (JBa)
------------
+ Upgraded verbosity of Executing information to lowest level
(i.e. the user will see TASK:- Executing (HOW): TASK [paremeters])
Version 1.67 - 2001-12-20 (GV)
------------
+ DEPEND updated.
Version 1.66 - 2001-11-19 (JBa)
--------------
+ (lib/Task.cc) At call/invocation of child, be verbose on all
errHandler flags needed by children too.
Version 1.65.4 - 2001-06-14 (JBa)
--------------
+ Do not check for mandatory parameters, if using the dialog!
Version 1.65.3 - 2001-06-06 (JBa)
--------------
+ Fixed occurence of META::TASK::TASK (task name appearing twice) in
messages/warnings and the lot, when TASK was called by invokation
instead of routine.
Version 1.65.2 - 2001-06-01 (UL)
--------------
+ better explanation of relationship between --odf/SAS_ODF and
--ccf/SAS_CCF in doc
Version 1.65.1 - 2000-05-14 (JBa)
------------
+ (lib/Task.cc)
* catch exceptions (only if error handler uses exceptions), and
do appropriate cleanup
+ (test/tasks/cctaskerror, test/meta/ccmetaerror)
* added tests for the above
Version 1.65 - 2000-03-29 (JBa)
------------
+ (lib/metatask.cc, lib/metatask_mod.f90, lib/taskinfo_.f90)
* expanded the f90 interface to query a TaskInfo object
+ (test/tasks/f90task_mod.f90,test/meta/f90meta_mod.f90)
* usage examples of the above
Version 1.64 - 2000-03-28 (JBa)
------------
+ * replaced old-style headers
Version 1.63.2 - 2000-11-28 (JBa)
--------------
+ (doc/taskmain_description.tex, src/main.cc)
* fixed SPRs 1274, 1653, 1658, 1865
* added global parameters to index of parameters
* updated documentation
* improved HTML links.
Version 1.63.1 - 2000-11-15 (UL)
--------------
+ fixed SPR-1846: if cal used, SAS_CCF alwasy required
[tweak in main.cc such that a CIF is only needed if a CAL-related
command line option has been specified]
Version 1.63 - 2000-10-27 (JBa)
------------
+ (src/task_c.cc) Allow f90-tasks to be trapped by exceptions
Version 1.62 - 2000-10-05 (UL)
------------
+ added '--ccfpath|-a' switch to command line (needs cal-3.85)
+ CCF access log is now printed at the end of main() on Msg::Verbose
level
+ updated documentation
Version 1.61 - 2000-09-28 (JBa)
------------
+ updated VERSION as patches are not allowed in this stage; ref mail:
Subject: [sas-devel] new uploads required
Date: Fri, 29 Sep 2000 12:38:40 +0200 (MET DST)
+ added dummy layout files for test tasks
Version 1.60.1 - 2000-09-28 (JBa)
------------
+ (test/tasks/perltask.pl) using SAS::param again
Version 1.60 - 2000-08-17 (GV)
------------
+ the runperltask test harness was rendered harmless. It is no
fix, as it does not work. To be done when I'm back :-)
Version 1.59 - 2000-08-11 (GV)
------------
+ (DEPEND) had not added layout ...
Version 1.58 - 2000-08-10 (GV)
------------
+ (DEPEND) add layout. This is a trick, so that all packages that
contain a task can have their layout file checked with the
parselayout command.
+ (test/*/config/*info) added task info files
+ (cctask.par f90task.par) had the wrong number of fields.
Version 1.57.7 - 2000-06-22 (JBa)
------------
+ (lib/Task.cc) bug-fixed the private method paramToTask(). Implementa-
-tion of closeParameters() in param-1.54.1 triggerd a bad pointer.
Version 1.57.6 - 2000-06-21 (JBa)
------------
+ (lib/Makefile) Fixed SPR 1298
Version 1.57.5 - 2000-06-20 (JBa)
------------
+ (src/main.cc) Fixed SPR 1463::fails static build
Version 1.57.4 - 2000-06-20 (JBa)
------------
+ (lib/Task.cc) Fixed SPR 1442::core dump on Linux
Version 1.57.3 - 2000-06-20 (JBa)
------------
+ (meta/runccmetatwice, meta/runccmetawarnin, tasks/runcctaskwarning)
Fixed SPR 1214
Version 1.57.2 - 2000-06-20 (JBa)
------------
+ (doc/taskmain_description.tex) Fixed SPR 1487
Version 1.57.1 - 2000-06-20 (JBa)
------------
+ (lib/DalRegister.h) Added version,package,release info to both
client() and process() settings (SPR 940,1378,1194)
Version 1.57 - 2000-05-23 (GV)
------------
+ (src/main.cc) change the out-of-memory message so that the task
name is written out instead of being shown as '1'.
Version 1.56 - 2000-05-22 (JBa)
------------
+ (lib/Dll.*) introduction of loading library at runtime
+ (lib/DialogDll.*) run-time pop-up of parameter dialog
+ (src/main.cc) implemented popup with -d|--dialog setting
Version 1.55 - 2000-05-08 (GV)
------------
+ (doc/taskmain_description.tex) fix abuse of latex macros.
Version 1.54 - 2000-04-17 (JBa)
------------
+ (lib/Task.cc) commented out clean-up in destructor:contains bug.
+ (lib/DalRegister.h) activated 'client()' method that became
available with dal-1.115
Version 1.53 - 2000-04-14 (JBa)
------------
+ (lib/Makefile) removed "INTERFACES",as it does not work with f90
modules
Version 1.52 - 2000-04-14 (JBa)
------------
+ (src/main.cc) removed ifdef MACRO for Qt task, as Qt task now behave
the same as any task
+ (lib/Task.h):
* added method "ParameterInfo* parameters()"
* added static method "Task* current()", so a task can query itself
* added protected method "void append(Register*)", allowing derived
classes to register themselves as tasks needing particular
(e.g. Qt, Dal) services.
+ (lib/*Register.h) Family of services
+ (lib/HelpViewer.*) HTML Browser interface.
Version 1.51 - 2000-04-07 (JBa)
------------
+ (Task.cc) fixed name mangling if called from main().
Version 1.50 - 2000-04-06 (GV)
------------
+ (Task.*) add _package member.
+ (main.cc) now makes use of PACKAGE.
+ (main.cc) now make use of metatask mechanism.
Version 1.49 - 2000-03-31 (JBa)
------------
+ created Info::Task class, keeping records of all tasks included
A task can now be queried and executed by:
Info::Task* t=task("taskname")
t->setParameter("name",value);
t->exec()
+ re-implemented task(subtask) to do the equivalent of
Info::Task->exec()
the old approach is still available
+ included version messaging system
+ implemented StopWatch when Verbosity is Noisy: calculates CPU seconds
Version 1.48 - 2000-02-10 (JBa)
------------
+ bugfixed closing of stdin,stdout and stderr by f90/f95
+ added global option to avoid massive warning dump
+ added testprograms to test for new functionality
+ updated documentation for new option
Version 1.47 - 2000-01-04 (GV)
------------
+ (main.cc) fix typo (-M should have been -m). SPR 1054.
Version 1.46 - 1999-12-20 (UL)
------------
+ dropped support for obsolete switches --ccfdir/--odfdir
Version 1.45 - 1999-11-16 (GV)
------------
+ (main.cc) html help through -m|--manpage
Version 1.44 - 1999-11-12 (GV)
------------
+ (metatask.cc) add some debug statements to task().
+ (main.cc) improve html doc display through netscape.
Version 1.43 - 1999-11-09 (UL)
------------
+ --odfdir => --odf
--ccfdir => --ccf
old names are still recognized and supported; a message is issued
saying that usage of the old names is deprecated; doc updated
Version 1.42 - 1999-10-19 (GV)
------------
+ (metatask.cc) change errHandler.name() to contain the name of
the task being called.
Version 1.41 - 1999-10-08 (GV)
------------
+ add -H/--html to start netscape help.
Version 1.40 - 1999-09-24 (GV)
------------
+ -v displays release info if available.
Version 1.39 - 1999-09-10 (MB)
------------
+ register full set of parameters as process.
Version 1.38 - 1999-08-30 (UL)
------------
+ added out-of-memory handler (just prints a message and dies gracefully)
Version 1.37 - 1999-08-26 (UL)
------------
+ bug fix causing argument of --ccfdir not to be taken properly
Version 1.36 - 1999-08-25 (UL)
------------
+ bug fix in parsing of command line options (closes
SPR 746: --odfdir is incompatible with -V
Version 1.35 - 1999-08-17 (UL)
------------
+ overhauled parsing of common command line options; this closes
SPR 630: argument '--odfdir=' not handled correctly
Version 1.34 - 1999-08-13 (JBr)
------------
+ Closed part of SPR-626: -h, -p & -v command-line options could
not be used unless all mandatory parameters were specified.
Version 1.33 - 1999-06-15 (GV)
------------
+ updated DEPEND, after fixes to i/s required to clsoe SPR674.
Version 1.32 - 1999-06-04 (MB)
------------
+ updated DEPEND
Version 1.31 - 1999-06-01 (MB)
------------
+ reintroduced metatask test harness, excluding perl metatask.
Version 1.30 - 1999-05-11 (UL)
------------
+ brought in line with error-1.18
Version 1.29 1999-04-28 (GV)
------------
+ roll back.
Version 1.28 1999-04-27 (GV)
------------
+ main.cc now #include when Qt is used. This to solve
SAS/Qt clashes.
Version 1.27 1999-04-23
------------
+ update DEPEND
Version 1.26 1999-04-20 (GV)
------------
+ bring in line with error 1.17
Version 1.25 - 1999-04-15 (UL)
------------
- support for Qt applications works now; global function taskname()
needs to return pointer to top-level QWidget of GUI
Version 1.24 - 1999-04-02 (GV)
------------
+ bring main.cc in line with new cal (2.12)
+ add libraries oal cal dal slatec to test harnesses to detect
changes in the interfaces of those packages.
Version 1.23 - 1999-03-30
------------
+ modified perl test task so that it does not depend on the
pedal.
+ now depends on pkg sasperl.
+ Code to generate F and C wrappers for Perl tasks.
+ support for perl tasks (not metatasks).
+ fix perl tasks to use infrastructure in latest utils.
Version 1.21 - 1999-02-23 (JB)
------------
- Added support for mandatory parameters
Version 1.20 - 1999-02-17 (MB)
------------
- Added metatask library.
Version 1.19 - 1999-02-17 (MB)
------------
- New test harness, split into task and metatask.
Version 1.18 - 1999-02-14 (MB)
------------
- updated DEPEND file.
Version 1.17 - 1999-02-08 (MB)
------------
- interface files to access Fortran and C++ tasks uniformly.
Version 1.16 - 1999-02-08 (UL)
------------
- 1.15 depended erroneously on Cal 2.21
- SPR 291 is closed
- SPR 480 is closed
Version 1.15 - 1999-02-04 (UL)
------------
- main.cc: added recognition of CAL/OAL specific options (conditionally
compiled if symbols USE_CAL/USE_OAL are defined)
Version 1.14
------------
- fix an error in the logic of perltask.cc
Version 1.13
------------
- finally check in changes to perltask.cc
Version 1.12
------------
- register process description string again, problem with CVS.
Version 1.11
------------
- add perltask.cc to support Perl tasks.
- move *.cc into src, so that they don't get compiled.
Version 1.10
------------
- register process description string (right now the command line).
Version 1.9
-----------
- ".par" files for test harnesses do not appear in SAS config directory
Version 1.8
-----------
- added clobber option (MB)
- upgraded to error-1.8
Version 1.7
-----------
- "-h" option prints full details of parameters
- Fixed SOC-SPR-20 : Crashes if SAS_DIR is undefined
- Fixed SOC-SPR-426 : Does not complain about extraneous arguments
Version 1.6
-----------
- Updated to work with new parameter library
Version 1.5
-----------
- Re-added tests.
Version 1.4
-----------
- added documentation about the public interface of a task.
Version 1.3
-----------
- command line options for verbosity level
Version 1.2
-----------
- Now registers task name with error handler so that the task name is
part of the error messages.
- Added space between task name and version number in client specification.
Version 1.1
-----------
Closed SPRs:
189 : Creator appended command with full command line options
- Tasks now report their version number when run with -v option.
- Support for C++ tasks.
Version 1.0 - 14-05-98
-----------
Initial version for SAS v1 integration.