439252 [generate-poms] Don't traverse files when searching for candidates

When searching for existing features/plugins/etc, generate-poms mojo
tries to find them not only in directories but in files too. Use
java.io.File.listFiles(FileFilter) to traverse directories only and
ignore files.

Change-Id: I0d8c4c7325ea6a612189e76db81191e459abd5ad
Bug: 439252
Signed-off-by: Mykola Nikishov <mn@mn.com.ua>
433861 Add method to resolver for update-target goal

- Add a method to the dependency resolver which mimics the behaviour of
  the resolver before target files were resolved separately (bug 342808)
  Effectively, this method copies the target platform into the p2
  resolution result data structure.

Bug: 433861
Change-Id: If527b1c6576b9e7cb6172bd6023cd7946f85458a
439413 document supported PDE build.properties keys

add a markdown page to site docs listing all
build.properties keys indicating whether supported or not and if
not, whether there are alternatives with Tycho.

Bug: 439413
Change-Id: I79f764f08cc8878a89a4585ab9add6489aa87fa4
Signed-off-by: Jan Sievers <jan.sievers@sap.com>
349370 fix product-only repository

correctly handle the case where eclipse-repository
module does not contain category.xml

Bug: 349370
Change-Id: If2b30617851d40389b5d9112c187c9ae6eb44abe
Signed-off-by: Jan Sievers <jan.sievers@sap.com>
Release Tycho 0.21.0
Prepare next devlopment version
Update compiler source/target level to 1.6

the equinox framework bundle requires JavaSE-1.6
since Luna (see bug 416432). Because of this we have a
hard requirement on Java 6 anyway, so make it
explicit in the compiler source/target level and
documentation.

Change-Id: I2944290bce1f945434c75ebce82f8ce258bb7dec
Signed-off-by: Jan Sievers <jan.sievers@sap.com>
363908 Adding the tycho extension if it is a single bundle

For a single bundle, there is no parent and in that case, the tycho
extension will be added to the model.


Change-Id: I09488ac424c06fc5284de957eb0a68821e067911
Signed-off-by: Martin Schreiber <m.schreiber@bachmann.info>
416432 Also compile the bundles in Tycho's runtime for 1.6

- Now that Tycho anyway only runs on a Java 6 VM, we also can make use
  of Java 6 features in the bundles in Tycho's OSGi runtime. Note: The
  Surefire bundles stay on J2SE-1.5 so that test could still be executed
  using a Java 5 VM (from the Toolchain).

Bug: 416432
Bug: 429442
416432 Submit changes to checked-in preferences from Java 6 move

- Submit changes JDT compiler settings done by m2eclipse on project
  refresh - now that we compile Tycho for Java 6.

Bug: 416432
Bug: 429442
[cleanup] Remove checked-in compiler settings from non-Java project

- tycho-bundles-external is not a PDE project, so it doesn't need to
  have the checked-in compiler settings.
441113 Correctly handle p2.inf of other reactor projects in dep. resol.

- Fix a typo in the dependency only publisher which prevented that
  p2.infs of other reactor bundles ever required anything else but the
  bundle themselves. Add an integration which would have caught this
  issue. The integrations test covers the scenario of building host
  bundles which automatically take care that their appropriate fragment
  is installed (cf. bug 405440).
- Also: Add debug output showing which projects from the reactor are
  included in the final target platform.
- Also: Move the other two p2.inf related integration test to right
  package.

Bug: 441113
Bug: 405440
Change-Id: I0689eacf5983b814d8baaf6c9a07e76c2e4e33e9
[cleanup] Delete obsolete integration test

- Most surefire integration tests (e.g. surefire.envVars,
  surefire.junit4) only require the bundle org.junit, assuming that
  bundles like org.eclipse.core.runtime implicitly needed by the test
  harness are automatically added to the test runtime. So we don't need
  a separate integration test for TYCHO-282.

Change-Id: I9f43ae987a9c4a95092f08ad03c64848196b2a7f
386481 update maven surefire to 2.17

- adapt to various surefire changes
- remove OsgiEnabled* workaround classes because
  http://jira.codehaus.org/browse/SUREFIRE-876 is fixed now
- test class scanning is now done outside of the forked process
- update Import-Package for surefire-junit jars

Bug: 386481
CQ: 8567, 8566, 8565, 8564, 8563, 8562, 8561, 8560
Change-Id: Ibcb439a24add880c4cdafe67b42e29ca3cb14ff1
Signed-off-by: Jan Sievers <jan.sievers@sap.com>
369266 Make sure Import-Package: org.junit works

issue
http://jira.codehaus.org/browse/SUREFIRE-825
is fixed by updating tycho to use surefire-2.17
(bug 386481)

Bug: 369266
Change-Id: I63b753728bb6c9aca46bb56845ab772924be218c
Signed-off-by: Jan Sievers <jan.sievers@sap.com>
mirror p2 repository for ITs

For performance reasons, ITs should avoid using remote p2 repos.
On the other hand, we don't want to check in binary mirrored
subsets of p2 repositories as we often have to add bundles
to the test p2 repository.
Mirror a subset of the eclipse Kepler p2 repo for test purposes
before ITs are executed. Do not mirror into the target/ folder
to enable caching (mirror will skip the IU if already there).

bundles/features can be addded easily and we avoid checking in
binaries. To ensure test stability, always specify the IU version to be
mirrored. Also, only added content, do not remove content.
Only add those IUs absolutely necessary for the test to save overall
test execution time.

Change-Id: Ied92d547efc3f06125558449125d6e4b297739f5
Signed-off-by: Jan Sievers <jan.sievers@sap.com>
[cleanup] Rename test class so that it is executed in the build

- Make the TargetDefinitionResolverIncludeModeTest file name end in
  "Test" so that it is not considered as a test suite and executed by
  Surefire without explicit configuration.

Bug: 411664
[refactoring] Call setters on ResolutionData directly

- Set the data for the resolver on the ResolutionDataImpl instance
  directly instead of setting the data via the strategy instances.
- The execution environment is set on construction time to allow for a
  method that applies the execution environment's filters when setting
  the available units (see next commit).

Bug: 411664
Change-Id: I46d691210dce608a63c97465ac22a8708620f1d4
[refactoring] Write TargetDefinitionResolver as clean code

- Break the 70 lines long main method of TargetDefinitionResolver into
  smaller methods. Since these extracted methods produce multiple
  results, the use of member variables is needed. To avoid the danger
  of leaking intermediate state, a temporary object with the lifetime
  of the method call is used (ResolverRun). Also a second inner class is
  used to group the methods related to resolving the root units of a
  location (LoadedIULocation). Effectively, this restores the structure
  from before commit 7277dee9.

Bug: 411664
Change-Id: Id07fd8126adbf39c6a7bbddd2e921d1bd6bff019
Signed-off-by: Tobias Oberlies <tobias.oberlies@sap.com>
442893 Warn if tar.gz archives don't preserve symlinks

- Warn that the "preserve symlinks" feature is not available if Maven is
  started with a pre-1.6 JDK.
- Also: Fix some compiler warnings.

Bug: 442893
Change-Id: I5e644757c9eb23c0f96d909dd6c19ef4293639c1