[refactor] Format sources

otherwise we get messed up diffs

Change-Id: I191ee4a794e837932613726c1993f7d9fb6762dd
385613 low-level compiler error should fail the build

boolean success was ignored and we relied on
parsing the compiler output instead.
Low-level compiler errors are not caught by the 
compiler output parser, so fail the build with
a CompilationException if success == false but
no errors/warnings found in the parsed output.

Change-Id: I99445a08ac8c611788bbe09cee3aa51584ff4944
394619 quote "-configuration" argument

Change-Id: I17e180886ac55e4493080205f66a1314f7e78283
386910 Decrypt repository password

Passwords encrypted in settings.xml were not decrypted causing failure
to connect to the repo.

Bug: 386910
Change-Id: Icf2fe30ee64126726525585a68e55bbaa3c411f8
386910 Add integration test; better error handling

Bug: 386910
Change-Id: Icf2fe30fe64126726525585b68e55bbaa3c411f8
394023 - Decrypt proxy passwords

Bug: 394023
Change-Id: I24d450b97b8cba88218c4f635f1cfa739853425c
394023 better error handling, added test

Extract common superclass for handling
decryption problems.

Bug: 394023
Change-Id: I3de97ae4af840cbd7f778c21bb0789aba6cd5168
362883 Added comments in test

- Reordered asserts and added comments that explain why the expected
  values are expected.

Bug: 362883
353889 Avoid multiple calls to P2TargetPlatformResolver.setupProjects

- When dependency resolution is deferred to the normal build,
  setupProjects must still only be called once per project (or otherwise
  the full metadata is overwritten by dependency-only metadata). This is
  ensured with this change.

Bug: 353889
Change-Id: I18a2b7057c04a5ff485244689be5c0c1180e12cd
385835 Drop auto-inclusion of o.e.equinox.launchers in products

- Don't explicitly add the dependency to org.eclipse.equinox.launcher
  to products at dependency resolution time. For products with native
  launchers, the feature o.e.equinox.executable automatically pulls in
  the needed bundles; for products without native launchers, p2 will
  anyway only add the bundles which are explicitly listed in the product
  file.
- The automatic inclusion during dependency resolution/walking is an
  obstacle for the test for bug 392716.
- Delete integration test of deprecated eclipse-application which is
  affected by this dependency walker change.

Bug: 385835
Bug: 392716
Change-Id: Iab3bf07be950e31aa1f8bff2425ba68a208bb366
392716 Compute product qualifer based on inclusions

- Product qualifiers should be computed in the same way feature
qualifiers are calculated.

Bug: 392716
Change-Id: Ibd6a38a993001b51587d9a563c2917fa2377a6b2
[cleanup] Simplify MemoryLog test utility class

- Restrict the MemoryLog to the most common case: In most cases, there
  should be no error messages, so if there is one, fail the test
  immediately.
- Create a separate class for the only test that needs a different
  behaviour.
371877 Honor src.includes in OsgiSourceMojo

OsgiSourceMojo#execute() should not be skipped
with non-empty src.includes entry in build.prroperties.

Change-Id: I6fbf335f7668d44cac2b05d31c53e27b028f5ae5
393004 Drop AbstractRepositoryReader class

- The class only contained a very simple alias method of its interface
  RepositoryReader, which could be inlined without causing significant
  redundancies.

Bug: 393004
386738 replace MavenArtifactRef with Dependency

org.apache.maven.model.Dependency has out of the
box support for classifier, system scope etc.
I see no need to limit extraClasspath dependencies
to groupId, artifactId and version.

Bug: 386738
Change-Id: Ia3c5cc9b8eea08d3022a752415d9f7f432d13fb8
397160 add required feature attributes version, match and patch

according to DTD [1] default values are

match: compatible
patch: false

[1] http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Ffeature_manifest.html

Change-Id: Ib8ad1634e61334231ce1241ec3c68c8d0eb24aed
Use test utilities in ModuleMetadata/ArtifactRepositoryTests

- Use test utility class P2Context, which provides a p2 agent, in the
  module repository tests. This test utility didn't exist at the time
  the test was written.
- Also: Create and use a ResourceUtil for
o.e.t.p2.maven.repository.tests
  bundle which centralizes test resource access.
393004 IArtifactProvider interfaces as IArtifactRepository subset

- Created an IRawArtifactFileProvider interface which is restricted
  to the artifact reading operations of p2's IFileArtifactRepository
  interface. This interface covers everything Tycho needs for the
  target platform: We need to get the artifact location in the local
  file system, and we may need to get the raw, pack200 compressed
  artifacts for p2 repository aggregation.
- Implemented a (read-only) IFileArtifactRepository which delegates
  to a IRawArtifactFileProvider for interoperability with p2.
- Also created IArtifact(File)Provider interfaces for users who don't
  need to see the confusing "raw artifact" stuff, and
  I(Raw)ArtifactProvider interfaces for remote server based providers
  which don't have a file system location for the artifacts.
- The main benefit of this change is that the interfaces are a lot
  easier to implement than p2's huge I(File)ArtifactRepository
  interface. This allows to split what Tycho does with the target
  platform artifacts into separate classes: remote p2 repository
  reading, mirroring, and combination with POM dependency artifacts.
  (This is not included in this change.)
- Also: Created "p2base" package for classes which are not specific
  to Tycho and hence may be moved to the p2 project in the future.

Bug: 393004
Change-Id: I9d2881039e16c71262386aa7d08db8732ba728ce
397355 p2 ArtifactRepository abstract base with fixed interface

- Created an AbstractArtifactRepository2 class that fixes the
  obviously broken methods in the p2 IArtifactRepository API (as good
  as possible -> "fix" means deprecate here). This change should be
  pushed back into p2 eventually.
- Additionally, methods with empty implementation in p2's base class
  AbstractArtifactRepository are replaced by abstract methods (by
  providing implementations that delegate to new, abstract methods).
- Implemented ProviderOnlyArtifactRepository with that new base class.

Bug: 397355
Bug: 393004
Change-Id: I9362e45dee75f8db8b5e2fa40d77c56aba546fc6
397355 p2 ArtifactRepository base implementation managing the index

- Created a partial p2 artifact repository implementation that handles
  all changes to the repository index, so that concrete implementations
  only need to implement index persistence (internalStore) and manage
  artifact storage locations (getArtifactFile).
- The base implementation also allows to use a specific
  IArtifactDescriptor sub-type in its index, e.g. in order to enforce
  that certain additional data is available for every artifact entry.
- The base implementation is independent of Tycho and may be contributed
  back to p2.
- Also: Use the new base for the ModuleArtifactRepository
  implementation. That repository uses ModuleArtifactDescriptor
  entries in its index to ensure that the entries have explicit Maven
  coordinate properties.

Bug: 397355
Bug: 393004
Change-Id: Ib6e4c84cffd96c11528810b7d5fa7e567008cd2a