<!DOCTYPE html>
<html>

  <head>
	<meta charset="UTF-8">
	<title>Eclipse TEA</title>
	
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="description"
		content="The website of Eclipse TEA, an open-source framework for development of IDE extensions that can be run from everywhere">
	<meta name="author" content="Markus Duft">
	
	<link rel="shortcut icon" href="/tea/images/favicon.png">
	
	<link href="/tea/css/bootstrap.css" rel="stylesheet" type='text/css'>
	<link href="/tea/css/bootstrap-responsive.css" rel="stylesheet" type='text/css'>
	<link href="/tea/css/shield-responsive.css" rel="stylesheet" type='text/css'>
	<link href='/tea/css/fonts.css' rel='stylesheet' type='text/css'>
	<link href="/tea/css/prettyPhoto.css" rel="stylesheet" media="screen" type='text/css'>
	<link href="/tea/css/prettify.css" type="text/css" rel="stylesheet"/>
	<link href="/tea/css/style.css" rel="stylesheet" type='text/css'>
	<link href="/tea/css/coverflow.css" rel="stylesheet" type='text/css'>
</head>


  <body>
    <header class="site-header">

  <!-- Navbar -->
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container">
        <a class="btn btn-navbar" data-toggle="collapse"
          data-target=".nav-collapse"> <span class="icon-bar"></span> <span
          class="icon-bar"></span> <span class="icon-bar"></span>
        </a> <a class="brand" href="/tea/index.html"></a>
        <div class="nav-collapse collapse" style="height: 0px;">
          <ul class="nav">
            <li ><a href="/tea/download.html">Download</a></li>
            <li ><a href="/tea/documentation/index.html">Documentation</a></li>
            <li ><a href="https://www.eclipse.org/forums/index.php/f/370/" target="_blank">Forums</a></li>
            <li ><a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=Tea" target="_blank">Bug Tracker</a></li>
          </ul>
        </div>
        <!--/.nav-collapse -->
      </div>
    </div>
  </div>
  <!-- Navbar End -->

</header>

<img style="position: fixed; top: 0; right: 0; margin-top: 65px; z-index:1000; border: 0; " src="images/incubation.png"/>

<!--Container-->
<div id="header_wrapper">
  <div class="container image-slider">
    <div class="row">
      <h2>
        Task automation made easy!
      </h2>
      <p>TEA is a set of extensions for the Eclipse IDE with the primary goal to ease extension and automation of the IDE as well as headless environments.
      A great deal of TEA deals with making it possible to execute the very same actions (e.g. compiling a project) from the IDE as well as headlessly without any additional configuration or setup effort. 
      Along with the core components of TEA itself, an extensive library of prebuilt tasks and actions comes along in the package.
        <br/><i><a href="#why-tea">Learn more...</a></i></p>
    </div>
  </div>
  <div class="row" style="text-align:center">
    <div>
      <div id="coverflow">
        <img class="intro-screenshot" style="display:none;" src="/tea/images/demo1.png" alt="Running tasks using headless console">
        <img class="intro-screenshot" src="/tea/images/demo2.png" alt="Running tasks in the IDE">
        <img class="intro-screenshot" style="display:none;" src="/tea/images/demo3.png" alt="Automatically generated preferences in the IDE">
      </div>
    </div>
    <div class="cta-section">
      <a href="/tea/download.html" style="margin:10px;" class="has-popover btn btn-primary btn-large pull_right">Download</a>
      <!-- <a href="/tea/documentation/index.html" style="margin:10px;" class="has-popover btn btn-success btn-large pull_right">Documentation</a> -->
    </div>
  </div>
</div>

<!-- TODO separator? -->

