I know this is terribly off-topic, but taking advantage of your knowledge,
what would the main difference of q4e be in your opinion?

Thanks for the input,
Rodrigo

On 9/19/07, Stuart McCulloch <[EMAIL PROTECTED]> wrote:
>
> On 19/09/2007, Rodrigo Madera <[EMAIL PROTECTED]> wrote:
> >
> > Thank you for your replies.
> >
> > However, this comes to mind:
> >
> > If your code refers to a class in the org.eclipse.osgi.framework.console
> > > package, the Bundle plugin will automatically create an import for
> this
> > > package.
> >
> > This yields a chicken and the egg problem. I use Eclipse with M2 to
> code.
> > If the bundle doesn't generate the data at design level, Eclipse is as
> > good
> > as notepad.
>
>
> yes, this is a long-running problem with Eclipse/PDE + Maven :(
>
> Eclipse/PDE expects the manifest at the top of the project and uses it to
> augment
> the compilation classpath. Maven uses dependencies to augment the
> compilation
> classpath and puts generated content in the target folder.
>
> unfortunately this can mean that adding an import in the Eclipse/PDE
> manifest
> will get things compiling in Eclipse (because the jar is available inside
> Eclipse)
> but break Maven because it doesn't know about this dependency.
>
> I think there are ways to link the Eclipse installation and maven
> repository, but
> haven't tried them myself. Btw, there's also a new plugin for Eclipse
> called
> q4e:
>
>    http://code.google.com/p/q4e
>
> which might help you with the dependency management part...
>
> I'm still trying out the earlier recommendation and will post results
> here.
> >
> > Thanks,
> > Rodrigo
> >
> >
> > Regards
> > > Felix
> > >
> > > Am Mittwoch, den 19.09.2007, 12:47 +0800 schrieb Stuart McCulloch:
> > > > Hi Rodrigo,
> > > >
> > > > (I've started a new thread for this topic - rather than have
> multiple
> > > topics
> > > > in one thread)
> > > >
> > > > On 19/09/2007, Rodrigo Madera <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > Hello again,
> > > > >
> > > > > Comming with another problem, I have a service called Greeter with
> > > > > GreeterImpl.
> > > > > The only method available is "public String sayHello()".
> > > > >
> > > > > Now I want to create an OSGi command provider for any OSGi shell.
> > > > > For this, I created GreeterShell. But now I need the interfaces
> from
> > > (in
> > > > > this case)
> > > > > org.eclipse.osgi.framework.console.
> > > > >
> > > > > The problem I have is with importing. In a normal Eclipse project
> I
> > > would
> > > > > add this
> > > > > to the manifest and all would be solved:
> > > > >
> > > > >         Import-Package: org.eclipse.osgi.framework.console
> ;version="
> > > 1.0.0"
> > > > >
> > > > > But I can't figure out how to do this on BND (nor SCR, of course).
> > > > > How can this be done using the plugins?
> > > >
> > > >
> > > > if your code imports org.eclipse.osgi.framework.console and you have
> > the
> > > > console bundle marked as a "provided" maven dependency (which you
> need
> > > > for it to compile) then it should be automatically added to the
> > > manifest.
> > > >
> > > > for example, this POM:
> > > >
> > > > ===================================================================
> > > > <?xml version="1.0" encoding="UTF8"?>
> > > > <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> > > > http://maven.apache.org/maven-v4_0_0.xsd"; xmlns="
> > > > http://maven.apache.org/POM/4.0.0"; xmlns:xsi="
> > > > http://www.w3.org/2001/XMLSchema-instance";>
> > > >
> > > >   <modelVersion>4.0.0</modelVersion>
> > > >   <groupId>examples.console</groupId>
> > > >   <artifactId>myConsole</artifactId>
> > > >   <version>1.0-SNAPSHOT</version>
> > > >
> > > >   <name>myConsole example</name>
> > > >   <packaging>bundle</packaging>
> > > >
> > > >   <build>
> > > >     <plugins>
> > > >       <plugin>
> > > >         <groupId>org.apache.felix</groupId>
> > > >         <artifactId>maven-bundle-plugin</artifactId>
> > > >         <version>1.0.0</version>
> > > >         <extensions>true</extensions>
> > > >         <configuration>
> > > >           <instructions>
> > > >             <Bundle-Activator>examples.console.internal.Activator
> > > > </Bundle-Activator>
> > > >             <Private-Package>examples.console.internal
> > </Private-Package>
> > > >           </instructions>
> > > >         </configuration>
> > > >       </plugin>
> > > >     </plugins>
> > > >   </build>
> > > >
> > > >   <dependencies>
> > > >     <dependency>
> > > >       <groupId>org.osgi</groupId>
> > > >       <artifactId>osgi_R4_core</artifactId>
> > > >       <version>1.0</version>
> > > >     </dependency>
> > > >     <dependency>
> > > >       <groupId>org.osgi</groupId>
> > > >       <artifactId>osgi_R4_compendium</artifactId>
> > > >       <version>1.0</version>
> > > >     </dependency>
> > > >     <dependency>
> > > >       <groupId>org.eclipse</groupId>
> > > >       <artifactId>osgi</artifactId>
> > > >       <version>3.3.0-v20070530</version>
> > > >       <scope>provided</scope>
> > > >     </dependency>
> > > >   </dependencies>
> > > >
> > > >   <repositories>
> > > >     <repository>
> > > >       <id>eclipse</id>
> > > >       <url>http://repo1.maven.org/eclipse</url>
> > > >     </repository>
> > > >   </repositories>
> > > >
> > > > </project>
> > > > ===================================================================
> > > >
> > > > and this Java class:
> > > >
> > > > ===================================================================
> > > > package examples.console.internal;
> > > >
> > > > import org.eclipse.osgi.framework.console.CommandProvider;
> > > >
> > > > import org.osgi.framework.BundleActivator;
> > > > import org.osgi.framework.BundleContext;
> > > >
> > > > public class Activator
> > > >     implements BundleActivator
> > > > {
> > > >     static class MyCommands implements CommandProvider
> > > >     {
> > > >         public String getHelp()
> > > >         {
> > > >             return "don't panic :)";
> > > >         }
> > > >     }
> > > >
> > > >     public void start( BundleContext bc )
> > > >         throws Exception
> > > >     {
> > > >     }
> > > >
> > > >     public void stop( BundleContext bc )
> > > >         throws Exception
> > > >     {
> > > >     }
> > > > }
> > > > ===================================================================
> > > >
> > > > produce the following manifest using "mvn clean install":
> > > >
> > > > ===================================================================
> > > > Manifest-Version: 1.0
> > > > Bundle-SymbolicName: examples.console.myConsole
> > > > Import-Package: org.eclipse.osgi.framework.console;version=1.0,
> org.osg
> > > >  i.framework;version=1.4
> > > > Bundle-Activator: examples.console.internal.Activator
> > > > Created-By: 1.5.0 (IBM Corporation)
> > > > Bundle-ManifestVersion: 2
> > > > Bundle-Name: myConsole example
> > > > Bnd-LastModified: 1190176961184
> > > > Tool: Bnd-0.0.160
> > > > Bundle-Version: 1.0.0.SNAPSHOT
> > > > Private-Package: examples.console.internal
> > > > ===================================================================
> > > >
> > > > which has org.eclipse.osgi.framework.console;version=1.0 as an
> import
> > > >
> > > > HTH
> > > >
> > > > Thanks for any input,
> > > > > Rodrigo
> > > > >
> > > > > On 9/18/07, Rodrigo Madera <[EMAIL PROTECTED]> wrote:
> > > > > >
> > > > > > Thanks, I was just putting the scr.component tag.
> > > > > >
> > > > > > So for the record, and those using the search facility, the
> > solution
> > > was
> > > > > > to add both scr.component and scr.service to the service
> > > implementation
> > > > > > class.
> > > > > >
> > > > > > Thank you,
> > > > > > Rodrigo
> > > > > >
> > > > > > On 9/18/07, Felix Meschberger <[EMAIL PROTECTED]> wrote:
> > > > > > >
> > > > > > > Hi Rodrigo,
> > > > > > >
> > > > > > > The interface is not marked. The implementation is marked with
> > > > > > > @scr.component to indicate to the SCR plugin, that this class
> > > contains
> > > > > a
> > > > > > > component with tags to be converted to a descriptor. In
> > addition,
> > > the
> > > > > > > @scr.service tag would be added to add the <service> element
> to
> > > the
> > > > > > > descriptor.
> > > > > > >
> > > > > > > For example:
> > > > > > >
> > > > > > >         package sample;
> > > > > > >         import iface.MyService
> > > > > > >         /**
> > > > > > >          * @scr.component
> > > > > > >          * @scr.service
> > > > > > >          */
> > > > > > >         public class MyServiceImpl implements MyService {
> > > > > > >         }
> > > > > > >
> > > > > > > This results in the following descriptor:
> > > > > > >
> > > > > > >         <?xml version="1.0" encoding="UTF-8"?>
> > > > > > >         <components xmlns:scr="
> > > http://www.osgi.org/xmlns/scr/v1.0.0";>
> > > > > > >             <scr:component enabled="true" immediate="true"
> > > > > > >         name="sample.MyServiceImpl">
> > > > > > >                 <scr:implementation class="
> sample.MyServiceImpl"
> > > />
> > > > > > >                 <scr:property name="service.pid"
> > > > > > >         value=" sample.MyServiceImpl" />
> > > > > > >                 <scr:service>
> > > > > > >                     <provide interface="iface.MyService" />
> > > > > > >                 </scr:service>
> > > > > > >             </scr:component>
> > > > > > >         </components>
> > > > > > >
> > > > > > > Hope this helps.
> > > > > > >
> > > > > > > You will find more applications of the SCR plugin tags in the
> > > Sling
> > > > > Core
> > > > > > > project at [1]
> > > > > > >
> > > > > > > Regards
> > > > > > > Felix
> > > > > > >
> > > > > > > [1] http://svn.apache.org/viewvc/incubator/sling/trunk/core/
> > > > > > >
> > > > > > >
> > > > > > > Am Dienstag, den 18.09.2007, 06:14 -0300 schrieb Rodrigo
> Madera:
> > > > > > > > Hey Bertrand,
> > > > > > > >
> > > > > > > > Thanks for the information. I'm already producing code with
> > the
> > > > > > > plug-in, but
> > > > > > > > unfortunately with a misconfiguration somewhere. Could you
> > > provide a
> > > > > > > simple
> > > > > > > > example?
> > > > > > > >
> > > > > > > > For example, MyService interface and MyServiceImpl would be
> > > marked
> > > > > > > with
> > > > > > > > scr.service and scr.component respectively, correct? That's
> > what
> > > I'm
> > > > > > > doing
> > > > > > > > but something is not right.
> > > > > > > >
> > > > > > > > Thanks for any insight,
> > > > > > > > Rodrigo
> > > > > > > >
> > > > > > > > On 9/15/07, Bertrand Delacretaz < [EMAIL PROTECTED]>
> > wrote:
> > > > > > > > >
> > > > > > > > > Hi Rodrigo,
> > > > > > > > >
> > > > > > > > > On 9/15/07, Rodrigo Madera <[EMAIL PROTECTED]>
> wrote:
> > > > > > > > > >... I'm trying to develop a Declarative Service using the
> > > > > > > > > maven-bundle-plugin,
> > > > > > > > > > but I can't find documentation on it....
> > > > > > > > >
> > > > > > > > > The docs are at
> > > > > > > > > http://felix.apache.org/site/maven-bundle-plugin-bnd.html
> > ,  but
> > > > > to
> > > > > > > > > create Declarative Services you should also have a look at
> > the
> > > > > > > > > maven-scr-plugin, see
> > > > > > > > > http://felix.apache.org/site/maven-scr-plugin.html
> > > > > > > > >
> > > > > > > > > -Bertrand
> > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > ---------------------------------------------------------------------
> > > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > > > For additional commands, e-mail:
> [EMAIL PROTECTED]
> > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
>
>
>
> --
> Cheers, Stuart
>

Reply via email to