Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMat Booth2018-07-12 11:24:43 -0400
committerMat Booth2018-07-12 12:05:45 -0400
commit2fa5b87e1f0764f9abb081904ecba5b340c25893 (patch)
tree7994e36fa3184fb353e407d9492f7289e0d0af91
parent2079b6f728aff28b5313cda5ddde29081e44a013 (diff)
downloadorg.eclipse.ecf-2fa5b87e1f0764f9abb081904ecba5b340c25893.tar.gz
org.eclipse.ecf-2fa5b87e1f0764f9abb081904ecba5b340c25893.tar.xz
org.eclipse.ecf-2fa5b87e1f0764f9abb081904ecba5b340c25893.zip
Fix for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=534087
Allow ECF to build against both R6 and R7 implementations of the org.osgi.service.log API. This is accomplished by providing stubs of the new interfaces on the build-time classpath so that we can implement the new R7 methods without having unresolved classes on R6. The stubs are not shipped with the binary distribution of ECF, so in the actual ECF code we can use them as long as we avoid any explicit import statements to avoid runtime linkage errors on R6. Change-Id: Ib29135c030e3dd8a3bf799552a2f3144c26edfe3 Signed-off-by: Mat Booth <mat.booth@redhat.com>
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/.classpath1
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/.gitignore4
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/build.properties3
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/util/SystemLogService.java22
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/src_r7stubs/org/osgi/service/log/Logger.java21
-rw-r--r--pom.xml2
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/.classpath1
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/.gitignore4
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/build.properties4
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/impl/OSGiPlatformAbstraction.java21
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src_r7stubs/org/osgi/service/log/Logger.java21
-rw-r--r--server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.classpath1
-rw-r--r--server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.gitignore4
-rw-r--r--server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/build.properties3
-rw-r--r--server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/src/org/eclipse/ecf/internal/remoteservice/eventadmin/LogTracker.java24
-rw-r--r--server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/src_r7stubs/org/osgi/service/log/Logger.java21
16 files changed, 148 insertions, 9 deletions
diff --git a/framework/bundles/org.eclipse.ecf.identity/.classpath b/framework/bundles/org.eclipse.ecf.identity/.classpath
index 64c5e31b7..867c88624 100644
--- a/framework/bundles/org.eclipse.ecf.identity/.classpath
+++ b/framework/bundles/org.eclipse.ecf.identity/.classpath
@@ -3,5 +3,6 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" output="bin_r7stubs" path="src_r7stubs"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/framework/bundles/org.eclipse.ecf.identity/.gitignore b/framework/bundles/org.eclipse.ecf.identity/.gitignore
index e660fd93d..bd643ede8 100644
--- a/framework/bundles/org.eclipse.ecf.identity/.gitignore
+++ b/framework/bundles/org.eclipse.ecf.identity/.gitignore
@@ -1 +1,3 @@
-bin/
+/bin/
+/bin_r7stubs/
+/r7stubs.jar
diff --git a/framework/bundles/org.eclipse.ecf.identity/build.properties b/framework/bundles/org.eclipse.ecf.identity/build.properties
index 7debffea9..48b7df20c 100644
--- a/framework/bundles/org.eclipse.ecf.identity/build.properties
+++ b/framework/bundles/org.eclipse.ecf.identity/build.properties
@@ -9,7 +9,9 @@
# Composent Inc. - initial API and implementation
###############################################################################
source.. = src/
+source.r7stubs.jar = src_r7stubs/
output.. = bin/
+jars.compile.order = r7stubs.jar,.
bin.includes = META-INF/,\
.,\
plugin.xml,\
@@ -18,3 +20,4 @@ bin.includes = META-INF/,\
plugin.properties
src.includes = about.html,\
schema/
+jars.extra.classpath=r7stubs.jar
diff --git a/framework/bundles/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/util/SystemLogService.java b/framework/bundles/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/util/SystemLogService.java
index 7826b0891..33eb9c568 100644
--- a/framework/bundles/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/util/SystemLogService.java
+++ b/framework/bundles/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/util/SystemLogService.java
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2007, 2009 Composent, Inc. and others.
+ * Copyright (c) 2007, 2018 Composent, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -13,6 +13,7 @@ package org.eclipse.ecf.core.util;
import java.text.SimpleDateFormat;
import java.util.Date;
+import org.osgi.framework.Bundle;
import org.osgi.framework.ServiceReference;
import org.osgi.service.log.LogService;
@@ -100,4 +101,23 @@ public class SystemLogService implements LogService {
doLog(sr, level, message, exception);
}
+ public org.osgi.service.log.Logger getLogger(String name) {
+ throw new UnsupportedOperationException();
+ }
+
+ public org.osgi.service.log.Logger getLogger(Class<?> clazz) {
+ throw new UnsupportedOperationException();
+ }
+
+ public <L extends org.osgi.service.log.Logger> L getLogger(String name, Class<L> loggerType) {
+ throw new UnsupportedOperationException();
+ }
+
+ public <L extends org.osgi.service.log.Logger> L getLogger(Class<?> clazz, Class<L> loggerType) {
+ throw new UnsupportedOperationException();
+ }
+
+ public <L extends org.osgi.service.log.Logger> L getLogger(Bundle bundle, String name, Class<L> loggerType) {
+ throw new UnsupportedOperationException();
+ }
}
diff --git a/framework/bundles/org.eclipse.ecf.identity/src_r7stubs/org/osgi/service/log/Logger.java b/framework/bundles/org.eclipse.ecf.identity/src_r7stubs/org/osgi/service/log/Logger.java
new file mode 100644
index 000000000..e1829d881
--- /dev/null
+++ b/framework/bundles/org.eclipse.ecf.identity/src_r7stubs/org/osgi/service/log/Logger.java
@@ -0,0 +1,21 @@
+/****************************************************************************
+ * Copyright (c) 2018 Red Hat, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ *****************************************************************************/
+package org.osgi.service.log;
+
+/**
+ * NOTE: This is a stub interface that exists only to allow ECF to build against
+ * both OSGi R6 and R7 implementations. It is not shipped as part of the binary
+ * distribution and can be removed once the minimum version of OSGi that ECF
+ * supports increases to R7.
+ */
+public interface Logger {
+
+}
diff --git a/pom.xml b/pom.xml
index 7776fa140..3dc62c14f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -83,7 +83,7 @@
<properties>
<tycho-version>1.0.0</tycho-version>
<cbi-version>1.1.4</cbi-version>
- <target-platform>oxygen</target-platform>
+ <target-platform>photon</target-platform>
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
<project.resources.sourceEncoding>ISO-8859-1</project.resources.sourceEncoding>
<tycho.scmUrl>${project.scm.connection}</tycho.scmUrl>
diff --git a/protocols/bundles/ch.ethz.iks.slp/.classpath b/protocols/bundles/ch.ethz.iks.slp/.classpath
index 4e5804e84..2054b9f91 100644
--- a/protocols/bundles/ch.ethz.iks.slp/.classpath
+++ b/protocols/bundles/ch.ethz.iks.slp/.classpath
@@ -3,5 +3,6 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" output="bin_r7stubs" path="src_r7stubs"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/protocols/bundles/ch.ethz.iks.slp/.gitignore b/protocols/bundles/ch.ethz.iks.slp/.gitignore
index e660fd93d..bd643ede8 100644
--- a/protocols/bundles/ch.ethz.iks.slp/.gitignore
+++ b/protocols/bundles/ch.ethz.iks.slp/.gitignore
@@ -1 +1,3 @@
-bin/
+/bin/
+/bin_r7stubs/
+/r7stubs.jar
diff --git a/protocols/bundles/ch.ethz.iks.slp/build.properties b/protocols/bundles/ch.ethz.iks.slp/build.properties
index 99bb69375..e0a171bcf 100644
--- a/protocols/bundles/ch.ethz.iks.slp/build.properties
+++ b/protocols/bundles/ch.ethz.iks.slp/build.properties
@@ -1,8 +1,10 @@
source.. = src/main/java/
+source.r7stubs.jar = src_r7stubs/
output.. = bin/
+jars.compile.order = r7stubs.jar,.
bin.includes = META-INF/,\
.,\
about.html,\
src/main/resources/LICENSE.txt
src.includes = about.html
-
+jars.extra.classpath=r7stubs.jar
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/impl/OSGiPlatformAbstraction.java b/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/impl/OSGiPlatformAbstraction.java
index cc74014e6..f7a890013 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/impl/OSGiPlatformAbstraction.java
+++ b/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/impl/OSGiPlatformAbstraction.java
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2005, 2010 Jan S. Rellermeyer, Systems Group,
+ * Copyright (c) 2005, 2018 Jan S. Rellermeyer, Systems Group,
* Department of Computer Science, ETH Zurich and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -217,5 +217,24 @@ public class OSGiPlatformAbstraction implements PlatformAbstraction,
log(null, level, message, t);
}
+ public org.osgi.service.log.Logger getLogger(String name) {
+ throw new UnsupportedOperationException();
+ }
+
+ public org.osgi.service.log.Logger getLogger(Class<?> clazz) {
+ throw new UnsupportedOperationException();
+ }
+
+ public <L extends org.osgi.service.log.Logger> L getLogger(String name, Class<L> loggerType) {
+ throw new UnsupportedOperationException();
+ }
+
+ public <L extends org.osgi.service.log.Logger> L getLogger(Class<?> clazz, Class<L> loggerType) {
+ throw new UnsupportedOperationException();
+ }
+
+ public <L extends org.osgi.service.log.Logger> L getLogger(Bundle bundle, String name, Class<L> loggerType) {
+ throw new UnsupportedOperationException();
+ }
}
}
diff --git a/protocols/bundles/ch.ethz.iks.slp/src_r7stubs/org/osgi/service/log/Logger.java b/protocols/bundles/ch.ethz.iks.slp/src_r7stubs/org/osgi/service/log/Logger.java
new file mode 100644
index 000000000..e1829d881
--- /dev/null
+++ b/protocols/bundles/ch.ethz.iks.slp/src_r7stubs/org/osgi/service/log/Logger.java
@@ -0,0 +1,21 @@
+/****************************************************************************
+ * Copyright (c) 2018 Red Hat, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ *****************************************************************************/
+package org.osgi.service.log;
+
+/**
+ * NOTE: This is a stub interface that exists only to allow ECF to build against
+ * both OSGi R6 and R7 implementations. It is not shipped as part of the binary
+ * distribution and can be removed once the minimum version of OSGi that ECF
+ * supports increases to R7.
+ */
+public interface Logger {
+
+}
diff --git a/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.classpath b/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.classpath
index 64c5e31b7..867c88624 100644
--- a/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.classpath
+++ b/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.classpath
@@ -3,5 +3,6 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" output="bin_r7stubs" path="src_r7stubs"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.gitignore b/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.gitignore
index e660fd93d..bd643ede8 100644
--- a/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.gitignore
+++ b/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.gitignore
@@ -1 +1,3 @@
-bin/
+/bin/
+/bin_r7stubs/
+/r7stubs.jar
diff --git a/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/build.properties b/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/build.properties
index c83f7ee66..2e06f1478 100644
--- a/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/build.properties
+++ b/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/build.properties
@@ -1,5 +1,7 @@
source.. = src/
+source.r7stubs.jar = src_r7stubs/
output.. = bin/
+jars.compile.order = r7stubs.jar,.
bin.includes = META-INF/,\
.,\
bundle.properties,\
@@ -7,3 +9,4 @@ bin.includes = META-INF/,\
src.includes = bundle.properties,\
about.html
jre.compilation.profile = J2SE-1.5
+jars.extra.classpath=r7stubs.jar
diff --git a/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/src/org/eclipse/ecf/internal/remoteservice/eventadmin/LogTracker.java b/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/src/org/eclipse/ecf/internal/remoteservice/eventadmin/LogTracker.java
index 3bdf952e9..1bb0bb41c 100644
--- a/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/src/org/eclipse/ecf/internal/remoteservice/eventadmin/LogTracker.java
+++ b/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/src/org/eclipse/ecf/internal/remoteservice/eventadmin/LogTracker.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 1998, 2008 IBM Corporation and others.
+ * Copyright (c) 1998, 2018 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -14,6 +14,7 @@ import java.io.PrintStream;
import java.util.Calendar;
import java.util.Date;
+import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
import org.osgi.service.log.LogService;
@@ -180,5 +181,24 @@ public class LogTracker extends ServiceTracker implements LogService {
buffer.append(value);
return buffer;
}
-
+
+ public org.osgi.service.log.Logger getLogger(String name) {
+ throw new UnsupportedOperationException();
+ }
+
+ public org.osgi.service.log.Logger getLogger(Class<?> clazz) {
+ throw new UnsupportedOperationException();
+ }
+
+ public <L extends org.osgi.service.log.Logger> L getLogger(String name, Class<L> loggerType) {
+ throw new UnsupportedOperationException();
+ }
+
+ public <L extends org.osgi.service.log.Logger> L getLogger(Class<?> clazz, Class<L> loggerType) {
+ throw new UnsupportedOperationException();
+ }
+
+ public <L extends org.osgi.service.log.Logger> L getLogger(Bundle bundle, String name, Class<L> loggerType) {
+ throw new UnsupportedOperationException();
+ }
}
diff --git a/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/src_r7stubs/org/osgi/service/log/Logger.java b/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/src_r7stubs/org/osgi/service/log/Logger.java
new file mode 100644
index 000000000..e1829d881
--- /dev/null
+++ b/server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/src_r7stubs/org/osgi/service/log/Logger.java
@@ -0,0 +1,21 @@
+/****************************************************************************
+ * Copyright (c) 2018 Red Hat, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ *****************************************************************************/
+package org.osgi.service.log;
+
+/**
+ * NOTE: This is a stub interface that exists only to allow ECF to build against
+ * both OSGi R6 and R7 implementations. It is not shipped as part of the binary
+ * distribution and can be removed once the minimum version of OSGi that ECF
+ * supports increases to R7.
+ */
+public interface Logger {
+
+}

Back to the top