<div id="why-tea">
  <div class="container">
    <div class="row quick-overview">
      <div class="span12">
        <h1>Why TEA?</h1>
      </div>
      <div class="span4">
        <h4><img src="/tea/images/favicon.png"/>
          Easy to use</h4>
        <p>
          TEA provides an easy to use framework for extending the Eclipse IDE with arbitrarily complex tasks or combination of tasks (called task chain).
        </p>
      </div>
      <div class="span4">
        <h4><img src="/tea/images/favicon.png"/>
         High Quality</h4>
        <p>Although partially rewritten for the open source version, the basis of TEA has been in development for nearly ten years, and is used on hundreds of developer machines every day.</p>
      </div>
      <div class="span4">
        <h4><img src="/tea/images/favicon.png"/>
          Single Environment</h4>
        <p>
          The strong focus on enabling all tasks written for TEA to also run headlessly allows to avoid additional infrastructure. For instance the TEA library tasks to clean and build a workspace also run headlessly,
          and are thus usable on Jenkins build environments, etc.
        </p>
      </div>
      <div class="span4">
        <h4><img src="/tea/images/favicon.png"/>
          Reproducability</h4>
        <p>
          Using the same code in the IDE and in headless builds allows to achieve reproducible results. If a build succeeds in the IDE, it will succeed headlessly too.
        </p>
      </div>
      <div class="span4">
        <h4><img src="/tea/images/favicon.png"/>
          Performance</h4>
        <p>Not everything in plain Eclipse is suitable for all use cases. The TEA build library provides tasks tailored to specific Eclipse RCP setups, which allows to strip down the
        required actions to build bundles. With a dedicated build orchestration, builds can be sped up by factors.
        </p>
      </div>
      <div class="span4">
        <h4><img src="/tea/images/favicon.png"/>
          Why not use EASE?</h4>
        <p>
          There are plenty things you can do using <a href="https://www.eclipse.org/ease/" target="_blank">Eclipse EASE</a>. Why use TEA after all? TEA tasks are usually provided as IDE plugin, and thus are available also when Eclipse runs on an empty workspace, whereas EASE scripts would require a configuration of script locations in the workspace, or the presence of projects containing those scripts.
          Also, TEA tasks can become very complex - which would be hard to handle with scripts alone. And last but not least: TEA tasks delivered as plugin cannot be easily modified by IDE users. This is clearly a benefit in some coporate environments.
        </p>
      </div>
      <div class="span12">
          <p><br/><i><a href="#feature-overview">Check out the features...</a></i></p>
      </div>
    </div>
  </div>
</div>

<div id="intro-companies" class="intro-reference">
  <div class="container companies">
  Powered and used by
      <img src="/tea/images/ssi_logo_70mm_iso_4c.png" alt="SSI Schaefer IT Solutions GmbH"/>
  </div>
</div>

<div id="feature-overview">
  <div class="container">
    <div class="row quick-overview">
      <div class="span12">
        <h1>Features</h1>
      </div>
      <div class="span4">
        <h4><img src="/tea/images/favicon.png"/>
          TEA Core Platform</h4>
        <p>The core platform of TEA provides the possibility to extend the IDE by implementing tasks, task chains, configuration and more. With a few simple building blocks, it is possible to provide complex tasks that aid developes in their daily work.</p>
      </div>
      <div class="span4">
        <h4><img src="/tea/images/favicon.png"/>
          TEA Build Library</h4>
        <p>For years, TEA has been used primarily to speed up Eclipse builds in certain scenarios. Since TEA has become open source, we are improving on the existing
        library to be suitable for more and more scenarios. Currently, Eclipse RCP / P2 is well supported for applications that don't use package import.</p>
      </div>
      <div class="span4">
        <h4><img src="/tea/images/favicon.png"/>
          EASE Integration</h4>
        <p>Want to leverage the power of the TEA library tasks but don't want to get your hands dirty building your own plugins? No worries, use the Eclipse EASE integration to provide tasks as scripts, build task chains by mixing scripts and pre-built tasks, etc.</p>
      </div>
    </div>
  </div>
</div>

    <footer class="site-footer">
  <div id="extra">
    <div class="inner">
      <div class="container">
        <div class="row">
          <div class="span12">
            <h3 class="footer-links-header">Quick Links</h3>
            <ul class="footer-links clearfix">
              <li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
              <li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
              <li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
              <li><a href="http://www.eclipse.org/legal/">Legal</a></li>
            </ul>
            <ul class="footer-links clearfix">
              <li><a href="http://www.eclipse.org">Eclipse Home</a></li>
              <li><a href="http://marketplace.eclipse.org/">Market Place</a></li>
              <li><a href="http://live.eclipse.org/">Eclipse Live</a></li>
              <li><a href="http://www.planeteclipse.org/">Eclipse Planet</a></li>
            </ul>
          </div>
        </div>
      </div>
    </div>
  </div>
  
  <script src="/tea/js/jquery-1.11.3.min.js"></script>
  <script src="/tea/js/bootstrap.min.js"></script>
  <script src="/tea/js/jquery.easing.1.3.js" type="text/javascript"></script>
  <script src="/tea/js/jquery.prettyPhoto.js" type="text/javascript"></script>
  <script src="/tea/js/twitter.js" type="text/javascript"></script>
  <script src="/tea/js/prettify.js" type="text/javascript"></script>
  <script src="/tea/js/lang-xtend.js" type="text/javascript"></script>
  <script src="/tea/js/lang-common.js" type="text/javascript"></script>
  <script src="/tea/js/custom.js" type="text/javascript"></script>
  <script src="/tea/js/coverflow.min.js" type="text/javascript"></script>
  <script>
      $(function() {
        $('#coverflow').coverflow({
          active : 1,
          visibleAside: 2,
          overlap : 0.5,
          scale : 0.9,
          angle : 20,
          trigger : {
            "itemfocus" : true,
            "swipe" : true,
            "mousewheel" : false
          }
        });
        $('#coverflow :hidden').toggle();
        $(window).resize(function() {
          $('#coverflow').coverflow();
        });
      });

  </script>
</footer>

  </body>

</html>
