On Thu, Oct 4, 2012 at 3:14 PM, Christian Müller <christian.muel...@gmail.com> wrote: > Yes, exactly. But feel free to change it if there is a better solution. >
What error did you get before? There is no codechanges in camel-jetty, and this component don't import any new packages etc. > Best, > Christian > > Sent from a mobile device > Am 04.10.2012 09:15 schrieb "Claus Ibsen" <claus.ib...@gmail.com>: > >> On Thu, Oct 4, 2012 at 8:41 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: >> > Hi >> > >> > Just spotted; is it on purpose the eclipse has 2 different version >> > ranges: 7.5 and 7.6 ? >> > >> >> Ah this 7.5 and 7.6 is due that the latter has a new package with SSL >> code that is needed if you run Jetty 7.6. >> >> >> > And can you tell a bit more about this fix. >> > For example why the change to not use the jetty feature from Karaf? >> > >> > >> > >> > On Wed, Oct 3, 2012 at 10:27 PM, <cmuel...@apache.org> wrote: >> >> Author: cmueller >> >> Date: Wed Oct 3 20:27:12 2012 >> >> New Revision: 1393744 >> >> >> >> URL: http://svn.apache.org/viewvc?rev=1393744&view=rev >> >> Log: >> >> fixed the feature.xml file >> >> >> >> Modified: >> >> camel/trunk/parent/pom.xml >> >> camel/trunk/platforms/karaf/features/src/main/resources/features.xml >> >> >> >> Modified: camel/trunk/parent/pom.xml >> >> URL: >> http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=1393744&r1=1393743&r2=1393744&view=diff >> >> >> ============================================================================== >> >> --- camel/trunk/parent/pom.xml (original) >> >> +++ camel/trunk/parent/pom.xml Wed Oct 3 20:27:12 2012 >> >> @@ -346,6 +346,7 @@ >> >> org.apache.velocity.*;version="[1.6.2,2)", >> >> org.apache.xmlbeans.*;version="[2.4,3)", >> >> org.eclipse.jetty.*;version="[7.5,8.2)", >> >> + >> org.eclipse.jetty.util.ssl;version="[7.6,8.2)";resolution:=optional, >> >> com.thoughtworks.xstream.*;version="[1.3,2)", >> >> org.antlr.stringtemplate.*;version="[3.0,4)", >> >> org.jivesoftware.smack.*;version="[3.0,4)", >> >> >> >> Modified: >> camel/trunk/platforms/karaf/features/src/main/resources/features.xml >> >> URL: >> http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/features/src/main/resources/features.xml?rev=1393744&r1=1393743&r2=1393744&view=diff >> >> >> ============================================================================== >> >> --- >> camel/trunk/platforms/karaf/features/src/main/resources/features.xml >> (original) >> >> +++ >> camel/trunk/platforms/karaf/features/src/main/resources/features.xml Wed >> Oct 3 20:27:12 2012 >> >> @@ -1,20 +1,19 @@ >> >> <?xml version='1.0' encoding='UTF-8'?> >> >> <!-- >> >> - >> >> - Licensed to the Apache Software Foundation (ASF) under one or >> more >> >> - contributor license agreements. See the NOTICE file distributed >> with >> >> - this work for additional information regarding copyright >> ownership. >> >> - The ASF licenses this file to You under the Apache License, >> Version 2.0 >> >> - (the 'License'); you may not use this file except in compliance >> with >> >> - the License. You may obtain a copy of the License at >> >> - >> >> - http://www.apache.org/licenses/LICENSE-2.0 >> >> - >> >> - Unless required by applicable law or agreed to in writing, >> software >> >> - distributed under the License is distributed on an 'AS IS' BASIS, >> >> - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> implied. >> >> - See the License for the specific language governing permissions >> and >> >> - limitations under the License. >> >> + Licensed to the Apache Software Foundation (ASF) under one or more >> >> + contributor license agreements. See the NOTICE file distributed >> with >> >> + this work for additional information regarding copyright ownership. >> >> + The ASF licenses this file to You under the Apache License, >> Version 2.0 >> >> + (the 'License'); you may not use this file except in compliance >> with >> >> + the License. You may obtain a copy of the License at >> >> + >> >> + http://www.apache.org/licenses/LICENSE-2.0 >> >> + >> >> + Unless required by applicable law or agreed to in writing, software >> >> + distributed under the License is distributed on an 'AS IS' BASIS, >> >> + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> implied. >> >> + See the License for the specific language governing permissions and >> >> + limitations under the License. >> >> --> >> >> <features name='camel-${project.version}'> >> >> >> >> @@ -80,7 +79,6 @@ >> >> <feature version='${cxf-version-range}'>cxf-jaxws</feature> >> >> <feature >> version='${cxf-version-range}'>cxf-databinding-jaxb</feature> >> >> <feature version='${cxf-version-range}'>cxf-bindings-soap</feature> >> >> - >> >> >> <bundle>mvn:org.apache.camel/camel-cxf-transport/${project.version}</bundle> >> >> <bundle>mvn:org.apache.camel/camel-cxf/${project.version}</bundle> >> >> </feature> >> >> @@ -122,18 +120,14 @@ >> >> <feature version='${project.version}'>camel-core</feature> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient-bundle-version}</bundle> >> >> <bundle >> dependency='true'>mvn:commons-codec/commons-codec/${commons-codec-version}</bundle> >> >> - <!-- the jetty feature provides the geronimo-servlet_2.5_spec --> >> >> - <!-- TODO replace the jetty feature by a Karaf spec feature --> >> >> - <feature>jetty</feature> >> >> + <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo-servlet-spec-version}</bundle> >> >> <bundle>mvn:org.apache.camel/camel-http/${project.version}</bundle> >> >> </feature> >> >> <feature name='camel-http4' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> <feature version='${project.version}'>camel-core</feature> >> >> <bundle >> dependency='true'>mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore4-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient4-version}</bundle> >> >> - <!-- the jetty feature provides the geronimo-servlet_2.5_spec --> >> >> - <!-- TODO replace the jetty feature by a Karaf spec feature --> >> >> - <feature>jetty</feature> >> >> + <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo-servlet-spec-version}</bundle> >> >> >> <bundle>mvn:org.apache.camel/camel-http4/${project.version}</bundle> >> >> </feature> >> >> <feature name='camel-mina' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> @@ -377,32 +371,32 @@ >> >> >> <bundle>mvn:org.apache.camel/camel-hawtdb/${project.version}</bundle> >> >> </feature> >> >> <feature name='camel-hbase' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> - <feature version='${project.version}'>camel-core</feature> >> >> - <feature>war</feature> >> >> - <bundle >> dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/${servicemix-specs-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/${servicemix-specs-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:javax.mail/mail/${javax-mail-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:commons-codec/commons-codec/${commons-codec-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:commons-digester/commons-digester/${commons-digester-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:commons-jxpath/commons-jxpath/${commons-jxpath-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:commons-configuration/commons-configuration/${commons-configuration-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:commons-daemon/commons-daemon/${commons-daemon-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient-bundle-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.apache.commons/commons-math/${commons-math-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:commons-net/commons-net/${commons-net-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson-version}</bundle> >> >> - >> >> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jetty/${jetty6-bundle-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.apache.zookeeper/zookeeper/${zookeeper-version}</bundle> >> >> - >> >> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.hadoop-core/${hadoop-bundle-version}</bundle> >> >> - >> <bundle>wrap:mvn:org.apache.hbase/hbase/${hbase-version}</bundle> >> >> - >> <bundle>mvn:org.apache.camel/camel-hbase/${project.version}</bundle> >> >> + <feature version='${project.version}'>camel-core</feature> >> >> + <feature>war</feature> >> >> + <bundle >> dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/${servicemix-specs-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/${servicemix-specs-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:javax.mail/mail/${javax-mail-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:commons-codec/commons-codec/${commons-codec-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:commons-digester/commons-digester/${commons-digester-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:commons-jxpath/commons-jxpath/${commons-jxpath-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:commons-configuration/commons-configuration/${commons-configuration-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:commons-daemon/commons-daemon/${commons-daemon-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient-bundle-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:org.apache.commons/commons-math/${commons-math-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:commons-net/commons-net/${commons-net-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson-version}</bundle> >> >> + >> >> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jetty/${jetty6-bundle-version}</bundle> >> >> + <bundle >> dependency='true'>mvn:org.apache.zookeeper/zookeeper/${zookeeper-version}</bundle> >> >> + >> >> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.hadoop-core/${hadoop-bundle-version}</bundle> >> >> + <bundle>wrap:mvn:org.apache.hbase/hbase/${hbase-version}</bundle> >> >> + >> <bundle>mvn:org.apache.camel/camel-hbase/${project.version}</bundle> >> >> </feature> >> >> <feature name='camel-hdfs' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> <feature version='${project.version}'>camel-core</feature> >> >> @@ -437,9 +431,7 @@ >> >> <feature name='camel-ibatis' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> <feature version='${project.version}'>camel-core</feature> >> >> <bundle >> dependency='true'>mvn:commons-pool/commons-pool/${commons-pool-version}</bundle> >> >> - <!-- the jetty feature provides the geronimo-servlet_2.5_spec --> >> >> - <!-- TODO replace the jetty feature by a Karaf spec feature --> >> >> - <feature>jetty</feature> >> >> + <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo-servlet-spec-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oscache/${oscache-bundle-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle> >> >> @@ -508,9 +500,7 @@ >> >> <feature name='camel-jpa' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/${geronimo-annotation-spec-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jpa_2.0_spec/${geronimo-jpa2-spec-version}</bundle> >> >> - <!-- the jetty feature provides the geronimo-servlet_2.5_spec --> >> >> - <!-- TODO replace the jetty feature by a Karaf spec feature --> >> >> - <feature>jetty</feature> >> >> + <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo-servlet-spec-version}</bundle> >> >> <feature version='[3,4)'>spring-tx</feature> >> >> <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-el_1.0_spec/${geronimo-el-spec-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle> >> >> @@ -544,8 +534,7 @@ >> >> <bundle>mvn:org.apache.camel/camel-juel/${project.version}</bundle> >> >> </feature> >> >> <feature name='camel-jt400' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> - <!-- jt400 requires javax.servlet --> >> >> - <feature>jetty</feature> >> >> + <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo-servlet-spec-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jt400/${jt400-bundle-version}</bundle> >> >> <feature version='${project.version}'>camel-core</feature> >> >> >> <bundle>mvn:org.apache.camel/camel-jt400/${project.version}</bundle> >> >> @@ -555,11 +544,11 @@ >> >> <feature version='${project.version}'>camel-core</feature> >> >> >> <bundle>mvn:org.apache.camel/camel-kestrel/${project.version}</bundle> >> >> </feature> >> >> - <feature name='camel-krati' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> - <bundle >> dependency='true'>mvn:com.sna-projects.krati/krati/${krati-version}</bundle> >> >> - >> <bundle>mvn:org.apache.camel/camel-krati/${project.version}</bundle> >> >> - <feature version='${project.version}'>camel-core</feature> >> >> - </feature> >> >> + <feature name='camel-krati' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> + <bundle >> dependency='true'>mvn:com.sna-projects.krati/krati/${krati-version}</bundle> >> >> + >> <bundle>mvn:org.apache.camel/camel-krati/${project.version}</bundle> >> >> + <feature version='${project.version}'>camel-core</feature> >> >> + </feature> >> >> <feature name='camel-ldap' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> <feature version='${project.version}'>camel-core</feature> >> >> <bundle>mvn:org.apache.camel/camel-ldap/${project.version}</bundle> >> >> @@ -610,9 +599,7 @@ >> >> <feature name='camel-mybatis' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> <feature version='${project.version}'>camel-core</feature> >> >> <bundle >> dependency='true'>mvn:commons-pool/commons-pool/${commons-pool-version}</bundle> >> >> - <!-- the jetty feature provides the geronimo-servlet_2.5_spec --> >> >> - <!-- TODO replace the jetty feature by a Karaf spec feature --> >> >> - <feature>jetty</feature> >> >> + <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo-servlet-spec-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.mybatis/mybatis/${mybatis-version}</bundle> >> >> @@ -648,11 +635,9 @@ >> >> >> <bundle>mvn:org.apache.camel/camel-protobuf/${project.version}</bundle> >> >> </feature> >> >> <feature name='camel-quartz' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> - <bundle >> dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle> >> >> <bundle >> dependency='true'>mvn:commons-pool/commons-pool/${commons-pool-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle> >> >> - <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quartz/${quartz-bundle-version}</bundle> >> >> <feature version='${project.version}'>camel-core</feature> >> >> >> <bundle>mvn:org.apache.camel/camel-quartz/${project.version}</bundle> >> >> @@ -844,9 +829,7 @@ >> >> >> <bundle>mvn:org.apache.camel/camel-twitter/${project.version}</bundle> >> >> </feature> >> >> <feature name='camel-velocity' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> - <!-- the jetty feature provides the geronimo-servlet_2.5_spec --> >> >> - <!-- TODO replace the jetty feature by a Karaf spec feature --> >> >> - <feature>jetty</feature> >> >> + <bundle >> dependency='true'>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo-servlet-spec-version}</bundle> >> >> <bundle >> dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version}</bundle> >> >> <bundle >> dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle> >> >> @@ -859,11 +842,9 @@ >> >> >> <bundle>mvn:org.apache.camel/camel-velocity/${project.version}</bundle> >> >> </feature> >> >> <feature name="camel-websocket" version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> - <feature>jetty</feature> >> >> - <!-- TODO: remove the dependency to jetty-websocket if KARAF-1153 >> is resolved and released --> >> >> - <bundle >> start-level="30">mvn:org.eclipse.jetty/jetty-websocket/${jetty-version}</bundle> >> >> - <feature version='${project.version}'>camel-core</feature> >> >> - >> <bundle>mvn:org.apache.camel/camel-websocket/${project.version}</bundle> >> >> + <feature>jetty</feature> >> >> + <feature version='${project.version}'>camel-core</feature> >> >> + >> <bundle>mvn:org.apache.camel/camel-websocket/${project.version}</bundle> >> >> </feature> >> >> <feature name='camel-xmlbeans' version='${project.version}' >> resolver='(obr)' start-level='50'> >> >> <bundle >> dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle> >> >> >> >> >> > >> > >> > >> > -- >> > Claus Ibsen >> > ----------------- >> > Red Hat, Inc. >> > FuseSource is now part of Red Hat >> > Email: cib...@redhat.com >> > Web: http://fusesource.com >> > Twitter: davsclaus >> > Blog: http://davsclaus.com >> > Author of Camel in Action: http://www.manning.com/ibsen >> >> >> >> -- >> Claus Ibsen >> ----------------- >> Red Hat, Inc. >> FuseSource is now part of Red Hat >> Email: cib...@redhat.com >> Web: http://fusesource.com >> Twitter: davsclaus >> Blog: http://davsclaus.com >> Author of Camel in Action: http://www.manning.com/ibsen >> -- Claus Ibsen ----------------- Red Hat, Inc. FuseSource is now part of Red Hat Email: cib...@redhat.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen