commit 68d7847ffe3e387f1e70a0a69cdcba10fe838405
Author: Roland Grunberg <rgrunber(a)redhat.com>
Date: Wed Jul 17 10:04:55 2013 -0400
Look for maven artifacts using XMvn Resolver.
tycho-use-custom-resolver.patch | 51 +++++++++++++++++++++++++++++++++++++-
tycho.spec | 5 +++-
2 files changed, 53 insertions(+), 3 deletions(-)
---
diff --git a/tycho-use-custom-resolver.patch b/tycho-use-custom-resolver.patch
index 37c935a..7628268 100644
--- a/tycho-use-custom-resolver.patch
+++ b/tycho-use-custom-resolver.patch
@@ -1,4 +1,4 @@
-From 6f5e04370e6aec093b9f1df2a5afa5c40eccc666 Mon Sep 17 00:00:00 2001
+From efb53f644836927c9f2693ee9d750ef83091ab83 Mon Sep 17 00:00:00 2001
From: Roland Grunberg <rgrunber(a)redhat.com>
Date: Tue, 12 Jun 2012 10:38:51 -0400
Subject: [PATCH] Implement a custom resolver for Tycho in local mode.
@@ -19,10 +19,17 @@ has a dependency on javax.lang.model (since 1.6).
Use the defined target environments in local mode when the property
tycho.local.keepTarget is set.
+In situations where Tycho must resolve maven artifacts, upstream's
+implementation only looks in the reactor cache. In Fedora, maven
+artifacts may be located on the system using repository layouts
+understood by XMvn. Therefore, when an artifact is not found in the
+reactor cache, resolution should be attempted using the XMvn Resolver.
+
Change-Id: Ia1ece07ece2412bc4a88901631f3f651ad2b634b
---
.../tycho/p2/target/TargetDefinitionResolver.java | 11 +++--
.../tycho/p2/target/TargetPlatformBuilderImpl.java | 55 ++++++++++++++++++++--
+ .../tycho/p2/repository/LocalRepositoryReader.java | 21 ++++++++-
tycho-core/pom.xml | 5 ++
.../core/maven/TychoMavenLifecycleParticipant.java | 16 +++++++
.../tycho/core/osgitools/AbstractTychoProject.java | 24 ++++++++++
@@ -30,7 +37,7 @@ Change-Id: Ia1ece07ece2412bc4a88901631f3f651ad2b634b
.../DefaultTargetPlatformConfigurationReader.java | 6 ++-
.../osgi/runtime/TychoOsgiRuntimeLocator.java | 17 +++++++
.../p2/resolver/P2TargetPlatformResolver.java | 11 +++++
- 9 files changed, 164 insertions(+), 10 deletions(-)
+ 10 files changed, 184 insertions(+), 11 deletions(-)
diff --git
a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetDefinitionResolver.java
b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetDefinitionResolver.java
index 2dc91ff..34c48ff 100644
@@ -142,6 +149,46 @@ index 5b61351..be3c47f 100644
if (includeLocalMavenRepo && logger.isDebugEnabled()) {
IQueryResult<IInstallableUnit> locallyInstalledIUs =
localMetadataRepository.query(QueryUtil.ALL_UNITS,
+diff --git
a/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java
b/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java
+index 8d36462..80182bd 100644
+---
a/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java
++++
b/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java
+@@ -10,7 +10,9 @@
+ *******************************************************************************/
+ package org.eclipse.tycho.p2.repository;
+
++import java.io.BufferedReader;
+ import java.io.File;
++import java.io.InputStreamReader;
+
+ public class LocalRepositoryReader implements RepositoryReader {
+
+@@ -21,7 +23,24 @@ public class LocalRepositoryReader implements RepositoryReader {
+ }
+
+ public File getLocalArtifactLocation(GAV gav, String classifier, String extension)
{
+- return new File(localMavenRepositoryRoot,
RepositoryLayoutHelper.getRelativePath(gav, classifier, extension));
++ File file = new File(localMavenRepositoryRoot,
RepositoryLayoutHelper.getRelativePath(gav, classifier, extension));
++ // In Fedora the artifact may be in an XMvn-defined repository location (not in
reactor cache)
++ // A more sensible solution will be possible when upstream bug 353889 is
resolved.
++ if (!file.exists()) {
++ String coord = gav.toString() + ":" + extension;
++ try {
++ // XMvn is required at runtime so this will exist
++ Process p = Runtime.getRuntime().exec(new String[] {
"xmvn-resolve", coord });
++ p.waitFor();
++ BufferedReader buff = new BufferedReader(new
InputStreamReader(p.getInputStream()));
++ String filePath = buff.readLine();
++ buff.close();
++ file = new File(filePath);
++ } catch (Exception e) {
++ return file;
++ }
++ }
++ return file;
+ }
+
+ }
diff --git a/tycho-core/pom.xml b/tycho-core/pom.xml
index 25ef342..72c5bb5 100644
--- a/tycho-core/pom.xml
diff --git a/tycho.spec b/tycho.spec
index ec12e78..5aec976 100644
--- a/tycho.spec
+++ b/tycho.spec
@@ -9,7 +9,7 @@
Name: tycho
Version: 0.18.0
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Plugins and extensions for building Eclipse plugins and OSGI bundles with
Maven
Group: Development/Libraries
@@ -284,6 +284,9 @@ install -m 644 $osgiJarPath
$RPM_BUILD_ROOT%{_javadir}/%{name}/osgi.jar
%{_javadocdir}/%{name}
%changelog
+* Tue Jul 16 2013 Roland Grunberg <rgrunber(a)redhat.com> - 0.18.0-4
+- Look for maven artifacts using XMvn Resolver.
+
* Fri Jul 5 2013 Alexander Kurtakov <akurtako(a)redhat.com> 0.18.0-3
- Use _jnidir too when building local p2 repo.
Show replies by date