The branch, master has been updated
via 4ad3aac72a198ac6e18862bcb0cf305d89f8247a (commit)
from 6bf6cb246a697364bdeef756663f42593ed4b290 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=4ad3aac72a198ac6e18862bcb0cf305d89f8247a
http://github.com/ceki/logback/commit/4ad3aac72a198ac6e18862bcb0cf305d89f8247a
commit 4ad3aac72a198ac6e18862bcb0cf305d89f8247a
Author: Ceki Gulcu <[email protected]>
Date: Thu Dec 3 20:21:26 2009 +0100
- added OSGi related tests, similar to the one's done in
slf4j/integrator module
diff --git a/logback-classic/.gitignore b/logback-classic/.gitignore
new file mode 100644
index 0000000..00cf4f4
--- /dev/null
+++ b/logback-classic/.gitignore
@@ -0,0 +1,3 @@
+bundle/
+lib/
+felix-cache/
\ No newline at end of file
diff --git a/logback-classic/osgi-build.xml b/logback-classic/osgi-build.xml
new file mode 100644
index 0000000..0d0e898
--- /dev/null
+++ b/logback-classic/osgi-build.xml
@@ -0,0 +1,84 @@
+<project name="osgi-test" default="testAll">
+
+ <!--
+ This build file is usually run indirectly via Maven.
+
+ When running this build file through Ant directly, you must
+ define the currentVersion property on the command line, e.g.:
+
+ ant -DcurrentVersion=1.5.4-SNAPSHOT
+ -->
+
+ <echo message="compile classpath: ${currentVersion}" />
+ <echo message="test classpath: ${test_classpath}" />
+ <echo message="basedir: ${basedir}" />
+
+ <property name="iBundleJar" value="target/iBundle.jar"/>
+ <property name="bundlesDir" value="bundle"/>
+
+
+ <!-- this is really very ugly, but it's the only way to circumvent
+ http://jira.codehaus.org/browse/MANTRUN-95
+ -->
+ <taskdef name="junit" classpath="${test_classpath}"
+ classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"
/>
+
+ <path id="minimal">
+ <pathelement location="target/test-classes/" />
+ </path >
+
+ <target name="copySLF4J_JAR">
+ <echo>Copying ${slf4jJAR} to lib/</echo>
+ <delete>
+ <fileset dir="../logback-examples/lib/" includes="slf4j-*SNAPSHOT.jar" />
+ </delete>
+ <copy file="${slf4jJAR}" todir="lib/" />
+ </target>
+
+ <target name="init" depends="copySLF4J_JAR">
+ <mkdir dir="target/unit-reports" />
+ </target>
+
+ <target name="createIBundle">
+ <mkdir dir="${bundlesDir}"/>
+ <jar destFile="${iBundleJar}"
+ manifest="src/IBUNDLE-META-INF/MANIFEST.MF"
+ basedir="target/test-classes/"
+ includes="integrator/**.class"/>
+
+ </target>
+
+ <target name="testAll" depends="init, createIBundle, logback">
+ </target>
+
+
+ <macrodef name="prepareOSGiHarness">
+ <attribute name="binding"/>
+ <sequential>
+ <delete>
+ <fileset dir="${bundlesDir}" includes="*.jar"/>
+ </delete>
+ <copy file="${iBundleJar}" todir="${bundlesDir}"/>
+ <copy file="../logback-examples/lib/slf4j-api-${slf4j.version}.jar"
todir="${bundlesDir}"/>
+ <copy file="../logback-core/target/logback-core-${currentVersion}.jar"
todir="${bundlesDir}"/>
+ <copy file="target/logback-classic-${currentVersion}.jar"
todir="${bundlesDir}"/>
+ <echo>value of t = @{t}</echo>
+ </sequential>
+ </macrodef>
+
+
+ <!-- for some reason if mvn is invoked from the parent directory, junit gets
+ invoked from the parent dir, which messes up theses tests. Hence, the
+ fork="yes" dir="${basedir}" -->
+
+
+ <target name="logback">
+ <prepareOSGiHarness binding="logback"/>
+ <junit printsummary="yes" fork="yes" dir="${basedir}" haltonfailure="yes">
+ <classpath path="${test_classpath}"/>
+ <formatter type="plain" />
+ <test fork="yes" todir="target/unit-reports"
name="org.slf4j.test_osgi.BundleTest" />
+ </junit>
+ </target>
+
+</project>
\ No newline at end of file
diff --git a/logback-classic/pom.xml b/logback-classic/pom.xml
index c6a1a89..e1340cb 100644
--- a/logback-classic/pom.xml
+++ b/logback-classic/pom.xml
@@ -101,6 +101,13 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>integration</artifactId>
+ <version>${slf4j.version}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
@@ -142,6 +149,13 @@
<version>1.6</version>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.main</artifactId>
+ <version>2.0.2</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
@@ -178,6 +192,45 @@
</executions>
</plugin>
+
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.2</version>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ </dependency>
+ <dependency>
+ <groupId>ant</groupId>
+ <artifactId>ant-junit</artifactId>
+ <version>1.6.5</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>ant-osgi-test</id>
+ <phase>package</phase>
+ <configuration>
+ <tasks>
+ <property name="currentVersion" value="${version}" />
+ <property name="slf4j.version" value="${slf4j.version}"/>
+ <property name="test_classpath" refid="maven.test.classpath"/>
+ <property name="slf4jJAR"
+
value="${settings.localRepository}/org/slf4j/slf4j-api/${slf4j.version}/slf4j-api-${slf4j.version}.jar"
/>
+ <property name="basedir" value="${basedir}"/>
+ <ant antfile="${basedir}/osgi-build.xml"/>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ </executions>
+ </plugin>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
@@ -189,6 +242,8 @@
<exclude>**/AllClassicTest.java</exclude>
<exclude>**/PackageTest.java</exclude>
<exclude>**/TestConstants.java</exclude>
+ <exclude>**/test_osgi/BundleTest.java</exclude>
+org.slf4j.test_osgi
<exclude>**/SerializationPerfsTest.java</exclude>
</excludes>
</configuration>
diff --git a/logback-classic/src/IBUNDLE-META-INF/MANIFEST.MF
b/logback-classic/src/IBUNDLE-META-INF/MANIFEST.MF
new file mode 100644
index 0000000..fe56e16
--- /dev/null
+++ b/logback-classic/src/IBUNDLE-META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Archiver-Version: Plexus Archiver
+Created-By: Apache Maven
+Built-By: ceki
+Build-Jdk: 1.6.0_16
+Bundle-Description: iBundle
+Bundle-Version: 0.1
+Bundle-Activator: integrator.Activator
+Implementation-Title: iBundle
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: iBundle
+Bundle-Name: abundle
+Bundle-RequiredExecutionEnvironment: J2SE-1.3
+Export-Package: apack
+Import-Package: org.osgi.framework, org.slf4j;version=1.5,
ch.qos.logback.core, ch.qos.logback.core.joran.spi, ch.qos.logback.core.util,
ch.qos.logback.classic, ch.qos.logback.classic.joran
diff --git a/logback-classic/src/test/input/osgi/simple.xml
b/logback-classic/src/test/input/osgi/simple.xml
new file mode 100644
index 0000000..57800e2
--- /dev/null
+++ b/logback-classic/src/test/input/osgi/simple.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE configuration>
+
+<configuration debug="false">
+
+ <appender name="LIST" class="ch.qos.logback.core.FileAppender">
+ <file>target/test-output/osgi-test.log</file>
+ <layout>
+ <pattern>%d %level - %m%n</pattern>
+ </layout>
+ </appender>
+
+ <logger name="ch.qos.logback.classic.joran" level="INFO" />
+
+ <root level="DEBUG">
+ <appender-ref ref="LIST" />
+ </root>
+
+</configuration>
diff --git a/logback-classic/src/test/java/integrator/Activator.java
b/logback-classic/src/test/java/integrator/Activator.java
new file mode 100644
index 0000000..7c3b08e
--- /dev/null
+++ b/logback-classic/src/test/java/integrator/Activator.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2004-2009 QOS.ch All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE
+ * SOFTWARE.
+ */
+package integrator;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import ch.qos.logback.classic.LoggerContext;
+import ch.qos.logback.classic.joran.JoranConfigurator;
+import ch.qos.logback.core.joran.spi.JoranException;
+import ch.qos.logback.core.util.StatusPrinter;
+
+/**
+ * A BundleActivator which invokes slf4j loggers
+ * @author Ceki Gülcü
+ *
+ */
+public class Activator implements BundleActivator {
+
+ private BundleContext m_context = null;
+
+ public void start(BundleContext context) {
+ LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
+
+ try {
+ JoranConfigurator configurator = new JoranConfigurator();
+ configurator.setContext(lc);
+ // the context was probably already configured by default configuration
+ // rules
+ lc.reset();
+ configurator.doConfigure("src/test/input/osgi/simple.xml");
+ } catch (JoranException je) {
+ je.printStackTrace();
+ }
+ StatusPrinter.printInCaseOfErrorsOrWarnings(lc);
+
+
+ Logger logger = LoggerFactory.getLogger(this.getClass());
+ logger.info("Activator.start()");
+ m_context = context;
+ }
+
+ public void stop(BundleContext context) {
+ m_context = null;
+ Logger logger = LoggerFactory.getLogger(this.getClass());
+ logger.info("Activator.stop");
+ }
+
+ public Bundle[] getBundles() {
+ if (m_context != null) {
+ return m_context.getBundles();
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/logback-classic/src/test/java/org/slf4j/test_osgi/BundleTest.java
b/logback-classic/src/test/java/org/slf4j/test_osgi/BundleTest.java
new file mode 100644
index 0000000..c4f209f
--- /dev/null
+++ b/logback-classic/src/test/java/org/slf4j/test_osgi/BundleTest.java
@@ -0,0 +1,35 @@
+package org.slf4j.test_osgi;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+public class BundleTest extends TestCase {
+
+ FrameworkErrorListener fel = new FrameworkErrorListener();
+ CheckingBundleListener mbl = new CheckingBundleListener();
+
+ FelixHost felixHost = new FelixHost(fel, mbl);
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ felixHost.doLaunch();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ felixHost.stop();
+ }
+
+ public void testSmoke() {
+ System.out.println("==========="+new File(".").getAbsolutePath());
+ mbl.dumpAll();
+ // check that the bundle was installed
+ assertTrue(mbl.exists("iBundle"));
+ if(fel.errorList.size() != 0) {
+ fel.dumpAll();
+ }
+ // check that no errors occured
+ assertEquals(0, fel.errorList.size());
+ }
+}
diff --git
a/logback-classic/src/test/java/org/slf4j/test_osgi/CheckingBundleListener.java
b/logback-classic/src/test/java/org/slf4j/test_osgi/CheckingBundleListener.java
new file mode 100644
index 0000000..3641a2a
--- /dev/null
+++
b/logback-classic/src/test/java/org/slf4j/test_osgi/CheckingBundleListener.java
@@ -0,0 +1,43 @@
+package org.slf4j.test_osgi;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleEvent;
+import org.osgi.framework.BundleListener;
+
+public class CheckingBundleListener implements BundleListener {
+
+ List eventList = new ArrayList();
+
+ public void bundleChanged(BundleEvent be) {
+ eventList.add(be);
+ }
+
+ private void dump(BundleEvent be) {
+ System.out.println("BE:" + ", source " + be.getSource() + ", bundle="
+ + be.getBundle() + ", type=" + be.getType());
+
+ }
+
+ public void dumpAll() {
+ for (int i = 0; i < eventList.size(); i++) {
+ BundleEvent fe = (BundleEvent) eventList.get(i);
+ dump(fe);
+ }
+ }
+
+ boolean exists(String bundleName) {
+ for (int i = 0; i < eventList.size(); i++) {
+ BundleEvent fe = (BundleEvent) eventList.get(i);
+ Bundle b = fe.getBundle();
+ System.out.println("===["+b+"]");
+ if (bundleName.equals(b.getSymbolicName())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+}
diff --git a/logback-classic/src/test/java/org/slf4j/test_osgi/FelixHost.java
b/logback-classic/src/test/java/org/slf4j/test_osgi/FelixHost.java
new file mode 100644
index 0000000..62058f5
--- /dev/null
+++ b/logback-classic/src/test/java/org/slf4j/test_osgi/FelixHost.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2004-2009 QOS.ch All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE
+ * SOFTWARE.
+ */
+package org.slf4j.test_osgi;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.felix.framework.Felix;
+import org.apache.felix.framework.util.FelixConstants;
+import org.apache.felix.framework.util.StringMap;
+import org.apache.felix.main.AutoProcessor;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.Constants;
+
+/**
+ * Runs a hosted version of Felix for testing purposes. Any bundle errors are
+ * reported via the FrameworkListener passed to the constructor.
+ *
+ * @author Ceki Gücü
+ */
+public class FelixHost {
+
+ private Felix felix = null;
+
+ Properties otherProps = new Properties();
+
+ final FrameworkErrorListener frameworkErrorListener;
+ final CheckingBundleListener myBundleListener;
+
+ public FelixHost(FrameworkErrorListener frameworkErrorListener,
+ CheckingBundleListener myBundleListener) {
+ this.frameworkErrorListener = frameworkErrorListener;
+ this.myBundleListener = myBundleListener;
+ }
+
+ public void doLaunch() {
+ // Create a case-insensitive configuration property map.
+ Map configMap = new StringMap(false);
+ // Configure the Felix instance to be embedded.
+ // configMap.put(FelixConstants.EMBEDDED_EXECUTION_PROP, "true");
+ // Add core OSGi packages to be exported from the class path
+ // via the system bundle.
+ configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES,
+ "org.osgi.framework; version=1.3.0,"
+ + "org.osgi.service.packageadmin; version=1.2.0,"
+ + "org.osgi.service.startlevel; version=1.0.0,"
+ + "org.osgi.service.url; version=1.0.0");
+
+ configMap.put(Constants.FRAMEWORK_STORAGE_CLEAN,
+ Constants.FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT);
+
+ // Explicitly specify the directory to use for caching bundles.
+ // configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, "cache");
+
+ try {
+ // Create host activator;
+
+ List list = new ArrayList();
+
+ // list.add(new HostActivator());
+ configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA,
+ "org.xml.sax, org.xml.sax.helpers, javax.xml.parsers, javax.naming");
+ configMap.put(FelixConstants.SYSTEMBUNDLE_ACTIVATORS_PROP, list);
+ configMap.put("felix.log.level", "4");
+
+ // Now create an instance of the framework with
+ // our configuration properties and activator.
+ felix = new Felix(configMap);
+ felix.init();
+
+ // otherProps.put(Constants.FRAMEWORK_STORAGE, "bundles");
+
+ otherProps.put(AutoProcessor.AUTO_DEPLOY_DIR_PROPERY,
+ AutoProcessor.AUTO_DEPLOY_DIR_VALUE);
+ otherProps.put(AutoProcessor.AUTO_DEPLOY_ACTION_PROPERY,
+ AutoProcessor.AUTO_DEPLOY_START_VALUE + ","
+ + AutoProcessor.AUTO_DEPLOY_INSTALL_VALUE);
+
+ BundleContext felixBudleContext = felix.getBundleContext();
+
+ AutoProcessor.process(otherProps, felixBudleContext);
+ // listen to errors
+ felixBudleContext.addFrameworkListener(frameworkErrorListener);
+ felixBudleContext.addBundleListener(myBundleListener);
+ // Now start Felix instance.
+ felix.start();
+ System.out.println("felix started");
+
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ public void stop() throws BundleException {
+ felix.stop();
+ }
+
+ public Bundle[] getInstalledBundles() {
+ // Use the system bundle activator to gain external
+ // access to the set of installed bundles.
+ return null;// m_activator.getBundles();
+ }
+}
\ No newline at end of file
diff --git
a/logback-classic/src/test/java/org/slf4j/test_osgi/FrameworkErrorListener.java
b/logback-classic/src/test/java/org/slf4j/test_osgi/FrameworkErrorListener.java
new file mode 100644
index 0000000..118ac8d
--- /dev/null
+++
b/logback-classic/src/test/java/org/slf4j/test_osgi/FrameworkErrorListener.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2004-2009 QOS.ch All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE
+ * SOFTWARE.
+ */
+package org.slf4j.test_osgi;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.osgi.framework.FrameworkEvent;
+import org.osgi.framework.FrameworkListener;
+
+public class FrameworkErrorListener implements FrameworkListener {
+
+ public List errorList = new ArrayList();
+
+ public void frameworkEvent(FrameworkEvent fe) {
+ if (fe.getType() == FrameworkEvent.ERROR) {
+ errorList.add(fe);
+
+ }
+ }
+
+ private void dump(FrameworkEvent fe) {
+ Throwable t = fe.getThrowable();
+ String tString = null;
+ if (t != null) {
+ tString = t.toString();
+ }
+ System.out.println("Framework ERROR:" + ", source " + fe.getSource()
+ + ", bundle=" + fe.getBundle() + ", ex=" + tString);
+ if(t != null) {
+ t.printStackTrace();
+ }
+ }
+
+ public void dumpAll() {
+ for(int i = 0; i < errorList.size(); i++) {
+ FrameworkEvent fe = (FrameworkEvent) errorList.get(i);
+ dump(fe);
+ }
+ }
+}
diff --git a/logback-examples/lib/slf4j-api-1.5.10.jar
b/logback-examples/lib/slf4j-api-1.5.10.jar
new file mode 100644
index 0000000..9ec867b
Binary files /dev/null and b/logback-examples/lib/slf4j-api-1.5.10.jar differ
diff --git a/logback-examples/lib/slf4j-api-1.5.8.jar
b/logback-examples/lib/slf4j-api-1.5.8.jar
deleted file mode 100644
index 20d1d37..0000000
Binary files a/logback-examples/lib/slf4j-api-1.5.8.jar and /dev/null differ
diff --git a/logback-site/src/site/pages/news.html
b/logback-site/src/site/pages/news.html
index ec8a6ab..d2b7056 100644
--- a/logback-site/src/site/pages/news.html
+++ b/logback-site/src/site/pages/news.html
@@ -28,7 +28,7 @@
<hr width="80%" align="center" />
- <h3>13th of November 2009 - Release of version 0.9.18</h3>
+ <h3>xx December 2009 - Release of version 0.9.18</h3>
<p>After a very long investigation resulting in somewhat a better
understanding of licensing issues, logback is now <a
@@ -58,6 +58,9 @@
by Anders Wallgren.
</p>
+ <p>Added tests cases which run logback artifacts as bundles within
+ Felix. This should solve a series of problems related to OSGi.</p>
+
<p>When ill-formed configuration files fragments were included in
another configuration file, the included file was not closed
correctly. This issue was reported in <a
-----------------------------------------------------------------------
Summary of changes:
logback-classic/.gitignore | 3 +
logback-classic/osgi-build.xml | 84 +++++++++++++
logback-classic/pom.xml | 55 +++++++++
logback-classic/src/IBUNDLE-META-INF/MANIFEST.MF | 15 +++
.../{joran/simpleLevel.xml => osgi/simple.xml} | 9 +-
.../src/test/java/integrator/Activator.java | 77 ++++++++++++
.../test/java/org/slf4j/test_osgi/BundleTest.java | 35 ++++++
.../slf4j/test_osgi/CheckingBundleListener.java | 43 +++++++
.../test/java/org/slf4j/test_osgi/FelixHost.java | 126 ++++++++++++++++++++
.../slf4j/test_osgi/FrameworkErrorListener.java | 60 +++++++++
logback-examples/lib/slf4j-api-1.5.10.jar | Bin 0 -> 23659 bytes
logback-examples/lib/slf4j-api-1.5.8.jar | Bin 23445 -> 0 bytes
logback-site/src/site/pages/news.html | 5 +-
13 files changed, 509 insertions(+), 3 deletions(-)
create mode 100644 logback-classic/.gitignore
create mode 100644 logback-classic/osgi-build.xml
create mode 100644 logback-classic/src/IBUNDLE-META-INF/MANIFEST.MF
copy logback-classic/src/test/input/{joran/simpleLevel.xml => osgi/simple.xml}
(54%)
create mode 100644 logback-classic/src/test/java/integrator/Activator.java
create mode 100644
logback-classic/src/test/java/org/slf4j/test_osgi/BundleTest.java
create mode 100644
logback-classic/src/test/java/org/slf4j/test_osgi/CheckingBundleListener.java
create mode 100644
logback-classic/src/test/java/org/slf4j/test_osgi/FelixHost.java
create mode 100644
logback-classic/src/test/java/org/slf4j/test_osgi/FrameworkErrorListener.java
create mode 100644 logback-examples/lib/slf4j-api-1.5.10.jar
delete mode 100644 logback-examples/lib/slf4j-api-1.5.8.jar
hooks/post-receive
--
Logback: the generic, reliable, fast and flexible logging framework.
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev