Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-8751

ROADMAP: Exploit Inversion of Control (JSR-330)

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • None

      Original discussion: https://groups.google.com/d/topic/jenkinsci-dev/_cuKEAUULUE/discussion

      > - Use of IoC. (There are two branches where this is implemented, one
      >  for Guice and the other for Spring.)

          [JENKINS-8751] ROADMAP: Exploit Inversion of Control (JSR-330)

          jieryn created issue -
          jieryn made changes -
          Description Original: Original discussion: https://groups.google.com/d/topic/jenkinsci-dev/_cuKEAUULUE/discussion
          New: Original discussion: https://groups.google.com/d/topic/jenkinsci-dev/_cuKEAUULUE/discussion

          > - Use of IoC. (There are two branches where this is implemented, one
          >  for Guice and the other for Spring.)

          Spring has the advantage of beeing well known and come with many more integration options,
          Guice is lighter and more focussed on IoC only
          Not so simple to choose

          Using @Inject (JSR-330) we can postpone the choice between Spring & Guice, until we get some use-case that one of them cannot address.

          Nicolas De Loof added a comment - Spring has the advantage of beeing well known and come with many more integration options, Guice is lighter and more focussed on IoC only Not so simple to choose Using @Inject (JSR-330) we can postpone the choice between Spring & Guice, until we get some use-case that one of them cannot address.

          Just noticed Sonatype is working on the same JSR-330 basis at https://github.com/sonatype/hudson-jsr330.

          Nicolas De Loof added a comment - Just noticed Sonatype is working on the same JSR-330 basis at https://github.com/sonatype/hudson-jsr330 .

          jieryn added a comment -

          I'd add that if we exclusively use JSR-330 features and not any specific provided, then Spring would be best since we already have a dependency on it for other aspects of the system.

          jieryn added a comment - I'd add that if we exclusively use JSR-330 features and not any specific provided, then Spring would be best since we already have a dependency on it for other aspects of the system.

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          changelog.html
          http://jenkins-ci.org/commit/jenkins/1b546d9699d46cc0b7a5a3481a2762fbb480e397
          Log:
          [FIXED JENKINS-8751] integrated the Guice branch.

          Classes marked as @Extension are now instantiated by Guice.

          Compare: https://github.com/jenkinsci/jenkins/compare/24b86a2...1b546d9

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: changelog.html http://jenkins-ci.org/commit/jenkins/1b546d9699d46cc0b7a5a3481a2762fbb480e397 Log: [FIXED JENKINS-8751] integrated the Guice branch. Classes marked as @Extension are now instantiated by Guice. Compare: https://github.com/jenkinsci/jenkins/compare/24b86a2...1b546d9
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]

          dogfood added a comment -

          dogfood added a comment - Integrated in jenkins_main_trunk #1149

          Jesse Glick added a comment -

          Not sure how this can be considered fixed. The acid test for using IoC in Jenkins code would be that Jenkins.getInstance() would be deprecated in favor of @Inject private final Jenkins jenkins, etc.

          Jesse Glick added a comment - Not sure how this can be considered fixed. The acid test for using IoC in Jenkins code would be that Jenkins.getInstance() would be deprecated in favor of @Inject private final Jenkins jenkins , etc.
          Jesse Glick made changes -
          Assignee New: Kohsuke Kawaguchi [ kohsuke ]

            kohsuke Kohsuke Kawaguchi
            jieryn jieryn
            Votes:
            3 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: