* Fill out more details in archiecture section.
* Leave sections blank we don't have time to write.
* Consolidate on `Sub project` vernacular instead of module.
* Add a few examples to make statements concrete.
* Add notes about AutoPlugins vs. RootPlugins in Plugins section
* Modify best practices section to recomend using AutoPlugins.
* Modify Using-Plugins section in getting started to denote
auto plugins.
The previous example of how to fork group of tests in different
JVMs was incomplete and not fully working.
a) The "testGrouping in Test" is needed, otherwise the grouping is
not known to which phase to apply
b) Added a more complete Project definition to explain what the curly
brackets section refers to and where the settings need to be included
The new complete example works out of the box :-)
* Add new ServerMain interface
* AppProvider can now choose to load ServerMain or AppMain classes
* Explicitly document what happens if something doesn't match an
expected interface
* Improve error message on inability to load something.
* Parse new [server] section that denotes a service and is lock file
* Ability to serialize launch configurations.
* Attempt to look for active listening server via the lock file
* Forks the launcher itself to run servers from serialized launch configuration.
* Testing echo server.
* Tests to detect basic server functionality will work.
* Revamp all the documentation for the launcher, giving it its own section.
* Full documentation on launcher configuration files.
Revamp launcher documentation to be a bit more in-depth, and split bits into sections.
Since SBT provides the `isSnapshot` setting to check whether the current version is a snapshot version or not, I thought it could be nice to use it here instead of reimplementing it :)
SecurityManager.checkAccess(ThreadGroup) is specified to be called for every Thread creation
and every ThreadGroup creation and is therefore jvm-independent. This can be used to get all
Threads associated with an application with good enough accuracy.
An application will be marked as using AWT if it gets associated with the AWT event queue thread.
To avoid unwanted side effects of accidental AWT initialization, TrapExit only tries to dispose
frames when an application is so marked. Only one AWT application is supported due to a lack of
a way to associate displayed windows with an application.
The itFilter, defined as integration tests are configured to be run under task 'test' where I think you meant to hav then run under 'fun:test' and vise versa for the unitFilter.
The original wording confused me. I thought it meant that there was no point to my new keys unless I used them in a task. But rather it meant that I needed to create keys for my task and then a task definition with the same key name. I added the creation of the keys to the task implementation code example to clear this up in the future.
Added note about setting in mintty to force sending of ^H which is necessary for the scala console backspace to work when jline.UnixTerminal is set and stty erase is ^H. Additional documentation for #562.
The built-in 'literal' role implements ``. It tokenizes the
literal string to attempt some particular wrapping behavior.
This puts parts of the string in different spans, each with
class='pre' and the previous docs.css had a padding for that
class. This led to excessive space within the literal string.
The custom role does no do this tokenization, but nested
inline parsing can result in multiple nodes, repeating the
problem. So, the padding for class='pre' is dropped. Ideally,
the sequence of nodes would simply be wrapped in an inline element
with class='pre' or some other proper solution that avoids having
multiple nodes.
To avoid wrapping in the middle of a literal, the 'pre' class
now has the style `white-space: pre;`.
The default role is now 'codeliteral' and the previous
uses of the built-in `` are converted to `. Some incorrectly
converted code blocks were fixed in the process.
Finally, the Global-Settings page is updated with the new location
for the global sbt directory. Due to the above changes, this could
be done without hardcoding the version.