Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[sisu-dev] Initial contributions

Hi folks,

Brief update of where things stand... I've logged two contributions - one for Sisu's new parent pom.xml:


and another containing the JSR330 (non-Plexus) extension code from https://github.com/sonatype/sisu


Once approved these contributions should eventually end up in the following GIT repos (not yet created):



The "org.eclipse.sisu.inject" contribution is everything that was under https://github.com/sonatype/sisu/tree/master/sisu-inject/containers/guice-bean except that I merged it into a single source tree, refactored the packages, updated the headers, and removed a local copy of some ASM code - I also removed some test zips/jars (because the initial contribution shouldn't contain embedded archives). Note that while these changes are enough for the initial contribution, once this is safely in git I want to take advantage of the necessary package change to go further and clean up the overall API to make it easier to extend and re-use the code.

I'm thinking of using the following layout for the cleanup:

   org.eclipse.sisu.inject   #  client API  --  org.eclipse.sisu is another option, but perhaps that's too general?
     \---spi                 #  provider SPI
     \---scan                #  class-path-scanning
     \---find                #  component lookup
     \---bind                #  auto-binding logic
     \---boot                #  container support
     \---util                #  utility code

But this is not cast in stone - other suggestions are welcome!

While we're stabilizing the JSR330 extension code, I'll start another contribution for the Plexus adapter. This will contain everything under https://github.com/sonatype/sisu/tree/master/sisu-inject/containers/guice-plexus except the bit that contains the thin "org.codehaus.plexus" shim. This package will need to be hosted outside of Eclipse because it has an external namespace. We should also consider providing a similar thin adapter for users of the "org.sonatype.inject" API, again this will need to be hosted outside of Eclipse perhaps using the original "org.sonatype.sisu:sisu-inject-bean" maven coordinate?

Other things on the long-term plan - finish the binding registries for OSGi services / Eclipse extensions, and support JSR250 annotations @PostConstruct / @PreDestroy :)

--
Cheers, Stuart

Back to the top