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

Plugin archetype and tutorial do Java 7 and Java 8 but not Java 11

      The Jenkins.io "Create a plugin" tutorial uses the maven archetype to generate the "HelloWorld" plugin. The resulting plugin won't compile with Java 11 because it is configured with java.version=7, jenkins.version=2.7.3 and parent pom=3.4. Since Jenkins officially supports Java 8 and Java 11, the archetype should be updated to support Java 8 and Java 11 compilation.

      It should be configured with java.version=8, jenkins.version=2.164.1 and parent pom=3.43 so that the resulting plugin can be compiled with either Java 8 or Java 11.

      The example page also shows the wrong set of choices available when generating the archetype.

      [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
      Choose archetype:
      1: remote -> io.jenkins.archetypes:empty-plugin (-)
      2: remote -> io.jenkins.archetypes:hello-world-plugin (Skeleton of a Jenkins plugin with a POM and an example build step.)
      3: remote -> io.jenkins.archetypes:global-configuration-plugin (Skeleton of a Jenkins plugin with a POM and an example piece of global configuration.)
      4: remote -> io.jenkins.archetypes:global-shared-library (Uses the Jenkins Pipeline Unit mock library to test the usage of a Global Shared Library)
      5: remote -> io.jenkins.archetypes:scripted-pipeline (Uses the Jenkins Pipeline Unit mock library to test the logic inside a Pipeline script.)
      Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 2
      Choose io.jenkins.archetypes:hello-world-plugin version:
      1: 1.1
      2: 1.2
      3: 1.3
      4: 1.4
      Choose a number: 4: 4
      [INFO] Using property: groupId = unused
      Define value for property 'artifactId': demo
      Define value for property 'version' 1.0-SNAPSHOT: :
      [INFO] Using property: package = io.jenkins.plugins.sample
      Confirm properties configuration:
      groupId: unused
      artifactId: demo
      version: 1.0-SNAPSHOT
      package: io.jenkins.plugins.sample
       Y: : y
      

      The tutorial should also be updated to refer to spotbugs rather than findbugs. The project has switched static analysis to spotbugs.

      The preceding tutorial, "Preparing for Plugin Development" should use the Java 8 download from the AdoptOpenJDK project rather than using the Oracle JDK. Oracle JDK 8 is no longer free for commercial use, while AdoptOpenJDK is free for commercial use.

          [JENKINS-57341] Plugin archetype and tutorial do Java 7 and Java 8 but not Java 11

          Jesse Glick added a comment -

          Archetype changes released as 1.5. Typically the index gets rebuilt once a week, on Sundays IIRC.

          Jesse Glick added a comment - Archetype changes released as 1.5. Typically the index gets rebuilt once a week, on Sundays IIRC.

          Jesse Glick added a comment -

          markewaite acc. to the issue description, you also needed to update the tutorial or something?

          Jesse Glick added a comment - markewaite acc. to the issue description, you also needed to update the tutorial or something?

          Mark Waite added a comment -

          Thanks for the reminder jglick! I'll submit the pull request for the tutorial after the index rebuild makes the changes visible to me.

          Mark Waite added a comment - Thanks for the reminder jglick ! I'll submit the pull request for the tutorial after the index rebuild makes the changes visible to me.

          Mark Waite added a comment -

          Confirmed resolved with version 1.5 of the plugin archetype

          Mark Waite added a comment - Confirmed resolved with version 1.5 of the plugin archetype

            markewaite Mark Waite
            markewaite Mark Waite
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: