changeset 0:df7dc704632a

Initial commit - copy license and docs files from old Thermostat, prepare project tree
author Mario Torre <neugens.limasoftware@gmail.com>
date Mon, 06 Mar 2017 16:04:00 +0100
parents
children af1ff6ea8e2a
files .hgignore COPYING HACKING LICENSE OFL.txt README README.api README.fontawesome
diffstat 8 files changed, 1013 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Mon Mar 06 16:04:00 2017 +0100
@@ -0,0 +1,35 @@
+/target/
+# standalone integration-test's shade plugin seems to generate this
+# pom. As it's derivable, hgignore it :)
+integration-tests/standalone/dependency-reduced-pom.xml
+# vm-profiler's shade plugin seems to generate this
+# pom. As it's derivable, hgignore it :)
+vm-profiler/jvm-agent/dependency-reduced-pom.xml
+vm-byteman/byteman-helper/dependency-reduced-pom.xml
+
+# Keyring autogenerated files
+keyring/Makefile.in
+keyring/Makefile
+keyring/aclocal.m4
+keyring/autom4*
+keyring/compile
+keyring/config.log
+keyring/config.status
+keyring/configure
+keyring/install-sh
+keyring/missing
+keyring/src/main/native/Makefile
+keyring/src/main/native/Makefile.in
+
+syntax: glob
+target/*
+bin/*
+*~
+.settings
+.classpath
+.project
+nbactions*.xml
+nb-configuration.xml
+*.versionsBackup
+*.iml
+.idea/*
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/COPYING	Mon Mar 06 16:04:00 2017 +0100
@@ -0,0 +1,339 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program 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 2 of the License, or
+    (at your option) any later version.
+
+    This program 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 this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HACKING	Mon Mar 06 16:04:00 2017 +0100
@@ -0,0 +1,181 @@
+HACKING
+=======
+
+This guide provides an introduction and some rules for developing
+Thermostat.
+
+See also: http://icedtea.classpath.org/wiki/Thermostat/DevelopmentStyleGuide
+
+
+Layout
+------
+
+Thermostat code is organized in a few different ways.
+
+The core functionality is split into `common`, `client`, and `agent`
+modules (and their submodules).
+
+The rest is split functionally: `storage` contains storage-related
+code, `launcher` is the main launcher and so on. To introduce a new
+functional component of thermostat, put it in its own top-level
+directory and make it a new module.
+
+Major new features should go into their own module(s). Each module is
+an OSGi bundle.
+
+Plugins shipped with thermostat are put into their own separate
+top-level modules in the source. Examples include `host-cpu` and
+`vm-gc`. For the sake of consistency, name a vm-specific plugin with a
+`vm-` prefix and a host-only plugin with a `host-` prefix.
+
+A module that gathers a particular data is generally split as follows:
+
+- `common`: shared code between the agent and the client
+- `agent`: code that should only be executed on the agent
+- `client`: code that should be executed client-side only
+- `cli`: code that is meant for the command line only
+- `swing`: code meant for the graphical runtime environment only
+- `distribution`: a non-code module that bundles the entire plugin
+  into a single zip file.
+
+Use a single package as the module root package. Base it on the name
+of the module. For a `vm-foo` module, use
+`com.redhat.thermostat.vm.foo`. Avoid vague terms like `thermostat`
+and `utils` in the package names.
+
+POM Files
+---------
+
+Define the version for any dependency in the root (or main) `pom.xml`
+file. Define it as a property named `project-name.version`. Example:
+`commons-cli.version`.
+
+If the OSGi version differs from the project version, define it as a
+separate property `project-name.osgi-version`. Example:
+`commons-codec.osgi-version`.
+
+
+Code Style
+----------
+
+The standard license header goes on top of every file. It's enforced
+using a maven plugin. Use `mvn license:format` to generate/update it.
+The license template is defined in `src/license/header.txt`.
+
+Above all, be consistent with the style of code you are modifying.
+
+Formatting Style:
+- Spaces instead of tabs
+- Avoid trailing spaces
+
+Use this style:
+
+    public class Foo {
+        public void foo(Bar bar, Baz baz) {
+            try {
+                if (possible) {
+                    doFoo(bar);
+                }
+            } catch (FooException | BarExcetpion e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+
+UI Message Style
+----------------
+
+Messages displayed in progress handles should be short but mostly-complete
+sentence fragments. Overly verbose messages clutter the UI, but overly curt
+messages maybe not provide the user with enough information to distinguish
+which task a progress notification belongs to.
+
+Additionally, messages should be properly capitalized, and should be
+terminated with the Unicode horizontal ellipsis character ('\u2026')
+immediately following the final character of the message itself - in other
+words, there should be no space between the message and the ellipsis.
+
+This is a good example of a progress handle message:
+
+"Starting profiling\u2026"
+
+The following are bad examples of the same message:
+
+"Starting\u2026" (what task is starting?)
+"Profiling\u2026" (what is profiling doing?)
+"Starting profiling..." (these are three periods, not an ellipsis character)
+"Starting profiling \u2026" (space before the ellipsis)
+"starting profiling\u2026" (not capitalized correctly)
+
+
+Tests
+-----
+
+Every class `Foo` should have a unit test named `FooTest`. The test
+should be in the same package. Test-specific hooks should be package
+private in the original class.
+
+GUI code should be unit tested using FEST and Caciocavallo.
+
+For complex features, an integeration test should also be added if
+possible. Integration tests go in the `integration-tests` module.
+
+
+Documentation
+-------------
+
+Add appropriate documentation, for both developers and users.
+
+Use the active voice for all user-facing documentation.
+
+Classes that are part of the public API should have some documentation
+describing their use and linking to other relevant classes.
+
+Commands should have both summaries and descriptions. Write both the
+summary and description in active and action-oriented style. For the
+summary prefer direct and short forms: 'foo the bar' over 'foos the
+bar by bazing the ...'.
+
+A command's summary is displayed as a short help message. Make it short.
+Do not capitalize it, or end it with a period.
+
+A command's description is displayed as a long help message. Make it
+fully describe the command, including its actions and side-effects.
+Describe all options. Use full sentences, each ending with a period.
+
+Don't forget to update the man page (`distribution/docs/thermostat.1`)
+when changing an existing command.
+
+Commits
+-------
+
+All commits must build and pass all unit tests.
+
+Commits require review. Before pushing a commit, make sure it is
+reviewed on the mailing list by at least one other developer and any
+concerns have been resolved.
+
+Commit messages are normally of the form:
+
+    Short summary of the fix
+
+    A detailed description of fix with additional details, like steps to
+    reproduce the problem, explanation of any subtle changes, links to
+    docs or anything that might help when examining this changeset in the
+    future to figure out why a change was done.
+
+    Also, try and keep commit message lines to under 80 characters.
+
+    You can also link a bug using the PR notation. Something like "This
+    commit fixes PR666", which refers to a bug with the id 666 on
+    http://icedtea.classpath.org/bugzilla/
+
+    The last few lines are important. They list the reviewers and a link to
+    the mailing list thread (or the equivalent) where this patch was
+    reviewed.
+
+    Reviewed-by: userid1, userid2, userid3
+    Review-thread: http://link.to.mailing.list.discussion.example.com/
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE	Mon Mar 06 16:04:00 2017 +0100
@@ -0,0 +1,33 @@
+Copyright 2012-2017 Red Hat, Inc.
+
+Thermostat is distributed under the GNU General Public License,
+version 2 or any later version (with a special exception described
+below, commonly known as the "Classpath Exception").
+
+A copy of GNU General Public License (GPL) is included in this
+distribution, in the file COPYING.
+
+Linking Thermostat code with other modules is making a combined work
+based on Thermostat.  Thus, the terms and conditions of the GPL
+cover the whole combination.
+
+As a special exception, the copyright holders of Thermostat give you
+permission to link this code with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on Thermostat code.  If you modify Thermostat, you may
+extend this exception to your version of the software, but you are
+not obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+
+--------------------------------------------------------------------------------
+Additional files and licenses
+--------------------------------------------------------------------------------
+
+Thermostat uses Font Awesome by Dave Gandy (http://fontawesome.io) as primary
+icon resource, distributed under the SIL OFL 1.1 (http://scripts.sil.org/OFL).
+A copy of the OFL 1.1 license is also included and distributed with Thermostat.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OFL.txt	Mon Mar 06 16:04:00 2017 +0100
@@ -0,0 +1,93 @@
+Font Awesome Copyright by Dave Gandy, http://fontawesome.io
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Mon Mar 06 16:04:00 2017 +0100
@@ -0,0 +1,265 @@
+
+CONTENTS:
+--------------------------------------------------------------------------------
+
+0.  ABOUT
+1.  REQUIREMENTS
+2.  BUILDING THERMOSTAT
+3.  RUNNING THERMOSTAT
+3.1 PASSING JVM SPECIFIC OPTIONS
+3.2 GNOME KEYRING
+4.  EXTENDING THERMOSTAT
+5.  SYSTEM PROPERTIES
+6.  LICENSE
+7.  REFERENCES
+
+
+--------------------------------------------------------------------------------
+0. ABOUT
+
+Thermostat is a monitoring, profiling and serviceability tool for Java
+applications. It allows users to examine, trace and profile various
+attributes of a running JVM (and its environment) to understand how it
+is behaving.
+
+Please use the discussion list for any questions, concerns or
+comments.
+
+Additional resources:
+- Homepage: http://icedtea.classpath.org/thermostat/
+- Wiki: http://icedtea.classpath.org/wiki/Thermostat
+- Discussion List: http://icedtea.classpath.org/mailman/listinfo/thermostat
+- Bug tracker: http://icedtea.classpath.org/bugzilla/
+
+
+--------------------------------------------------------------------------------
+1. REQUIREMENTS
+
+* OpenJDK 7 (or OpenJDK 8)
+
+  Thermostat requires at least Java 7 to build and run. Thermostat has
+  been tested with OpenJDK 7 and 8. Other VMs or versions may or may
+  not work. Thermostat needs a full JDK to run. It will not work
+  correctly with just a JRE.
+
+* Maven (it will download all the java dependencies for you)
+* Make, GCC + autoconf
+* MongoDB server
+
+  Thermostat requires mongodb (http://www.mongodb.org/) server >= 2.0.0.
+
+  On Fedora, you can obtain it via:
+
+    yum install mongodb-server
+
+* Either a /etc/os-release file or lsb_release
+* Gnome Keyring Daemon development libraries plus pkg-configs. Either libsecret
+  based or a libgnome-keyring based solution is supported.
+* GTK 2+ development libraries plus pkg-configs
+
+  Gnome Keyring/GTK2+ development libraries are required at build time.
+
+  You should check your distribution for the exact name of the libraries, on
+  Fedora based distributions you can obtain it via:
+
+    dnf install libsecret-devel gtk2-devel
+
+  or
+   
+    yum install libgnome-keyring-devel gtk2-devel
+
+  on RHEL/CentOS 6.x via:
+
+    yum install gnome-keyring-devel gtk2-devel
+
+  On Debian (and probably Ubuntu):
+
+    aptitude install libgnome-keyring-dev libgtk2.0-dev
+
+--------------------------------------------------------------------------------
+2. BUILDING THERMOSTAT
+
+Thermostat consists of:
+  * CLI client
+  * Swing GUI client
+  * The thermostat agent
+  * The web service layer
+
+2.1.
+   Run "mvn clean install". All tests should pass and the build should
+   succeed. It requires a graphical environment for the ui tests.
+
+   Thermostat also includes a Makefile wrapping the maven build.  In most
+   cases, simply running "make" will accomplish the same as "mvn clean
+   install".  Please see environment variables near beginning of
+   Makefile for some options that can be customized.
+   
+   You can skip the tests phase by running:
+   
+   mvn -Dmaven.test.skip=true clean install
+
+   If maven is too chatty, you can try to pass the "-q" option:
+   
+   mvn -q -Dmaven.test.skip=true clean install
+   
+2.2.
+   The resulting Thermostat system can now be found under the directory
+   distribution/target/image.
+
+   If you want to install thermostat to a system location, use the
+   thermostat.home maven property to set that at build time:
+
+   mvn -Dthermostat.home=/path/to/install/thermostat
+
+   You will have to move the resulting build to the path manually. This property
+   sets up mostly distribution related files (for services) that need the full
+   path to Thermostat. It is not required to run thermostat normally.
+           
+--------------------------------------------------------------------------------
+3. RUNNING THERMOSTAT
+
+  DISCLAIMER: These are simplified instructions as to how to set up and run
+              Thermostat on a local system. For production systems see
+              instructions in our user guide (see REFERENCES).
+
+  cd into distribution/target/image directory just created
+
+  Run GUI thermostat:
+
+    Start thermostat local (this will run setup silently on first run):
+    bin/thermostat local
+
+  Or run CLI thermostat:
+
+    Run CLI-based setup with:
+    bin/thermostat setup -c
+
+    Start the agent and the db:
+    bin/thermostat web-storage-service
+
+    Start the shell client:
+    bin/thermostat shell
+
+  Use the help command in order to find out about all available commands:
+  bin/thermostat help
+
+See also the user guide in the REFERENCES section of this document.
+
+
+3.1. PASSING JVM SPECIFIC OPTIONS TO THERMOSTAT
+
+In some cases, it may be desirable to pass arguments to the virtual machine,
+for example to increase memory or change the look and feel for the Swing Client.
+
+Thermostat follows a well established convention to enable this: options that
+start with -J are not passed to the thermostat launcher, but instead to the
+JVM itself.
+
+For example, this command launches thermostat with the Nimbus Look and Feel,
+rather then the default one:
+
+bin/thermostat gui \
+    -J-Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel
+
+
+3.2. GNOME KEYRING AND THERMOSTAT
+
+Thermostat includes support to store user credentials in the Gnome Keyring
+daemon, if the user wishes.  If this is not available at runtime, no credentials
+will be stored.
+
+--------------------------------------------------------------------------------
+4. EXTENDING THERMOSTAT
+
+Please see the HACKING file for more development information on thermostat
+itself.
+
+If you are writing a plugin for thermostat, the README.api file contains a list
+of public/support API of thermostat.
+
+--------------------------------------------------------------------------------
+5. SYSTEM PROPERTIES
+
+Although Thermostat by default is configured to behave in the best possible
+way, there is a number of system properties that allows tweaking the behaviour
+of specific areas of the platform.
+
+Here follows the description for the release
+referred by this README. Please, refer to 
+[3.1. PASSING JVM SPECIFIC OPTIONS TO THERMOSTAT] for an explanation
+on how to pass system properties to Thermostat.
+
+IMPORTANT NOTE: Those properties should be considered internal and
+may not be used or available in all the releases. Likewise, defaults may
+change at any given time without notice.
+
+* Font Tweaks, Swing GUI only
+
+  skip.system.fonts=<boolean>
+
+By default, Thermostat tries to use the same fonts used by GTK on the
+currently running Desktop. When this property is set to false, the process
+is skipped.
+
+This property is only valid if the default look and feel is used, otherwise
+is ignored.
+
+* Windows Translucency, Swing GUI only
+
+  com.redhat.thermostat.popup.opaque=<boolean>
+
+By default, Thermostat tries to use translucency popup menus to add a
+subtle effect to its user interface. The user can request fully opaque
+windows to be used instead, by setting this property to false.
+
+Note that not all desktop environment support transparency, so this
+property may not have any effect.
+
+  com.redhat.thermostat.popup.transparency=<float>
+
+If transparent windows are used, this property influences the amount of
+transparency of the windows. The valid range is 0.0 for fully transparent
+and 1.0 for fully opaque, the default value is 0.90.
+
+* Mongo Storage Profiling, Mongo Storage only
+
+  thermostat.storage.mongo.profile=<boolean>
+
+Thermostat has some instrumentation code to perform analysis of the
+backend databases. In the case of MongoDB, it is possible to run additional
+analysis by using Mongo profiling features. The default is to run MongoDB
+without profiling support, to turn profiling on this property should be set
+to true. This option has only effect when Thermostat is directly responsible
+to start the database backend, is ignored otherwise.
+
+  thermostat.storage.mongo.profile.slowms=<integer>
+
+This property has only effect in conjunction with
+"thermostat.storage.mongo.profile=true" and controls the threshold in
+milliseconds to decide if a database operation is considered "slow". The
+default is 100.
+
+* Queued Storage Thread Pool Size
+
+  com.redhat.thermostat.storage.queue.poolSize=<integer>
+
+The above property is used to override the desired thread pool size. The size is
+capped at size 100 (the default if no property is specified). This is because
+Linux systems usually enforce a per-user process limit of 1024 (ulimit -u).
+
+The above upper bound can be lifted by setting the following property to true:
+
+  com.redhat.thermostat.storage.queue.unbounded=<boolean>
+
+--------------------------------------------------------------------------------
+6. LICENSE
+
+Thermostat itself is licensed under GPLv2 with Classpath Exception. Please see
+the LICENSE file for more details about the licenses of Thermostat and other
+projects used.
+
+--------------------------------------------------------------------------------
+7. REFERENCES
+
+  User Guide:
+    http://icedtea.classpath.org/wiki/Thermostat/UserGuide
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.api	Mon Mar 06 16:04:00 2017 +0100
@@ -0,0 +1,61 @@
+Public API
+==========
+
+The public supported API of thermostat consists of the following packages:
+
+ - com.redhat.thermostat.agent
+ - com.redhat.thermostat.agent.command
+ - com.redhat.thermostat.agent.config
+ - com.redhat.thermostat.agent.utils
+ - com.redhat.thermostat.agent.utils.management
+ - com.redhat.thermostat.annotations
+ - com.redhat.thermostat.backend
+ - com.redhat.thermostat.client.cli
+ - com.redhat.thermostat.client.command
+ - com.redhat.thermostat.client.core
+ - com.redhat.thermostat.client.core.controllers
+ - com.redhat.thermostat.client.core.progress
+ - com.redhat.thermostat.client.core.views
+ - com.redhat.thermostat.client.swing
+ - com.redhat.thermostat.client.swing.components
+ - com.redhat.thermostat.client.swing.components.models
+ - com.redhat.thermostat.client.ui
+ - com.redhat.thermostat.common
+ - com.redhat.thermostat.common.cli
+ - com.redhat.thermostat.common.command
+ - com.redhat.thermostat.common.config
+ - com.redhat.thermostat.common.model
+ - com.redhat.thermostat.common.portability
+ - com.redhat.thermostat.common.ssl
+ - com.redhat.thermostat.common.tools
+ - com.redhat.thermostat.common.utils
+ - com.redhat.thermostat.launcher
+ - com.redhat.thermostat.plugin.validator
+ - com.redhat.thermostat.service.process
+ - com.redhat.thermostat.shared.config
+ - com.redhat.thermostat.shared.locale
+ - com.redhat.thermostat.storage.config
+ - com.redhat.thermostat.storage.core
+ - com.redhat.thermostat.storage.core.auth
+ - com.redhat.thermostat.storage.dao
+ - com.redhat.thermostat.storage.model
+ - com.redhat.thermostat.storage.monitor
+ - com.redhat.thermostat.storage.query
+ - com.redhat.thermostat.storage.testutils
+ - com.redhat.thermostat.utils.keyring
+
+
+
+Internal API
+------------
+
+A number of packages are public (either OSGi or not) but should be considered
+internal.
+
+ - c.r.t.main
+ - c.r.t.shared.perflog
+ - c.r.t.*.experimental (and subpackages)
+ - c.r.t.*.internal (and subpackages)
+ - c.r.t.storage.mongodb (and subpackages)
+ - c.r.t.web (and subpackages)
+ - c.r.t.*.noapi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.fontawesome	Mon Mar 06 16:04:00 2017 +0100
@@ -0,0 +1,6 @@
+Font awesome location:
+./client/swing/src/main/resources/fontawesome-webfont.ttf
+
+Last update with version 4.5.0, downloaded on Tue, Janauary 12, from https://fortawesome.github.io/Font-Awesome
+
+Please, refer to FontAwesomeCheatsheet.pdf for the updated list of icons and IDs.